One of the PatchGridViewRow constructors was obsoleted, hence the _image and
_status cells and the row's PathPatch were always null. When a user selected a
patch, moved to the Prechecks page, back to the Select page, and the host got
disconnected, on moving to the SelectServers page and closing the warning pop-up,
XenCenter crashed because it was trying to update details of null cells. Also,
removed obsoleted toggling expanded state functionality.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
For this purpose, call the DisconnectCommand instead of session.logout_subject_identifier.
Also:
- Add the new actions to the History synchronously on the main thread,
otherwise the warning dialog may not detect in time the new actions.
- Although the local root account is currently first in the list, checking whether
the first item is selected is a fragile way of establishing whether the local
root account is selected. Check the row's IsLocalRootRow property as in the
rest of the file.
- Added username detail to the logout action; fixed typo in message key.
- Some minor refactoring to make the code more efficient.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
hidden and in all other cases it was set by the implementing control, i.e.
the label was not reusable, hence no reason to have it in the control and risk
layout issues. This means that the SrPicker does not need to be a control
encapsulating a CustomTreeVIew, but simply derive from the latter.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
* CA-293814: If there are no VMs running, entering Maintenance Mode without showing Dialog.
* CA-293814: Refreshing the view after shortcutting entering the mainenance view (no running VMs so no window shown) in the same way as the rest of the updates are managed.
Please see: https://github.com/xenserver/xenadmin/pull/2264
Signed-off-by: Aaron Robson <aaron.robson@citrix.com>
* CA-203431: Removed prefix comma and space from the start of the list of hosts in the multipathing alert message.
* CA-203431: Removed duplicate Host names from multipathing alert message.
* CA-203431: Unit tests for MessageAlert.FindHostUuids with tweaks to allow it to handle a null input as if it was an empty enumeration.
Signed-off-by: Aaron Robson <aaron.robson@citrix.com>
* CA-298921: End of error message in XenCenter is cut off when failed to start VM, word wrapping on the Reason column (and top aligning the other columns) for consistency.
* CA-298921: Adjusted the padding of the icon.
* CA-298921: Removed null Bitmap from .resx.
* CA-298921: Resolving text alignment issues with single line (i.e. short) Reasons.
Signed-off-by: Aaron Robson <aaron.robson@citrix.com>
* CP-14807: Delete OEM in ServerVersion
* CP-14807: Removing unused IgnorePatchAction and IgnoreServerAction classes (moving their constants to the Updates class).
Signed-off-by: Aaron Robson <aaron.robson@citrix.com>
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>