diff options
author | vboxsync <vboxsync@cfe28804-0f27-0410-a406-dd0f0b0b656f> | 2020-04-30 13:20:34 +0000 |
---|---|---|
committer | vboxsync <vboxsync@cfe28804-0f27-0410-a406-dd0f0b0b656f> | 2020-04-30 13:20:34 +0000 |
commit | 16334c0aad830e46b2c974b16902c4aaa5f83407 (patch) | |
tree | 26ca5431f52e2d9627bf035c4775d990b4408c54 /src/VBox | |
parent | 2e853a2bbe324f22a55c023d62fb9ef17570b9b7 (diff) | |
download | VirtualBox-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')
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. */ |