VirtualBox

Changeset 38355 in vbox


Ignore:
Timestamp:
Aug 8, 2011 3:27:10 PM (13 years ago)
Author:
vboxsync
Message:

FE/Qt: 5823: Generalize GUI action pool: Reuse global 'help' menu/actions in 'VM manager' GUI part.

Location:
trunk/src/VBox/Frontends/VirtualBox
Files:
2 deleted
8 edited
2 copied

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/Makefile.kmk

    r38348 r38355  
    354354        src/widgets/VBoxOSTypeSelectorWidget.h \
    355355        src/widgets/VBoxWarningPane.h \
     356        src/selector/UIActionPoolOffline.h \
    356357        src/selector/UIVMDesktop.h \
    357358        src/selector/UIVMListView.h \
     
    398399        src/globals/UIActionPool.cpp \
    399400        src/extensions/QISplitter.cpp \
     401        src/selector/UIActionPoolOffline.cpp \
    400402        src/selector/UIVMDesktop.cpp \
    401403        src/settings/UISettingsDialogSpecific.cpp \
     
    432434        src/VBoxAboutDlg.cpp \
    433435        src/VBoxGlobalSettings.cpp \
    434         src/VBoxHelpActions.cpp \
    435436        src/VBoxMediaManagerDlg.cpp \
    436437        src/UIMediumTypeChangeDialog.cpp \
     
    526527        src/widgets/VBoxOSTypeSelectorWidget.cpp \
    527528        src/widgets/VBoxWarningPane.cpp \
     529        src/selector/UIActionPoolOffline.cpp \
    528530        src/selector/UISelectorShortcuts.cpp \
    529531        src/selector/UIVMDesktop.cpp \
  • trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPool.cpp

    r38348 r38355  
    2626#include "UIIconPool.h"
    2727#include "VBoxGlobal.h"
     28#include "UISelectorShortcuts.h"
    2829#include "UIMachineShortcuts.h"
    2930
     
    179180
    180181    ShowHelpAction(QObject *pParent)
    181         : UISimpleAction(pParent,
    182                          UIIconPool::defaultIcon(UIIconPool::DialogHelpIcon))
    183     {
    184         retranslateUi();
    185     }
    186 
    187 protected:
    188 
    189     void retranslateUi()
    190     {
    191         setShortcut(gMS->shortcut(UIMachineShortcuts::HelpShortcut));
     182        : UISimpleAction(pParent, UIIconPool::defaultIcon(UIIconPool::DialogHelpIcon))
     183    {
     184        switch (gActionPool->type())
     185        {
     186            case UIActionPoolType_Offline:
     187                setShortcut(gSS->keySequence(UISelectorShortcuts::HelpShortcut));
     188                break;
     189            case UIActionPoolType_Runtime:
     190                setShortcut(gMS->keySequence(UIMachineShortcuts::HelpShortcut));
     191                break;
     192        }
     193        retranslateUi();
     194    }
     195
     196protected:
     197
     198    void retranslateUi()
     199    {
    192200        setText(QApplication::translate("UIMessageCenter", "&Contents..."));
    193201        setStatusTip(QApplication::translate("UIMessageCenter", "Show the online help contents"));
     
    202210
    203211    ShowWebAction(QObject *pParent)
    204         : UISimpleAction(pParent,
    205                          ":/site_16px.png")
    206     {
     212        : UISimpleAction(pParent, ":/site_16px.png")
     213    {
     214        switch (gActionPool->type())
     215        {
     216            case UIActionPoolType_Offline:
     217                setShortcut(gSS->keySequence(UISelectorShortcuts::WebShortcut));
     218                break;
     219            case UIActionPoolType_Runtime:
     220                setShortcut(gMS->keySequence(UIMachineShortcuts::WebShortcut));
     221                break;
     222        }
    207223        retranslateUi();
    208224    }
     
    224240
    225241    PerformResetWarningsAction(QObject *pParent)
    226         : UISimpleAction(pParent,
    227                          ":/reset_16px.png")
    228     {
     242        : UISimpleAction(pParent, ":/reset_16px.png")
     243    {
     244        switch (gActionPool->type())
     245        {
     246            case UIActionPoolType_Offline:
     247                setShortcut(gSS->keySequence(UISelectorShortcuts::ResetWarningsShortcut));
     248                break;
     249            case UIActionPoolType_Runtime:
     250                setShortcut(gMS->keySequence(UIMachineShortcuts::ResetWarningsShortcut));
     251                break;
     252        }
    229253        retranslateUi();
    230254    }
     
    247271
    248272    PerformRegisterAction(QObject *pParent)
    249         : UISimpleAction(pParent,
    250                          ":/register_16px.png", ":/register_disabled_16px.png")
     273        : UISimpleAction(pParent, ":/register_16px.png", ":/register_disabled_16px.png")
    251274    {
    252275        setEnabled(vboxGlobal().virtualBox().
    253276                   GetExtraData(VBoxDefs::GUI_RegistrationDlgWinID).isEmpty());
     277        switch (gActionPool->type())
     278        {
     279            case UIActionPoolType_Offline:
     280                setShortcut(gSS->keySequence(UISelectorShortcuts::RegisterShortcut));
     281                break;
     282            case UIActionPoolType_Runtime:
     283                setShortcut(gMS->keySequence(UIMachineShortcuts::RegisterShortcut));
     284                break;
     285        }
    254286        retranslateUi();
    255287    }
     
    272304
    273305    PerformUpdateAction(QObject *pParent)
    274         : UISimpleAction(pParent,
    275                          ":/refresh_16px.png", ":/refresh_disabled_16px.png")
     306        : UISimpleAction(pParent, ":/refresh_16px.png", ":/refresh_disabled_16px.png")
    276307    {
    277308        setMenuRole(QAction::ApplicationSpecificRole);
     309        switch (gActionPool->type())
     310        {
     311            case UIActionPoolType_Offline:
     312                setShortcut(gSS->keySequence(UISelectorShortcuts::UpdateShortcut));
     313                break;
     314            case UIActionPoolType_Runtime:
     315                setShortcut(gMS->keySequence(UIMachineShortcuts::UpdateShortcut));
     316                break;
     317        }
    278318        retranslateUi();
    279319    }
     
    295335
    296336    ShowAboutAction(QObject *pParent)
    297         : UISimpleAction(pParent,
    298                          ":/about_16px.png")
     337        : UISimpleAction(pParent, ":/about_16px.png")
    299338    {
    300339        setMenuRole(QAction::AboutRole);
     340        switch (gActionPool->type())
     341        {
     342            case UIActionPoolType_Offline:
     343                setShortcut(gSS->keySequence(UISelectorShortcuts::AboutShortcut));
     344                break;
     345            case UIActionPoolType_Runtime:
     346                setShortcut(gMS->keySequence(UIMachineShortcuts::AboutShortcut));
     347                break;
     348        }
    301349        retranslateUi();
    302350    }
     
    320368}
    321369
    322 UIActionPool::UIActionPool()
     370UIActionPool::UIActionPool(UIActionPoolType type)
     371    : m_type(type)
    323372{
    324373    /* Prepare instance: */
  • trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPool.h

    r38348 r38355  
    132132};
    133133
     134/* Action pool types: */
     135enum UIActionPoolType
     136{
     137    UIActionPoolType_Offline,
     138    UIActionPoolType_Runtime
     139};
     140
    134141/* Singleton action pool: */
    135142class UIActionPool : public QObject
     
    143150
    144151    /* Constructor/destructor: */
    145     UIActionPool();
     152    UIActionPool(UIActionPoolType type);
    146153    ~UIActionPool();
    147154
     
    156163    void recreateMenus() { createMenus(); }
    157164    bool processHotKey(const QKeySequence &key);
     165
     166    /* Action pool type: */
     167    UIActionPoolType type() const { return m_type; }
    158168
    159169protected:
     
    170180    static UIActionPool *m_pInstance;
    171181
     182    /* Action pool type: */
     183    UIActionPoolType m_type;
     184
    172185    /* Actions pool itself: */
    173186    QMap<int, UIActionInterface*> m_pool;
  • trunk/src/VBox/Frontends/VirtualBox/src/precomp.h

    r38311 r38355  
    216216#include "VBoxGlobalSettings.h"
    217217#include "VBoxGuestRAMSlider.h"
    218 #include "VBoxHelpActions.h"
    219218#ifdef Q_WS_MAC
    220219# include "VBoxIChatTheaterWrapper.h"
  • trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIActionPoolRuntime.cpp

    r38351 r38355  
    1818 */
    1919
    20 /* Local includes */
     20/* Local includes: */
    2121#include "UIActionPoolRuntime.h"
    2222#include "UIMachineShortcuts.h"
  • trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIActionPoolRuntime.h

    r38348 r38355  
    1717 */
    1818
    19 #ifndef __UIActionsPoolRuntime_h__
    20 #define __UIActionsPoolRuntime_h__
     19#ifndef __UIActionPoolRuntime_h__
     20#define __UIActionPoolRuntime_h__
    2121
    2222/* Local includes: */
     
    9595private:
    9696
     97    /* Constructor: */
     98    UIActionPoolRuntime() : UIActionPool(UIActionPoolType_Runtime) {}
     99
    97100    /* Virtual helping stuff: */
    98101    void createActions();
     
    100103};
    101104
    102 #endif // __UIActionsPoolRuntime_h__
     105#endif // __UIActionPoolRuntime_h__
    103106
  • trunk/src/VBox/Frontends/VirtualBox/src/selector/UIActionPoolOffline.cpp

    r38348 r38355  
    33 *
    44 * VBox frontends: Qt GUI ("VirtualBox"):
    5  * UIActionPoolRuntime class implementation
     5 * UIActionPoolOffline class implementation
    66 */
    77
     
    1818 */
    1919
    20 /* Local includes */
    21 #include "UIActionPoolRuntime.h"
    22 #include "UIMachineShortcuts.h"
    23 #include "VBoxGlobal.h"
    24 
    25 class MenuMachineAction : public UIMenuAction
    26 {
    27     Q_OBJECT;
    28 
    29 public:
    30 
    31     MenuMachineAction(QObject *pParent)
    32         : UIMenuAction(pParent)
    33     {
    34         retranslateUi();
    35     }
    36 
    37 protected:
    38 
    39     void retranslateUi()
    40     {
    41         menu()->setTitle(QApplication::translate("UIActionPoolRuntime", "&Machine"));
    42     }
    43 };
    44 
    45 class ShowSettingsDialogAction : public UISimpleAction
    46 {
    47     Q_OBJECT;
    48 
    49 public:
    50 
    51     ShowSettingsDialogAction(QObject *pParent)
    52         : UISimpleAction(pParent, ":/settings_16px.png", ":/settings_dis_16px.png")
    53     {
    54         retranslateUi();
    55     }
    56 
    57 protected:
    58 
    59     void retranslateUi()
    60     {
    61         setText(vboxGlobal().insertKeyToActionText(QApplication::translate("UIActionPoolRuntime", "&Settings..."), gMS->shortcut(UIMachineShortcuts::SettingsDialogShortcut)));
    62         setStatusTip(QApplication::translate("UIActionPoolRuntime", "Manage the virtual machine settings"));
    63     }
    64 };
    65 
    66 class PerformTakeSnapshotAction : public UISimpleAction
    67 {
    68     Q_OBJECT;
    69 
    70 public:
    71 
    72     PerformTakeSnapshotAction(QObject *pParent)
    73         : UISimpleAction(pParent, ":/take_snapshot_16px.png", ":/take_snapshot_dis_16px.png")
    74     {
    75         retranslateUi();
    76     }
    77 
    78 protected:
    79 
    80     void retranslateUi()
    81     {
    82         setText(vboxGlobal().insertKeyToActionText(QApplication::translate("UIActionPoolRuntime", "Take &Snapshot..."), gMS->shortcut(UIMachineShortcuts::TakeSnapshotShortcut)));
    83         setStatusTip(QApplication::translate("UIActionPoolRuntime", "Take a snapshot of the virtual machine"));
    84     }
    85 };
    86 
    87 class ShowInformationDialogAction : public UISimpleAction
    88 {
    89     Q_OBJECT;
    90 
    91 public:
    92 
    93     ShowInformationDialogAction(QObject *pParent)
    94         : UISimpleAction(pParent, ":/session_info_16px.png", ":/session_info_disabled_16px.png")
    95     {
    96         retranslateUi();
    97     }
    98 
    99 protected:
    100 
    101     void retranslateUi()
    102     {
    103         setText(vboxGlobal().insertKeyToActionText(QApplication::translate("UIActionPoolRuntime", "Session I&nformation..."), gMS->shortcut(UIMachineShortcuts::InformationDialogShortcut)));
    104         setStatusTip(QApplication::translate("UIActionPoolRuntime", "Show Session Information Dialog"));
    105     }
    106 };
    107 
    108 class MenuMouseIntegrationAction : public UIMenuAction
    109 {
    110     Q_OBJECT;
    111 
    112 public:
    113 
    114     MenuMouseIntegrationAction(QObject *pParent)
    115         : UIMenuAction(pParent)
    116     {
    117         retranslateUi();
    118     }
    119 
    120 protected:
    121 
    122     void retranslateUi() {}
    123 };
    124 
    125 class ToggleMouseIntegrationAction : public UIToggleAction
    126 {
    127     Q_OBJECT;
    128 
    129 public:
    130 
    131     ToggleMouseIntegrationAction(QObject *pParent)
    132         : UIToggleAction(pParent,
    133                          ":/mouse_can_seamless_on_16px.png", ":/mouse_can_seamless_16px.png",
    134                          ":/mouse_can_seamless_on_disabled_16px.png", ":/mouse_can_seamless_disabled_16px.png")
    135     {
    136         retranslateUi();
    137     }
    138 
    139 protected:
    140 
    141     void retranslateUi()
    142     {
    143         setText(vboxGlobal().insertKeyToActionText(QApplication::translate("UIActionPoolRuntime", "Disable &Mouse Integration"), gMS->shortcut(UIMachineShortcuts::MouseIntegrationShortcut)));
    144         setStatusTip(QApplication::translate("UIActionPoolRuntime", "Temporarily disable host mouse pointer integration"));
    145     }
    146 };
    147 
    148 class PerformTypeCADAction : public UISimpleAction
    149 {
    150     Q_OBJECT;
    151 
    152 public:
    153 
    154     PerformTypeCADAction(QObject *pParent)
    155         : UISimpleAction(pParent, ":/hostkey_16px.png", ":/hostkey_disabled_16px.png")
    156     {
    157         retranslateUi();
    158     }
    159 
    160 protected:
    161 
    162     void retranslateUi()
    163     {
    164         setText(vboxGlobal().insertKeyToActionText(QApplication::translate("UIActionPoolRuntime", "&Insert Ctrl-Alt-Del"), gMS->shortcut(UIMachineShortcuts::TypeCADShortcut)));
    165         setStatusTip(QApplication::translate("UIActionPoolRuntime", "Send the Ctrl-Alt-Del sequence to the virtual machine"));
    166     }
    167 };
    168 
    169 #ifdef Q_WS_X11
    170 class PerformTypeCABSAction : public UISimpleAction
    171 {
    172     Q_OBJECT;
    173 
    174 public:
    175 
    176     PerformTypeCABSAction(QObject *pParent)
    177         : UISimpleAction(pParent, ":/hostkey_16px.png", ":/hostkey_disabled_16px.png")
    178     {
    179         retranslateUi();
    180     }
    181 
    182 protected:
    183 
    184     void retranslateUi()
    185     {
    186         setText(vboxGlobal().insertKeyToActionText(QApplication::translate("UIActionPoolRuntime", "&Insert Ctrl-Alt-Backspace"), gMS->shortcut(UIMachineShortcuts::TypeCABSShortcut)));
    187         setStatusTip(QApplication::translate("UIActionPoolRuntime", "Send the Ctrl-Alt-Backspace sequence to the virtual machine"));
    188     }
    189 };
    190 #endif /* Q_WS_X11 */
    191 
    192 class TogglePauseAction : public UIToggleAction
    193 {
    194     Q_OBJECT;
    195 
    196 public:
    197 
    198     TogglePauseAction(QObject *pParent)
    199         : UIToggleAction(pParent, ":/pause_16px.png", ":/pause_disabled_16px.png")
    200     {
    201         retranslateUi();
    202     }
    203 
    204 protected:
    205 
    206     void retranslateUi()
    207     {
    208         setText(vboxGlobal().insertKeyToActionText(QApplication::translate("UIActionPoolRuntime", "&Pause"), gMS->shortcut(UIMachineShortcuts::PauseShortcut)));
    209         setStatusTip(QApplication::translate("UIActionPoolRuntime", "Suspend the execution of the virtual machine"));
    210     }
    211 };
    212 
    213 class PerformResetAction : public UISimpleAction
    214 {
    215     Q_OBJECT;
    216 
    217 public:
    218 
    219     PerformResetAction(QObject *pParent)
    220         : UISimpleAction(pParent, ":/reset_16px.png", ":/reset_disabled_16px.png")
    221     {
    222         retranslateUi();
    223     }
    224 
    225 protected:
    226 
    227     void retranslateUi()
    228     {
    229         setText(vboxGlobal().insertKeyToActionText(QApplication::translate("UIActionPoolRuntime", "&Reset"), gMS->shortcut(UIMachineShortcuts::ResetShortcut)));
    230         setStatusTip(QApplication::translate("UIActionPoolRuntime", "Reset the virtual machine"));
    231     }
    232 };
    233 
    234 class PerformShutdownAction : public UISimpleAction
    235 {
    236     Q_OBJECT;
    237 
    238 public:
    239 
    240     PerformShutdownAction(QObject *pParent)
    241         : UISimpleAction(pParent, ":/acpi_16px.png", ":/acpi_disabled_16px.png")
    242     {
    243         retranslateUi();
    244     }
    245 
    246 protected:
    247 
    248     void retranslateUi()
    249     {
    250         setText(vboxGlobal().insertKeyToActionText(QApplication::translate("UIActionPoolRuntime", "ACPI Sh&utdown"), gMS->shortcut(UIMachineShortcuts::ShutdownShortcut)));
    251         setStatusTip(QApplication::translate("UIActionPoolRuntime", "Send the ACPI Power Button press event to the virtual machine"));
    252     }
    253 };
    254 
    255 class PerformCloseAction : public UISimpleAction
    256 {
    257     Q_OBJECT;
    258 
    259 public:
    260 
    261     PerformCloseAction(QObject *pParent)
    262         : UISimpleAction(pParent, ":/exit_16px.png")
    263     {
    264         setMenuRole(QAction::QuitRole);
    265         retranslateUi();
    266     }
    267 
    268 protected:
    269 
    270     void retranslateUi()
    271     {
    272         setText(vboxGlobal().insertKeyToActionText(QApplication::translate("UIActionPoolRuntime", "&Close..."), gMS->shortcut(UIMachineShortcuts::CloseShortcut)));
    273         setStatusTip(QApplication::translate("UIActionPoolRuntime", "Close the virtual machine"));
    274     }
    275 };
    276 
    277 class MenuViewAction : public UIMenuAction
    278 {
    279     Q_OBJECT;
    280 
    281 public:
    282 
    283     MenuViewAction(QObject *pParent)
    284         : UIMenuAction(pParent)
    285     {
    286         retranslateUi();
    287     }
    288 
    289 protected:
    290 
    291     void retranslateUi()
    292     {
    293         menu()->setTitle(QApplication::translate("UIActionPoolRuntime", "&View"));
    294     }
    295 };
    296 
    297 class ToggleFullscreenModeAction : public UIToggleAction
    298 {
    299     Q_OBJECT;
    300 
    301 public:
    302 
    303     ToggleFullscreenModeAction(QObject *pParent)
    304         : UIToggleAction(pParent,
    305                          ":/fullscreen_on_16px.png", ":/fullscreen_16px.png",
    306                          ":/fullscreen_on_disabled_16px.png", ":/fullscreen_disabled_16px.png")
    307     {
    308         retranslateUi();
    309     }
    310 
    311 protected:
    312 
    313     void retranslateUi()
    314     {
    315         setText(vboxGlobal().insertKeyToActionText(QApplication::translate("UIActionPoolRuntime", "Switch to &Fullscreen"), gMS->shortcut(UIMachineShortcuts::FullscreenModeShortcut)));
    316         setStatusTip(QApplication::translate("UIActionPoolRuntime", "Switch between normal and fullscreen mode"));
    317     }
    318 };
    319 
    320 class ToggleSeamlessModeAction : public UIToggleAction
    321 {
    322     Q_OBJECT;
    323 
    324 public:
    325 
    326     ToggleSeamlessModeAction(QObject *pParent)
    327         : UIToggleAction(pParent,
    328                          ":/seamless_on_16px.png", ":/seamless_16px.png",
    329                          ":/seamless_on_disabled_16px.png", ":/seamless_disabled_16px.png")
    330     {
    331         retranslateUi();
    332     }
    333 
    334 protected:
    335 
    336     void retranslateUi()
    337     {
    338         setText(vboxGlobal().insertKeyToActionText(QApplication::translate("UIActionPoolRuntime", "Switch to Seam&less Mode"), gMS->shortcut(UIMachineShortcuts::SeamlessModeShortcut)));
    339         setStatusTip(QApplication::translate("UIActionPoolRuntime", "Switch between normal and seamless desktop integration mode"));
    340     }
    341 };
    342 
    343 class ToggleScaleModeAction : public UIToggleAction
    344 {
    345     Q_OBJECT;
    346 
    347 public:
    348 
    349     ToggleScaleModeAction(QObject *pParent)
    350         : UIToggleAction(pParent,
    351                          ":/scale_on_16px.png", ":/scale_16px.png",
    352                          ":/scale_on_disabled_16px.png", ":/scale_disabled_16px.png")
    353     {
    354         retranslateUi();
    355     }
    356 
    357 protected:
    358 
    359     void retranslateUi()
    360     {
    361         setText(vboxGlobal().insertKeyToActionText(QApplication::translate("UIActionPoolRuntime", "Switch to &Scale Mode"), gMS->shortcut(UIMachineShortcuts::ScaleModeShortcut)));
    362         setStatusTip(QApplication::translate("UIActionPoolRuntime", "Switch between normal and scale mode"));
    363     }
    364 };
    365 
    366 class ToggleGuestAutoresizeAction : public UIToggleAction
    367 {
    368     Q_OBJECT;
    369 
    370 public:
    371 
    372     ToggleGuestAutoresizeAction(QObject *pParent)
    373         : UIToggleAction(pParent,
    374                          ":/auto_resize_on_on_16px.png", ":/auto_resize_on_16px.png",
    375                          ":/auto_resize_on_on_disabled_16px.png", ":/auto_resize_on_disabled_16px.png")
    376     {
    377         retranslateUi();
    378     }
    379 
    380 protected:
    381 
    382     void retranslateUi()
    383     {
    384         setText(vboxGlobal().insertKeyToActionText(QApplication::translate("UIActionPoolRuntime", "Auto-resize &Guest Display"), gMS->shortcut(UIMachineShortcuts::GuestAutoresizeShortcut)));
    385         setStatusTip(QApplication::translate("UIActionPoolRuntime", "Automatically resize the guest display when the window is resized (requires Guest Additions)"));
    386     }
    387 };
    388 
    389 class PerformWindowAdjustAction : public UISimpleAction
    390 {
    391     Q_OBJECT;
    392 
    393 public:
    394 
    395     PerformWindowAdjustAction(QObject *pParent)
    396         : UISimpleAction(pParent, ":/adjust_win_size_16px.png", ":/adjust_win_size_disabled_16px.png")
    397     {
    398         retranslateUi();
    399     }
    400 
    401 protected:
    402 
    403     void retranslateUi()
    404     {
    405         setText(vboxGlobal().insertKeyToActionText(QApplication::translate("UIActionPoolRuntime", "&Adjust Window Size"), gMS->shortcut(UIMachineShortcuts::WindowAdjustShortcut)));
    406         setStatusTip(QApplication::translate("UIActionPoolRuntime", "Adjust window size and position to best fit the guest display"));
    407     }
    408 };
    409 
    410 class MenuDevicesAction : public UIMenuAction
    411 {
    412     Q_OBJECT;
    413 
    414 public:
    415 
    416     MenuDevicesAction(QObject *pParent)
    417         : UIMenuAction(pParent)
    418     {
    419         retranslateUi();
    420     }
    421 
    422 protected:
    423 
    424     void retranslateUi()
    425     {
    426         menu()->setTitle(QApplication::translate("UIActionPoolRuntime", "&Devices"));
    427     }
    428 };
    429 
    430 class MenuOpticalDevicesAction : public UIMenuAction
    431 {
    432     Q_OBJECT;
    433 
    434 public:
    435 
    436     MenuOpticalDevicesAction(QObject *pParent)
    437         : UIMenuAction(pParent, ":/cd_16px.png", ":/cd_disabled_16px.png")
    438     {
    439         retranslateUi();
    440     }
    441 
    442 protected:
    443 
    444     void retranslateUi()
    445     {
    446         menu()->setTitle(QApplication::translate("UIActionPoolRuntime", "&CD/DVD Devices"));
    447     }
    448 };
    449 
    450 class MenuFloppyDevicesAction : public UIMenuAction
    451 {
    452     Q_OBJECT;
    453 
    454 public:
    455 
    456     MenuFloppyDevicesAction(QObject *pParent)
    457         : UIMenuAction(pParent, ":/fd_16px.png", ":/fd_disabled_16px.png")
    458     {
    459         retranslateUi();
    460     }
    461 
    462 protected:
    463 
    464     void retranslateUi()
    465     {
    466         menu()->setTitle(QApplication::translate("UIActionPoolRuntime", "&Floppy Devices"));
    467     }
    468 };
    469 
    470 class MenuUSBDevicesAction : public UIMenuAction
    471 {
    472     Q_OBJECT;
    473 
    474 public:
    475 
    476     MenuUSBDevicesAction(QObject *pParent)
    477         : UIMenuAction(pParent, ":/usb_16px.png", ":/usb_disabled_16px.png")
    478     {
    479         qobject_cast<UIMenuInterface*>(menu())->setShowToolTips(true);
    480         retranslateUi();
    481     }
    482 
    483 protected:
    484 
    485     void retranslateUi()
    486     {
    487         menu()->setTitle(QApplication::translate("UIActionPoolRuntime", "&USB Devices"));
    488     }
    489 };
    490 
    491 class MenuNetworkAdaptersAction : public UIMenuAction
    492 {
    493     Q_OBJECT;
    494 
    495 public:
    496 
    497     MenuNetworkAdaptersAction(QObject *pParent)
    498         : UIMenuAction(pParent)
    499     {
    500         retranslateUi();
    501     }
    502 
    503 protected:
    504 
    505     void retranslateUi() {}
    506 };
    507 
    508 class ShowNetworkAdaptersDialogAction : public UISimpleAction
    509 {
    510     Q_OBJECT;
    511 
    512 public:
    513 
    514     ShowNetworkAdaptersDialogAction(QObject *pParent)
    515         : UISimpleAction(pParent, ":/nw_16px.png", ":/nw_disabled_16px.png")
    516     {
    517         retranslateUi();
    518     }
    519 
    520 protected:
    521 
    522     void retranslateUi()
    523     {
    524         setText(vboxGlobal().insertKeyToActionText(QApplication::translate("UIActionPoolRuntime", "&Network Adapters..."), gMS->shortcut(UIMachineShortcuts::NetworkAdaptersDialogShortcut)));
    525         setStatusTip(QApplication::translate("UIActionPoolRuntime", "Change the settings of network adapters"));
    526     }
    527 };
    528 
    529 class MenuSharedFoldersAction : public UIMenuAction
    530 {
    531     Q_OBJECT;
    532 
    533 public:
    534 
    535     MenuSharedFoldersAction(QObject *pParent)
    536         : UIMenuAction(pParent)
    537     {
    538         retranslateUi();
    539     }
    540 
    541 protected:
    542 
    543     void retranslateUi() {}
    544 };
    545 
    546 class ShowSharedFoldersDialogAction : public UISimpleAction
    547 {
    548     Q_OBJECT;
    549 
    550 public:
    551 
    552     ShowSharedFoldersDialogAction(QObject *pParent)
    553         : UISimpleAction(pParent, ":/shared_folder_16px.png", ":/shared_folder_disabled_16px.png")
    554     {
    555         retranslateUi();
    556     }
    557 
    558 protected:
    559 
    560     void retranslateUi()
    561     {
    562         setText(vboxGlobal().insertKeyToActionText(QApplication::translate("UIActionPoolRuntime", "&Shared Folders..."), gMS->shortcut(UIMachineShortcuts::SharedFoldersDialogShortcut)));
    563         setStatusTip(QApplication::translate("UIActionPoolRuntime", "Create or modify shared folders"));
    564     }
    565 };
    566 
    567 class ToggleVRDEServerAction : public UIToggleAction
    568 {
    569     Q_OBJECT;
    570 
    571 public:
    572 
    573     ToggleVRDEServerAction(QObject *pParent)
    574         : UIToggleAction(pParent,
    575                          ":/vrdp_on_16px.png", ":/vrdp_16px.png",
    576                          ":/vrdp_on_disabled_16px.png", ":/vrdp_disabled_16px.png")
    577     {
    578         retranslateUi();
    579     }
    580 
    581 protected:
    582 
    583     void retranslateUi()
    584     {
    585         setText(vboxGlobal().insertKeyToActionText(QApplication::translate("UIActionPoolRuntime", "Enable R&emote Display"), gMS->shortcut(UIMachineShortcuts::VRDPServerShortcut)));
    586         setStatusTip(QApplication::translate("UIActionPoolRuntime", "Enable remote desktop (RDP) connections to this machine"));
    587     }
    588 };
    589 
    590 class PerformInstallGuestToolsAction : public UISimpleAction
    591 {
    592     Q_OBJECT;
    593 
    594 public:
    595 
    596     PerformInstallGuestToolsAction(QObject *pParent)
    597         : UISimpleAction(pParent, ":/guesttools_16px.png", ":/guesttools_disabled_16px.png")
    598     {
    599         retranslateUi();
    600     }
    601 
    602 protected:
    603 
    604     void retranslateUi()
    605     {
    606         setText(vboxGlobal().insertKeyToActionText(QApplication::translate("UIActionPoolRuntime", "&Install Guest Additions..."), gMS->shortcut(UIMachineShortcuts::InstallGuestAdditionsShortcut)));
    607         setStatusTip(QApplication::translate("UIActionPoolRuntime", "Mount the Guest Additions installation image"));
    608     }
    609 };
    610 
    611 #ifdef VBOX_WITH_DEBUGGER_GUI
    612 class MenuDebugAction : public UIMenuAction
    613 {
    614     Q_OBJECT;
    615 
    616 public:
    617 
    618     MenuDebugAction(QObject *pParent)
    619         : UIMenuAction(pParent)
    620     {
    621         retranslateUi();
    622     }
    623 
    624 protected:
    625 
    626     void retranslateUi()
    627     {
    628         menu()->setTitle(QApplication::translate("UIActionPoolRuntime", "De&bug"));
    629     }
    630 };
    631 
    632 class ShowStatisticsAction : public UISimpleAction
    633 {
    634     Q_OBJECT;
    635 
    636 public:
    637 
    638     ShowStatisticsAction(QObject *pParent)
    639         : UISimpleAction(pParent)
    640     {
    641         retranslateUi();
    642     }
    643 
    644 protected:
    645 
    646     void retranslateUi()
    647     {
    648         setText(vboxGlobal().insertKeyToActionText(QApplication::translate("UIActionPoolRuntime", "&Statistics...", "debug action"), gMS->shortcut(UIMachineShortcuts::StatisticWindowShortcut)));
    649     }
    650 };
    651 
    652 class ShowCommandLineAction : public UISimpleAction
    653 {
    654     Q_OBJECT;
    655 
    656 public:
    657 
    658     ShowCommandLineAction(QObject *pParent)
    659         : UISimpleAction(pParent)
    660     {
    661         retranslateUi();
    662     }
    663 
    664 protected:
    665 
    666     void retranslateUi()
    667     {
    668         setText(vboxGlobal().insertKeyToActionText(QApplication::translate("UIActionPoolRuntime", "&Command Line...", "debug action"), gMS->shortcut(UIMachineShortcuts::CommandLineWindowShortcut)));
    669     }
    670 };
    671 
    672 class ToggleLoggingAction : public UIToggleAction
    673 {
    674     Q_OBJECT;
    675 
    676 public:
    677 
    678     ToggleLoggingAction(QObject *pParent)
    679         : UIToggleAction(pParent)
    680     {
    681         retranslateUi();
    682     }
    683 
    684 protected:
    685 
    686     void retranslateUi()
    687     {
    688         setText(vboxGlobal().insertKeyToActionText(QApplication::translate("UIActionPoolRuntime", "Enable &Logging...", "debug action"), gMS->shortcut(UIMachineShortcuts::LoggingShortcut)));
    689     }
    690 };
    691 #endif /* VBOX_WITH_DEBUGGER_GUI */
    692 
    693 #ifdef Q_WS_MAC
    694 class DockMenuAction : public UIMenuAction
    695 {
    696     Q_OBJECT;
    697 
    698 public:
    699 
    700     DockMenuAction(QObject *pParent)
    701         : UIMenuAction(pParent)
    702     {
    703         retranslateUi();
    704     }
    705 
    706 protected:
    707 
    708     void retranslateUi() {}
    709 };
    710 
    711 class DockSettingsMenuAction : public UIMenuAction
    712 {
    713     Q_OBJECT;
    714 
    715 public:
    716 
    717     DockSettingsMenuAction(QObject *pParent)
    718         : UIMenuAction(pParent)
    719     {
    720         retranslateUi();
    721     }
    722 
    723 protected:
    724 
    725     void retranslateUi()
    726     {
    727         setText(QApplication::translate("UIActionPoolRuntime", "Dock Icon"));
    728     }
    729 };
    730 
    731 class ToggleDockPreviewMonitorAction : public UIToggleAction
    732 {
    733     Q_OBJECT;
    734 
    735 public:
    736 
    737     ToggleDockPreviewMonitorAction(QObject *pParent)
    738         : UIToggleAction(pParent)
    739     {
    740         retranslateUi();
    741     }
    742 
    743 protected:
    744 
    745     void retranslateUi()
    746     {
    747         setText(QApplication::translate("UIActionPoolRuntime", "Show Monitor Preview"));
    748     }
    749 };
    750 
    751 class ToggleDockDisableMonitorAction : public UIToggleAction
    752 {
    753     Q_OBJECT;
    754 
    755 public:
    756 
    757     ToggleDockDisableMonitorAction(QObject *pParent)
    758         : UIToggleAction(pParent)
    759     {
    760         retranslateUi();
    761     }
    762 
    763 protected:
    764 
    765     void retranslateUi()
    766     {
    767         setText(QApplication::translate("UIActionPoolRuntime", "Show Application Icon"));
    768     }
    769 };
    770 #endif /* Q_WS_MAC */
     20/* Local includes: */
     21#include "UIActionPoolOffline.h"
    77122
    77223/* static */
    773 void UIActionPoolRuntime::create()
     24void UIActionPoolOffline::create()
    77425{
    77526    /* Check that instance do NOT exists: */
     
    77829
    77930    /* Create instance: */
    780     UIActionPoolRuntime *pPool = new UIActionPoolRuntime;
     31    UIActionPoolOffline *pPool = new UIActionPoolOffline;
    78132    /* Prepare instance: */
    78233    pPool->prepare();
     
    78435
    78536/* static */
    786 void UIActionPoolRuntime::destroy()
     37void UIActionPoolOffline::destroy()
    78738{
    78839    /* Check that instance exists: */
     
    79647}
    79748
    798 void UIActionPoolRuntime::createActions()
     49void UIActionPoolOffline::createActions()
    79950{
    80051    /* Global actions creation: */
    80152    UIActionPool::createActions();
    802 
    803     /* 'Machine' actions: */
    804     m_pool[UIActionIndexRuntime_Simple_SettingsDialog] = new ShowSettingsDialogAction(this);
    805     m_pool[UIActionIndexRuntime_Simple_TakeSnapshot] = new PerformTakeSnapshotAction(this);
    806     m_pool[UIActionIndexRuntime_Simple_InformationDialog] = new ShowInformationDialogAction(this);
    807     m_pool[UIActionIndexRuntime_Toggle_MouseIntegration] = new ToggleMouseIntegrationAction(this);
    808     m_pool[UIActionIndexRuntime_Simple_TypeCAD] = new PerformTypeCADAction(this);
    809 #ifdef Q_WS_X11
    810     m_pool[UIActionIndexRuntime_Simple_TypeCABS] = new PerformTypeCABSAction(this);
    811 #endif /* Q_WS_X11 */
    812     m_pool[UIActionIndexRuntime_Toggle_Pause] = new TogglePauseAction(this);
    813     m_pool[UIActionIndexRuntime_Simple_Reset] = new PerformResetAction(this);
    814     m_pool[UIActionIndexRuntime_Simple_Shutdown] = new PerformShutdownAction(this);
    815     m_pool[UIActionIndexRuntime_Simple_Close] = new PerformCloseAction(this);
    816 
    817     /* 'View' actions: */
    818     m_pool[UIActionIndexRuntime_Toggle_Fullscreen] = new ToggleFullscreenModeAction(this);
    819     m_pool[UIActionIndexRuntime_Toggle_Seamless] = new ToggleSeamlessModeAction(this);
    820     m_pool[UIActionIndexRuntime_Toggle_Scale] = new ToggleScaleModeAction(this);
    821     m_pool[UIActionIndexRuntime_Toggle_GuestAutoresize] = new ToggleGuestAutoresizeAction(this);
    822     m_pool[UIActionIndexRuntime_Simple_AdjustWindow] = new PerformWindowAdjustAction(this);
    823 
    824     /* 'Devices' actions: */
    825     m_pool[UIActionIndexRuntime_Simple_NetworkAdaptersDialog] = new ShowNetworkAdaptersDialogAction(this);
    826     m_pool[UIActionIndexRuntime_Simple_SharedFoldersDialog] = new ShowSharedFoldersDialogAction(this);
    827     m_pool[UIActionIndexRuntime_Toggle_VRDEServer] = new ToggleVRDEServerAction(this);
    828     m_pool[UIActionIndexRuntime_Simple_InstallGuestTools] = new PerformInstallGuestToolsAction(this);
    829 
    830 #ifdef VBOX_WITH_DEBUGGER_GUI
    831     /* 'Debug' actions: */
    832     m_pool[UIActionIndexRuntime_Simple_Statistics] = new ShowStatisticsAction(this);
    833     m_pool[UIActionIndexRuntime_Simple_CommandLine] = new ShowCommandLineAction(this);
    834     m_pool[UIActionIndexRuntime_Toggle_Logging] = new ToggleLoggingAction(this);
    835 #endif /* VBOX_WITH_DEBUGGER_GUI */
    836 
    837 #ifdef Q_WS_MAC
    838     /* 'Dock' actions: */
    839     m_pool[UIActionIndexRuntime_Toggle_DockPreviewMonitor] = new ToggleDockPreviewMonitorAction(this);
    840     m_pool[UIActionIndexRuntime_Toggle_DockDisableMonitor] = new ToggleDockDisableMonitorAction(this);
    841 #endif /* Q_WS_MAC */
    84253}
    84354
    844 void UIActionPoolRuntime::createMenus()
     55void UIActionPoolOffline::createMenus()
    84556{
    84657    /* Global menus creation: */
    84758    UIActionPool::createMenus();
    848 
    849     /* On Mac OS X, all QMenu's are consumed by Qt after they are added to another QMenu or a QMenuBar.
    850      * This means we have to recreate all QMenus when creating a new QMenuBar.
    851      * For simplicity we doing this on all platforms right now. */
    852 
    853     /* Recreate 'close' item as well.
    854      * This makes sure it is removed also from the Application menu: */
    855     if (m_pool[UIActionIndexRuntime_Simple_Close])
    856         delete m_pool[UIActionIndexRuntime_Simple_Close];
    857     m_pool[UIActionIndexRuntime_Simple_Close] = new PerformCloseAction(this);
    858 
    859     /* 'Machine' menu: */
    860     if (m_pool[UIActionIndexRuntime_Menu_Machine])
    861         delete m_pool[UIActionIndexRuntime_Menu_Machine];
    862     m_pool[UIActionIndexRuntime_Menu_Machine] = new MenuMachineAction(this);
    863     if (m_pool[UIActionIndexRuntime_Menu_MouseIntegration])
    864         delete m_pool[UIActionIndexRuntime_Menu_MouseIntegration];
    865     m_pool[UIActionIndexRuntime_Menu_MouseIntegration] = new MenuMouseIntegrationAction(this);
    866 
    867     /* 'View' menu: */
    868     if (m_pool[UIActionIndexRuntime_Menu_View])
    869         delete m_pool[UIActionIndexRuntime_Menu_View];
    870     m_pool[UIActionIndexRuntime_Menu_View] = new MenuViewAction(this);
    871 
    872     /* 'Devices' menu: */
    873     if (m_pool[UIActionIndexRuntime_Menu_Devices])
    874         delete m_pool[UIActionIndexRuntime_Menu_Devices];
    875     m_pool[UIActionIndexRuntime_Menu_Devices] = new MenuDevicesAction(this);
    876     if (m_pool[UIActionIndexRuntime_Menu_OpticalDevices])
    877         delete m_pool[UIActionIndexRuntime_Menu_OpticalDevices];
    878     m_pool[UIActionIndexRuntime_Menu_OpticalDevices] = new MenuOpticalDevicesAction(this);
    879     if (m_pool[UIActionIndexRuntime_Menu_FloppyDevices])
    880         delete m_pool[UIActionIndexRuntime_Menu_FloppyDevices];
    881     m_pool[UIActionIndexRuntime_Menu_FloppyDevices] = new MenuFloppyDevicesAction(this);
    882     if (m_pool[UIActionIndexRuntime_Menu_USBDevices])
    883         delete m_pool[UIActionIndexRuntime_Menu_USBDevices];
    884     m_pool[UIActionIndexRuntime_Menu_USBDevices] = new MenuUSBDevicesAction(this);
    885     if (m_pool[UIActionIndexRuntime_Menu_NetworkAdapters])
    886         delete m_pool[UIActionIndexRuntime_Menu_NetworkAdapters];
    887     m_pool[UIActionIndexRuntime_Menu_NetworkAdapters] = new MenuNetworkAdaptersAction(this);
    888     if (m_pool[UIActionIndexRuntime_Menu_SharedFolders])
    889         delete m_pool[UIActionIndexRuntime_Menu_SharedFolders];
    890     m_pool[UIActionIndexRuntime_Menu_SharedFolders] = new MenuSharedFoldersAction(this);
    891 
    892 #ifdef VBOX_WITH_DEBUGGER_GUI
    893     /* 'Debug' menu: */
    894     if (m_pool[UIActionIndexRuntime_Menu_Debug])
    895         delete m_pool[UIActionIndexRuntime_Menu_Debug];
    896     m_pool[UIActionIndexRuntime_Menu_Debug] = new MenuDebugAction(this);
    897 #endif /* VBOX_WITH_DEBUGGER_GUI */
    898 
    899 #ifdef Q_WS_MAC
    900     /* 'Dock' menu: */
    901     if (m_pool[UIActionIndexRuntime_Menu_Dock])
    902         delete m_pool[UIActionIndexRuntime_Menu_Dock];
    903     m_pool[UIActionIndexRuntime_Menu_Dock] = new DockMenuAction(this);
    904     if (m_pool[UIActionIndexRuntime_Menu_DockSettings])
    905         delete m_pool[UIActionIndexRuntime_Menu_DockSettings];
    906     m_pool[UIActionIndexRuntime_Menu_DockSettings] = new DockSettingsMenuAction(this);
    907 #endif /* Q_WS_MAC */
    90859}
    90960
    910 #include "UIActionPoolRuntime.moc"
     61#include "UIActionPoolOffline.moc"
    91162
  • trunk/src/VBox/Frontends/VirtualBox/src/selector/UIActionPoolOffline.h

    r38348 r38355  
    22 *
    33 * VBox frontends: Qt GUI ("VirtualBox"):
    4  * UIActionPoolRuntime class declaration
     4 * UIActionPoolOffline class declaration
    55 */
    66
     
    1717 */
    1818
    19 #ifndef __UIActionsPoolRuntime_h__
    20 #define __UIActionsPoolRuntime_h__
     19#ifndef __UIActionPoolOffline_h__
     20#define __UIActionPoolOffline_h__
    2121
    2222/* Local includes: */
     
    2424
    2525/* Action keys: */
    26 enum UIActionIndexRuntime
     26enum UIActionIndexOffline
    2727{
    28     /* 'Machine' menu actions: */
    29     UIActionIndexRuntime_Menu_Machine = UIActionIndex_Max + 1,
    30     UIActionIndexRuntime_Simple_SettingsDialog,
    31     UIActionIndexRuntime_Simple_TakeSnapshot,
    32     UIActionIndexRuntime_Simple_InformationDialog,
    33     UIActionIndexRuntime_Menu_MouseIntegration,
    34     UIActionIndexRuntime_Toggle_MouseIntegration,
    35     UIActionIndexRuntime_Simple_TypeCAD,
    36 #ifdef Q_WS_X11
    37     UIActionIndexRuntime_Simple_TypeCABS,
    38 #endif /* Q_WS_X11 */
    39     UIActionIndexRuntime_Toggle_Pause,
    40     UIActionIndexRuntime_Simple_Reset,
    41     UIActionIndexRuntime_Simple_Shutdown,
    42     UIActionIndexRuntime_Simple_Close,
    43 
    44     /* 'View' menu actions: */
    45     UIActionIndexRuntime_Menu_View,
    46     UIActionIndexRuntime_Toggle_Fullscreen,
    47     UIActionIndexRuntime_Toggle_Seamless,
    48     UIActionIndexRuntime_Toggle_Scale,
    49     UIActionIndexRuntime_Toggle_GuestAutoresize,
    50     UIActionIndexRuntime_Simple_AdjustWindow,
    51 
    52     /* 'Devices' menu actions: */
    53     UIActionIndexRuntime_Menu_Devices,
    54     UIActionIndexRuntime_Menu_OpticalDevices,
    55     UIActionIndexRuntime_Menu_FloppyDevices,
    56     UIActionIndexRuntime_Menu_USBDevices,
    57     UIActionIndexRuntime_Menu_NetworkAdapters,
    58     UIActionIndexRuntime_Simple_NetworkAdaptersDialog,
    59     UIActionIndexRuntime_Menu_SharedFolders,
    60     UIActionIndexRuntime_Simple_SharedFoldersDialog,
    61     UIActionIndexRuntime_Toggle_VRDEServer,
    62     UIActionIndexRuntime_Simple_InstallGuestTools,
    63 
    64 #ifdef VBOX_WITH_DEBUGGER_GUI
    65     /* 'Debugger' menu actions: */
    66     UIActionIndexRuntime_Menu_Debug,
    67     UIActionIndexRuntime_Simple_Statistics,
    68     UIActionIndexRuntime_Simple_CommandLine,
    69     UIActionIndexRuntime_Toggle_Logging,
    70 #endif /* VBOX_WITH_DEBUGGER_GUI */
    71 
    72 #ifdef Q_WS_MAC
    73     /* 'Dock' menu actions: */
    74     UIActionIndexRuntime_Menu_Dock,
    75     UIActionIndexRuntime_Menu_DockSettings,
    76     UIActionIndexRuntime_Toggle_DockPreviewMonitor,
    77     UIActionIndexRuntime_Toggle_DockDisableMonitor,
    78 #endif /* Q_WS_MAC */
    79 
    8028    /* Maximum index: */
    81     UIActionIndexRuntime_Max
     29    UIActionIndexOffline_Max = UIActionIndex_Max + 1
    8230};
    8331
    8432/* Singleton runtime action pool: */
    85 class UIActionPoolRuntime : public UIActionPool
     33class UIActionPoolOffline : public UIActionPool
    8634{
    8735    Q_OBJECT;
     
    9543private:
    9644
     45    /* Constructor: */
     46    UIActionPoolOffline() : UIActionPool(UIActionPoolType_Offline) {}
     47
    9748    /* Virtual helping stuff: */
    9849    void createActions();
     
    10051};
    10152
    102 #endif // __UIActionsPoolRuntime_h__
     53#endif // __UIActionPoolOffline_h__
    10354
  • trunk/src/VBox/Frontends/VirtualBox/src/selector/VBoxSelectorWnd.cpp

    r38346 r38355  
    4242#include "UIDesktopServices.h"
    4343#include "UIGlobalSettingsExtension.h" /* extension pack installation */
     44#include "UIActionPoolOffline.h"
    4445
    4546#ifdef VBOX_GUI_WITH_SYSTRAY
     
    9394    , mDoneInaccessibleWarningOnce(false)
    9495{
     96    /* Create offline action pool: */
     97    UIActionPoolOffline::create();
     98
    9599    VBoxGlobalSettings settings = vboxGlobal().settings();
    96100
     
    183187        ":/vm_create_shortcut_16px.png", ":/vm_create_shortcut_disabled_16px.png"));
    184188
    185     mHelpActions.setup(this);
    186 
    187189    /* VM list toolbar */
    188190    mVMToolBar = new UIToolBar(this);
     
    329331            statusBar(), SLOT(clearMessage()));
    330332
    331     mHelpMenu = menuBar()->addMenu(QString::null);
    332     mHelpActions.addTo(mHelpMenu);
     333    /* Prepare help menu: */
     334    QMenu *pHelpMenu = gActionPool->action(UIActionIndex_Menu_Help)->menu();
     335    prepareMenuHelp(pHelpMenu);
     336    menuBar()->addMenu(pHelpMenu);
    333337
    334338#ifdef VBOX_GUI_WITH_SYSTRAY
     
    559563    /* Delete the items from our model */
    560564    mVMModel->clear();
     565
     566    /* Delete offline action pool: */
     567    UIActionPoolOffline::destroy();
    561568}
    562569
     
    12901297    mVmCreateShortcut->setShortcut(gSS->keySequence(UISelectorShortcuts::CreateVMAliasShortcut));
    12911298
    1292     mHelpActions.retranslateUi();
    1293 
    12941299#ifdef Q_WS_MAC
    12951300    mFileMenu->setTitle(tr("&File", "Mac OS X version"));
     
    12981303#endif /* !Q_WS_MAC */
    12991304    mVMMenu->setTitle(tr("&Machine"));
    1300     mHelpMenu->setTitle(tr("&Help"));
    13011305
    13021306#ifdef VBOX_GUI_WITH_SYSTRAY
     
    17241728}
    17251729
     1730void VBoxSelectorWnd::prepareMenuHelp(QMenu *pMenu)
     1731{
     1732    /* Do not touch if filled already: */
     1733    if (!pMenu->isEmpty())
     1734        return;
     1735
     1736    /* Help submenu: */
     1737    pMenu->addAction(gActionPool->action(UIActionIndex_Simple_Help));
     1738    pMenu->addAction(gActionPool->action(UIActionIndex_Simple_Web));
     1739
     1740    pMenu->addSeparator();
     1741
     1742    pMenu->addAction(gActionPool->action(UIActionIndex_Simple_ResetWarnings));
     1743
     1744    pMenu->addSeparator();
     1745
     1746#ifdef VBOX_WITH_REGISTRATION
     1747    pMenu->addAction(gActionPool->action(UIActionIndex_Simple_Register));
     1748#endif /* VBOX_WITH_REGISTRATION */
     1749
     1750    pMenu->addAction(gActionPool->action(UIActionIndex_Simple_Update));
     1751
     1752#ifndef Q_WS_MAC
     1753    pMenu->addSeparator();
     1754#endif /* !Q_WS_MAC */
     1755
     1756    pMenu->addAction(gActionPool->action(UIActionIndex_Simple_About));
     1757
     1758    /* Configure connections: */
     1759    VBoxGlobal::connect(gActionPool->action(UIActionIndex_Simple_Help), SIGNAL(triggered()),
     1760                        &msgCenter(), SLOT(sltShowHelpHelpDialog()));
     1761    VBoxGlobal::connect(gActionPool->action(UIActionIndex_Simple_Web), SIGNAL(triggered()),
     1762                        &msgCenter(), SLOT(sltShowHelpWebDialog()));
     1763    VBoxGlobal::connect(gActionPool->action(UIActionIndex_Simple_ResetWarnings), SIGNAL(triggered()),
     1764                        &msgCenter(), SLOT(sltResetSuppressedMessages()));
     1765#ifdef VBOX_WITH_REGISTRATION
     1766    VBoxGlobal::connect(gActionPool->action(UIActionIndex_Simple_Register), SIGNAL(triggered()),
     1767                        &vboxGlobal(), SLOT(showRegistrationDialog()));
     1768    VBoxGlobal::connect(gEDataEvents, SIGNAL(sigCanShowRegistrationDlg(bool)),
     1769                        gActionPool->action(UIActionIndex_Simple_Register), SLOT(setEnabled(bool)));
     1770#endif /* VBOX_WITH_REGISTRATION */
     1771    VBoxGlobal::connect(gActionPool->action(UIActionIndex_Simple_Update), SIGNAL(triggered()),
     1772                        &vboxGlobal(), SLOT(showUpdateDialog()));
     1773    VBoxGlobal::connect(gActionPool->action(UIActionIndex_Simple_About), SIGNAL(triggered()),
     1774                        &msgCenter(), SLOT(sltShowHelpAboutDialog()));
     1775}
     1776
  • trunk/src/VBox/Frontends/VirtualBox/src/selector/VBoxSelectorWnd.h

    r38311 r38355  
    2424#include "QIWithRetranslateUI.h"
    2525#include "VBoxGlobal.h"
    26 #include "VBoxHelpActions.h"
    2726#include "UIMessageCenter.h"
    2827
     
    141140private:
    142141
     142    /* Helping stuff: */
     143    void prepareMenuHelp(QMenu *pMenu);
     144
    143145    /* Main menus */
    144146    QMenu *mFileMenu;
    145147    QMenu *mVMMenu;
    146     QMenu *mHelpMenu;
    147148
    148149    /* Central splitter window */
     
    177178    QAction *mVmCreateShortcut;
    178179
    179     VBoxHelpActions mHelpActions;
    180 
    181180#ifdef VBOX_GUI_WITH_SYSTRAY
    182181    /* The systray icon */
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette