summaryrefslogtreecommitdiff
path: root/src/VBox
diff options
context:
space:
mode:
authorvboxsync <vboxsync@cfe28804-0f27-0410-a406-dd0f0b0b656f>2020-04-30 13:20:34 +0000
committervboxsync <vboxsync@cfe28804-0f27-0410-a406-dd0f0b0b656f>2020-04-30 13:20:34 +0000
commit16334c0aad830e46b2c974b16902c4aaa5f83407 (patch)
tree26ca5431f52e2d9627bf035c4775d990b4408c54 /src/VBox
parent2e853a2bbe324f22a55c023d62fb9ef17570b9b7 (diff)
downloadVirtualBox-svn-16334c0aad830e46b2c974b16902c4aaa5f83407.tar.gz
FE/Qt: bugref:9653: !VirtualBox Manager: More clever check for whether item is removable; No remove for fake cloud VM item.
git-svn-id: https://www.virtualbox.org/svn/vbox/trunk@84102 cfe28804-0f27-0410-a406-dd0f0b0b656f
Diffstat (limited to 'src/VBox')
-rw-r--r--src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp2
-rw-r--r--src/VBox/Frontends/VirtualBox/src/manager/UIVirtualMachineItem.h2
-rw-r--r--src/VBox/Frontends/VirtualBox/src/manager/UIVirtualMachineItemCloud.cpp6
-rw-r--r--src/VBox/Frontends/VirtualBox/src/manager/UIVirtualMachineItemCloud.h2
-rw-r--r--src/VBox/Frontends/VirtualBox/src/manager/UIVirtualMachineItemLocal.cpp6
-rw-r--r--src/VBox/Frontends/VirtualBox/src/manager/UIVirtualMachineItemLocal.h2
6 files changed, 19 insertions, 1 deletions
diff --git a/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp b/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp
index 88e53024bf6..9152354dd39 100644
--- a/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp
@@ -2239,7 +2239,7 @@ bool UIVirtualBoxManager::isAtLeastOneItemInaccessible(const QList<UIVirtualMach
bool UIVirtualBoxManager::isAtLeastOneItemRemovable(const QList<UIVirtualMachineItem*> &items)
{
foreach (UIVirtualMachineItem *pItem, items)
- if (!pItem->accessible() || pItem->isItemEditable())
+ if (pItem->isItemRemovable())
return true;
return false;
}
diff --git a/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualMachineItem.h b/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualMachineItem.h
index 0a013324071..7239ea503e4 100644
--- a/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualMachineItem.h
+++ b/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualMachineItem.h
@@ -119,6 +119,8 @@ public:
* @{ */
/** Returns whether this item is editable. */
virtual bool isItemEditable() const = 0;
+ /** Returns whether this item is removable. */
+ virtual bool isItemRemovable() const = 0;
/** Returns whether this item is saved. */
virtual bool isItemSaved() const = 0;
/** Returns whether this item is powered off. */
diff --git a/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualMachineItemCloud.cpp b/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualMachineItemCloud.cpp
index c029da1d977..c0030611e11 100644
--- a/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualMachineItemCloud.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualMachineItemCloud.cpp
@@ -174,6 +174,12 @@ bool UIVirtualMachineItemCloud::isItemEditable() const
&& itemType() == UIVirtualMachineItemType_CloudReal;
}
+bool UIVirtualMachineItemCloud::isItemRemovable() const
+{
+ return accessible()
+ && itemType() == UIVirtualMachineItemType_CloudReal;
+}
+
bool UIVirtualMachineItemCloud::isItemSaved() const
{
return accessible()
diff --git a/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualMachineItemCloud.h b/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualMachineItemCloud.h
index 0b0ce5fcd9c..804590dc523 100644
--- a/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualMachineItemCloud.h
+++ b/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualMachineItemCloud.h
@@ -84,6 +84,8 @@ public:
* @{ */
/** Returns whether this item is editable. */
virtual bool isItemEditable() const /* override */;
+ /** Returns whether this item is removable. */
+ virtual bool isItemRemovable() const /* override */;
/** Returns whether this item is saved. */
virtual bool isItemSaved() const /* override */;
/** Returns whether this item is powered off. */
diff --git a/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualMachineItemLocal.cpp b/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualMachineItemLocal.cpp
index 2a85a8abf33..e90c2458a23 100644
--- a/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualMachineItemLocal.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualMachineItemLocal.cpp
@@ -214,6 +214,12 @@ bool UIVirtualMachineItemLocal::isItemEditable() const
&& sessionState() == KSessionState_Unlocked;
}
+bool UIVirtualMachineItemLocal::isItemRemovable() const
+{
+ return !accessible()
+ || sessionState() == KSessionState_Unlocked;
+}
+
bool UIVirtualMachineItemLocal::isItemSaved() const
{
return accessible()
diff --git a/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualMachineItemLocal.h b/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualMachineItemLocal.h
index 584e6e40980..047e343bf67 100644
--- a/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualMachineItemLocal.h
+++ b/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualMachineItemLocal.h
@@ -91,6 +91,8 @@ public:
* @{ */
/** Returns whether this item is editable. */
virtual bool isItemEditable() const /* override */;
+ /** Returns whether this item is removable. */
+ virtual bool isItemRemovable() const /* override */;
/** Returns whether this item is saved. */
virtual bool isItemSaved() const /* override */;
/** Returns whether this item is powered off. */