Changes following code review:
- Added VM.CanHaveVGpu function (at the moment just returns CanHaveGpu, but it will change in the future)
- Added vGPU_type.IsPassthrough function and used it everywhere we needed to test for passthrough (max-heads==0)
- Simplified code in Helpers.GpuCapability, Helpers.VGpuCapability, NewVMWizard (gpuCapability), MainWindow and GpuRow
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
New properties:
- Pool.HasGpu = Pool has at least one PGPU
- Pool.HasVGpu = Pool has at least one PGPU that HasVGpu
- PGPU.HasVGpu = PGPU has at least one supported_VGPU_type that is not pass-through
New or modified helper functions:
- Helpers.GpuCapability = GPU feature not restricted (by licensing) and Pool.HasGpu
- Helpers.VGpuCapability = vGPU feature not restricted (by licensing) and Pool.HasVGpu
- Helpers.ClearwaterSp1OrGreater = API version is 2.1 or greater
The GPU dialogs are displayed as follows:
- GPU page on VM properties dialog: Visible only if VM.CanHaveGpu and the GPU feature not restricted (by licensing)
- GPU page on New VM Wizard: Visible only if VM.CanHaveGpu and the pool has GPU capability (Helpers.GpuCapability)
- GPU page on Pool properties dialog: Visible only if the pool has vGPU capability (Helpers.VGpuCapability)
- GPU tab: Visible only if the pool has GPU capability (Helpers.GpuCapability) and is Clearwater SP1 or greater
- On the GPU tab, the "Placement policy" panel: Visible only if the pool has vGPU capability (Helpers.VGpuCapability)
- On the GPU tab, the "Edit" button on the "vGPU types" panel: Visible only if the PGPU.HasVGpu and vGPU feature not restricted (by licensing)
Also:
- VM.CanHaveVGpu function renamed to CanHaveGpu
- On the GPU tab, renamed "Allowed vGPU types" to "vGPU types
Instead of showing just the name, this code is showing name with location information in title for all objects that appear in the tree view.
(A new property (NameWithLocation) with a getter accessor defined in IXenObject and has been implemented as virtual in XenObject and overridden at several child classes.)
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
- If XenCenter node or a disconnected host is selected, show the default search.
- Otherwise, find the top-level parent (= pool or standalone server) and show the search restricted to that.
- In the case of multiselect, if all the selections are within one pool (or standalone server), then show that report.
- Otherwise show everything, as on the XenCenter node.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
-Fixing issue as per Mihaela's review: "when an object and its parent (i.e. the group) are selected, the search result should be the search on that group"
-Fixed search on Objects view when multiple items were selected. If one item is selected the behaviuor is unchanged. If multiple items are selected the common ancestor's search is displayed if there is one, otherwise we display the search view that belongs to the root node (Objects by Type).
- cannot remove completely because of the plugin specification, but it is not be visible even if they were plugins trying to use it
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
This fixes the following problem:
When the main window is resized, we set the minimum width of the right side panel (Panel2MinSize) to half the size of the window so that the tab contents are visible. This is fine on most situations, but on a higher screen resolution (e.g. 1920x1080) the following problem occurs:
- starting with the main window at minimum size, when the window is maximized, the Panel2MinSize is set to half window's size (e.g. 960)
- when the main window is restored back to the minimum size, the split container is not resized because there is a conflict between Panel2MinSize and the size of the window itself (Panel1MinSize + Panel2MinSize > window's width)
- therefore the navigation panel is not visible and also the content of the tab control may appear out of scale.
To fix this, we set the Panel2MinSize to half of the window's minimum width. This way the right side panel will always fit in the window, including when it is restored to minimum size.
This also fixes [CA-137956] - Restoring Maximised XenCenter does not resize the main panel properly.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Force an update of the selected tab when switching back from Notification view, as some tabs ignore the update events when not visible (e.g. Snapshots, HA)
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
existing or due to the host being a slave. Use the action description instead of
the action title to construct the error for failed connection results. Indentation.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
of XenCenter and tasks started from outside and cancelling the former when exiting
or disconnecting from the pool.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
is downloaded and stored every time an update is performed (if manual all updates
are downloaded, if automatic only as per the user's choices). If there are available
updates, update alerts are generated if there are connected hosts and disappear
when the hosts are disconnected.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
Performance issue - reconstruct the plugin menu items only when the plugins are
loaded/refreshed instead of doing it every time the parent menu is clicked. Workflow
issue - the PluginManager.Enabled gets its value from the registry; we shouldn't
wait unitl the plugins are loaded to set it.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
Also GPU page on Pool properties dialogs should not be shown for non vGPU pools.
# HG changeset patch
# User Mihaela Stoica <Mihaela.Stoica@citrix.com>
# Date 1385743406 0
# Fri Nov 29 16:43:26 2013 +0000
# Node ID e28f9921a0a17efb1e3a8d185acf18b5b6e116b1
# Parent 59229250db34dd4cc1f34fbdab055467a1570f87
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
no forms are open. Since there is no event notifying about the Application.OpenForms
changing, created a new base class for all XenCenter dialogs and wizards with a
static event to which the main windw can subscribe.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
used to access the alerts list. The list itself should be private as there is a
risk to access it and forgetting to use the lock.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>