Index: /trunk/src/VBox/Frontends/VirtualBox/src/selector/UIActionPoolSelector.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/selector/UIActionPoolSelector.cpp	(revision 71620)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/selector/UIActionPoolSelector.cpp	(revision 71621)
@@ -5,5 +5,5 @@
 
 /*
- * Copyright (C) 2010-2017 Oracle Corporation
+ * Copyright (C) 2010-2018 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
@@ -20,5 +20,5 @@
 #else  /* !VBOX_WITH_PRECOMPILED_HEADERS */
 
-/* Local includes: */
+/* GUI includes: */
 # include "UIActionPoolSelector.h"
 # include "UIExtraDataDefs.h"
@@ -37,16 +37,20 @@
 
 
-class UIActionMenuFile : public UIActionMenu
-{
-    Q_OBJECT;
-
-public:
-
-    UIActionMenuFile(UIActionPool *pParent)
-        : UIActionMenu(pParent) {}
-
-protected:
-
-    void retranslateUi()
+/** Menu action extension, used as 'File' menu class. */
+class UIActionMenuSelectorFile : public UIActionMenu
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionMenuSelectorFile(UIActionPool *pParent)
+        : UIActionMenu(pParent)
+    {}
+
+protected:
+
+    /** Handles translation event. */
+    virtual void retranslateUi() /* override */
     {
 #ifdef VBOX_WS_MAC
@@ -58,26 +62,32 @@
 };
 
-class UIActionSimpleVirtualMediumManagerDialog : public UIActionSimple
-{
-    Q_OBJECT;
-
-public:
-
-    UIActionSimpleVirtualMediumManagerDialog(UIActionPool *pParent)
-        : UIActionSimple(pParent, ":/diskimage_16px.png") {}
-
-protected:
-
-    QString shortcutExtraDataID() const
+/** Simple action extension, used as 'Show Virtual Media Manager' action class. */
+class UIActionSimpleSelectorShowVirtualMediaManager : public UIActionSimple
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionSimpleSelectorShowVirtualMediaManager(UIActionPool *pParent)
+        : UIActionSimple(pParent, ":/diskimage_16px.png")
+    {}
+
+protected:
+
+    /** Returns shortcut extra-data ID. */
+    virtual QString shortcutExtraDataID() const /* override */
     {
         return QString("VirtualMediaManager");
     }
 
-    QKeySequence defaultShortcut(UIActionPoolType) const
+    /** Returns default shortcut. */
+    virtual QKeySequence defaultShortcut(UIActionPoolType) const /* override */
     {
         return QKeySequence("Ctrl+D");
     }
 
-    void retranslateUi()
+    /** Handles translation event. */
+    virtual void retranslateUi() /* override */
     {
         setName(QApplication::translate("UIActionPool", "&Virtual Media Manager..."));
@@ -86,26 +96,32 @@
 };
 
-class UIActionSimpleHostNetworkManagerDialog : public UIActionSimple
-{
-    Q_OBJECT;
-
-public:
-
-    UIActionSimpleHostNetworkManagerDialog(UIActionPool *pParent)
-        : UIActionSimple(pParent, ":/host_iface_manager_16px.png") {}
-
-protected:
-
-    QString shortcutExtraDataID() const
+/** Simple action extension, used as 'Show Host Network Manager' action class. */
+class UIActionSimpleSelectorShowHostNetworkManager : public UIActionSimple
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionSimpleSelectorShowHostNetworkManager(UIActionPool *pParent)
+        : UIActionSimple(pParent, ":/host_iface_manager_16px.png")
+    {}
+
+protected:
+
+    /** Returns shortcut extra-data ID. */
+    virtual QString shortcutExtraDataID() const /* override */
     {
         return QString("HostNetworkManager");
     }
 
-    QKeySequence defaultShortcut(UIActionPoolType) const
+    /** Returns default shortcut. */
+    virtual QKeySequence defaultShortcut(UIActionPoolType) const /* override */
     {
         return QKeySequence("Ctrl+W");
     }
 
-    void retranslateUi()
+    /** Handles translation event. */
+    virtual void retranslateUi() /* override */
     {
         setName(QApplication::translate("UIActionPool", "&Host Network Manager..."));
@@ -114,26 +130,32 @@
 };
 
-class UIActionSimpleImportApplianceWizard : public UIActionSimple
-{
-    Q_OBJECT;
-
-public:
-
-    UIActionSimpleImportApplianceWizard(UIActionPool *pParent)
-        : UIActionSimple(pParent, ":/import_16px.png") {}
-
-protected:
-
-    QString shortcutExtraDataID() const
+/** Simple action extension, used as 'Show Import Appliance Wizard' action class. */
+class UIActionSimpleSelectorShowImportApplianceWizard : public UIActionSimple
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionSimpleSelectorShowImportApplianceWizard(UIActionPool *pParent)
+        : UIActionSimple(pParent, ":/import_16px.png")
+    {}
+
+protected:
+
+    /** Returns shortcut extra-data ID. */
+    virtual QString shortcutExtraDataID() const /* override */
     {
         return QString("ImportAppliance");
     }
 
-    QKeySequence defaultShortcut(UIActionPoolType) const
+    /** Returns default shortcut. */
+    virtual QKeySequence defaultShortcut(UIActionPoolType) const /* override */
     {
         return QKeySequence("Ctrl+I");
     }
 
-    void retranslateUi()
+    /** Handles translation event. */
+    virtual void retranslateUi() /* override */
     {
         setName(QApplication::translate("UIActionPool", "&Import Appliance..."));
@@ -142,26 +164,32 @@
 };
 
-class UIActionSimpleExportApplianceWizard : public UIActionSimple
-{
-    Q_OBJECT;
-
-public:
-
-    UIActionSimpleExportApplianceWizard(UIActionPool *pParent)
-        : UIActionSimple(pParent, ":/export_16px.png") {}
-
-protected:
-
-    QString shortcutExtraDataID() const
+/** Simple action extension, used as 'Show Export Appliance Wizard' action class. */
+class UIActionSimpleSelectorShowExportApplianceWizard : public UIActionSimple
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionSimpleSelectorShowExportApplianceWizard(UIActionPool *pParent)
+        : UIActionSimple(pParent, ":/export_16px.png")
+    {}
+
+protected:
+
+    /** Returns shortcut extra-data ID. */
+    virtual QString shortcutExtraDataID() const /* override */
     {
         return QString("ExportAppliance");
     }
 
-    QKeySequence defaultShortcut(UIActionPoolType) const
+    /** Returns default shortcut. */
+    virtual QKeySequence defaultShortcut(UIActionPoolType) const /* override */
     {
         return QKeySequence("Ctrl+E");
     }
 
-    void retranslateUi()
+    /** Handles translation event. */
+    virtual void retranslateUi() /* override */
     {
         setName(QApplication::translate("UIActionPool", "&Export Appliance..."));
@@ -171,26 +199,32 @@
 
 #ifdef VBOX_GUI_WITH_EXTRADATA_MANAGER_UI
-class UIActionSimpleExtraDataManagerWindow : public UIActionSimple
-{
-    Q_OBJECT;
-
-public:
-
-    UIActionSimpleExtraDataManagerWindow(UIActionPool *pParent)
-        : UIActionSimple(pParent, ":/edataman_16px.png") {}
-
-protected:
-
-    QString shortcutExtraDataID() const
+/** Simple action extension, used as 'Show Extra-data Manager' action class. */
+class UIActionSimpleSelectorShowExtraDataManager : public UIActionSimple
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionSimpleSelectorShowExtraDataManager(UIActionPool *pParent)
+        : UIActionSimple(pParent, ":/edataman_16px.png")
+    {}
+
+protected:
+
+    /** Returns shortcut extra-data ID. */
+    virtual QString shortcutExtraDataID() const /* override */
     {
         return QString("ExtraDataManager");
     }
 
-    QKeySequence defaultShortcut(UIActionPoolType) const
+    /** Returns default shortcut. */
+    virtual QKeySequence defaultShortcut(UIActionPoolType) const /* override */
     {
         return QKeySequence("Ctrl+X");
     }
 
-    void retranslateUi()
+    /** Handles translation event. */
+    virtual void retranslateUi() /* override */
     {
         setName(QApplication::translate("UIActionPool", "E&xtra Data Manager..."));
@@ -200,11 +234,13 @@
 #endif /* VBOX_GUI_WITH_EXTRADATA_MANAGER_UI */
 
-class UIActionSimpleExit : public UIActionSimple
-{
-    Q_OBJECT;
-
-public:
-
-    UIActionSimpleExit(UIActionPool *pParent)
+/** Simple action extension, used as 'Perform Exit' action class. */
+class UIActionSimpleSelectorPerformExit : public UIActionSimple
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionSimpleSelectorPerformExit(UIActionPool *pParent)
         : UIActionSimple(pParent, ":/exit_16px.png")
     {
@@ -214,15 +250,18 @@
 protected:
 
-    QString shortcutExtraDataID() const
+    /** Returns shortcut extra-data ID. */
+    virtual QString shortcutExtraDataID() const /* override */
     {
         return QString("Exit");
     }
 
-    QKeySequence defaultShortcut(UIActionPoolType) const
+    /** Returns default shortcut. */
+    virtual QKeySequence defaultShortcut(UIActionPoolType) const /* override */
     {
         return QKeySequence("Ctrl+Q");
     }
 
-    void retranslateUi()
+    /** Handles translation event. */
+    virtual void retranslateUi() /* override */
     {
         setName(QApplication::translate("UIActionPool", "E&xit"));
@@ -232,16 +271,20 @@
 
 
-class UIActionMenuGroup : public UIActionMenu
-{
-    Q_OBJECT;
-
-public:
-
-    UIActionMenuGroup(UIActionPool *pParent)
-        : UIActionMenu(pParent) {}
-
-protected:
-
-    void retranslateUi()
+/** Menu action extension, used as 'Group' menu class. */
+class UIActionMenuSelectorGroup : public UIActionMenu
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionMenuSelectorGroup(UIActionPool *pParent)
+        : UIActionMenu(pParent)
+    {}
+
+protected:
+
+    /** Handles translation event. */
+    virtual void retranslateUi() /* override */
     {
         setName(QApplication::translate("UIActionPool", "&Group"));
@@ -249,26 +292,32 @@
 };
 
-class UIActionSimpleGroupNew : public UIActionSimple
-{
-    Q_OBJECT;
-
-public:
-
-    UIActionSimpleGroupNew(UIActionPool *pParent)
-        : UIActionSimple(pParent, ":/vm_new_32px.png", ":/vm_new_16px.png") {}
-
-protected:
-
-    QString shortcutExtraDataID() const
+/** Simple action extension, used as 'New Machine' action class. */
+class UIActionSimpleSelectorGroupMachineNew : public UIActionSimple
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionSimpleSelectorGroupMachineNew(UIActionPool *pParent)
+        : UIActionSimple(pParent, ":/vm_new_32px.png", ":/vm_new_16px.png")
+    {}
+
+protected:
+
+    /** Returns shortcut extra-data ID. */
+    virtual QString shortcutExtraDataID() const /* override */
     {
         return QString("NewVM");
     }
 
-    QKeySequence defaultShortcut(UIActionPoolType) const
+    /** Returns default shortcut. */
+    virtual QKeySequence defaultShortcut(UIActionPoolType) const /* override */
     {
         return QKeySequence("Ctrl+N");
     }
 
-    void retranslateUi()
+    /** Handles translation event. */
+    virtual void retranslateUi() /* override */
     {
         setName(QApplication::translate("UIActionPool", "&New Machine..."));
@@ -279,26 +328,32 @@
 };
 
-class UIActionSimpleGroupAdd : public UIActionSimple
-{
-    Q_OBJECT;
-
-public:
-
-    UIActionSimpleGroupAdd(UIActionPool *pParent)
-        : UIActionSimple(pParent, ":/vm_add_16px.png") {}
-
-protected:
-
-    QString shortcutExtraDataID() const
+/** Simple action extension, used as 'Add Machine' action class. */
+class UIActionSimpleSelectorGroupMachineAdd : public UIActionSimple
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionSimpleSelectorGroupMachineAdd(UIActionPool *pParent)
+        : UIActionSimple(pParent, ":/vm_add_16px.png")
+    {}
+
+protected:
+
+    /** Returns shortcut extra-data ID. */
+    virtual QString shortcutExtraDataID() const /* override */
     {
         return QString("AddVM");
     }
 
-    QKeySequence defaultShortcut(UIActionPoolType) const
+    /** Returns default shortcut. */
+    virtual QKeySequence defaultShortcut(UIActionPoolType) const /* override */
     {
         return QKeySequence("Ctrl+A");
     }
 
-    void retranslateUi()
+    /** Handles translation event. */
+    virtual void retranslateUi() /* override */
     {
         setName(QApplication::translate("UIActionPool", "&Add Machine..."));
@@ -307,26 +362,32 @@
 };
 
-class UIActionSimpleGroupRename : public UIActionSimple
-{
-    Q_OBJECT;
-
-public:
-
-    UIActionSimpleGroupRename(UIActionPool *pParent)
-        : UIActionSimple(pParent, ":/vm_group_name_16px.png", ":/vm_group_name_disabled_16px.png") {}
-
-protected:
-
-    QString shortcutExtraDataID() const
+/** Simple action extension, used as 'Rename Group' action class. */
+class UIActionSimpleSelectorGroupRename : public UIActionSimple
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionSimpleSelectorGroupRename(UIActionPool *pParent)
+        : UIActionSimple(pParent, ":/vm_group_name_16px.png", ":/vm_group_name_disabled_16px.png")
+    {}
+
+protected:
+
+    /** Returns shortcut extra-data ID. */
+    virtual QString shortcutExtraDataID() const /* override */
     {
         return QString("RenameVMGroup");
     }
 
-    QKeySequence defaultShortcut(UIActionPoolType) const
+    /** Returns default shortcut. */
+    virtual QKeySequence defaultShortcut(UIActionPoolType) const /* override */
     {
         return QKeySequence("Ctrl+M");
     }
 
-    void retranslateUi()
+    /** Handles translation event. */
+    virtual void retranslateUi() /* override */
     {
         setName(QApplication::translate("UIActionPool", "Rena&me Group..."));
@@ -335,26 +396,32 @@
 };
 
-class UIActionSimpleGroupRemove : public UIActionSimple
-{
-    Q_OBJECT;
-
-public:
-
-    UIActionSimpleGroupRemove(UIActionPool *pParent)
-        : UIActionSimple(pParent, ":/vm_group_remove_16px.png", ":/vm_group_remove_disabled_16px.png") {}
-
-protected:
-
-    QString shortcutExtraDataID() const
+/** Simple action extension, used as 'Remove Group' action class. */
+class UIActionSimpleSelectorGroupRemove : public UIActionSimple
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionSimpleSelectorGroupRemove(UIActionPool *pParent)
+        : UIActionSimple(pParent, ":/vm_group_remove_16px.png", ":/vm_group_remove_disabled_16px.png")
+    {}
+
+protected:
+
+    /** Returns shortcut extra-data ID. */
+    virtual QString shortcutExtraDataID() const /* override */
     {
         return QString("AddVMGroup");
     }
 
-    QKeySequence defaultShortcut(UIActionPoolType) const
+    /** Returns default shortcut. */
+    virtual QKeySequence defaultShortcut(UIActionPoolType) const /* override */
     {
         return QKeySequence("Ctrl+U");
     }
 
-    void retranslateUi()
+    /** Handles translation event. */
+    virtual void retranslateUi() /* override */
     {
         setName(QApplication::translate("UIActionPool", "&Ungroup"));
@@ -363,21 +430,26 @@
 };
 
-class UIActionSimpleGroupSort : public UIActionSimple
-{
-    Q_OBJECT;
-
-public:
-
-    UIActionSimpleGroupSort(UIActionPool *pParent)
-        : UIActionSimple(pParent, ":/sort_16px.png", ":/sort_disabled_16px.png") {}
-
-protected:
-
-    QString shortcutExtraDataID() const
+/** Simple action extension, used as 'Sort Group' action class. */
+class UIActionSimpleSelectorGroupSort : public UIActionSimple
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionSimpleSelectorGroupSort(UIActionPool *pParent)
+        : UIActionSimple(pParent, ":/sort_16px.png", ":/sort_disabled_16px.png")
+    {}
+
+protected:
+
+    /** Returns shortcut extra-data ID. */
+    virtual QString shortcutExtraDataID() const /* override */
     {
         return QString("SortGroup");
     }
 
-    void retranslateUi()
+    /** Handles translation event. */
+    virtual void retranslateUi() /* override */
     {
         setName(QApplication::translate("UIActionPool", "&Sort"));
@@ -387,16 +459,20 @@
 
 
-class UIActionMenuMachineSelector : public UIActionMenu
-{
-    Q_OBJECT;
-
-public:
-
-    UIActionMenuMachineSelector(UIActionPool *pParent)
-        : UIActionMenu(pParent) {}
-
-protected:
-
-    void retranslateUi()
+/** Menu action extension, used as 'Machine' menu class. */
+class UIActionMenuSelectorMachine : public UIActionMenu
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionMenuSelectorMachine(UIActionPool *pParent)
+        : UIActionMenu(pParent)
+    {}
+
+protected:
+
+    /** Handles translation event. */
+    virtual void retranslateUi() /* override */
     {
         setName(QApplication::translate("UIActionPool", "&Machine"));
@@ -404,26 +480,32 @@
 };
 
-class UIActionSimpleMachineNew : public UIActionSimple
-{
-    Q_OBJECT;
-
-public:
-
-    UIActionSimpleMachineNew(UIActionPool *pParent)
-        : UIActionSimple(pParent, ":/vm_new_32px.png", ":/vm_new_16px.png") {}
-
-protected:
-
-    QString shortcutExtraDataID() const
+/** Simple action extension, used as 'New Machine' action class. */
+class UIActionSimpleSelectorMachineNew : public UIActionSimple
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionSimpleSelectorMachineNew(UIActionPool *pParent)
+        : UIActionSimple(pParent, ":/vm_new_32px.png", ":/vm_new_16px.png")
+    {}
+
+protected:
+
+    /** Returns shortcut extra-data ID. */
+    virtual QString shortcutExtraDataID() const /* override */
     {
         return QString("NewVM");
     }
 
-    QKeySequence defaultShortcut(UIActionPoolType) const
+    /** Returns default shortcut. */
+    virtual QKeySequence defaultShortcut(UIActionPoolType) const /* override */
     {
         return QKeySequence("Ctrl+N");
     }
 
-    void retranslateUi()
+    /** Handles translation event. */
+    virtual void retranslateUi() /* override */
     {
         setName(QApplication::translate("UIActionPool", "&New..."));
@@ -434,26 +516,32 @@
 };
 
-class UIActionSimpleMachineAdd : public UIActionSimple
-{
-    Q_OBJECT;
-
-public:
-
-    UIActionSimpleMachineAdd(UIActionPool *pParent)
-        : UIActionSimple(pParent, ":/vm_add_16px.png") {}
-
-protected:
-
-    QString shortcutExtraDataID() const
+/** Simple action extension, used as 'Add Machine' action class. */
+class UIActionSimpleSelectorMachineAdd : public UIActionSimple
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionSimpleSelectorMachineAdd(UIActionPool *pParent)
+        : UIActionSimple(pParent, ":/vm_add_16px.png")
+    {}
+
+protected:
+
+    /** Returns shortcut extra-data ID. */
+    virtual QString shortcutExtraDataID() const /* override */
     {
         return QString("AddVM");
     }
 
-    QKeySequence defaultShortcut(UIActionPoolType) const
+    /** Returns default shortcut. */
+    virtual QKeySequence defaultShortcut(UIActionPoolType) const /* override */
     {
         return QKeySequence("Ctrl+A");
     }
 
-    void retranslateUi()
+    /** Handles translation event. */
+    virtual void retranslateUi() /* override */
     {
         setName(QApplication::translate("UIActionPool", "&Add..."));
@@ -462,26 +550,32 @@
 };
 
-class UIActionSimpleMachineAddGroup : public UIActionSimple
-{
-    Q_OBJECT;
-
-public:
-
-    UIActionSimpleMachineAddGroup(UIActionPool *pParent)
-        : UIActionSimple(pParent, ":/vm_group_create_16px.png", ":/vm_group_create_disabled_16px.png") {}
-
-protected:
-
-    QString shortcutExtraDataID() const
+/** Simple action extension, used as 'Group Machines' action class. */
+class UIActionSimpleSelectorMachineGroup : public UIActionSimple
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionSimpleSelectorMachineGroup(UIActionPool *pParent)
+        : UIActionSimple(pParent, ":/vm_group_create_16px.png", ":/vm_group_create_disabled_16px.png")
+    {}
+
+protected:
+
+    /** Returns shortcut extra-data ID. */
+    virtual QString shortcutExtraDataID() const /* override */
     {
         return QString("AddVMGroup");
     }
 
-    QKeySequence defaultShortcut(UIActionPoolType) const
+    /** Returns default shortcut. */
+    virtual QKeySequence defaultShortcut(UIActionPoolType) const /* override */
     {
         return QKeySequence("Ctrl+U");
     }
 
-    void retranslateUi()
+    /** Handles translation event. */
+    virtual void retranslateUi() /* override */
     {
         setName(QApplication::translate("UIActionPool", "Gro&up"));
@@ -490,28 +584,34 @@
 };
 
-class UIActionSimpleMachineSettings : public UIActionSimple
-{
-    Q_OBJECT;
-
-public:
-
-    UIActionSimpleMachineSettings(UIActionPool *pParent)
+/** Simple action extension, used as 'Show Machine Settings Dialog' action class. */
+class UIActionSimpleSelectorMachineShowSettings : public UIActionSimple
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionSimpleSelectorMachineShowSettings(UIActionPool *pParent)
         : UIActionSimple(pParent,
                          ":/vm_settings_32px.png", ":/vm_settings_16px.png",
-                         ":/vm_settings_disabled_32px.png", ":/vm_settings_disabled_16px.png") {}
-
-protected:
-
-    QString shortcutExtraDataID() const
+                         ":/vm_settings_disabled_32px.png", ":/vm_settings_disabled_16px.png")
+    {}
+
+protected:
+
+    /** Returns shortcut extra-data ID. */
+    virtual QString shortcutExtraDataID() const /* override */
     {
         return QString("SettingsVM");
     }
 
-    QKeySequence defaultShortcut(UIActionPoolType) const
+    /** Returns default shortcut. */
+    virtual QKeySequence defaultShortcut(UIActionPoolType) const /* override */
     {
         return QKeySequence("Ctrl+S");
     }
 
-    void retranslateUi()
+    /** Handles translation event. */
+    virtual void retranslateUi() /* override */
     {
         setName(QApplication::translate("UIActionPool", "&Settings..."));
@@ -522,26 +622,32 @@
 };
 
-class UIActionSimpleMachineClone : public UIActionSimple
-{
-    Q_OBJECT;
-
-public:
-
-    UIActionSimpleMachineClone(UIActionPool *pParent)
-        : UIActionSimple(pParent, ":/vm_clone_16px.png", ":/vm_clone_disabled_16px.png") {}
-
-protected:
-
-    QString shortcutExtraDataID() const
+/** Simple action extension, used as 'Clone Machine' action class. */
+class UIActionSimpleSelectorMachineClone : public UIActionSimple
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionSimpleSelectorMachineClone(UIActionPool *pParent)
+        : UIActionSimple(pParent, ":/vm_clone_16px.png", ":/vm_clone_disabled_16px.png")
+    {}
+
+protected:
+
+    /** Returns shortcut extra-data ID. */
+    virtual QString shortcutExtraDataID() const /* override */
     {
         return QString("CloneVM");
     }
 
-    QKeySequence defaultShortcut(UIActionPoolType) const
+    /** Returns default shortcut. */
+    virtual QKeySequence defaultShortcut(UIActionPoolType) const /* override */
     {
         return QKeySequence("Ctrl+O");
     }
 
-    void retranslateUi()
+    /** Handles translation event. */
+    virtual void retranslateUi() /* override */
     {
         setName(QApplication::translate("UIActionPool", "Cl&one..."));
@@ -550,28 +656,34 @@
 };
 
-class UIActionSimpleMachineRemove : public UIActionSimple
-{
-    Q_OBJECT;
-
-public:
-
-    UIActionSimpleMachineRemove(UIActionPool *pParent)
+/** Simple action extension, used as 'Remove Machine' action class. */
+class UIActionSimpleSelectorMachineRemove : public UIActionSimple
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionSimpleSelectorMachineRemove(UIActionPool *pParent)
         : UIActionSimple(pParent,
                          ":/vm_delete_32px.png", ":/vm_delete_16px.png",
-                         ":/vm_delete_disabled_32px.png", ":/vm_delete_disabled_16px.png") {}
-
-protected:
-
-    QString shortcutExtraDataID() const
+                         ":/vm_delete_disabled_32px.png", ":/vm_delete_disabled_16px.png")
+    {}
+
+protected:
+
+    /** Returns shortcut extra-data ID. */
+    virtual QString shortcutExtraDataID() const /* override */
     {
         return QString("RemoveVM");
     }
 
-    QKeySequence defaultShortcut(UIActionPoolType) const
+    /** Returns default shortcut. */
+    virtual QKeySequence defaultShortcut(UIActionPoolType) const /* override */
     {
         return QKeySequence("Ctrl+R");
     }
 
-    void retranslateUi()
+    /** Handles translation event. */
+    virtual void retranslateUi() /* override */
     {
         setName(QApplication::translate("UIActionPool", "&Remove..."));
@@ -580,24 +692,57 @@
 };
 
-
-class UIActionStateCommonStartOrShow : public UIActionPolymorphicMenu
-{
-    Q_OBJECT;
-
-public:
-
-    UIActionStateCommonStartOrShow(UIActionPool *pParent)
+/** Simple action extension, used as 'Sort Parent' action class. */
+class UIActionSimpleSelectorMachineSortParent : public UIActionSimple
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionSimpleSelectorMachineSortParent(UIActionPool *pParent)
+        : UIActionSimple(pParent, ":/sort_16px.png", ":/sort_disabled_16px.png")
+    {}
+
+protected:
+
+    /** Returns shortcut extra-data ID. */
+    virtual QString shortcutExtraDataID() const /* override */
+    {
+        return QString("SortGroup");
+    }
+
+    /** Handles translation event. */
+    virtual void retranslateUi() /* override */
+    {
+        setName(QApplication::translate("UIActionPool", "&Sort"));
+        setStatusTip(QApplication::translate("UIActionPool", "Sort group of first selected virtual machine alphabetically"));
+    }
+};
+
+
+/** Menu action extension, used as 'Start or Show' menu class. */
+class UIActionStateSelectorCommonStartOrShow : public UIActionPolymorphicMenu
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionStateSelectorCommonStartOrShow(UIActionPool *pParent)
         : UIActionPolymorphicMenu(pParent,
                                   ":/vm_start_32px.png", ":/vm_start_16px.png",
-                                  ":/vm_start_disabled_32px.png", ":/vm_start_disabled_16px.png") {}
-
-protected:
-
-    QString shortcutExtraDataID() const
+                                  ":/vm_start_disabled_32px.png", ":/vm_start_disabled_16px.png")
+    {}
+
+protected:
+
+    /** Returns shortcut extra-data ID. */
+    virtual QString shortcutExtraDataID() const /* override */
     {
         return QString("StartVM");
     }
 
-    void retranslateUi()
+    /** Handles translation event. */
+    virtual void retranslateUi() /* override */
     {
         switch (state())
@@ -627,21 +772,26 @@
 };
 
-class UIActionSimpleStartNormal : public UIActionSimple
-{
-    Q_OBJECT;
-
-public:
-
-    UIActionSimpleStartNormal(UIActionPool *pParent)
-        : UIActionSimple(pParent, ":/vm_start_16px.png") {}
-
-protected:
-
-    QString shortcutExtraDataID() const
+/** Simple action extension, used as 'Start Normal' action class. */
+class UIActionSimpleSelectorCommonStartNormal : public UIActionSimple
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionSimpleSelectorCommonStartNormal(UIActionPool *pParent)
+        : UIActionSimple(pParent, ":/vm_start_16px.png")
+    {}
+
+protected:
+
+    /** Returns shortcut extra-data ID. */
+    virtual QString shortcutExtraDataID() const /* override */
     {
         return QString("StartVMNormal");
     }
 
-    void retranslateUi()
+    /** Handles translation event. */
+    virtual void retranslateUi() /* override */
     {
         setName(QApplication::translate("UIActionPool", "&Normal Start"));
@@ -650,21 +800,26 @@
 };
 
-class UIActionSimpleStartHeadless : public UIActionSimple
-{
-    Q_OBJECT;
-
-public:
-
-    UIActionSimpleStartHeadless(UIActionPool *pParent)
-        : UIActionSimple(pParent, ":/vm_start_headless_16px.png") {}
-
-protected:
-
-    QString shortcutExtraDataID() const
+/** Simple action extension, used as 'Start Headless' action class. */
+class UIActionSimpleSelectorCommonStartHeadless : public UIActionSimple
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionSimpleSelectorCommonStartHeadless(UIActionPool *pParent)
+        : UIActionSimple(pParent, ":/vm_start_headless_16px.png")
+    {}
+
+protected:
+
+    /** Returns shortcut extra-data ID. */
+    virtual QString shortcutExtraDataID() const /* override */
     {
         return QString("StartVMHeadless");
     }
 
-    void retranslateUi()
+    /** Handles translation event. */
+    virtual void retranslateUi() /* override */
     {
         setName(QApplication::translate("UIActionPool", "&Headless Start"));
@@ -673,21 +828,26 @@
 };
 
-class UIActionSimpleStartDetachable : public UIActionSimple
-{
-    Q_OBJECT;
-
-public:
-
-    UIActionSimpleStartDetachable(UIActionPool *pParent)
-        : UIActionSimple(pParent, ":/vm_start_separate_16px.png") {}
-
-protected:
-
-    QString shortcutExtraDataID() const
+/** Simple action extension, used as 'Start Detachable' action class. */
+class UIActionSimpleSelectorCommonStartDetachable : public UIActionSimple
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionSimpleSelectorCommonStartDetachable(UIActionPool *pParent)
+        : UIActionSimple(pParent, ":/vm_start_separate_16px.png")
+    {}
+
+protected:
+
+    /** Returns shortcut extra-data ID. */
+    virtual QString shortcutExtraDataID() const /* override */
     {
         return QString("StartVMDetachable");
     }
 
-    void retranslateUi()
+    /** Handles translation event. */
+    virtual void retranslateUi() /* override */
     {
         setName(QApplication::translate("UIActionPool", "&Detachable Start"));
@@ -696,28 +856,34 @@
 };
 
-class UIActionToggleCommonPauseAndResume : public UIActionToggle
-{
-    Q_OBJECT;
-
-public:
-
-    UIActionToggleCommonPauseAndResume(UIActionPool *pParent)
+/** Toggle action extension, used as 'Pause and Resume' action class. */
+class UIActionToggleSelectorCommonPauseAndResume : public UIActionToggle
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionToggleSelectorCommonPauseAndResume(UIActionPool *pParent)
         : UIActionToggle(pParent,
                          ":/vm_pause_on_16px.png", ":/vm_pause_16px.png",
-                         ":/vm_pause_on_disabled_16px.png", ":/vm_pause_disabled_16px.png") {}
-
-protected:
-
-    QString shortcutExtraDataID() const
+                         ":/vm_pause_on_disabled_16px.png", ":/vm_pause_disabled_16px.png")
+    {}
+
+protected:
+
+    /** Returns shortcut extra-data ID. */
+    virtual QString shortcutExtraDataID() const /* override */
     {
         return QString("PauseVM");
     }
 
-    QKeySequence defaultShortcut(UIActionPoolType) const
+    /** Returns default shortcut. */
+    virtual QKeySequence defaultShortcut(UIActionPoolType) const /* override */
     {
         return QKeySequence("Ctrl+P");
     }
 
-    void retranslateUi()
+    /** Handles translation event. */
+    virtual void retranslateUi() /* override */
     {
         setName(QApplication::translate("UIActionPool", "&Pause"));
@@ -726,26 +892,32 @@
 };
 
-class UIActionSimpleCommonReset : public UIActionSimple
-{
-    Q_OBJECT;
-
-public:
-
-    UIActionSimpleCommonReset(UIActionPool *pParent)
-        : UIActionSimple(pParent, ":/vm_reset_16px.png", ":/vm_reset_disabled_16px.png") {}
-
-protected:
-
-    QString shortcutExtraDataID() const
+/** Simple action extension, used as 'Reset' action class. */
+class UIActionSimpleSelectorCommonReset : public UIActionSimple
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionSimpleSelectorCommonReset(UIActionPool *pParent)
+        : UIActionSimple(pParent, ":/vm_reset_16px.png", ":/vm_reset_disabled_16px.png")
+    {}
+
+protected:
+
+    /** Returns shortcut extra-data ID. */
+    virtual QString shortcutExtraDataID() const /* override */
     {
         return QString("ResetVM");
     }
 
-    QKeySequence defaultShortcut(UIActionPoolType) const
+    /** Returns default shortcut. */
+    virtual QKeySequence defaultShortcut(UIActionPoolType) const /* override */
     {
         return QKeySequence("Ctrl+T");
     }
 
-    void retranslateUi()
+    /** Handles translation event. */
+    virtual void retranslateUi() /* override */
     {
         setName(QApplication::translate("UIActionPool", "&Reset"));
@@ -754,28 +926,34 @@
 };
 
-class UIActionSimpleCommonDiscard : public UIActionSimple
-{
-    Q_OBJECT;
-
-public:
-
-    UIActionSimpleCommonDiscard(UIActionPool *pParent)
+/** Simple action extension, used as 'Discard' action class. */
+class UIActionSimpleSelectorCommonDiscard : public UIActionSimple
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionSimpleSelectorCommonDiscard(UIActionPool *pParent)
         : UIActionSimple(pParent,
                          ":/vm_discard_32px.png", ":/vm_discard_16px.png",
-                         ":/vm_discard_disabled_32px.png", ":/vm_discard_disabled_16px.png") {}
-
-protected:
-
-    QString shortcutExtraDataID() const
+                         ":/vm_discard_disabled_32px.png", ":/vm_discard_disabled_16px.png")
+    {}
+
+protected:
+
+    /** Returns shortcut extra-data ID. */
+    virtual QString shortcutExtraDataID() const /* override */
     {
         return QString("DiscardVM");
     }
 
-    QKeySequence defaultShortcut(UIActionPoolType) const
+    /** Returns default shortcut. */
+    virtual QKeySequence defaultShortcut(UIActionPoolType) const /* override */
     {
         return QKeySequence("Ctrl+J");
     }
 
-    void retranslateUi()
+    /** Handles translation event. */
+    virtual void retranslateUi() /* override */
     {
         setIconText(QApplication::translate("UIActionPool", "Discard"));
@@ -787,11 +965,13 @@
 };
 
-class UIActionSimpleCommonShowLogDialog : public UIActionSimple
-{
-    Q_OBJECT;
-
-public:
-
-    UIActionSimpleCommonShowLogDialog(UIActionPool *pParent)
+/** Simple action extension, used as 'Show Logs' action class. */
+class UIActionSimpleSelectorCommonShowLogs : public UIActionSimple
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionSimpleSelectorCommonShowLogs(UIActionPool *pParent)
         : UIActionSimple(pParent,
                          ":/vm_show_logs_32px.png", ":/vm_show_logs_16px.png",
@@ -803,15 +983,18 @@
 protected:
 
-    QString shortcutExtraDataID() const
-    {
-        return QString("ShowVMLog");
-    }
-
-    QKeySequence defaultShortcut(UIActionPoolType) const
+    /** Returns shortcut extra-data ID. */
+    virtual QString shortcutExtraDataID() const /* override */
+    {
+        return QString("LogViewer");
+    }
+
+    /** Returns default shortcut. */
+    virtual QKeySequence defaultShortcut(UIActionPoolType) const /* override */
     {
         return QKeySequence("Ctrl+L");
     }
 
-    void retranslateUi()
+    /** Handles translation event. */
+    virtual void retranslateUi() /* override */
     {
         setName(QApplication::translate("UIActionPool", "Show &Log..."));
@@ -820,23 +1003,28 @@
 };
 
-class UIActionSimpleCommonRefresh : public UIActionSimple
-{
-    Q_OBJECT;
-
-public:
-
-    UIActionSimpleCommonRefresh(UIActionPool *pParent)
+/** Simple action extension, used as 'Refresh' action class. */
+class UIActionSimpleSelectorCommonRefresh : public UIActionSimple
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionSimpleSelectorCommonRefresh(UIActionPool *pParent)
         : UIActionSimple(pParent,
                          ":/refresh_32px.png", ":/refresh_16px.png",
-                         ":/refresh_disabled_32px.png", ":/refresh_disabled_16px.png") {}
-
-protected:
-
-    QString shortcutExtraDataID() const
+                         ":/refresh_disabled_32px.png", ":/refresh_disabled_16px.png")
+    {}
+
+protected:
+
+    /** Returns shortcut extra-data ID. */
+    virtual QString shortcutExtraDataID() const /* override */
     {
         return QString("RefreshVM");
     }
 
-    void retranslateUi()
+    /** Handles translation event. */
+    virtual void retranslateUi() /* override */
     {
         setName(QApplication::translate("UIActionPool", "Re&fresh"));
@@ -845,21 +1033,26 @@
 };
 
-class UIActionSimpleCommonShowInFileManager : public UIActionSimple
-{
-    Q_OBJECT;
-
-public:
-
-    UIActionSimpleCommonShowInFileManager(UIActionPool *pParent)
-        : UIActionSimple(pParent, ":/vm_open_filemanager_16px.png", ":/vm_open_filemanager_disabled_16px.png") {}
-
-protected:
-
-    QString shortcutExtraDataID() const
+/** Simple action extension, used as 'Show in File Manager' action class. */
+class UIActionSimpleSelectorCommonShowInFileManager : public UIActionSimple
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionSimpleSelectorCommonShowInFileManager(UIActionPool *pParent)
+        : UIActionSimple(pParent, ":/vm_open_filemanager_16px.png", ":/vm_open_filemanager_disabled_16px.png")
+    {}
+
+protected:
+
+    /** Returns shortcut extra-data ID. */
+    virtual QString shortcutExtraDataID() const /* override */
     {
         return QString("ShowVMInFileManager");
     }
 
-    void retranslateUi()
+    /** Handles translation event. */
+    virtual void retranslateUi() /* override */
     {
 #if defined(VBOX_WS_MAC)
@@ -876,21 +1069,26 @@
 };
 
-class UIActionSimpleCommonCreateShortcut : public UIActionSimple
-{
-    Q_OBJECT;
-
-public:
-
-    UIActionSimpleCommonCreateShortcut(UIActionPool *pParent)
-        : UIActionSimple(pParent, ":/vm_create_shortcut_16px.png", ":/vm_create_shortcut_disabled_16px.png") {}
-
-protected:
-
-    QString shortcutExtraDataID() const
+/** Simple action extension, used as 'Create Shortcut' action class. */
+class UIActionSimpleSelectorCommonCreateShortcut : public UIActionSimple
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionSimpleSelectorCommonCreateShortcut(UIActionPool *pParent)
+        : UIActionSimple(pParent, ":/vm_create_shortcut_16px.png", ":/vm_create_shortcut_disabled_16px.png")
+    {}
+
+protected:
+
+    /** Returns shortcut extra-data ID. */
+    virtual QString shortcutExtraDataID() const /* override */
     {
         return QString("CreateVMAlias");
     }
 
-    void retranslateUi()
+    /** Handles translation event. */
+    virtual void retranslateUi() /* override */
     {
 #if defined(VBOX_WS_MAC)
@@ -904,45 +1102,27 @@
 };
 
-class UIActionSimpleMachineSortParent : public UIActionSimple
-{
-    Q_OBJECT;
-
-public:
-
-    UIActionSimpleMachineSortParent(UIActionPool *pParent)
-        : UIActionSimple(pParent, ":/sort_16px.png", ":/sort_disabled_16px.png") {}
-
-protected:
-
-    QString shortcutExtraDataID() const
-    {
-        return QString("SortGroup");
-    }
-
-    void retranslateUi()
-    {
-        setName(QApplication::translate("UIActionPool", "&Sort"));
-        setStatusTip(QApplication::translate("UIActionPool", "Sort group of first selected virtual machine alphabetically"));
-    }
-};
-
-
-class UIActionToggleToolsMachine : public UIActionToggle
-{
-    Q_OBJECT;
-
-public:
-
-    UIActionToggleToolsMachine(UIActionPool *pParent)
-        : UIActionToggle(pParent, ":/tools_machine_32px.png") {}
-
-protected:
-
-    QString shortcutExtraDataID() const
+
+/** Toggle action extension, used as 'Machine Tools' action class. */
+class UIActionToggleSelectorToolsMachine : public UIActionToggle
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionToggleSelectorToolsMachine(UIActionPool *pParent)
+        : UIActionToggle(pParent, ":/tools_machine_32px.png")
+    {}
+
+protected:
+
+    /** Returns shortcut extra-data ID. */
+    virtual QString shortcutExtraDataID() const /* override */
     {
         return QString("ToolsMachine");
     }
 
-    void retranslateUi()
+    /** Handles translation event. */
+    virtual void retranslateUi() /* override */
     {
         setName(QApplication::translate("UIActionPool", "&Machine Tools"));
@@ -951,21 +1131,26 @@
 };
 
-class UIActionMenuToolsMachine : public UIActionMenu
-{
-    Q_OBJECT;
-
-public:
-
-    UIActionMenuToolsMachine(UIActionPool *pParent)
-        : UIActionMenu(pParent) {}
-
-protected:
-
-    QString shortcutExtraDataID() const
+/** Menu action extension, used as 'Machine Tools' menu class. */
+class UIActionMenuSelectorToolsMachine : public UIActionMenu
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionMenuSelectorToolsMachine(UIActionPool *pParent)
+        : UIActionMenu(pParent)
+    {}
+
+protected:
+
+    /** Returns shortcut extra-data ID. */
+    virtual QString shortcutExtraDataID() const /* override */
     {
         return QString("ToolsMachineMenu");
     }
 
-    void retranslateUi()
+    /** Handles translation event. */
+    virtual void retranslateUi() /* override */
     {
         setName(QApplication::translate("UIActionPool", "&Machine Tools Menu"));
@@ -974,23 +1159,28 @@
 };
 
-class UIActionSimpleToolsMachineDetails : public UIActionSimple
-{
-    Q_OBJECT;
-
-public:
-
-    UIActionSimpleToolsMachineDetails(UIActionPool *pParent)
+/** Simple action extension, used as 'Open Machine Details' action class. */
+class UIActionSimpleSelectorToolsOpenMachineDetails : public UIActionSimple
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionSimpleSelectorToolsOpenMachineDetails(UIActionPool *pParent)
         : UIActionSimple(pParent,
                          ":/machine_details_manager_22px.png", ":/machine_details_manager_16px.png",
-                         ":/machine_details_manager_22px.png", ":/machine_details_manager_16px.png") {}
-
-protected:
-
-    QString shortcutExtraDataID() const
+                         ":/machine_details_manager_22px.png", ":/machine_details_manager_16px.png")
+    {}
+
+protected:
+
+    /** Returns shortcut extra-data ID. */
+    virtual QString shortcutExtraDataID() const /* override */
     {
         return QString("ToolsMachineDetails");
     }
 
-    void retranslateUi()
+    /** Handles translation event. */
+    virtual void retranslateUi() /* override */
     {
         setName(QApplication::translate("UIActionPool", "&Details"));
@@ -999,23 +1189,28 @@
 };
 
-class UIActionSimpleToolsMachineSnapshots : public UIActionSimple
-{
-    Q_OBJECT;
-
-public:
-
-    UIActionSimpleToolsMachineSnapshots(UIActionPool *pParent)
+/** Simple action extension, used as 'Open Machine Snapshots' action class. */
+class UIActionSimpleSelectorToolsOpenMachineSnapshots : public UIActionSimple
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionSimpleSelectorToolsOpenMachineSnapshots(UIActionPool *pParent)
         : UIActionSimple(pParent,
                          ":/snapshot_manager_22px.png", ":/snapshot_manager_16px.png",
-                         ":/snapshot_manager_22px.png", ":/snapshot_manager_16px.png") {}
-
-protected:
-
-    QString shortcutExtraDataID() const
+                         ":/snapshot_manager_22px.png", ":/snapshot_manager_16px.png")
+    {}
+
+protected:
+
+    /** Returns shortcut extra-data ID. */
+    virtual QString shortcutExtraDataID() const /* override */
     {
         return QString("ToolsMachineSnapshots");
     }
 
-    void retranslateUi()
+    /** Handles translation event. */
+    virtual void retranslateUi() /* override */
     {
         setName(QApplication::translate("UIActionPool", "&Snapshots"));
@@ -1024,47 +1219,57 @@
 };
 
-class UIActionSimpleToolsMachineLogViewer : public UIActionSimple
-{
-    Q_OBJECT;
-
-public:
-
-    UIActionSimpleToolsMachineLogViewer(UIActionPool *pParent)
+/** Simple action extension, used as 'Open Machine Logs' action class. */
+class UIActionSimpleSelectorToolsOpenMachineLogs : public UIActionSimple
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionSimpleSelectorToolsOpenMachineLogs(UIActionPool *pParent)
         : UIActionSimple(pParent,
                          ":/vm_show_logs_32px.png", ":/vm_show_logs_32px.png",
-                         ":/vm_show_logs_32px.png", ":/vm_show_logs_32px.png") {}
-
-protected:
-
-    QString shortcutExtraDataID() const
+                         ":/vm_show_logs_32px.png", ":/vm_show_logs_32px.png")
+    {}
+
+protected:
+
+    /** Returns shortcut extra-data ID. */
+    virtual QString shortcutExtraDataID() const /* override */
     {
         return QString("ToolsMachineLogViewer");
     }
 
-    void retranslateUi()
-    {
-        setName(QApplication::translate("UIActionPool", "&LogViewer"));
-        setStatusTip(QApplication::translate("UIActionPool", "Open the machine logviewer pane"));
-    }
-};
-
-
-class UIActionToggleToolsGlobal : public UIActionToggle
-{
-    Q_OBJECT;
-
-public:
-
-    UIActionToggleToolsGlobal(UIActionPool *pParent)
-        : UIActionToggle(pParent, ":/tools_global_32px.png") {}
-
-protected:
-
-    QString shortcutExtraDataID() const
+    /** Handles translation event. */
+    virtual void retranslateUi() /* override */
+    {
+        setName(QApplication::translate("UIActionPool", "&Logs"));
+        setStatusTip(QApplication::translate("UIActionPool", "Open the machine logs pane"));
+    }
+};
+
+
+/** Toggle action extension, used as 'Global Tools' action class. */
+class UIActionToggleSelectorToolsGlobal : public UIActionToggle
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionToggleSelectorToolsGlobal(UIActionPool *pParent)
+        : UIActionToggle(pParent, ":/tools_global_32px.png")
+    {}
+
+protected:
+
+    /** Returns shortcut extra-data ID. */
+    virtual QString shortcutExtraDataID() const /* override */
     {
         return QString("ToolsGlobal");
     }
 
-    void retranslateUi()
+    /** Handles translation event. */
+    virtual void retranslateUi() /* override */
     {
         setName(QApplication::translate("UIActionPool", "&Global Tools"));
@@ -1073,21 +1278,26 @@
 };
 
-class UIActionMenuToolsGlobal : public UIActionMenu
-{
-    Q_OBJECT;
-
-public:
-
-    UIActionMenuToolsGlobal(UIActionPool *pParent)
-        : UIActionMenu(pParent) {}
-
-protected:
-
-    QString shortcutExtraDataID() const
+/** Menu action extension, used as 'Global Tools' menu class. */
+class UIActionMenuSelectorToolsGlobal : public UIActionMenu
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionMenuSelectorToolsGlobal(UIActionPool *pParent)
+        : UIActionMenu(pParent)
+    {}
+
+protected:
+
+    /** Returns shortcut extra-data ID. */
+    virtual QString shortcutExtraDataID() const /* override */
     {
         return QString("ToolsGlobalMenu");
     }
 
-    void retranslateUi()
+    /** Handles translation event. */
+    virtual void retranslateUi() /* override */
     {
         setName(QApplication::translate("UIActionPool", "&Global Tools Menu"));
@@ -1096,23 +1306,28 @@
 };
 
-class UIActionSimpleToolsGlobalVirtualMediaManager : public UIActionSimple
-{
-    Q_OBJECT;
-
-public:
-
-    UIActionSimpleToolsGlobalVirtualMediaManager(UIActionPool *pParent)
+/** Simple action extension, used as 'Virtual Media Manager' action class. */
+class UIActionSimpleSelectorToolsGlobalVirtualMediaManager : public UIActionSimple
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionSimpleSelectorToolsGlobalVirtualMediaManager(UIActionPool *pParent)
         : UIActionSimple(pParent,
                          ":/diskimage_22px.png", ":/diskimage_16px.png",
-                         ":/diskimage_22px.png", ":/diskimage_16px.png") {}
-
-protected:
-
-    QString shortcutExtraDataID() const
+                         ":/diskimage_22px.png", ":/diskimage_16px.png")
+    {}
+
+protected:
+
+    /** Returns shortcut extra-data ID. */
+    virtual QString shortcutExtraDataID() const /* override */
     {
         return QString("ToolsGlobalVirtualMediaManager");
     }
 
-    void retranslateUi()
+    /** Handles translation event. */
+    virtual void retranslateUi() /* override */
     {
         setName(QApplication::translate("UIActionPool", "&Virtual Media Manager"));
@@ -1121,23 +1336,28 @@
 };
 
-class UIActionSimpleToolsGlobalHostNetworkManager : public UIActionSimple
-{
-    Q_OBJECT;
-
-public:
-
-    UIActionSimpleToolsGlobalHostNetworkManager(UIActionPool *pParent)
+/** Simple action extension, used as 'Host Network Manager' action class. */
+class UIActionSimpleSelectorToolsGlobalHostNetworkManager : public UIActionSimple
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionSimpleSelectorToolsGlobalHostNetworkManager(UIActionPool *pParent)
         : UIActionSimple(pParent,
                          ":/host_iface_manager_22px.png", ":/host_iface_manager_16px.png",
-                         ":/host_iface_manager_22px.png", ":/host_iface_manager_16px.png") {}
-
-protected:
-
-    QString shortcutExtraDataID() const
+                         ":/host_iface_manager_22px.png", ":/host_iface_manager_16px.png")
+    {}
+
+protected:
+
+    /** Returns shortcut extra-data ID. */
+    virtual QString shortcutExtraDataID() const /* override */
     {
         return QString("ToolsGlobalHostNetworkManager");
     }
 
-    void retranslateUi()
+    /** Handles translation event. */
+    virtual void retranslateUi() /* override */
     {
         setName(QApplication::translate("UIActionPool", "&Host Network Manager"));
@@ -1147,16 +1367,20 @@
 
 
-class UIActionMenuClose : public UIActionMenu
-{
-    Q_OBJECT;
-
-public:
-
-    UIActionMenuClose(UIActionPool *pParent)
-        : UIActionMenu(pParent, ":/exit_16px.png") {}
-
-protected:
-
-    void retranslateUi()
+/** Menu action extension, used as 'Close' menu class. */
+class UIActionMenuSelectorClose : public UIActionMenu
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionMenuSelectorClose(UIActionPool *pParent)
+        : UIActionMenu(pParent, ":/exit_16px.png")
+    {}
+
+protected:
+
+    /** Handles translation event. */
+    virtual void retranslateUi() /* override */
     {
         setName(QApplication::translate("UIActionPool", "&Close"));
@@ -1164,21 +1388,26 @@
 };
 
-class UIActionSimpleDetach : public UIActionSimple
-{
-    Q_OBJECT;
-
-public:
-
-    UIActionSimpleDetach(UIActionPool *pParent)
-        : UIActionSimple(pParent, ":/vm_create_shortcut_16px.png", ":/vm_create_shortcut_disabled_16px.png") {}
-
-protected:
-
-    QString shortcutExtraDataID() const
+/** Simple action extension, used as 'Perform Detach' action class. */
+class UIActionSimpleSelectorPerformDetach : public UIActionSimple
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionSimpleSelectorPerformDetach(UIActionPool *pParent)
+        : UIActionSimple(pParent, ":/vm_create_shortcut_16px.png", ":/vm_create_shortcut_disabled_16px.png")
+    {}
+
+protected:
+
+    /** Returns shortcut extra-data ID. */
+    virtual QString shortcutExtraDataID() const /* override */
     {
         return QString("DetachUIVM");
     }
 
-    void retranslateUi()
+    /** Handles translation event. */
+    virtual void retranslateUi() /* override */
     {
         setName(QApplication::translate("UIActionPool", "&Detach GUI"));
@@ -1187,26 +1416,32 @@
 };
 
-class UIActionSimpleSave : public UIActionSimple
-{
-    Q_OBJECT;
-
-public:
-
-    UIActionSimpleSave(UIActionPool *pParent)
-        : UIActionSimple(pParent, ":/vm_save_state_16px.png", ":/vm_save_state_disabled_16px.png") {}
-
-protected:
-
-    QString shortcutExtraDataID() const
+/** Simple action extension, used as 'Perform Save' action class. */
+class UIActionSimpleSelectorPerformSave : public UIActionSimple
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionSimpleSelectorPerformSave(UIActionPool *pParent)
+        : UIActionSimple(pParent, ":/vm_save_state_16px.png", ":/vm_save_state_disabled_16px.png")
+    {}
+
+protected:
+
+    /** Returns shortcut extra-data ID. */
+    virtual QString shortcutExtraDataID() const /* override */
     {
         return QString("SaveVM");
     }
 
-    QKeySequence defaultShortcut(UIActionPoolType) const
+    /** Returns default shortcut. */
+    virtual QKeySequence defaultShortcut(UIActionPoolType) const /* override */
     {
         return QKeySequence("Ctrl+V");
     }
 
-    void retranslateUi()
+    /** Handles translation event. */
+    virtual void retranslateUi() /* override */
     {
         setName(QApplication::translate("UIActionPool", "&Save State"));
@@ -1215,26 +1450,32 @@
 };
 
-class UIActionSimpleACPIShutdown : public UIActionSimple
-{
-    Q_OBJECT;
-
-public:
-
-    UIActionSimpleACPIShutdown(UIActionPool *pParent)
-        : UIActionSimple(pParent, ":/vm_shutdown_16px.png", ":/vm_shutdown_disabled_16px.png") {}
-
-protected:
-
-    QString shortcutExtraDataID() const
+/** Simple action extension, used as 'Perform Shutdown' action class. */
+class UIActionSimpleSelectorPerformShutdown : public UIActionSimple
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionSimpleSelectorPerformShutdown(UIActionPool *pParent)
+        : UIActionSimple(pParent, ":/vm_shutdown_16px.png", ":/vm_shutdown_disabled_16px.png")
+    {}
+
+protected:
+
+    /** Returns shortcut extra-data ID. */
+    virtual QString shortcutExtraDataID() const /* override */
     {
         return QString("ACPIShutdownVM");
     }
 
-    QKeySequence defaultShortcut(UIActionPoolType) const
+    /** Returns default shortcut. */
+    virtual QKeySequence defaultShortcut(UIActionPoolType) const /* override */
     {
         return QKeySequence("Ctrl+H");
     }
 
-    void retranslateUi()
+    /** Handles translation event. */
+    virtual void retranslateUi() /* override */
     {
         setName(QApplication::translate("UIActionPool", "ACPI Sh&utdown"));
@@ -1243,26 +1484,32 @@
 };
 
-class UIActionSimplePowerOff : public UIActionSimple
-{
-    Q_OBJECT;
-
-public:
-
-    UIActionSimplePowerOff(UIActionPool *pParent)
-        : UIActionSimple(pParent, ":/vm_poweroff_16px.png", ":/vm_poweroff_disabled_16px.png") {}
-
-protected:
-
-    QString shortcutExtraDataID() const
+/** Simple action extension, used as 'Perform PowerOff' action class. */
+class UIActionSimpleSelectorPerformPowerOff : public UIActionSimple
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionSimpleSelectorPerformPowerOff(UIActionPool *pParent)
+        : UIActionSimple(pParent, ":/vm_poweroff_16px.png", ":/vm_poweroff_disabled_16px.png")
+    {}
+
+protected:
+
+    /** Returns shortcut extra-data ID. */
+    virtual QString shortcutExtraDataID() const /* override */
     {
         return QString("PowerOffVM");
     }
 
-    QKeySequence defaultShortcut(UIActionPoolType) const
+    /** Returns default shortcut. */
+    virtual QKeySequence defaultShortcut(UIActionPoolType) const /* override */
     {
         return QKeySequence("Ctrl+F");
     }
 
-    void retranslateUi()
+    /** Handles translation event. */
+    virtual void retranslateUi() /* override */
     {
         setName(QApplication::translate("UIActionPool", "Po&wer Off"));
@@ -1272,4 +1519,8 @@
 
 
+/*********************************************************************************************************************************
+*   Class UIActionPoolSelector implementation.                                                                                   *
+*********************************************************************************************************************************/
+
 UIActionPoolSelector::UIActionPoolSelector(bool fTemporary /* = false */)
     : UIActionPool(UIActionPoolType_Selector, fTemporary)
@@ -1280,76 +1531,76 @@
 {
     /* 'File' actions: */
-    m_pool[UIActionIndexST_M_File] = new UIActionMenuFile(this);
-    m_pool[UIActionIndexST_M_File_S_ShowVirtualMediumManager] = new UIActionSimpleVirtualMediumManagerDialog(this);
-    m_pool[UIActionIndexST_M_File_S_ShowHostNetworkManager] = new UIActionSimpleHostNetworkManagerDialog(this);
-    m_pool[UIActionIndexST_M_File_S_ImportAppliance] = new UIActionSimpleImportApplianceWizard(this);
-    m_pool[UIActionIndexST_M_File_S_ExportAppliance] = new UIActionSimpleExportApplianceWizard(this);
+    m_pool[UIActionIndexST_M_File] = new UIActionMenuSelectorFile(this);
+    m_pool[UIActionIndexST_M_File_S_ShowVirtualMediumManager] = new UIActionSimpleSelectorShowVirtualMediaManager(this);
+    m_pool[UIActionIndexST_M_File_S_ShowHostNetworkManager] = new UIActionSimpleSelectorShowHostNetworkManager(this);
+    m_pool[UIActionIndexST_M_File_S_ImportAppliance] = new UIActionSimpleSelectorShowImportApplianceWizard(this);
+    m_pool[UIActionIndexST_M_File_S_ExportAppliance] = new UIActionSimpleSelectorShowExportApplianceWizard(this);
 #ifdef VBOX_GUI_WITH_EXTRADATA_MANAGER_UI
-    m_pool[UIActionIndexST_M_File_S_ShowExtraDataManager] = new UIActionSimpleExtraDataManagerWindow(this);
-#endif /* VBOX_GUI_WITH_EXTRADATA_MANAGER_UI */
-    m_pool[UIActionIndexST_M_File_S_Close] = new UIActionSimpleExit(this);
+    m_pool[UIActionIndexST_M_File_S_ShowExtraDataManager] = new UIActionSimpleSelectorShowExtraDataManager(this);
+#endif
+    m_pool[UIActionIndexST_M_File_S_Close] = new UIActionSimpleSelectorPerformExit(this);
 
     /* 'Group' actions: */
-    m_pool[UIActionIndexST_M_Group] = new UIActionMenuGroup(this);
-    m_pool[UIActionIndexST_M_Group_S_New] = new UIActionSimpleGroupNew(this);
-    m_pool[UIActionIndexST_M_Group_S_Add] = new UIActionSimpleGroupAdd(this);
-    m_pool[UIActionIndexST_M_Group_S_Rename] = new UIActionSimpleGroupRename(this);
-    m_pool[UIActionIndexST_M_Group_S_Remove] = new UIActionSimpleGroupRemove(this);
-    m_pool[UIActionIndexST_M_Group_M_StartOrShow] = new UIActionStateCommonStartOrShow(this);
-    m_pool[UIActionIndexST_M_Group_M_StartOrShow_S_StartNormal] = new UIActionSimpleStartNormal(this);
-    m_pool[UIActionIndexST_M_Group_M_StartOrShow_S_StartHeadless] = new UIActionSimpleStartHeadless(this);
-    m_pool[UIActionIndexST_M_Group_M_StartOrShow_S_StartDetachable] = new UIActionSimpleStartDetachable(this);
-    m_pool[UIActionIndexST_M_Group_T_Pause] = new UIActionToggleCommonPauseAndResume(this);
-    m_pool[UIActionIndexST_M_Group_S_Reset] = new UIActionSimpleCommonReset(this);
-    m_pool[UIActionIndexST_M_Group_M_Close] = new UIActionMenuClose(this);
-    m_pool[UIActionIndexST_M_Group_M_Close_S_Detach] = new UIActionSimpleDetach(this);
-    m_pool[UIActionIndexST_M_Group_M_Close_S_SaveState] = new UIActionSimpleSave(this);
-    m_pool[UIActionIndexST_M_Group_M_Close_S_Shutdown] = new UIActionSimpleACPIShutdown(this);
-    m_pool[UIActionIndexST_M_Group_M_Close_S_PowerOff] = new UIActionSimplePowerOff(this);
-    m_pool[UIActionIndexST_M_Group_S_Discard] = new UIActionSimpleCommonDiscard(this);
-    m_pool[UIActionIndexST_M_Group_S_ShowLogDialog] = new UIActionSimpleCommonShowLogDialog(this);
-    m_pool[UIActionIndexST_M_Group_S_Refresh] = new UIActionSimpleCommonRefresh(this);
-    m_pool[UIActionIndexST_M_Group_S_ShowInFileManager] = new UIActionSimpleCommonShowInFileManager(this);
-    m_pool[UIActionIndexST_M_Group_S_CreateShortcut] = new UIActionSimpleCommonCreateShortcut(this);
-    m_pool[UIActionIndexST_M_Group_S_Sort] = new UIActionSimpleGroupSort(this);
+    m_pool[UIActionIndexST_M_Group] = new UIActionMenuSelectorGroup(this);
+    m_pool[UIActionIndexST_M_Group_S_New] = new UIActionSimpleSelectorGroupMachineNew(this);
+    m_pool[UIActionIndexST_M_Group_S_Add] = new UIActionSimpleSelectorGroupMachineAdd(this);
+    m_pool[UIActionIndexST_M_Group_S_Rename] = new UIActionSimpleSelectorGroupRename(this);
+    m_pool[UIActionIndexST_M_Group_S_Remove] = new UIActionSimpleSelectorGroupRemove(this);
+    m_pool[UIActionIndexST_M_Group_M_StartOrShow] = new UIActionStateSelectorCommonStartOrShow(this);
+    m_pool[UIActionIndexST_M_Group_M_StartOrShow_S_StartNormal] = new UIActionSimpleSelectorCommonStartNormal(this);
+    m_pool[UIActionIndexST_M_Group_M_StartOrShow_S_StartHeadless] = new UIActionSimpleSelectorCommonStartHeadless(this);
+    m_pool[UIActionIndexST_M_Group_M_StartOrShow_S_StartDetachable] = new UIActionSimpleSelectorCommonStartDetachable(this);
+    m_pool[UIActionIndexST_M_Group_T_Pause] = new UIActionToggleSelectorCommonPauseAndResume(this);
+    m_pool[UIActionIndexST_M_Group_S_Reset] = new UIActionSimpleSelectorCommonReset(this);
+    m_pool[UIActionIndexST_M_Group_M_Close] = new UIActionMenuSelectorClose(this);
+    m_pool[UIActionIndexST_M_Group_M_Close_S_Detach] = new UIActionSimpleSelectorPerformDetach(this);
+    m_pool[UIActionIndexST_M_Group_M_Close_S_SaveState] = new UIActionSimpleSelectorPerformSave(this);
+    m_pool[UIActionIndexST_M_Group_M_Close_S_Shutdown] = new UIActionSimpleSelectorPerformShutdown(this);
+    m_pool[UIActionIndexST_M_Group_M_Close_S_PowerOff] = new UIActionSimpleSelectorPerformPowerOff(this);
+    m_pool[UIActionIndexST_M_Group_S_Discard] = new UIActionSimpleSelectorCommonDiscard(this);
+    m_pool[UIActionIndexST_M_Group_S_ShowLogDialog] = new UIActionSimpleSelectorCommonShowLogs(this);
+    m_pool[UIActionIndexST_M_Group_S_Refresh] = new UIActionSimpleSelectorCommonRefresh(this);
+    m_pool[UIActionIndexST_M_Group_S_ShowInFileManager] = new UIActionSimpleSelectorCommonShowInFileManager(this);
+    m_pool[UIActionIndexST_M_Group_S_CreateShortcut] = new UIActionSimpleSelectorCommonCreateShortcut(this);
+    m_pool[UIActionIndexST_M_Group_S_Sort] = new UIActionSimpleSelectorGroupSort(this);
 
     /* 'Machine' actions: */
-    m_pool[UIActionIndexST_M_Machine] = new UIActionMenuMachineSelector(this);
-    m_pool[UIActionIndexST_M_Machine_S_New] = new UIActionSimpleMachineNew(this);
-    m_pool[UIActionIndexST_M_Machine_S_Add] = new UIActionSimpleMachineAdd(this);
-    m_pool[UIActionIndexST_M_Machine_S_Settings] = new UIActionSimpleMachineSettings(this);
-    m_pool[UIActionIndexST_M_Machine_S_Clone] = new UIActionSimpleMachineClone(this);
-    m_pool[UIActionIndexST_M_Machine_S_Remove] = new UIActionSimpleMachineRemove(this);
-    m_pool[UIActionIndexST_M_Machine_S_AddGroup] = new UIActionSimpleMachineAddGroup(this);
-    m_pool[UIActionIndexST_M_Machine_M_StartOrShow] = new UIActionStateCommonStartOrShow(this);
-    m_pool[UIActionIndexST_M_Machine_M_StartOrShow_S_StartNormal] = new UIActionSimpleStartNormal(this);
-    m_pool[UIActionIndexST_M_Machine_M_StartOrShow_S_StartHeadless] = new UIActionSimpleStartHeadless(this);
-    m_pool[UIActionIndexST_M_Machine_M_StartOrShow_S_StartDetachable] = new UIActionSimpleStartDetachable(this);
-    m_pool[UIActionIndexST_M_Machine_T_Pause] = new UIActionToggleCommonPauseAndResume(this);
-    m_pool[UIActionIndexST_M_Machine_S_Reset] = new UIActionSimpleCommonReset(this);
-    m_pool[UIActionIndexST_M_Machine_M_Close] = new UIActionMenuClose(this);
-    m_pool[UIActionIndexST_M_Machine_M_Close_S_Detach] = new UIActionSimpleDetach(this);
-    m_pool[UIActionIndexST_M_Machine_M_Close_S_SaveState] = new UIActionSimpleSave(this);
-    m_pool[UIActionIndexST_M_Machine_M_Close_S_Shutdown] = new UIActionSimpleACPIShutdown(this);
-    m_pool[UIActionIndexST_M_Machine_M_Close_S_PowerOff] = new UIActionSimplePowerOff(this);
-    m_pool[UIActionIndexST_M_Machine_S_Discard] = new UIActionSimpleCommonDiscard(this);
-    m_pool[UIActionIndexST_M_Machine_S_ShowLogDialog] = new UIActionSimpleCommonShowLogDialog(this);
-    m_pool[UIActionIndexST_M_Machine_S_Refresh] = new UIActionSimpleCommonRefresh(this);
-    m_pool[UIActionIndexST_M_Machine_S_ShowInFileManager] = new UIActionSimpleCommonShowInFileManager(this);
-    m_pool[UIActionIndexST_M_Machine_S_CreateShortcut] = new UIActionSimpleCommonCreateShortcut(this);
-    m_pool[UIActionIndexST_M_Machine_S_SortParent] = new UIActionSimpleMachineSortParent(this);
+    m_pool[UIActionIndexST_M_Machine] = new UIActionMenuSelectorMachine(this);
+    m_pool[UIActionIndexST_M_Machine_S_New] = new UIActionSimpleSelectorMachineNew(this);
+    m_pool[UIActionIndexST_M_Machine_S_Add] = new UIActionSimpleSelectorMachineAdd(this);
+    m_pool[UIActionIndexST_M_Machine_S_Settings] = new UIActionSimpleSelectorMachineShowSettings(this);
+    m_pool[UIActionIndexST_M_Machine_S_Clone] = new UIActionSimpleSelectorMachineClone(this);
+    m_pool[UIActionIndexST_M_Machine_S_Remove] = new UIActionSimpleSelectorMachineRemove(this);
+    m_pool[UIActionIndexST_M_Machine_S_AddGroup] = new UIActionSimpleSelectorMachineGroup(this);
+    m_pool[UIActionIndexST_M_Machine_M_StartOrShow] = new UIActionStateSelectorCommonStartOrShow(this);
+    m_pool[UIActionIndexST_M_Machine_M_StartOrShow_S_StartNormal] = new UIActionSimpleSelectorCommonStartNormal(this);
+    m_pool[UIActionIndexST_M_Machine_M_StartOrShow_S_StartHeadless] = new UIActionSimpleSelectorCommonStartHeadless(this);
+    m_pool[UIActionIndexST_M_Machine_M_StartOrShow_S_StartDetachable] = new UIActionSimpleSelectorCommonStartDetachable(this);
+    m_pool[UIActionIndexST_M_Machine_T_Pause] = new UIActionToggleSelectorCommonPauseAndResume(this);
+    m_pool[UIActionIndexST_M_Machine_S_Reset] = new UIActionSimpleSelectorCommonReset(this);
+    m_pool[UIActionIndexST_M_Machine_M_Close] = new UIActionMenuSelectorClose(this);
+    m_pool[UIActionIndexST_M_Machine_M_Close_S_Detach] = new UIActionSimpleSelectorPerformDetach(this);
+    m_pool[UIActionIndexST_M_Machine_M_Close_S_SaveState] = new UIActionSimpleSelectorPerformSave(this);
+    m_pool[UIActionIndexST_M_Machine_M_Close_S_Shutdown] = new UIActionSimpleSelectorPerformShutdown(this);
+    m_pool[UIActionIndexST_M_Machine_M_Close_S_PowerOff] = new UIActionSimpleSelectorPerformPowerOff(this);
+    m_pool[UIActionIndexST_M_Machine_S_Discard] = new UIActionSimpleSelectorCommonDiscard(this);
+    m_pool[UIActionIndexST_M_Machine_S_ShowLogDialog] = new UIActionSimpleSelectorCommonShowLogs(this);
+    m_pool[UIActionIndexST_M_Machine_S_Refresh] = new UIActionSimpleSelectorCommonRefresh(this);
+    m_pool[UIActionIndexST_M_Machine_S_ShowInFileManager] = new UIActionSimpleSelectorCommonShowInFileManager(this);
+    m_pool[UIActionIndexST_M_Machine_S_CreateShortcut] = new UIActionSimpleSelectorCommonCreateShortcut(this);
+    m_pool[UIActionIndexST_M_Machine_S_SortParent] = new UIActionSimpleSelectorMachineSortParent(this);
 
     /* Machine Tools actions: */
-    m_pool[UIActionIndexST_M_Tools_T_Machine] = new UIActionToggleToolsMachine(this);
-    m_pool[UIActionIndexST_M_Tools_M_Machine] = new UIActionMenuToolsMachine(this);
-    m_pool[UIActionIndexST_M_Tools_M_Machine_S_Details] = new UIActionSimpleToolsMachineDetails(this);
-    m_pool[UIActionIndexST_M_Tools_M_Machine_S_Snapshots] = new UIActionSimpleToolsMachineSnapshots(this);
-    m_pool[UIActionIndexST_M_Tools_M_Machine_S_LogViewer] = new UIActionSimpleToolsMachineLogViewer(this);
+    m_pool[UIActionIndexST_M_Tools_T_Machine] = new UIActionToggleSelectorToolsMachine(this);
+    m_pool[UIActionIndexST_M_Tools_M_Machine] = new UIActionMenuSelectorToolsMachine(this);
+    m_pool[UIActionIndexST_M_Tools_M_Machine_S_Details] = new UIActionSimpleSelectorToolsOpenMachineDetails(this);
+    m_pool[UIActionIndexST_M_Tools_M_Machine_S_Snapshots] = new UIActionSimpleSelectorToolsOpenMachineSnapshots(this);
+    m_pool[UIActionIndexST_M_Tools_M_Machine_S_LogViewer] = new UIActionSimpleSelectorToolsOpenMachineLogs(this);
 
     /* Global Tools actions: */
-    m_pool[UIActionIndexST_M_Tools_T_Global] = new UIActionToggleToolsGlobal(this);
-    m_pool[UIActionIndexST_M_Tools_M_Global] = new UIActionMenuToolsGlobal(this);
-    m_pool[UIActionIndexST_M_Tools_M_Global_S_VirtualMediaManager] = new UIActionSimpleToolsGlobalVirtualMediaManager(this);
-    m_pool[UIActionIndexST_M_Tools_M_Global_S_HostNetworkManager] = new UIActionSimpleToolsGlobalHostNetworkManager(this);
+    m_pool[UIActionIndexST_M_Tools_T_Global] = new UIActionToggleSelectorToolsGlobal(this);
+    m_pool[UIActionIndexST_M_Tools_M_Global] = new UIActionMenuSelectorToolsGlobal(this);
+    m_pool[UIActionIndexST_M_Tools_M_Global_S_VirtualMediaManager] = new UIActionSimpleSelectorToolsGlobalVirtualMediaManager(this);
+    m_pool[UIActionIndexST_M_Tools_M_Global_S_HostNetworkManager] = new UIActionSimpleSelectorToolsGlobalHostNetworkManager(this);
 
     /* Call to base-class: */
@@ -1387,4 +1638,5 @@
 }
 
+
 #include "UIActionPoolSelector.moc"
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/selector/UIActionPoolSelector.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/selector/UIActionPoolSelector.h	(revision 71620)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/selector/UIActionPoolSelector.h	(revision 71621)
@@ -5,5 +5,5 @@
 
 /*
- * Copyright (C) 2010-2017 Oracle Corporation
+ * Copyright (C) 2010-2018 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
@@ -21,4 +21,5 @@
 /* GUI includes: */
 #include "UIActionPool.h"
+
 
 /** Runtime action-pool index enum.
@@ -109,4 +110,5 @@
 };
 
+
 /** UIActionPool extension
   * representing action-pool singleton for Selector UI. */
@@ -117,31 +119,33 @@
 protected:
 
-    /** Constructor,
-      * @param fTemporary is used to determine whether this action-pool is temporary,
-      *                   which can be created to re-initialize shortcuts-pool. */
+    /** Constructs action-pool.
+      * @param  fTemporary  Brings whether this action-pool is temporary,
+      *                     used to (re-)initialize shortcuts-pool. */
     UIActionPoolSelector(bool fTemporary = false);
 
-    /** Prepare pool routine. */
-    virtual void preparePool();
-    /** Prepare connections routine. */
-    virtual void prepareConnections();
+    /** Prepares pool. */
+    virtual void preparePool() /* override */;
+    /** Prepares connections. */
+    virtual void prepareConnections() /* override */;
 
-    /** Update menus routine. */
-    virtual void updateMenus();
+    /** Updates menus. */
+    virtual void updateMenus() /* override */;
 
-    /** Update shortcuts. */
-    virtual void updateShortcuts();
+    /** Updates shortcuts. */
+    virtual void updateShortcuts() /* override */;
 
     /** Returns extra-data ID to save keyboard shortcuts under. */
-    virtual QString shortcutsExtraDataID() const;
+    virtual QString shortcutsExtraDataID() const /* override */;
 
     /** Returns the list of Selector UI main menus. */
-    virtual QList<QMenu*> menus() const { return QList<QMenu*>(); }
+    virtual QList<QMenu*> menus() const /* override */ { return QList<QMenu*>(); }
 
 private:
 
-    /* Enable factory in base-class: */
+    /** Enables factory in base-class. */
     friend class UIActionPool;
 };
 
+
 #endif /* !___UIActionPoolSelector_h___ */
+
