VirtualBox

Changeset 10167

Show
Ignore:
Timestamp:
07/03/08 19:09:23 (2 months ago)
Author:
vboxsync
Message:

Fe/Qt4: New VM&Global settings api based on one default class (+ui).
One interface for both Settings dialog & one interface for settings pages.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/VBox/Frontends/VirtualBox4/Makefile.kmk

    r10160 r10167  
    8787VBOX_PATH_QT4_SHARE      ?= $(VBOX_PATH_QT4) 
    8888 
    89 VBOX_MODULE_QT4     = QtCore QtGui  
    90 VBOX_DEFS_QT4       = QT_CORE_LIB QT_GUI_LIB  
     89VBOX_MODULE_QT4     = QtCore QtGui 
     90VBOX_DEFS_QT4       = QT_CORE_LIB QT_GUI_LIB 
    9191 
    9292ifeq ($(KBUILD_TARGET),darwin) 
     
    449449        include/QIMainDialog.h \ 
    450450        include/QIHelpButton.h \ 
     451        include/VBoxUtils.h \ 
    451452        include/VBoxGlobalSettings.h \ 
    452453        include/VBoxGlobal.h \ 
     
    471472        include/VBoxVMLogViewer.h \ 
    472473        include/VBoxDiskImageManagerDlg.h \ 
    473         include/VBoxVMSettingsUtils.h \ 
     474        include/VBoxSettingsUtils.h \ 
    474475        include/VBoxVMSettingsGeneral.h \ 
    475476        include/VBoxVMSettingsHD.h \ 
     
    483484        include/VBoxVMSettingsSF.h \ 
    484485        include/VBoxVMSettingsVRDP.h \ 
    485         include/VBoxVMSettingsDlg.h \ 
    486         include/VBoxGlobalSettingsGeneral.h \ 
    487         include/VBoxGlobalSettingsInput.h \ 
    488         include/VBoxGlobalSettingsLanguage.h \ 
    489         include/VBoxGlobalSettingsDlg.h 
     486        include/VBoxGLSettingsGeneral.h \ 
     487        include/VBoxGLSettingsInput.h \ 
     488        include/VBoxGLSettingsLanguage.h \ 
     489        include/VBoxSettingsDialog.h \ 
     490        include/VBoxSettingsDialogSpecific.h \ 
     491        include/VBoxSettingsPage.h 
    490492 
    491493# Sources containing local definitions of classes that use the Q_OBJECT macro 
     
    565567        src/VBoxVMSettingsSF.cpp \ 
    566568        src/VBoxVMSettingsVRDP.cpp \ 
    567         src/VBoxVMSettingsDlg.cpp \ 
    568         src/VBoxGlobalSettingsGeneral.cpp \ 
    569         src/VBoxGlobalSettingsInput.cpp \ 
    570         src/VBoxGlobalSettingsLanguage.cpp \ 
    571         src/VBoxGlobalSettingsDlg.cpp 
     569        src/VBoxGLSettingsGeneral.cpp \ 
     570        src/VBoxGLSettingsInput.cpp \ 
     571        src/VBoxGLSettingsLanguage.cpp \ 
     572        src/VBoxSettingsDialog.cpp \ 
     573        src/VBoxSettingsDialogSpecific.cpp 
    572574 
    573575ifeq ($(filter-out freebsd linux netbsd openbsd solaris,$(KBUILD_TARGET)),) # X11 
  • trunk/src/VBox/Frontends/VirtualBox4/VBoxUI.pro

    r10102 r10167  
    2828    ui/VBoxCloseVMDlg.ui \ 
    2929    ui/VBoxDiskImageManagerDlg.ui \ 
    30     ui/VBoxGlobalSettingsDlg.ui \ 
     30    ui/VBoxSettingsDialog.ui \ 
    3131    ui/VBoxGlobalSettingsGeneral.ui \ 
    3232    ui/VBoxGlobalSettingsInput.ui \ 
     
    4343    ui/VBoxVMSettingsAudio.ui \ 
    4444    ui/VBoxVMSettingsCD.ui \ 
    45     ui/VBoxVMSettingsDlg.ui \ 
    4645    ui/VBoxVMSettingsFD.ui \ 
    4746    ui/VBoxVMSettingsGeneral.ui \ 
  • trunk/src/VBox/Frontends/VirtualBox4/include/VBoxSettingsUtils.h

    r10112 r10167  
    22 * 
    33 * VBox frontends: Qt4 GUI ("VirtualBox"): 
    4  * VBoxVMSettingsUtils class declaration 
     4 * VBoxSettingsUtils class declaration 
    55 */ 
    66 
     
    2121 */ 
    2222 
    23 #ifndef __VBoxVMSettingsUtils_h__ 
    24 #define __VBoxVMSettingsUtils_h__ 
     23#ifndef __VBoxSettingsUtils_h__ 
     24#define __VBoxSettingsUtils_h__ 
    2525 
    2626#include <VBoxGlobal.h> 
     
    4141{ 
    4242    /* mTwSelector column numbers */ 
    43     listView_Category = 0, 
    44     listView_Id = 1, 
    45     listView_Link = 2, 
     43    treeWidget_Category = 0, 
     44    treeWidget_Id = 1, 
     45    treeWidget_Link = 2, 
     46 
    4647    /* mTwUSBFilters column numbers */ 
    47     lvUSBFilters_Name = 0, 
     48    twUSBFilters_Name = 0, 
    4849}; 
    4950 
     
    237238        layout->addWidget (&mIcon); 
    238239        layout->addWidget (&mLabel); 
     240        setVisible (false); 
    239241    } 
    240242 
     
    248250}; 
    249251 
    250 #endif // __VBoxVMSettingsUtils_h__ 
    251  
     252#endif // __VBoxSettingsUtils_h__ 
     253 
  • trunk/src/VBox/Frontends/VirtualBox4/include/VBoxVMSettingsAudio.h

    r9751 r10167  
    2424#define __VBoxVMSettingsAudio_h__ 
    2525 
     26#include "VBoxSettingsPage.h" 
    2627#include "VBoxVMSettingsAudio.gen.h" 
    27 #include "QIWithRetranslateUI.h" 
    2828#include "COMDefs.h" 
    2929 
    30 class VBoxVMSettingsAudio : public QIWithRetranslateUI<QWidget>
     30class VBoxVMSettingsAudio : public VBoxSettingsPage
    3131                            public Ui::VBoxVMSettingsAudio 
    3232{ 
     
    3535public: 
    3636 
    37     VBoxVMSettingsAudio (QWidget *aParent); 
     37    VBoxVMSettingsAudio(); 
    3838 
    39     static void getFromMachine (const CMachine &aMachine, 
    40                                 QWidget *aPage); 
    41     static void putBackToMachine(); 
     39protected: 
    4240 
    4341    void getFrom (const CMachine &aMachine); 
    4442    void putBackTo(); 
    4543 
    46 protected: 
     44    void setOrderAfter (QWidget *aWidget); 
    4745 
    4846    void retranslateUi(); 
     
    5250    void prepareComboboxes(); 
    5351 
    54     /* Private member vars */ 
    55     static VBoxVMSettingsAudio *mSettings; 
    56  
    5752    CMachine mMachine; 
    5853}; 
  • trunk/src/VBox/Frontends/VirtualBox4/include/VBoxVMSettingsCD.h

    r9751 r10167  
    2424#define __VBoxVMSettingsCD_h__ 
    2525 
     26#include "VBoxSettingsPage.h" 
    2627#include "VBoxVMSettingsCD.gen.h" 
    27 #include "QIWithRetranslateUI.h" 
    2828#include "COMDefs.h" 
    2929 
    30 class VBoxVMSettingsDlg; 
    31 class QIWidgetValidator; 
    32  
    33 class VBoxVMSettingsCD : public QIWithRetranslateUI<QWidget>, 
     30class VBoxVMSettingsCD : public VBoxSettingsPage, 
    3431                         public Ui::VBoxVMSettingsCD 
    3532{ 
     
    3835public: 
    3936 
    40     VBoxVMSettingsCD (QWidget *aParent, VBoxVMSettingsDlg *aDlg, 
    41                       const QString &aPath); 
    42  
    43     static void getFromMachine (const CMachine &aMachine, 
    44                                 QWidget *aPage, 
    45                                 VBoxVMSettingsDlg *aDlg, 
    46                                 const QString &aPath); 
    47     static void putBackToMachine(); 
    48     static bool revalidate (QString &aWarning); 
    49  
    50     void getFrom (const CMachine &aMachine); 
    51     void putBackTo(); 
    52     bool validate (QString &aWarning); 
     37    VBoxVMSettingsCD(); 
    5338 
    5439signals: 
     
    5843protected: 
    5944 
     45    void getFrom (const CMachine &aMachine); 
     46    void putBackTo(); 
     47 
     48    void setValidator (QIWidgetValidator *aVal); 
     49    bool revalidate (QString &aWarning, QString &aTitle); 
     50 
     51    void setOrderAfter (QWidget *aWidget); 
     52 
    6053    void retranslateUi(); 
    6154 
    6255private slots: 
    6356 
    64     void onMediaChanged(); 
     57    void onGbChange (bool aSwitchedOn); 
     58    void onRbChange(); 
     59    void onCbChange(); 
    6560    void showImageManager(); 
    6661 
    6762private: 
    68  
    69     static VBoxVMSettingsCD *mSettings; 
    7063 
    7164    CMachine mMachine; 
  • trunk/src/VBox/Frontends/VirtualBox4/include/VBoxVMSettingsFD.h

    r9751 r10167  
    2424#define __VBoxVMSettingsFD_h__ 
    2525 
     26#include "VBoxSettingsPage.h" 
    2627#include "VBoxVMSettingsFD.gen.h" 
    27 #include "QIWithRetranslateUI.h" 
    2828#include "COMDefs.h" 
    2929 
    30 class VBoxVMSettingsDlg; 
    31 class QIWidgetValidator; 
    32  
    33 class VBoxVMSettingsFD : public QIWithRetranslateUI<QWidget>, 
     30class VBoxVMSettingsFD : public VBoxSettingsPage, 
    3431                         public Ui::VBoxVMSettingsFD 
    3532{ 
     
    3835public: 
    3936 
    40     VBoxVMSettingsFD (QWidget *aParent, VBoxVMSettingsDlg *aDlg, 
    41                       const QString &aPath); 
    42  
    43     static void getFromMachine (const CMachine &aMachine, 
    44                                 QWidget *aPage, 
    45                                 VBoxVMSettingsDlg *aDlg, 
    46                                 const QString &aPath); 
    47     static void putBackToMachine(); 
    48     static bool revalidate (QString &aWarning); 
    49  
    50     void getFrom (const CMachine &aMachine); 
    51     void putBackTo(); 
    52     bool validate (QString &aWarning); 
     37    VBoxVMSettingsFD(); 
    5338 
    5439signals: 
     
    5843protected: 
    5944 
     45    void getFrom (const CMachine &aMachine); 
     46    void putBackTo(); 
     47 
     48    void setValidator (QIWidgetValidator *aVal); 
     49    bool revalidate (QString &aWarning, QString &aTitle); 
     50 
     51    void setOrderAfter (QWidget *aWidget); 
     52 
    6053    void retranslateUi(); 
    6154 
    6255private slots: 
    6356 
    64     void onMediaChanged(); 
     57    void onGbChange (bool aSwitchedOn); 
     58    void onRbChange(); 
     59    void onCbChange(); 
    6560    void showImageManager(); 
    6661 
    6762private: 
    68  
    69     static VBoxVMSettingsFD *mSettings; 
    7063 
    7164    CMachine mMachine; 
  • trunk/src/VBox/Frontends/VirtualBox4/include/VBoxVMSettingsGeneral.h

    r9751 r10167  
    2424#define __VBoxVMSettingsGeneral_h__ 
    2525 
     26#include "VBoxSettingsPage.h" 
    2627#include "VBoxVMSettingsGeneral.gen.h" 
    27 #include "QIWithRetranslateUI.h" 
    2828#include "COMDefs.h" 
    2929 
    30 class VBoxVMSettingsDlg; 
    31 class QIWidgetValidator; 
    32  
    33 class VBoxVMSettingsGeneral : public QIWithRetranslateUI<QWidget>, 
     30class VBoxVMSettingsGeneral : public VBoxSettingsPage, 
    3431                              public Ui::VBoxVMSettingsGeneral 
    3532{ 
     
    3835public: 
    3936 
    40     VBoxVMSettingsGeneral (QWidget *aParent, VBoxVMSettingsDlg *aDlg, 
    41                            const QString &aPath); 
    42  
    43     static void getFromMachine (const CMachine &aMachine, 
    44                                 QWidget *aPage, 
    45                                 VBoxVMSettingsDlg *aDlg, 
    46                                 const QString &aPath); 
    47     static void putBackToMachine(); 
    48  
    49     void getFrom (const CMachine &aMachine); 
    50     void putBackTo(); 
     37    VBoxVMSettingsGeneral(); 
    5138 
    5239signals: 
     
    5542 
    5643protected: 
     44 
     45    void getFrom (const CMachine &aMachine); 
     46    void putBackTo(); 
     47 
     48    void setOrderAfter (QWidget *aWidget); 
    5749 
    5850    void retranslateUi(); 
     
    7870    void adjustBootOrderTWSize (); 
    7971 
    80     static VBoxVMSettingsGeneral *mSettings; 
     72    bool eventFilter (QObject *aObject, QEvent *aEvent); 
     73    void showEvent (QShowEvent *aEvent); 
    8174 
    82     bool eventFilter (QObject *aObject, QEvent *aEvent); 
    83  
    84     QIWidgetValidator *mValidator; 
    8575    CMachine mMachine; 
    8676}; 
  • trunk/src/VBox/Frontends/VirtualBox4/include/VBoxVMSettingsHD.h

    r9751 r10167  
    2424#define __VBoxVMSettingsHD_h__ 
    2525 
     26#include "VBoxSettingsPage.h" 
    2627#include "VBoxVMSettingsHD.gen.h" 
    2728#include "COMDefs.h" 
    28 #include "QIWithRetranslateUI.h" 
    2929#include "VBoxMediaComboBox.h" 
    3030 
    31 /* Qt includes */ 
    3231#include <QComboBox> 
    33  
    34 class VBoxVMSettingsDlg; 
    35 class QIWidgetValidator; 
    3632 
    3733/** Register type to store slot data */ 
     
    245241 
    246242    static HDSlotUniquizer* instance (QWidget *aParent = 0, 
    247                                       HDItemsModel *aWatched = 0); 
     243                                      HDItemsModel *aWatched = 0, 
     244                                      const CMachine &aMachine = CMachine()); 
    248245 
    249246    QList<HDSltValue> list (const HDSltValue &aIncluding, bool aFilter = true); 
     
    256253    } 
    257254 
     255    const CMachine& machine() const { return mMachine; } 
     256 
    258257protected: 
    259258 
    260     HDSlotUniquizer (QWidget *aParent, HDItemsModel *aWatched); 
     259    HDSlotUniquizer (QWidget *aParent, HDItemsModel *aWatched, 
     260                     const CMachine &aMachine); 
    261261    virtual ~HDSlotUniquizer(); 
    262262 
     
    272272    QList<HDSltValue> mIDEList; 
    273273    QList<HDSltValue> mSATAList; 
     274    const CMachine &mMachine; 
    274275}; 
    275276 
    276277/** QWidget class reimplementation used as hard disks settings */ 
    277 class VBoxVMSettingsHD : public QIWithRetranslateUI<QWidget>
     278class VBoxVMSettingsHD : public VBoxSettingsPage
    278279                         public Ui::VBoxVMSettingsHD 
    279280{ 
     
    282283public: 
    283284 
    284     VBoxVMSettingsHD (QWidget *aParent, VBoxVMSettingsDlg *aDlg, 
    285                       const QString &aPath); 
    286    ~VBoxVMSettingsHD(); 
    287  
    288     static void getFromMachine (const CMachine &aMachine, 
    289                                 QWidget *aPage, 
    290                                 VBoxVMSettingsDlg *aDlg, 
    291                                 const QString &aPath); 
    292     static void putBackToMachine(); 
    293     static bool revalidate (QString &aWarning); 
    294  
    295     bool eventFilter (QObject *aObj, QEvent *aEvent); 
    296  
    297     static CMachine mMachine; 
     285    VBoxVMSettingsHD(); 
    298286 
    299287signals: 
     
    303291protected: 
    304292 
     293    void getFrom (const CMachine &aMachine); 
     294    void putBackTo(); 
     295 
     296    void setValidator (QIWidgetValidator *aVal); 
     297    bool revalidate (QString &aWarning, QString &aTitle); 
     298 
     299    void setOrderAfter (QWidget *aWidget); 
     300 
    305301    void retranslateUi(); 
    306  
    307     void getFrom(); 
    308     void putBackTo(); 
    309     bool validate (QString &aWarning); 
    310302 
    311303private slots: 
     
    321313private: 
    322314 
     315    bool eventFilter (QObject *aObj, QEvent *aEvent); 
     316 
    323317    int maxNameLength() const; 
    324318    void showEvent (QShowEvent *aEvent); 
    325319 
    326     static VBoxVMSettingsHD *mSettings; 
    327  
     320    CMachine mMachine; 
    328321    QIWidgetValidator *mValidator; 
    329322    HDItemsModel *mModel; 
  • trunk/src/VBox/Frontends/VirtualBox4/include/VBoxVMSettingsNetwork.h

    r9951 r10167  
    2424#define __VBoxVMSettingsNetwork_h__ 
    2525 
     26#include "VBoxSettingsPage.h" 
    2627#include "VBoxVMSettingsNetwork.gen.h" 
    27 #include "QIWithRetranslateUI.h" 
    2828#include "COMDefs.h" 
    2929 
    30 class QIWidgetValidator; 
    31 class VBoxVMSettingsDlg; 
    3230#ifdef Q_WS_WIN 
    3331class QTreeWidget; 
     
    5452 
    5553    void setValidator (QIWidgetValidator *aValidator); 
     54 
     55    QWidget* setOrderAfter (QWidget *aAfter); 
     56 
    5657    void setNetworksList (const QStringList &aList); 
    5758 
     
    133134 * QWidget sub-class which represents network settings page itself. 
    134135 */ 
    135 class VBoxVMSettingsNetworkPage : public QIWithRetranslateUI<QWidget> 
     136class VBoxVMSettingsNetworkPage : public VBoxSettingsPage 
    136137{ 
    137138    Q_OBJECT; 
     
    139140public: 
    140141 
    141     static void getFromMachine (const CMachine &aMachine, 
    142                                 QWidget *aPage, 
    143                                 VBoxVMSettingsDlg *aDlg, 
    144                                 const QString &aPath); 
    145     static void putBackToMachine(); 
    146     static bool revalidate (QString &aWarning, QString &aTitle); 
     142    VBoxVMSettingsNetworkPage(); 
    147143 
    148 protected slots: 
     144protected: 
     145 
     146    void getFrom (const CMachine &aMachine); 
     147    void putBackTo(); 
     148 
     149    void setValidator (QIWidgetValidator *aVal); 
     150    bool revalidate (QString &aWarning, QString &aTitle); 
     151 
     152    void retranslateUi(); 
     153 
     154private slots: 
    149155 
    150156    void updateNetworksList(); 
     
    154160#endif 
    155161 
    156 protected: 
    157  
    158     VBoxVMSettingsNetworkPage (QWidget *aParent); 
    159  
    160     void getFrom (const CMachine &aMachine, 
    161                   VBoxVMSettingsDlg *aDlg, 
    162                   const QString &aPath); 
    163     void putBackTo(); 
    164     bool validate (QString &aWarning, QString &aTitle); 
    165  
    166     void retranslateUi(); 
     162private: 
    167163 
    168164    void populateNetworksList(); 
    169  
    170     static VBoxVMSettingsNetworkPage *mSettings; 
    171165 
    172166    /* Widgets */ 
     
    175169    VBoxNIList *mNIList; 
    176170#endif 
     171 
     172    /* Widget Validator*/ 
     173    QIWidgetValidator *mValidator; 
    177174 
    178175    /* Lists */ 
  • trunk/src/VBox/Frontends/VirtualBox4/include/VBoxVMSettingsParallel.h

    r9751 r10167  
    2424#define __VBoxVMSettingsParallel_h__ 
    2525 
     26#include "VBoxSettingsPage.h" 
    2627#include "VBoxVMSettingsParallel.gen.h" 
    27 #include "QIWithRetranslateUI.h" 
    2828#include "COMDefs.h" 
    29  
    30 class VBoxVMSettingsDlg; 
    3129 
    3230class VBoxVMSettingsParallel : public QIWithRetranslateUI<QWidget>, 
     
    3735public: 
    3836 
    39     VBoxVMSettingsParallel (QWidget *aParent = NULL); 
     37    VBoxVMSettingsParallel(); 
    4038 
    41     static void getFromMachine (const CMachine &aMachine, 
    42                                 QWidget *aPage, 
    43                                 VBoxVMSettingsDlg *aDlg, 
    44                                 const QString &aPath); 
     39    void getFromPort (const CParallelPort &aPort); 
     40    void putBackToPort(); 
    4541 
    46     static void putBackToMachine(); 
     42    void setValidator (QIWidgetValidator *aVal); 
    4743 
    48     static bool revalidate (QString &aWarning, QString &aTitle); 
     44    QWidget* setOrderAfter (QWidget *aAfter); 
     45 
     46    QString pageTitle() const; 
     47    bool isUserDefined(); 
    4948 
    5049protected: 
     
    5958private: 
    6059 
    61     void getFromPort (const CParallelPort &aPort)
    62     void putBackToPort()
    63     bool isUserDefined()
     60    QIWidgetValidator *mValidator
     61    CParallelPort mPort
     62}
    6463 
    65     QString pageTitle() const; 
     64class VBoxVMSettingsParallelPage : public VBoxSettingsPage 
     65
     66    Q_OBJECT; 
    6667 
    67     static QTabWidget *mTabWidget; 
     68public: 
    6869 
    69     CParallelPort mPort; 
     70    VBoxVMSettingsParallelPage(); 
     71 
     72protected: 
     73 
     74    void getFrom (const CMachine &aMachine); 
     75    void putBackTo(); 
     76 
     77    void setValidator (QIWidgetValidator *aVal); 
     78    bool revalidate (QString &aWarning, QString &aTitle); 
     79 
     80    void retranslateUi(); 
     81 
     82private: 
     83 
     84    QIWidgetValidator *mValidator; 
     85    QTabWidget *mTabWidget; 
    7086}; 
    7187 
  • trunk/src/VBox/Frontends/VirtualBox4/include/VBoxVMSettingsSF.h

    r9729 r10167  
    2424#define __VBoxVMSettingsSF_h__ 
    2525 
     26#include "VBoxSettingsPage.h" 
    2627#include "VBoxVMSettingsSF.gen.h" 
    27 #include "QIWithRetranslateUI.h" 
    2828 
    29 /* Qt includes */ 
    3029#include <QDialog> 
    3130 
    32 class VBoxVMSettingsDlg; 
    3331class SFTreeViewItem; 
    3432class QIDialogButtonBox; 
     
    4846typedef QList<SFolderName> SFoldersNameList; 
    4947 
    50 class VBoxVMSettingsSF : public QIWithRetranslateUI<QWidget>
     48class VBoxVMSettingsSF : public VBoxSettingsPage
    5149                         public Ui::VBoxVMSettingsSF 
    5250{ 
     
    5553public: 
    5654 
    57     VBoxVMSettingsSF (QWidget *aParent = 0, int aType = WrongType); 
    58  
    59     static void getFromMachineEx (const CMachine &aMachine, 
    60                                   QWidget *aParent, 
    61                                   VBoxVMSettingsDlg *aDlg); 
    62     static void putBackToMachineEx(); 
    63  
    64     int dialogType() { return mDialogType; } 
     55    VBoxVMSettingsSF (int aType = WrongType, QWidget *aParent = 0); 
    6556 
    6657    void getFromGlobal(); 
     
    7263    void putBackToConsole(); 
    7364 
     65    int dialogType() { return mDialogType; } 
     66 
    7467protected: 
     68 
     69    void getFrom (const CMachine &aMachine); 
     70    void putBackTo(); 
     71 
     72    void setOrderAfter (QWidget *aWidget); 
    7573 
    7674    void retranslateUi(); 
     
    108106    SFoldersNameList usedList (bool aIncludeSelected); 
    109107 
    110     static VBoxVMSettingsSF *mSettings; 
    111  
    112108    int       mDialogType; 
    113109    QMenu    *mMenu; 
     
    138134                     bool aEnableSelector /* for "permanent" checkbox */, 
    139135                     const SFoldersNameList &aUsedNames); 
    140     ~VBoxAddSFDialog() {} 
     136   ~VBoxAddSFDialog() {} 
    141137 
    142138    QString getPath(); 
  • trunk/src/VBox/Frontends/VirtualBox4/include/VBoxVMSettingsSerial.h

    r9751 r10167  
    2424#define __VBoxVMSettingsSerial_h__ 
    2525 
     26#include "VBoxSettingsPage.h" 
    2627#include "VBoxVMSettingsSerial.gen.h" 
    27 #include "QIWithRetranslateUI.h" 
    2828#include "COMDefs.h" 
    29  
    30 class VBoxVMSettingsDlg; 
    3129 
    3230class VBoxVMSettingsSerial : public QIWithRetranslateUI<QWidget>, 
     
    3533    Q_OBJECT; 
    3634 
     35public: 
    3736 
    38 public: 
    39     VBoxVMSettingsSerial (QWidget* aParent = NULL); 
     37    VBoxVMSettingsSerial(); 
    4038 
    41     static void getFromMachine (const CMachine &aMachine, 
    42                                 QWidget *aPage, 
    43                                 VBoxVMSettingsDlg *aDlg, 
    44                                 const QString &aPath); 
     39    void getFromPort (const CSerialPort &aPort); 
     40    void putBackToPort(); 
    4541 
    46     static void putBackToMachine(); 
     42    void setValidator (QIWidgetValidator *aVal); 
    4743 
    48     static bool revalidate (QString &aWarning, QString &aTitle); 
     44    QWidget* setOrderAfter (QWidget *aAfter); 
     45 
     46    QString pageTitle() const; 
     47    bool isUserDefined(); 
    4948 
    5049protected: 
     
    6059private: 
    6160 
    62     QString pageTitle() const; 
     61    QIWidgetValidator *mValidator; 
     62    CSerialPort mPort; 
     63}; 
    6364 
    64     void getFromPort (const CSerialPort &aPort); 
    65     void putBackToPort(); 
    66     bool isUserDefined()
     65class VBoxVMSettingsSerialPage : public VBoxSettingsPage 
     66
     67    Q_OBJECT
    6768 
    68     static QTabWidget *mTabWidget; 
     69public: 
    6970 
    70     CSerialPort mPort; 
     71    VBoxVMSettingsSerialPage(); 
     72 
     73protected: 
     74 
     75    void getFrom (const CMachine &aMachine); 
     76    void putBackTo(); 
     77 
     78    void setValidator (QIWidgetValidator *aVal); 
     79    bool revalidate (QString &aWarning, QString &aTitle); 
     80 
     81    void retranslateUi(); 
     82 
     83private: 
     84 
     85    QIWidgetValidator *mValidator; 
     86    QTabWidget *mTabWidget; 
    7187}; 
    7288 
  • trunk/src/VBox/Frontends/VirtualBox4/include/VBoxVMSettingsUSB.h

    r9889 r10167  
    2424#define __VBoxVMSettingsUSB_h__ 
    2525 
     26#include "VBoxSettingsPage.h" 
    2627#include "VBoxVMSettingsUSB.gen.h" 
    27 #include "QIWithRetranslateUI.h" 
    2828#include "COMDefs.h" 
    2929 
    30 class VBoxGlobalSettingsDlg; 
    31 class VBoxVMSettingsDlg; 
    32 class QIWidgetValidator; 
    3330class VBoxUSBMenu; 
    3431 
    35 class VBoxVMSettingsUSB : public QIWithRetranslateUI<QWidget>
     32class VBoxVMSettingsUSB : public VBoxSettingsPage
    3633                          public Ui::VBoxVMSettingsUSB 
    3734{ 
     
    4744    }; 
    4845 
    49     static void getFrom (QWidget *aPage, 
    50                          VBoxGlobalSettingsDlg *aDlg, 
    51                          const QString &aPath); 
    52     static void getFrom (const CMachine &aMachine, 
    53                          QWidget *aPage, 
    54                          VBoxVMSettingsDlg *aDlg, 
    55                          const QString &aPath); 
    56     static void putBackTo(); 
     46    VBoxVMSettingsUSB (FilterType aType); 
    5747 
    5848protected: 
    5949 
    60     VBoxVMSettingsUSB (QWidget *aParent
    61                        FilterType aType, 
    62                        QWidget *aDlg
    63                        const QString &aPath); 
     50    void getFrom (const CSystemProperties &aProps
     51                  const VBoxGlobalSettings &aGs); 
     52    void putBackTo (CSystemProperties &aProps
     53                    VBoxGlobalSettings &aGs); 
    6454 
    65    ~VBoxVMSettingsUSB(); 
     55    void getFrom (const CMachine &aMachine); 
     56    void putBackTo(); 
    6657 
    67     void getFromHost(); 
    68     void putBackToHost(); 
     58    void setValidator (QIWidgetValidator *aVal); 
    6959 
    70     void getFromMachine (const CMachine &aMachine); 
    71     void putBackToMachine(); 
     60    void setOrderAfter (QWidget *aWidget); 
    7261 
    7362    void retranslateUi(); 
    74  
    75     FilterType mType; 
    7663 
    7764private slots: 
     
    9380    void addUSBFilter (const CUSBDeviceFilter &aFilter, bool isNew); 
    9481 
    95     static VBoxVMSettingsUSB *mSettings; 
    96  
    9782    CMachine mMachine; 
    9883    QIWidgetValidator *mValidator; 
     84    FilterType mType; 
    9985    QAction *mNewAction; 
    10086    QAction *mAddAction; 
  • trunk/src/VBox/Frontends/VirtualBox4/include/VBoxVMSettingsVRDP.h

    r9751 r10167  
    2424#define __VBoxVMSettingsVRDP_h__ 
    2525 
     26#include "VBoxSettingsPage.h" 
    2627#include "VBoxVMSettingsVRDP.gen.h" 
    27 #include "QIWithRetranslateUI.h" 
    2828#include "COMDefs.h" 
    2929 
    30 class VBoxVMSettingsDlg; 
    31 class QIWidgetValidator; 
    32  
    33 class VBoxVMSettingsVRDP : public QIWithRetranslateUI<QWidget>, 
     30class VBoxVMSettingsVRDP : public VBoxSettingsPage, 
    3431                           public Ui::VBoxVMSettingsVRDP 
    3532{ 
     
    3835public: 
    3936 
    40     VBoxVMSettingsVRDP (QWidget *aParent, VBoxVMSettingsDlg *aDlg, 
    41                         const QString &aPath); 
     37    VBoxVMSettingsVRDP(); 
    4238 
    43     static void getFromMachine (const CMachine &aMachine, 
    44                                 QWidget *aPage, 
    45                                 VBoxVMSettingsDlg *aDlg, 
    46                                 const QString &aPath); 
    47     static void putBackToMachine(); 
     39protected: 
    4840 
    4941    void getFrom (const CMachine &aMachine); 
    5042    void putBackTo(); 
    5143 
    52 protected: 
     44    void setValidator (QIWidgetValidator *aVal); 
     45 
     46    void setOrderAfter (QWidget *aWidget); 
    5347 
    5448    void retranslateUi(); 
    5549 
    5650private: 
    57  
    58     static VBoxVMSettingsVRDP *mSettings; 
    5951 
    6052    CMachine mMachine; 
  • trunk/src/VBox/Frontends/VirtualBox4/src/VBoxConsoleWnd.cpp

    <
    r10166 r10167  
    35183518 
    35193519    /* Setup settings layout */ 
    3520     mSettings = new VBoxVMSettingsSF (this, MachineType | ConsoleType); 
     3520    mSettings = new VBoxVMSettingsSF (MachineType | ConsoleType, this); 
    35213521    mSettings->getFromConsole (aSession.GetConsole()); 
    35223522    mSettings->getFromMachine (aSession.GetMachine());