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>
* CP-29657: Create message for HOST_LOW_MEMORY in XenCenter.
Includes an update to the latest XenModel API.
* CP-29657: Included rebuilt FriendlyErrorNames designer.
Signed-off-by: Aaron Robson <aaron.robson@citrix.com>
the build output folder and removed one of them as it's now unused. Included
some left out images into the project. Updated README.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
* Correct out of range percentage and throw an assertion instead of silently
logging it so we can fix the causes of it. Compacted method logic.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
* Exception handling: prevent InvalidOperationException if the health check service
is not found on the computer (installation is optional).
Do not throw exception and handle if the task handle is invalid, but rather
throw it only for other cases of task.status being failure.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
is easier to understand which one is called from which command.
Removed superfluous TableLayoutPanel.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
do not show the upsell dialog; the user should be able to move the VDIs without
having to detach them first.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
Renamed method IsExiting to IsInvokable to better describe its contents.
Added null check in it (previously only one of the four Invoke methods was
checking for null).
Added null check when we set the TestExceptionString in automated test mode.
Added logging to exception handling.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
There can be cases when we have logged in a session, events are fired
causing the tab pages to be refreshed, however we may abort the connection,
for example, due to brand mismatch. In this case the licenseStatus has not
been initialized, however the refreshing general tab tries to access its
properties resulting to a crash.
Also some method tidy up.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
This avoids firing the ConnectionClosed event explicitly after EndConnect;
it also avoids refreshing explicitly the tree as the main Window handles the
ConnectionClosed event which requests a refresh.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
pop-up, otherwise the UX is slightly strange if the failure appears on the
status bar only after the user has closed the pop-up.
Also, improved failure message shown on the History page.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
Due to the delay interval between refreshes, this UpdateTolbars was called
before any root nodes were added to the tree, hence the only new tab to
add was Search, which got selected (previously this did not happen,
because it was taken for granted that the root node was added by the constructor).
Immediately afterwards the treeview was refreshed, the root node was selected and the
home page was added, but the selected Search tab was erroneously preserved.
Also removed extra RequestRefreshTreeView because the tree will be refreshed,
if required, by the handlers of the connection events.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
- The new logic of adding/removing tabs in the ChangeToNewTabs method also fixes
tab-title flickering when we move from the Home node to a disconnected host.
- Renamed enum members Tab.Overview to Tab.Search and Tab.Settings to Tab.General
since the pages mapped to them are TabPageSearch and TabPageGeneral respectively.
- Do not call directly UpdateToolbarsCore but rather UpdateToolbars since the
latter takes account of the queued requested updates.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
PersistExpandNodes should not take for granted that the treeview always has nodes.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
With this change, following are working:
1) After applying XS75E003-5 only restart host, no restart toolstack
2) After applying vGPU driver on 7.4, restart host happens
Signed-off-by: Ji Jiang <ji.jiang@citrix.com>
- When the host/pool was disconnected or when changing selection from connected to disconnected pool
the header was not updated with the new licence status.
- If the pool hosts' edition is none of the known editions, show unknown, not free.
- Tidy up: moved the Pool.LicenseString method to Helpers.GetFriendlyLicenseName.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
Also, removed unnecessary comments from index.html because they were making
the file illegible. Included new logo in the project file.
Added localised html files so we can generate the mht files from them
(localisation should not happen in the mht files, but rather in the source html).
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
CA-287643: Replaced list view with data grid view to resolve column sizing issue and for consistency with the rest of the product.
Signed-off-by: Aaron Robson <aaron.robson@citrix.com>
need an EnableHA button which additionally appears greyed out while HA is being
enabled. While an HA action is in progress we should only change the enabled
status of the already visible buttons.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
the spinner with the surrounding controls on a parent control/form.
Also, removed the icon from the spinner because in the
majority of implementations it was invisible and the extra space was just
complicating the alignment of the surrounding controls.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
* CA-297020: Do not download imported appliance on a modal dialog, but rather
asynchronously on the ImportSourcePage, so that the rest of XenCenter is usable
while the download is taking place; used the page's progress bar for this purpose
and removed the DownloadApplianceDialog.
* Corrections to the validation of the import source.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
* CA-294333: NewPolicySnapshotPage corrections.
- Fixed layout and accessibility of controls.
- Changed clickable info icons to normal icon+text info panels because they
are used more widely across XenCenter and the user does not need extra clicks
to access the information.
- Fixed bug where two clicks were required to check the quiescing checkbox
if the Disk and Memory radio was selected.
* Minor layout correction.
* Removed some obsolete code.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
having preselected a connection on the treeview. Also added a null check to
prevent crash if the connection is suddenly interrupted while moving away
from the select destination host page.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
* CA-293776: The order in which a single update is applied on the slaves is not the same as the order in which they are displayed
Apply the same Hosts sorting rules for all the PatchingWizard Pages .
Signed-off-by: Tim Liu <tim.liu@citrix.com>
* CA-293776: The order in which a single update is applied on the slaves is not the same as the order in which they are displayed
Place orderby clause after where clause
Signed-off-by: Tim Liu <tim.liu@citrix.com>
* CA-293813: Patch pools in parallel when installing a single update/patch or supplemental package.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
* Corrections as per code review.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
property to the derived classes (they don't share much of it anyway) and the method
CalcMemoryUsed to the VMShinyBar class where it is needed. Also made the latter's
property Increment non-browsable.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
setting controls. Also removed the various types of ballooning dialogs since
the only thing changing was the contained memory settings control.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
The other part of this ticket (add OTHER_OPERATION_IN_PROGRESS to the known errors) has already been done in commit 97a60c91.
Minor refactoring to the VMProblem class.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
asynchronously on the SelectImportSourcePage, so that the rest of XenCenter
is usable while the unzip is taking place; for this purpose a progress bar
was added on the page and the DecompressApplianceDialog was removed.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
from this an object with selected TabPageFeature to a different object with a
deselected TabPageFeature.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
life browsers and allow the user to see the status even if other actions are taking
place. Removed webClient use from the browser; instead try sequentially to navigate
to all Uris until one succeeds; this avoids sending duplicate requests and allows
the user to see all endpoints tried out. Reworked the WebBrowser event handlers
to ensure the UI reflects correctly the browser state.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
about:blank instead. Removed parameter null check as it is done by PlaceholderRegex.Replace.
Minor tidy up.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
Moved NavigateError- and AuthenticatinPromptEventArgs classes inside WebBrowser2
as they are only relevant to the latter class.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
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>