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>
events. Fixed display issue when moving between the notifications and the other views.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
Preserve last selected node when switching between views. Added labelling to the
unit tests run post-build. Minor tidy.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
# HG changeset patch
# User Gabor Apati-Nagy <Gabor.Apati-Nagy@citrix.com>
# Date 1383736103 0
# Wed Nov 06 11:08:23 2013 +0000
# Node ID f79a41a7c73e5555143a1f5cdf7bd3e8f27a8fba
# Parent 04c02de675af090f3171b6fbf3b21b023c645c24
GPU page:
5. put GPU page back at server level
7. Move Edit button of "Placement policy" closer to text and make the box smaller and fixed
8. Put Placement policy box within the scroll bar
VM properties dialog / New VM wizard:
9. gpu types should be shown in order 2-4-8
10. show types that are not allowed as disabled items in the combobox (instead of not showing at all)
11. increase the height of combobox (max no of items) so that all items are seen without scroll
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
# HG changeset patch
# User Mihaela Stoica <Mihaela.Stoica@citrix.com>
# Date 1383045574 0
# Tue Oct 29 11:19:34 2013 +0000
# Node ID 35673b51503006bbbb1e6647b1e0eb1938bd72ef
# Parent bb05d6e143d7199359da1f555250d3a4ee126a5c
Overview tab completely redesigned and shown only on pool and standalone hosts.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
- The License Manager dialog is no longer shown when connecting to unlicensed Clearwater and later hosts; same rule applies for periodic checks;
- Minor refactoring: combined two functions that did the same thing (CheckActiveServerLicense and periodicCheck) into one.
icon. Moved class OrganizationalView from XenModel back to XenAdmin as it is more
relevant to the latter. Updated relevant tests. Some code tidy.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
# HG changeset patch
# User Konstantina Chremmou <Konstantina.Chremmou@citrix.com>
# Date 1375792166 -3600
# Node ID 2f3f7203b7a8c8c8d470534c0cf6554b9bf75a39
# Parent 6c08708f799c879557426b1aba48063b7ee9f877
CA-112444: Removed the ability to have link areas in the label of the ThreeButton
dialog because it's not always working for languages other than English. It was
used only in one place anyway, therefore I provided a dedicated dialog.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
Fixed some memory leaks in the wizard and dialog tests. Updated broken Searcher tests.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
the search mode has changed; the latter should not be accessible from outside the
class.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
the same code. Use a CommandToolStripItem to launch the BugToolWizard like we do
for other wizards. Added overload for the MainWindowCommandInterface.ShowForm
method which allows to pass arguments to a wizard constructor.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
For the time being show all entries. New filtering according to the entry location
will be implemented in a future commit.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
succeeded, failed; cancelled at the moment counts as failed, we may need to distinguish
in future). As a consequence the filter checkboxes from the top of the Log tab
were removed and some temporary changes were made to the drawing of action rows
(the controls will change completely in a subsequent commit).
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
NewAction to use the Action<ActionBase> delegate instead of EventHandler. Thus
there is no need to fire them with Empty or null EventArgs and on several occasions
we avoid casting objects in the event handlers.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>