Commit Graph

31 Commits

Author SHA1 Message Date
Konstantina Chremmou
e3896239df CA-339305: XenCenter was hanging when update alerts were removed very fast, and other issues:
- Use a plain list to store update alerts and, where possible, fire a collection
  change event only after a bulk change and not every time a single object is added
  or removed.
- Fixed issue where dismissed updates were stored in the config of all connected
  pools, even of those where the update did not apply.
- Corrected RBAC checks for update dismissal.
- Fixed enabled state of dismiss buttons.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2020-08-21 16:08:20 +01:00
Konstantina Chremmou
60da6080f9
Refactored three button dialog (#2627)
* ThreeButtonDialog simplification step1: Help name.
* ThreeButtonDialog simplification step2: Window title.
* ThreeButtonDialog simplification step3: Removed class Details.
* ThreeButtonDialog simplification step4: Removed unnecessary (and wrong) class.
* ThreeButtonDialog simplification step5: Compacted TDButton constructors.
* ThreeButtonDialog simplification step6: Removed purposeless methods.
* ThreeButtonDialog simplification step7: Refactored constructor logic.
* ThreeButtonDialog simplification step8: Icon normalisation.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2020-04-22 14:47:03 +01:00
Konstantina Chremmou
667e9e8caf Log the stack trace when an exception is encountered and don't use the *Format() counterpart of the logging method for it.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2019-11-13 12:31:44 +00:00
Mihaela Stoica
8b41a214b2
Merge pull request #2521 from xenserver/feature/REQ-756
Merge feature/REQ-756 into master
2019-09-27 13:18:21 +01:00
Konstantina Chremmou
5244c91658 Help refactoring.
- Removed DebugHelp. The user settings are normally not meant for debugging code.
- Moved HelpId logic from the main window to the tab pages.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2019-09-25 15:02:05 +01:00
Konstantina Chremmou
ca72f25ebe Merge remote-tracking branch 'upstream/master' into feature/REQ-756
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>

# Conflicts:
#	XenAdmin/MainWindow.Designer.cs
#	XenAdmin/MainWindow.resx
#	XenAdmin/Properties/Resources.resx
2019-09-13 13:17:32 +01:00
Mihaela Stoica
b7c64bddb2 CA-326341: Refresh the hotfix eligibility alerts after a check for updates is completed
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2019-09-04 14:40:03 +01:00
Mihaela Stoica
e4305ecb15 CA-325822: Refresh existing hotfix eligibility alerts when the license status changes
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2019-09-03 08:52:40 +01:00
Konstantina Chremmou
9157735803 CP-30958: Initial implementation of the Conversion Manager in XenCenter. (#2481)
* CP-30958: Initial implementation of the Conversion Manager in XenCenter.
* Corrections following review and improvements.
* Further corrections and improvements.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2019-08-22 10:47:43 +01:00
Mihaela Stoica
8230315f76 CA-286882: Shutting down large number of VMs causes XenCenter to hang
Created a new base class for the Notifications pages (Alerts, Updates, Events). This can be used in the future to host more of the common code between these pages. For now, it implements a common mechanism for showing/hiding the page and ensures that the event handlers are deregistered when the page is hidden (i.e. when the user switches to a different view) and registered again when the page becomes visible

Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2018-08-13 17:18:53 +01:00
Konstantina Chremmou
ae22560ce8 Converted all extension get properties of the API classes to methods in order to
prevent them from being serialised alongside the API properties. This will also
be useful for moving the API bindings out of XenModel.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2017-09-03 03:35:30 +01:00
Konstantina Chremmou
ad7e2fa6a6 CA-257927: Changed ChangeableList.RemoveAll method to fire the CollectionChangedEvent
once for all the items to be removed, passing in their list as argument. This method,
and the method Clear calling it, are used for alerts, updates, events and connections,
hence changed the handling of the CollectionChanged event in these cases to expect
either a single item or a collection. In the case of alerts, updates and events
this means that we can rebuild the whole list instead of removing single rows which
causes the application to hang for big numbers of items.
2017-07-24 14:48:02 +01:00
Gabor Apati-Nagy
7c0bc50b4a CA-176169: Changed copyright statements to include the comma in Citrix Systems,
Inc.

Signed-off-by: Gabor Apati-Nagy<gabor.apati-nagy@citrix.com>
2017-01-16 19:59:50 +00:00
Gabor Apati-Nagy
a1a411b9df CA-214628: .NET Image limit causes exception
Further changes

* implemented similar logic for the Commands too as those are keep on getting updates so affected
* moved these static fields to a class (at Images)
* used the same casing as in Resources once they have been moved

Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
2017-01-11 13:56:45 +00:00
Gabor Apati-Nagy
5a117334af CA-214628: .NET Image limit causes exception
Changed code at a a few places where it made sense to limit how many times XenCenter asks the Resource Manager for a new instance(*1) of the same(*2) image.
*1: RM returns a new object each time
*2: they are the same as we don't change the locale of a thread and also we don't localise these images - by design

Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
2016-12-21 13:57:50 +00:00
Konstantina Chremmou
2e6b2d8995 CA-145890: added new Page to the options dialog where the user can configure how
confirmations are displayed. Added checkboxes to the dialogs requesting confirmation
of dismissal of notifications so the user can opt to skip this step.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2016-11-17 13:35:31 +00:00
Mihaela Stoica
9ec9cf1aee CA-225057: Add a helper method for setting the Clipboard text and use in all places where Clipboard.SetText was used.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2016-10-13 16:16:16 +01:00
Carmen Agimof
f79199752a CP-13026: Provide Dismiss option on the Updates Tab. 2015-07-23 11:48:14 +01:00
Mihaela Stoica
a4fe507adf CA-147941: Fixed the RPU wizard hang in "Reconnecting Storage" and connecting action stuck in progress state
In some cases calling Control.Invoke() from a background thread causes that thread to go in a "sleep, wait, or join" mode, while waiting for Invoke to happen, although the UI thread is running normally.
If the Control is the MainWindow, it works as expected, but we've seen it happening while connecting or disconnecting from a large pool, on calling Invoke on controls like NavigationView, AlertSummaryPage, HistoryPage, etc.
To fix this, we call the Invoke on the MainWindow in all the places where we've seen the issue.

With this changes, the previous fix for CA-148245 (call RequestRefreshTreeView on CacheClearing event) is not needed anymore, so I removed that call.

Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2014-10-10 13:16:50 +01:00
Mihaela Stoica
8faf672959 CA-141101: XenCenter filters not changeable after dismiss all - FIXED
- In the Events view, offer a choice only to dismiss the visible ones instead of all
- Keep the filter buttons always enabled. This applies to all Notification views (Alerts, Updates & Events)
- Also refined the confirmation messages displayed when dismissing events

Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2014-07-31 09:39:16 +01:00
Mihaela Stoica
bc4a364f23 CA-140335: Fixed the problems with dismissing alerts
Changes to the DeleteAllAlertsAction:
- when the dismiss operation fails with INVALID_HANDLE we need to remove the alert from our alert list (XenCenterAlerts) and trigger the CollectionChanged event so that the alert count gets updated.
- the action title now says "Removing <n> alerts" when dismissing all/selected alerts and "Removing alert" when dismissing single alert (instead of "Removing all alerts" in all cases)
- move the initialization of Dismissing flag outside the action (see below)

This fix also includes changes so that the Dismissing flag works as intended: to be able to hide the dismissing alerts in the Alerts view immediately, rather than one by one when they were actually deleted, causing a large number of refreshes.
On dismissing alerts we do:
1. set dismissing to true for all alerts
2. rebuild alert list (this will filter out the dismissing alerts)
3. dismiss alerts - run the DismissAllAlerts action

Also, the action buttons on each row should only apply to the clicked row (not multiselect).

Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2014-07-29 10:19:54 +01:00
Mihaela Stoica
7d348fca5e CA-136783: Changed the log level from error to debug for some of the logged messages.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2014-07-02 13:13:37 +01:00
Mihaela Stoica
4f341aed60 CA-136783: Fixed the errors in the Updates window, where clicking "Go to Web Page" opens a wrong link
- When clicking the action button on the grid, execute the action on the item that has been clicked, instead on using the grid's selected item, which may have not been updated yet.
- On multiselect (if the multiselect is allowed for the action), if the clicked item is in the grid's selection list, then execute the action on the whole list, otherwise on the clicked item only.
- This applies to both Updates and Alerts windows.

Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2014-06-30 14:49:16 +01:00
Konstantina Chremmou
8d5bc0920a CA-123737: Do not rebuild the alerts/updates/events pages unless they are visible.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2014-04-28 15:04:23 +01:00
Konstantina Chremmou
04bfd89a9d [CA-115418], [CA-123574]: Fixed issue where the Dismiss item on each alert row
was available for non-dismissible alerts. Fixed wrong enabled state of the top
ToolStripSplitbutton Dismiss on the alerts and the events page. Refactored code
calculating dismissability of alerts and dismissing them. Events list should be
multi-selectable.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2014-01-09 13:57:41 +00:00
Konstantina Chremmou
1669c4250d CP-6093: Further corrections to the enabled state of the top ToolStripButtons.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2013-12-05 10:56:11 +00:00
Konstantina Chremmou
b2e0c858e3 CP-6093: Tidying up: moved property from Alert to XenServerPatchAlert as it only
applies to the latter. Converted methods from AlertSummaryPage to one Alert and
one String extension method so they can be used more widely. Code simplification
on the Updates page.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2013-11-23 14:04:15 +00:00
Konstantina Chremmou
361b49066c CP-6093: Anyone outside the Alert class should not know anything about the lock
used to access the alerts list. The list itself should be private as there is a
risk to access it and forgetting to use the lock.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2013-11-21 12:32:27 +00:00
Konstantina Chremmou
ad3cfc7f98 CP-6093: Disable filter buttons on the Alert and Events pages when the lsit is empty.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2013-11-21 08:25:02 +00:00
Konstantina Chremmou
9917801cc3 CP-6093: Implemented "GoTo..." and "Dismiss Selected" actions on the Events page.
Preserve last selected node when switching between views. Added labelling to the
unit tests run post-build. Minor tidy.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2013-11-18 14:31:00 +00:00
Konstantina Chremmou
e9c5804b0e CP-5751: Converted the Alerts dialog to a user control and changed slightly the
layout to make it more similar to the logs page.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2013-08-30 12:46:28 +01:00