- Removed AsyncServerTime class as it adds complexity and the risk of
getting an outdated time.
- Simplified event signatures and compacted nested method calls.
- Fixed typo and removed unused code.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
- 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>
- if a hotfix eligibility date field is invalid, then the hotfix eligibility warning does not include any reference to this date.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
* Corrections and enhancements.
Fixed version compatibility check. Added context menu to the conversion list.
* Exclude templates and snapshots when looking for the conversion VM.
* Further corrections.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
* 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>
CP-31527: Add notifications in XenCenter for versions that are no longer eligible for hotfixes
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
In the CrossPoolMigrateCanMigrateFilter a WebException can be raised if the host cannot be reached to execute the API call that asserts is the VM can be migrated there. With these changes, we catch any exception (not just Failure) and mark the VM as not migratable (because we couldn't assert if it can be migrated to that host).
Also fixed other places where the same error might occur.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- CA-164372: Added line breaks in the pool updates list for readability and to match the corresponding host list.
- Moved the updates, version and licence sections closer together.
- Removed unnecessary panels and placed top buttons on a TableLayoutPanel.
- Moved size hardcoded values from the code to the resource files.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
* The radiobuttons local-remote gave the impression the two types of logging
were mutually exclusive. Use a checkbox instead to make it obvious that
the logs are directed to a remote server in addition to being stored locally.
* Updated log destination display on the General TabPage.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
because it only manages friendly names; moved it closer to the relevant resource files.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
option to change this on the Options dialog has not been provided as deemed
unnecessary.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
updates until Refresh was clicked. Also, some UX improvements:
- The Install Updates button should always be enabled in case the user wants
to install supp packs.
- If a type of update is disabled, show always the message at the top of the
grid view, for both views, and even if the list is not completely empty,
otherwise the user may easily forget the update is disabled and be misled.
In this case, the centred warning does not need to show the reason why no
updates were found.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
time a new object type is selected. If the user has chosen to collapse it,
respect their choice.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
also moved it out of the containing folder as it was its only resident.
Corrected the TitleBar fore colour as it was hard to read due to small contrast
with the bar's backround colour; normalised the code setting the other colours
so it's more unambiguous.
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>
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>
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>
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>
- 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>
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>
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>
Show ellipsis on the join/leave button since it launches a dialog requirng user input.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
with references to the connection; pool or master can be resolved from the
latter. This among others prevents the AD page from crashing when the master
and the pool change after master's entering maintenance mode.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
cell alignment; removed grid; expand/collapse on row double click and on expander
cell single click. Refactored class AdSubjectRow.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
Also, no need to trigger an event when the host is null or when get_servertime
fails only to double-log it in the handling class.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
* CP-26363: Display the remaining VF numbers in NIC TabPage
* correct the link status of Networking TabPage
* show the warning when creating SR-IOV network
* fix some comments
* modify the action
Signed-off-by: Jisheng Xing <jisheng.xing@citrix.com>
- no need to register the XenObjects events with the ArchiveMaintainer since
what the handler does is not specific to this class; this can be done on the
Performance page where the events are also registered.
- set directly the ArchiveMaintainer's XenObject to the new value without
setting it intermediately to null as this causes a full data download event
if the object has not changed.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
* CP-25081: UI improvements for USB passthrough
* CP-25081: Show text when AttachUsbDialog list is empty.
* Fix comments.
* Improve the presentation of warnings in USBEditPage.
* Update warning text of attach usb dialog.
* Simplify the layout of Attach USB Dialog.
* Check if USB devices plugged before showing UI.
* Fix comments.
* Fix comments.
* Improve code.
The bug is that when XC does not connect to Internet, By Server Update
page shows all the hosts up to date.
Signed-off-by: Ji Jiang <ji.jiang@citrix.com>
Based on comments from doc team:
1) Column title "Patching Status" should be replaced by "Status" in csv file
2) In View dropdown, "By Host" should be replaced by "By Server"
Signed-off-by: Ji Jiang <ji.jiang@citrix.com>
* CP-24331: Add UI for UsbTab and VM Usb Property
Signed-off-by: Kun Ma <kun.ma@citrix.com>
* CP-24331: Update XenAPI reference
Signed-off-by: Kun Ma <kun.ma@citrix.com>
* CP-24331: Add AttachUsbDialog
Signed-off-by: Kun Ma <kun.ma@citrix.com>
* CP-24331: Refine UI changes
Signed-off-by: Kun Ma <kun.ma@citrix.com>
* CP-24331: Discard UsbList and little refining to code
Signed-off-by: Kun Ma <kun.ma@citrix.com>
* CP-24331: Refine UI code
Signed-off-by: Kun Ma <kun.ma@citrix.com>
* CP-24331: Refine USBEditPage
Signed-off-by: Kun Ma <kun.ma@citrix.com>
* CP-24331: Refine USBEditPage
Signed-off-by: Kun Ma <kun.ma@citrix.com>
The commit fixes bug and unify sorting rules in ManageUpdatesPage,
PatchingWizard_SelectServers and RollingUpgradeWizardSelectPool data
grid views.
The rules are:
1) Name column sorted purely by name.
2) Other columns sorted by string value, if the same, sorted by default,
which is still in order even in reverse direction.
Signed-off-by: Ji Jiang <ji.jiang@citrix.com>
1) Show required updates in case of versions without minimal patches
2) Hide version text in installed updates when version is Ely or above
Signed-off-by: Ji Jiang <ji.jiang@citrix.com>
on the VM Snapshots page; update VM's status on the Snapshots page when the
VM's membership in a policy changes.
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>
Also restrict the use of build number as an integer to pre-Ely hosts (because a Honolulu host has a non-numeric build number and XenCenter doesn't know the difference between Ely and Honolulu)
And a small update to the pool join rule to match what we have in Honolulu XenCenter (check the database schema regardless of the version)
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
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.
Network HB initially shown as error because it takes time for the status to be
read from xha by xapi. This adds a delay to allow the status to be updated
before XC displays it.
- Moved the top warning out of the filter toolstrip and into the same tableLayoutPanel
as the dataGridVew to avoid hardcoding the dataGridview location in the code.
- Corrected linkLabel colour for compliance. Changed icon to match the icon
of the bottom information label.
- When checking for updates disable the linklabel instead of hiding the whole
warning to avoid empty space or the dataGridView jumping up and down.
- The check button in the middle should be available when the check link is
available.
- Avoid toggling explicitly the enabled state of controls; it can be taken
care of within the check for updates event handlers.
- Other minor layout improvements (control positioning).
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
thus solving the resizing issue of the Actions column. Also, register an action
before starting running it.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
General tab (Pool): In the list of updates, added a space after each comma
to let the control wrap the text into multiple lines. This way the text is
no longer cut, therefore no additional scrollbar is needed.
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
- removed unused methods and properties from the NewPolicyWizard class
- made the wizard pages private in the NewPolicyWizard class
- removed unused constructor from the NewPolicySnapshotTypePage class
- removed unused property from the PolicyHistory class
- removed the public properties TreeView and DataGridView from the SnapshotsPage
- removed the PolicyType from the PolicyAlert class and the constructor that is no longer used
- removed unused property from the VMSS class
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
In the Updates wizard:
New versions that are available as updates will be listed in the "Download Updates from Citrix" section, before any other updates.
If XenCenter is not the latest version, these rows will be greyed out, with a tooltip.
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
CP-21185: Show new versions of XS and XC on the top
...unless not sorted by name, date, or servers.
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
- On the Updates tab: for new versions, check that the version of XenCenter is at least the latest. If not, give an additional option to download a newer XenCenter (for both updates and upgrades), and not offer "Download and Install" (for updates).
- In the Patching wizard: if the update is a new version, we force the user to first update their XenCenter to the new version
- In the RPU wizard: if the server version is not the latest and their XenCenter version is not the latest from updates.xml, we assume that they want to upgrade to the latest XenServer version and we force the user to first update their XenCenter to the latest version.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Implemented a generic mechanism to allow tab pages to unregister their event handlers when they are hidden (when a tab page gets deselected)
Also changed VMStoragePage to derive from BaseTabPage, so it could use the same mechanism.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>