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>
it's obvious what it is. The Session's uuid will be deprecated from the API bindings.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
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>
- removed unnecessary casts
- no need to catch exception only to rethrow it; do not interrupt the call stack by using "throw ex"
- redundant check and value setting
Moving GetVirtualisationWarningMessages back to VM
Also added EVACUATE_HOST_INSTALL_MGMNT_PROMPT what is shown on the EvacuateHostDialog when a 'new' VM is given and Management Agent can be installed
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
Extended the enum, aimed for minimal changes, also using Flags on the enum now
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
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.
this by susbstituting the FlickerFreeListBox with a DataGridView, which also fixes
the selection bug, plus we don't have to do custom drawing or costly string
measurements. This change will also aid the fix of CA-20870.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
NewAction to use the Action<ActionBase> delegate instead of EventHandler. Thus
there is no need to fire them with Empty or null EventArgs and on several occasions
we avoid casting objects in the event handlers.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>