Commit Graph

33 Commits

Author SHA1 Message Date
Konstantina Chremmou
90589a30c9 Modified treeview and toolbar updates (#2264)
This PR is aimimg to (1) fix a regression introduced by #2223 whereby the toolbar items did not have the correct state on first launch; (2) improve performance by removing some updates which I believe are not needed.

* Removed some duplicate calls to RefershTreeView and UpdateToolbars because
they are called within the action's Complete event handler.
Also, normalise the way the treeview refresh is requested by the various actions the
commands are launching.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>

* Removed some explicit calls to refresh the treeview since this is done by
the connection result handlers.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>

* The toolbars and tabs should be updated every time the treeview is refreshed.

This should happen when the refresh event is handled rather than calling
UpdateToolbars explicitly after a treeview refresh is requested; also, it is
the treeview refreshes that should be throttled and not the toolbar and
tab updates (the throttling mechanism may need correction).
Also, removed unnecessary Invoke as we are already on the UI thread.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>

* Simplified UpdateManager.Update event declaration.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-10-16 16:24:54 +01:00
Konstantina Chremmou
194cd18ea3 Do not construct certain members if we are in Visual Studio's designer mode
because they crash the designer.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-10-08 11:10:44 +01:00
Konstantina Chremmou
fb40cb7a5a Hide properties which should not be serialised by the Visual Studio designer.
Minor refactoring.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-10-08 11:10:44 +01:00
Konstantina Chremmou
fa1cf41d5b No need to add nodes to the treeview in the constructor (which also means at design time);
PersistExpandNodes should not take for granted that the treeview always has nodes.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-10-08 11:10:44 +01:00
Konstantina Chremmou
fb8434819d Namespace tidy 3/several: replaced XenAdmin.Core (instances in XenCenterLib) with XenCenterLib.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2017-11-30 13:56:32 +00: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
Mihaela Stoica
6f28a7bfb1 CP-17276: Out of Memory exception when XenCenter exceeds the maximum number of GDI handles
Changed the tree builder so that the tree nodes rely on the TreeView's font. If the nodes have their NodeFont != null, then a tree update causes new fonts to be generated for each node and when fonts are being created faster than they could be cleaned up, we reach the GLI handles limit of 10000 (which causes the Out of Memory exception).

Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2016-11-24 16:35:51 +00:00
Gabor Apati-Nagy
8cfed69697 CP-11577: CAR-483: Allow drag and drop for stopped and suspended VMs (cross pool)
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
2015-04-20 17:54:16 +01:00
Gabor Apati-Nagy
aefed11165 Revert "CA-149867: Invoke on MainWindow instead of various controls"
This reverts commit 92f0499911.
2015-04-16 14:17:02 +01:00
Gabor Apati-Nagy
92f0499911 CA-149867: Invoke on MainWindow instead of various controls
We observed that some threads can reach deadlock-ish state after they have Invoked into a control's UI thread. When it happens they are all in a waiting for join or in sleep state for very long time, although there should not be any deadlock situations.
It seems this has something to do with multiple parent controls and with which control we invoked on. This should not make a difference, because we have got one UI thread (for MainWindow) they should wait for, but we have seen it does.

The solution that fixed this issue was to invoke on the MainWindow instead of various controls (see a4fe507adf ).

This changeset is changing all our Invokes to invoke into MainWindow
instead of a control itself. (MainWindow's UI thread is the only UI thread
all Control is using in XenCenter)
This changeset should be in place until we have found the root cause or the exact reason for the above.
2015-04-08 15:16:10 +01:00
Gabor Apati-Nagy
8cf0ee6a04 Merge pull request #262 from xenserver/xs64bit
Xs64bit
2014-11-18 10:32:57 +00: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
Stephen Turner
99743e54ac Just add a comment 2014-10-01 17:51:17 +01:00
Stephen Turner
5abf3c53c0 CA-146815 Search tab does not refresh when moving from Infrastructure view to a Saved Search view (and not reintroducing CA-147684) 2014-10-01 17:43:03 +01:00
Stephen Turner
21449b0d2d Also if we're not taking the patch for CA-146815, RefreshTreeView() can stay private 2014-10-01 13:54:02 +01:00
Stephen Turner
25e735223e CA-143826 CA-146815 CA-147401 Fix bugs related to navigation mode changes 2014-09-29 15:13:39 +01:00
Mihaela Stoica
c8917d1986 CA-127974: Added more checks to prevent XenCenter crash while closing [XOP-521]
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2014-03-05 10:45:39 +00:00
Konstantina Chremmou
f5bee7102c Refactored MainWindow to derive from IMainWindow rather than implement a field deriving
from this interface.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2014-01-22 12:39:32 +00:00
Konstantina Chremmou
f120ffd496 CA-123572: Fixed regression: restored "New folder" item in the context menu of the Folders root node.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2013-12-31 15:47:52 +00:00
Konstantina Chremmou
9de85b8772 CP-6267: Restored status strip on the main window.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2013-11-12 12:44:19 +00:00
Konstantina Chremmou
dfa26cf0cc CP-6093: Main window control positioning and borders.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2013-11-07 15:31:13 +00:00
Gabor Apati-Nagy
431f47ef2b [CA-64748] Fixed Wrong context menu opens if you move the mouse quickly 2013-11-04 12:35:53 +00:00
Konstantina Chremmou
aa8ccd0bfb CP-6095: Ensure the different views have a single root node with the appropriate
icon. Moved class OrganizationalView from XenModel back to XenAdmin as it is more
relevant to the latter.  Updated relevant tests. Some code tidy.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2013-10-08 10:17:57 +01:00
Konstantina Chremmou
2edefb840e CP-5751: First drop of the new NotificationsView (currently only the Alerts are available).
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2013-08-30 13:35:32 +01:00
Konstantina Chremmou
e397d8bee7 CP-5749: Updated tests to reflect GUI changes. Some code corrections after the first run.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2013-08-28 14:44:46 +01:00
Konstantina Chremmou
c4011c3086 CP-5749: Split the organization views into tags, folders, vapps and custom fields.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2013-08-26 13:08:23 +01:00
Konstantina Chremmou
a3dbc137d9 CP-5749: First drop of new outlook style buttons.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2013-08-26 11:42:32 +01:00
Konstantina Chremmou
31b29d615d CP-5749: Moved treeviewUpdateManager closer to the treeview.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2013-08-25 14:06:03 +01:00
Konstantina Chremmou
b602195a1c CP-5749: Moved methods related to suspending/resuming treeview refresh closer to
the treeview and compacted them.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2013-08-25 12:42:38 +01:00
Konstantina Chremmou
b163a6c715 CP-5749: Moved the main treeview from the MainWindow to the NavigationView control.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2013-08-24 17:00:32 +01:00
Konstantina Chremmou
964ee7d1d1 CP-5749: Renamed the TreeSearchBoxMode to NavigationMode and moved it to the NavigationView control.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2013-08-23 12:32:14 +01:00
Konstantina Chremmou
d128abe4f9 CP-5749: Created new NavigationView control and moved the search box from the main window into there.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2013-08-23 12:23:35 +01:00