- 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>
Further changes
* implemented similar logic for the Commands too as those are keep on getting updates so affected
* moved these static fields to a class (at Images)
* used the same casing as in Resources once they have been moved
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
Changed code at a a few places where it made sense to limit how many times XenCenter asks the Resource Manager for a new instance(*1) of the same(*2) image.
*1: RM returns a new object each time
*2: they are the same as we don't change the locale of a thread and also we don't localise these images - by design
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
Show the "Change role" dialog as modal. This way we avoid other issues, like removing the user while the "Change role" dialog is open.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
* [CA-233454] PVS tab doesn't show a new VM when it's created
Refined the rules for not adding a VM to the table, if it is a template (thus not_a_real_vm), and it has the __gui__ prefix (thus hidden), we still add it, but hide it.
When its name is changed (to remove the __gui__ prefix), we update its name and re-calculate whether it should be visible (in the case of a new VM this will be true once the __gui__ prefix is gone). Also resort the table if a node changes from hidden to visible, because it appears as an addition to the table.
Signed-off-by: Callum McIntyre <callumiandavid.mcintyre@citrix.com>
* [CA-233454] Update criteria for VM visibility to include is_a_real_vm
is_a_template is changed before the name_label removes the __gui__ prefix, so this works with no other changes to the vm property changed event.
Signed-off-by: Callum McIntyre <callumiandavid.mcintyre@citrix.com>
* [CA-233454] Update when the VMs are shown in the PVS list
New observable property IsBeingCreated for VMs, set to true when they're made a hidden object, and false when they're removed from hidden objects (both in CreateVMAction). In the PVS Page when this is set to false, we re-evaluate whether a VM can be shown. This means that new VMs show here at the same time they're added to the tree (only different is tree refresh time), instead of far earlier (and before their networks were added).
Signed-off-by: Callum McIntyre <callumiandavid.mcintyre@citrix.com>
* [CA-233454] Set IsbeingCreated in the CreateVMFastAction
* [CA-233454] Properly support the VM Fast Create action
Further changes to CreateVMFastAction, to ensure it works with PVS tab - use the __gui__ prefix when the VM is created and then change it back just before showing.
* [CA-233454] Small logic adjustments/tidying up
confirmations are displayed. Added checkboxes to the dialogs requesting confirmation
of dismissal of notifications so the user can opt to skip this step.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
Changes as discussed on the ticket: No longer disable the rows when they have a warning in the dialog, support warning about storage configuration as well as PVS configuration, and also include these warnings in the PVS page table.
Moved to A for Dismiss All, and E for Dismiss Selected. Since this frees D (the toolstrip menu split button uses one of these, so was previously always D), moved Filter by Date from A to D.
If windows_update is in the hidden features registry key, then we hide the virtualization state line about Windows update.
Signed-off-by: Callum McIntyre <callumiandavid.mcintyre@citrix.com>
The problem here was that TimeSpan.Minutes is always below 60, eg. for 67 minutes it is 7 (with TimeSpan.Hours being 1 then). So our TimeSpan was correct, but if it was between 1 and 2 hours then we would write the minutes in the second hour (which is below 60), ignoring the hour. The fix is to use s.TotalMinutes which for 67 minutes is 67. Hours also had a similar issue, except it would be off by 24 hours for spans between 1 and 2 days.
On the General tab XenCenter shows a list of updates that requires the host to be restarted. This is shown for applied updates for which the required guidance hasn't been done (eg. restartHost or restartAgent after-apply-guidances)
This commit fixes a regression that caused restartToolstack warnings to be not shown in the list of warnings.
The displayed messages are also improved, XenCenter will show Toolstack restart or host restart appropriately and not just restart only as it used to.
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>