VirtualBox

Changeset 9751 in vbox


Ignore:
Timestamp:
Jun 17, 2008 10:07:14 AM (17 years ago)
Author:
vboxsync
Message:

FE/Qt4: Use QIWidthRetranslateUI at all places.

Location:
trunk/src/VBox/Frontends/VirtualBox4
Files:
24 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox4/include/QIWidgetValidator.h

    r8170 r9751  
    4545    bool isValid() const;
    4646    void rescan();
     47
     48    void setCaption (const QString& aCaption) { mCaption = aCaption; }
     49    QString caption() const { return mCaption; }
    4750
    4851    QString warningText() const;
  • trunk/src/VBox/Frontends/VirtualBox4/include/VBoxVMSettingsAudio.h

    r9729 r9751  
    2525
    2626#include "VBoxVMSettingsAudio.gen.h"
     27#include "QIWithRetranslateUI.h"
    2728#include "COMDefs.h"
    2829
    29 class VBoxVMSettingsAudio : public QWidget, public Ui::VBoxVMSettingsAudio
     30class VBoxVMSettingsAudio : public QIWithRetranslateUI<QWidget>,
     31                            public Ui::VBoxVMSettingsAudio
    3032{
    3133    Q_OBJECT;
     
    4244    void putBackTo();
    4345
     46protected:
     47
     48    void retranslateUi();
     49
    4450private:
    4551
     52    void prepareComboboxes();
     53
     54    /* Private member vars */
    4655    static VBoxVMSettingsAudio *mSettings;
    4756
  • trunk/src/VBox/Frontends/VirtualBox4/include/VBoxVMSettingsCD.h

    r9729 r9751  
    2525
    2626#include "VBoxVMSettingsCD.gen.h"
     27#include "QIWithRetranslateUI.h"
    2728#include "COMDefs.h"
    2829
     
    3031class QIWidgetValidator;
    3132
    32 class VBoxVMSettingsCD : public QWidget,
     33class VBoxVMSettingsCD : public QIWithRetranslateUI<QWidget>,
    3334                         public Ui::VBoxVMSettingsCD
    3435{
     
    5556    void cdChanged();
    5657
     58protected:
     59
     60    void retranslateUi();
     61
    5762private slots:
    5863
  • trunk/src/VBox/Frontends/VirtualBox4/include/VBoxVMSettingsDlg.h

    r9688 r9751  
    2626#include "VBoxVMSettingsDlg.gen.h"
    2727#include "QIMainDialog.h"
     28#include "QIWithRetranslateUI.h"
    2829#include "COMDefs.h"
    2930
     
    3536class QWidgetStack;
    3637
    37 class VBoxVMSettingsDlg : public QIMainDialog,
     38class VBoxVMSettingsDlg : public QIWithRetranslateUI<QIMainDialog>,
    3839                          public Ui::VBoxVMSettingsDlg
    3940{
    40     Q_OBJECT
     41    Q_OBJECT;
    4142
    4243public:
     
    4748    void getFromMachine (const CMachine &aMachine);
    4849    COMResult putBackToMachine();
     50
     51protected:
     52
     53    void retranslateUi();
    4954
    5055private slots:
     
    6772    void updateMediaShortcuts();
    6873
     74    QString dialogTitle() const;
     75
    6976    /* Common */
    7077    CMachine mMachine;
  • trunk/src/VBox/Frontends/VirtualBox4/include/VBoxVMSettingsFD.h

    r9729 r9751  
    2525
    2626#include "VBoxVMSettingsFD.gen.h"
     27#include "QIWithRetranslateUI.h"
    2728#include "COMDefs.h"
    2829
     
    3031class QIWidgetValidator;
    3132
    32 class VBoxVMSettingsFD : public QWidget,
     33class VBoxVMSettingsFD : public QIWithRetranslateUI<QWidget>,
    3334                         public Ui::VBoxVMSettingsFD
    3435{
     
    5556    void fdChanged();
    5657
     58protected:
     59
     60    void retranslateUi();
     61
    5762private slots:
    5863
  • trunk/src/VBox/Frontends/VirtualBox4/include/VBoxVMSettingsGeneral.h

    r9729 r9751  
    2525
    2626#include "VBoxVMSettingsGeneral.gen.h"
     27#include "QIWithRetranslateUI.h"
    2728#include "COMDefs.h"
    2829
     
    3031class QIWidgetValidator;
    3132
    32 class VBoxVMSettingsGeneral : public QWidget,
     33class VBoxVMSettingsGeneral : public QIWithRetranslateUI<QWidget>,
    3334                              public Ui::VBoxVMSettingsGeneral
    3435{
     
    5354    void tableChanged();
    5455
     56protected:
     57
     58    void retranslateUi();
     59
    5560private slots:
    5661
     
    7176private:
    7277
     78    void adjustBootOrderTWSize ();
     79
    7380    static VBoxVMSettingsGeneral *mSettings;
    7481
  • trunk/src/VBox/Frontends/VirtualBox4/include/VBoxVMSettingsHD.h

    r9729 r9751  
    2626#include "VBoxVMSettingsHD.gen.h"
    2727#include "COMDefs.h"
     28#include "QIWithRetranslateUI.h"
    2829#include "VBoxMediaComboBox.h"
    2930
     
    274275
    275276/** QWidget class reimplementation used as hard disks settings */
    276 class VBoxVMSettingsHD : public QWidget,
     277class VBoxVMSettingsHD : public QIWithRetranslateUI<QWidget>,
    277278                         public Ui::VBoxVMSettingsHD
    278279{
     
    302303protected:
    303304
     305    void retranslateUi();
     306
    304307    void getFrom();
    305308    void putBackTo();
  • trunk/src/VBox/Frontends/VirtualBox4/include/VBoxVMSettingsNetwork.h

    r9729 r9751  
    2525
    2626#include "VBoxVMSettingsNetwork.gen.h"
     27#include "QIWithRetranslateUI.h"
    2728#include "COMDefs.h"
    2829
     
    3031class QIWidgetValidator;
    3132
    32 class VBoxVMSettingsNetwork : public QWidget,
     33class VBoxVMSettingsNetwork : public QIWithRetranslateUI<QWidget>,
    3334                              public Ui::VBoxVMSettingsNetwork
    3435{
     
    3738public:
    3839
    39     VBoxVMSettingsNetwork();
     40    VBoxVMSettingsNetwork (QWidget *aParent = NULL);
    4041
    4142    static void getFromMachine (const CMachine &aMachine,
     
    5253
    5354    void setValidator (QIWidgetValidator *aValidator);
     55
     56protected:
     57
     58    void retranslateUi();
    5459
    5560private slots:
     
    7075
    7176private:
     77
     78    QString pageTitle() const;
     79    void prepareComboboxes();
    7280
    7381    static void prepareListNetworks();
  • trunk/src/VBox/Frontends/VirtualBox4/include/VBoxVMSettingsParallel.h

    r9729 r9751  
    2525
    2626#include "VBoxVMSettingsParallel.gen.h"
     27#include "QIWithRetranslateUI.h"
    2728#include "COMDefs.h"
    2829
    2930class VBoxVMSettingsDlg;
    3031
    31 class VBoxVMSettingsParallel : public QWidget,
     32class VBoxVMSettingsParallel : public QIWithRetranslateUI<QWidget>,
    3233                               public Ui::VBoxVMSettingsParallel
    3334{
     
    3637public:
    3738
    38     VBoxVMSettingsParallel();
     39    VBoxVMSettingsParallel (QWidget *aParent = NULL);
    3940
    4041    static void getFromMachine (const CMachine &aMachine,
     
    4647
    4748    static bool revalidate (QString &aWarning, QString &aTitle);
     49
     50protected:
     51
     52    void retranslateUi();
    4853
    4954private slots:
     
    5863    bool isUserDefined();
    5964
     65    QString pageTitle() const;
     66
    6067    static QTabWidget *mTabWidget;
    6168
  • trunk/src/VBox/Frontends/VirtualBox4/include/VBoxVMSettingsSerial.h

    r9729 r9751  
    2525
    2626#include "VBoxVMSettingsSerial.gen.h"
     27#include "QIWithRetranslateUI.h"
    2728#include "COMDefs.h"
    2829
    2930class VBoxVMSettingsDlg;
    3031
    31 class VBoxVMSettingsSerial : public QWidget,
     32class VBoxVMSettingsSerial : public QIWithRetranslateUI<QWidget>,
    3233                             public Ui::VBoxVMSettingsSerial
    3334{
    3435    Q_OBJECT;
    3536
     37
    3638public:
    37 
    38     VBoxVMSettingsSerial();
     39    VBoxVMSettingsSerial (QWidget* aParent = NULL);
    3940
    4041    static void getFromMachine (const CMachine &aMachine,
     
    4748    static bool revalidate (QString &aWarning, QString &aTitle);
    4849
     50protected:
     51
     52    void retranslateUi();
     53
    4954private slots:
    5055
     
    5459
    5560private:
     61
     62    QString pageTitle() const;
    5663
    5764    void getFromPort (const CSerialPort &aPort);
  • trunk/src/VBox/Frontends/VirtualBox4/include/VBoxVMSettingsUSB.h

    r9729 r9751  
    2525
    2626#include "VBoxVMSettingsUSB.gen.h"
     27#include "QIWithRetranslateUI.h"
    2728#include "COMDefs.h"
    2829
     
    3132class VBoxUSBMenu;
    3233
    33 class VBoxVMSettingsUSB : public QWidget,
     34class VBoxVMSettingsUSB : public QIWithRetranslateUI<QWidget>,
    3435                          public Ui::VBoxVMSettingsUSB
    3536{
     
    5859    void getFrom (const CMachine &aMachine);
    5960    void putBackTo();
     61
     62protected:
     63
     64    void retranslateUi();
    6065
    6166private slots:
     
    9196    bool mUSBFilterListModified;
    9297    QList<CUSBDeviceFilter> mFilters;
     98
     99    QString mUSBFilterName;
    93100};
    94101
  • trunk/src/VBox/Frontends/VirtualBox4/include/VBoxVMSettingsVRDP.h

    r9729 r9751  
    2525
    2626#include "VBoxVMSettingsVRDP.gen.h"
     27#include "QIWithRetranslateUI.h"
    2728#include "COMDefs.h"
    2829
     
    3031class QIWidgetValidator;
    3132
    32 class VBoxVMSettingsVRDP : public QWidget,
     33class VBoxVMSettingsVRDP : public QIWithRetranslateUI<QWidget>,
    3334                           public Ui::VBoxVMSettingsVRDP
    3435{
     
    4950    void putBackTo();
    5051
     52protected:
     53
     54    void retranslateUi();
     55
    5156private:
    5257
  • trunk/src/VBox/Frontends/VirtualBox4/src/VBoxVMSettingsAudio.cpp

    r9654 r9751  
    2727
    2828VBoxVMSettingsAudio::VBoxVMSettingsAudio (QWidget *aParent)
    29     : QWidget (aParent)
     29    : QIWithRetranslateUI<QWidget> (aParent)
    3030{
    3131    /* Apply UI decorations */
    3232    Ui::VBoxVMSettingsAudio::setupUi (this);
    33 
    34     mCbAudioDriver->insertItem (mCbAudioDriver->count(),
    35         vboxGlobal().toString (KAudioDriverType_Null));
    36 #if defined Q_WS_WIN32
    37     mCbAudioDriver->insertItem (mCbAudioDriver->count(),
    38         vboxGlobal().toString (KAudioDriverType_DirectSound));
    39 # ifdef VBOX_WITH_WINMM
    40     mCbAudioDriver->insertItem (mCbAudioDriver->count(),
    41         vboxGlobal().toString (KAudioDriverType_WinMM));
    42 # endif
    43 #elif defined Q_OS_LINUX
    44     mCbAudioDriver->insertItem (mCbAudioDriver->count(),
    45         vboxGlobal().toString (KAudioDriverType_OSS));
    46 # ifdef VBOX_WITH_ALSA
    47     mCbAudioDriver->insertItem (mCbAudioDriver->count(),
    48         vboxGlobal().toString (KAudioDriverType_ALSA));
    49 # endif
    50 # ifdef VBOX_WITH_PULSE
    51     mCbAudioDriver->insertItem (mCbAudioDriver->count(),
    52         vboxGlobal().toString (KAudioDriverType_Pulse));
    53 # endif
    54 #elif defined Q_OS_MACX
    55     mCbAudioDriver->insertItem (mCbAudioDriver->count(),
    56         vboxGlobal().toString (KAudioDriverType_CoreAudio));
    57 #endif
    58 
    59     mCbAudioController->insertItem (mCbAudioController->count(),
    60         vboxGlobal().toString (KAudioControllerType_AC97));
    61     mCbAudioController->insertItem (mCbAudioController->count(),
    62         vboxGlobal().toString (KAudioControllerType_SB16));
     33    /* Applying language settings */
     34    retranslateUi();
    6335}
    6436
     
    9971}
    10072
     73
     74void VBoxVMSettingsAudio::retranslateUi()
     75{
     76    /* Translate uic generated strings */
     77    Ui::VBoxVMSettingsAudio::retranslateUi (this);
     78    /* Fill the comboboxes */
     79    prepareComboboxes();
     80}
     81
     82void VBoxVMSettingsAudio::prepareComboboxes()
     83{
     84    /* Save the current selected value */
     85    int currentDriver = mCbAudioDriver->currentIndex();
     86    /* Clear the driver box */
     87    mCbAudioDriver->clear();
     88    /* Refill them */
     89    mCbAudioDriver->insertItem (mCbAudioDriver->count(),
     90        vboxGlobal().toString (KAudioDriverType_Null));
     91#if defined Q_WS_WIN32
     92    mCbAudioDriver->insertItem (mCbAudioDriver->count(),
     93        vboxGlobal().toString (KAudioDriverType_DirectSound));
     94# ifdef VBOX_WITH_WINMM
     95    mCbAudioDriver->insertItem (mCbAudioDriver->count(),
     96        vboxGlobal().toString (KAudioDriverType_WinMM));
     97# endif
     98#elif defined Q_OS_LINUX
     99    mCbAudioDriver->insertItem (mCbAudioDriver->count(),
     100        vboxGlobal().toString (KAudioDriverType_OSS));
     101# ifdef VBOX_WITH_ALSA
     102    mCbAudioDriver->insertItem (mCbAudioDriver->count(),
     103        vboxGlobal().toString (KAudioDriverType_ALSA));
     104# endif
     105# ifdef VBOX_WITH_PULSE
     106    mCbAudioDriver->insertItem (mCbAudioDriver->count(),
     107        vboxGlobal().toString (KAudioDriverType_Pulse));
     108# endif
     109#elif defined Q_OS_MACX
     110    mCbAudioDriver->insertItem (mCbAudioDriver->count(),
     111        vboxGlobal().toString (KAudioDriverType_CoreAudio));
     112#endif
     113    /* Set the old value */
     114    mCbAudioDriver->setCurrentIndex (currentDriver);
     115
     116    /* Save the current selected value */
     117    int currentController = mCbAudioController->currentIndex();
     118    /* Clear the controller box */
     119    mCbAudioController->clear();
     120    /* Refill them */
     121    mCbAudioController->insertItem (mCbAudioController->count(),
     122        vboxGlobal().toString (KAudioControllerType_AC97));
     123    mCbAudioController->insertItem (mCbAudioController->count(),
     124        vboxGlobal().toString (KAudioControllerType_SB16));
     125    /* Set the old value */
     126    mCbAudioController->setCurrentIndex (currentController);
     127}
     128
  • trunk/src/VBox/Frontends/VirtualBox4/src/VBoxVMSettingsCD.cpp

    r9654 r9751  
    3636                                    VBoxVMSettingsDlg *aDlg,
    3737                                    const QString &aPath)
    38     : QWidget (aParent)
     38    : QIWithRetranslateUI<QWidget> (aParent)
    3939    , mLastSelected (0)
    4040{
     
    6464
    6565    mLastSelected = mRbHostCD;
     66    /* Applying language settings */
     67    retranslateUi();
    6668}
    6769
     
    237239}
    238240
     241
     242void VBoxVMSettingsCD::retranslateUi()
     243{
     244    /* Translate uic generated strings */
     245    Ui::VBoxVMSettingsCD::retranslateUi (this);
     246}
     247
     248
    239249void VBoxVMSettingsCD::onMediaChanged()
    240250{
  • trunk/src/VBox/Frontends/VirtualBox4/src/VBoxVMSettingsDlg.cpp

    r9688 r9751  
    9191                                      const QString &aCategory,
    9292                                      const QString &aControl)
    93     : QIMainDialog (aParent)
     93    : QIWithRetranslateUI<QIMainDialog> (aParent)
    9494    , mPolished (false)
    9595    , mAllowResetFirstRunFlag (false)
     
    106106
    107107    mWarnIconLabel = new VBoxWarnIconLabel();
    108     mWarnIconLabel->setWarningText (tr ("Invalid settings detected"));
    109     mButtonBox->button (QDialogButtonBox::Ok)->setWhatsThis (tr ("Accepts (saves) changes and closes the dialog."));
    110     mButtonBox->button (QDialogButtonBox::Cancel)->setWhatsThis (tr ("Cancels changes and closes the dialog."));
    111     mButtonBox->button (QDialogButtonBox::Help)->setWhatsThis (tr ("Displays the dialog help."));
    112108
    113109    /* Setup warning icon */
     
    228224        }
    229225    }
     226    /* Applying language settings */
     227    retranslateUi();
    230228}
    231229
     
    234232    mMachine = aMachine;
    235233
    236     setWindowTitle (aMachine.GetName() + tr (" - Settings"));
     234    setWindowTitle (dialogTitle());
    237235
    238236    CVirtualBox vbox = vboxGlobal().virtualBox();
     
    286284}
    287285
    288 
    289286COMResult VBoxVMSettingsDlg::putBackToMachine()
    290287{
     
    332329}
    333330
     331
     332void VBoxVMSettingsDlg::retranslateUi()
     333{
     334    /* Unfortunately retranslateUi clears the QTreeWidget to do the
     335     * translation. So save the current selected index. */
     336    int ci = mPageStack->currentIndex();
     337    /* Translate uic generated strings */
     338    Ui::VBoxVMSettingsDlg::retranslateUi (this);
     339    /* Set the old index */
     340    mTwSelector->setCurrentItem (mTwSelector->topLevelItem (ci));
     341
     342    mWarnIconLabel->setWarningText (tr ("Invalid settings detected"));
     343    mButtonBox->button (QDialogButtonBox::Ok)->setWhatsThis (tr ("Accepts (saves) changes and closes the dialog."));
     344    mButtonBox->button (QDialogButtonBox::Cancel)->setWhatsThis (tr ("Cancels changes and closes the dialog."));
     345    mButtonBox->button (QDialogButtonBox::Help)->setWhatsThis (tr ("Displays the dialog help."));
     346
     347    setWindowTitle (dialogTitle());
     348   
     349    /* We have to make sure that the Serial & Network subpages are retranslated
     350     * before they are revalidated. Cause: They do string comparing within
     351     * vboxGlobal which is retranslated at that point already. */
     352    QEvent* event = new QEvent (QEvent::LanguageChange);
     353    qApp->sendEvent (mPageSerial, event);
     354    qApp->sendEvent (mPageNetwork, event);
     355
     356    /* Revalidate all pages to retranslate the warning messages also. */
     357    QList<QIWidgetValidator*> l = this->findChildren<QIWidgetValidator*>();
     358    foreach (QIWidgetValidator *wval, l)
     359        if (!wval->isValid())
     360            revalidate (wval);
     361}
    334362
    335363void VBoxVMSettingsDlg::enableOk (const QIWidgetValidator*)
     
    405433                                              QTreeWidgetItem *)
    406434{
    407     Assert (aItem);
    408     int id = aItem->text (1).toInt();
    409     Assert (id >= 0);
    410     mLbTitle->setText (::path (aItem));
    411     mPageStack->setCurrentIndex (id);
     435    if (aItem)
     436    {
     437        int id = aItem->text (1).toInt();
     438        Assert (id >= 0);
     439        mLbTitle->setText (::path (aItem));
     440        mPageStack->setCurrentIndex (id);
     441    }
    412442}
    413443
     
    556586}
    557587
     588QString VBoxVMSettingsDlg::dialogTitle() const
     589{
     590    QString dialogTitle;
     591    if (!mMachine.isNull())
     592        dialogTitle = tr ("%1 - Settings").arg (mMachine.GetName());
     593    return dialogTitle;
     594}
     595
  • trunk/src/VBox/Frontends/VirtualBox4/src/VBoxVMSettingsFD.cpp

    r9654 r9751  
    3636                                    VBoxVMSettingsDlg *aDlg,
    3737                                    const QString &aPath)
    38     : QWidget (aParent)
     38    : QIWithRetranslateUI<QWidget> (aParent)
    3939    , mLastSelected (0)
    4040{
     
    6464
    6565    mLastSelected = mRbHostFD;
     66    /* Applying language settings */
     67    retranslateUi();
    6668}
    6769
     
    233235}
    234236
     237
     238void VBoxVMSettingsFD::retranslateUi()
     239{
     240    /* Translate uic generated strings */
     241    Ui::VBoxVMSettingsFD::retranslateUi (this);
     242}
     243
     244
    235245void VBoxVMSettingsFD::onMediaChanged()
    236246{
  • trunk/src/VBox/Frontends/VirtualBox4/src/VBoxVMSettingsGeneral.cpp

    r9654 r9751  
    3030#include <QDir>
    3131
     32#define ITEM_TYPE_ROLE Qt::UserRole + 1
     33
    3234VBoxVMSettingsGeneral* VBoxVMSettingsGeneral::mSettings = 0;
    3335
     
    5557                                              VBoxVMSettingsDlg *aDlg,
    5658                                              const QString &aPath)
    57     : QWidget (aParent)
     59    : QIWithRetranslateUI<QWidget> (aParent)
    5860{
    5961    /* Apply UI decorations */
     
    119121    mSlRam->setMinimum ((MinRAM / mSlRam->pageStep()) * mSlRam->pageStep());
    120122    mSlRam->setMaximum (MaxRAM);
    121     mLbRamMin->setText (tr ("<qt>%1&nbsp;MB</qt>").arg (MinRAM));
    122     mLbRamMax->setText (tr ("<qt>%1&nbsp;MB</qt>").arg (MaxRAM));
    123123    /* Limit min/max. size of QLineEdit */
    124124    mLeRam->setMaximumSize (mLeRam->fontMetrics().width ("99999"),
     
    134134    mSlVideo->setMinimum ((MinVRAM / mSlVideo->pageStep()) * mSlVideo->pageStep());
    135135    mSlVideo->setMaximum (MaxVRAM);
    136     mLbVideoMin->setText (tr ("<qt>%1&nbsp;MB</qt>").arg (MinVRAM));
    137     mLbVideoMax->setText (tr ("<qt>%1&nbsp;MB</qt>").arg (MaxVRAM));
    138136    /* Limit min/max. size of QLineEdit */
    139137    mLeVideo->setMaximumSize (mLeVideo->fontMetrics().width ("99999"),
     
    144142
    145143    /* Shared Clipboard mode */
    146     mCbClipboard->insertItem (mCbClipboard->count(),
    147         vboxGlobal().toString (KClipboardMode_Disabled));
    148     mCbClipboard->insertItem (mCbClipboard->count(),
    149         vboxGlobal().toString (KClipboardMode_HostToGuest));
    150     mCbClipboard->insertItem (mCbClipboard->count(),
    151         vboxGlobal().toString (KClipboardMode_GuestToHost));
    152     mCbClipboard->insertItem (mCbClipboard->count(),
    153         vboxGlobal().toString (KClipboardMode_Bidirectional));
     144    mCbClipboard->addItem (""); /* KClipboardMode_Disabled */
     145    mCbClipboard->addItem (""); /* KClipboardMode_HostToGuest */
     146    mCbClipboard->addItem (""); /* KClipboardMode_GuestToHost */
     147    mCbClipboard->addItem (""); /* KClipboardMode_Bidirectional */
    154148
    155149    /* IDE Controller Type */
    156     mCbIDEController->insertItem (mCbIDEController->count(),
    157         vboxGlobal().toString (KIDEControllerType_PIIX3));
    158     mCbIDEController->insertItem (mCbIDEController->count(),
    159         vboxGlobal().toString (KIDEControllerType_PIIX4));
     150    mCbIDEController->addItem (""); /* KIDEControllerType_PIIX3 */
     151    mCbIDEController->addItem (""); /* KIDEControllerType_PIIX4 */
    160152
    161153    qApp->installEventFilter (this);
     154    /* Applying language settings */
     155    retranslateUi();
    162156}
    163157
     
    200194    /* Boot-order */
    201195    {
     196        mTwBootOrder->clear();
    202197        /* Load boot-items of current VM */
    203198        QStringList uniqueList;
    204         int minimumWidth = 0;
    205199        for (int i = 1; i <= 4; ++ i)
    206200        {
    207             KDeviceType type = aMachine.GetBootOrder (i);
     201            KDeviceType type = mMachine.GetBootOrder (i);
    208202            if (type != KDeviceType_Null)
    209203            {
     
    211205                QTreeWidgetItem *item =
    212206                    new QTreeWidgetItem (mTwBootOrder, QStringList (name));
     207                QVariant vtype (type);
     208                item->setData (0, ITEM_TYPE_ROLE, vtype);
    213209                item->setCheckState (0, Qt::Checked);
    214210                uniqueList << name;
    215 
    216                 QFontMetrics fm (item->font (0));
    217                 int wid = fm.width (item->text (0));
    218                 if (wid > minimumWidth) minimumWidth = wid;
    219211            }
    220212        }
     
    227219                QTreeWidgetItem *item =
    228220                    new QTreeWidgetItem (mTwBootOrder, QStringList (name));
     221                item->setData (0, ITEM_TYPE_ROLE, i);
    229222                item->setCheckState (0, Qt::Unchecked);
    230223                uniqueList << name;
    231 
    232                 QFontMetrics fm (item->font (0));
    233                 int wid = fm.width (item->text (0));
    234                 if (wid > minimumWidth) minimumWidth = wid;
    235224            }
    236225        }
    237         QFontMetrics fm (mTwBootOrder->topLevelItem (0)->font (0));
    238         int minimumHeight = fm.height();
    239 
    240         mTwBootOrder->setFixedWidth (minimumWidth +
    241                                      28 /* check box */ +
    242                                      4 /* viewport margin */);
    243         mTwBootOrder->setFixedHeight (mTwBootOrder->topLevelItemCount() *
    244                                       minimumHeight +
    245                                       4 /* viewport margin */);
     226        adjustBootOrderTWSize ();
    246227    }
    247228
     
    360341                           mCbSaveMounted->isChecked() ? "yes" : "no");
    361342}
     343
     344
     345void VBoxVMSettingsGeneral::retranslateUi()
     346{
     347    /* Translate uic generated strings */
     348    Ui::VBoxVMSettingsGeneral::retranslateUi (this);
     349    mTwBootOrder->header()->setResizeMode (QHeaderView::ResizeToContents);
     350    mTwBootOrder->resizeColumnToContents (0);
     351    mTwBootOrder->updateGeometry();
     352
     353    CSystemProperties sys = vboxGlobal().virtualBox().GetSystemProperties();
     354    mLbRamMin->setText (tr ("<qt>%1&nbsp;MB</qt>").arg (sys.GetMinGuestRAM()));
     355    mLbRamMax->setText (tr ("<qt>%1&nbsp;MB</qt>").arg (sys.GetMaxGuestRAM()));
     356    mLbVideoMin->setText (tr ("<qt>%1&nbsp;MB</qt>").arg (sys.GetMinGuestVRAM()));
     357    mLbVideoMax->setText (tr ("<qt>%1&nbsp;MB</qt>").arg (sys.GetMaxGuestVRAM()));
     358
     359    /* Retranslate the boot order items */
     360    QTreeWidgetItemIterator it (mTwBootOrder);
     361    while (*it)
     362    {
     363        QTreeWidgetItem *item = (*it);
     364        item->setText (0, vboxGlobal().toString (
     365             static_cast<KDeviceType> (item->data (0, ITEM_TYPE_ROLE).toInt())));
     366        ++it;
     367    }
     368    /* Readjust the tree widget size */
     369    adjustBootOrderTWSize ();
     370
     371    /* Shared Clipboard mode */
     372    mCbClipboard->setItemText (0, vboxGlobal().toString (KClipboardMode_Disabled));
     373    mCbClipboard->setItemText (1, vboxGlobal().toString (KClipboardMode_HostToGuest));
     374    mCbClipboard->setItemText (2, vboxGlobal().toString (KClipboardMode_GuestToHost));
     375    mCbClipboard->setItemText (3, vboxGlobal().toString (KClipboardMode_Bidirectional));
     376
     377    /* IDE Controller Type */
     378    mCbIDEController->setItemText (0, vboxGlobal().toString (KIDEControllerType_PIIX3));
     379    mCbIDEController->setItemText (1, vboxGlobal().toString (KIDEControllerType_PIIX4));
     380}
     381
    362382
    363383void VBoxVMSettingsGeneral::valueChangedRAM (int aVal)
     
    495515}
    496516
     517void VBoxVMSettingsGeneral::adjustBootOrderTWSize ()
     518{
     519    if (mTwBootOrder)
     520    {
     521        /* Calculate the optimal size of the tree widget & set it as fixed
     522         * size. */
     523        mTwBootOrder->setFixedSize (static_cast<QAbstractItemView*> (mTwBootOrder)->sizeHintForColumn (0) + 2 * mTwBootOrder->frameWidth(),
     524                                    static_cast<QAbstractItemView*> (mTwBootOrder)->sizeHintForRow (0) * mTwBootOrder->topLevelItemCount() + 2 * mTwBootOrder->frameWidth());
     525    }
     526}
  • trunk/src/VBox/Frontends/VirtualBox4/src/VBoxVMSettingsHD.cpp

    r9654 r9751  
    396396                                    VBoxVMSettingsDlg *aDlg,
    397397                                    const QString &aPath)
    398     : QWidget (aParent)
     398    : QIWithRetranslateUI<QWidget> (aParent)
    399399{
    400400    /* Apply UI decorations */
     
    448448    mTwAts->addAction (mVdmAction);
    449449
    450     mNewAction->setText (tr ("&Add Attachment"));
    451     mDelAction->setText (tr ("&Remove Attachment"));
    452     mVdmAction->setText (tr ("&Select Hard Disk"));
    453 
    454450    mNewAction->setShortcut (QKeySequence ("Ins"));
    455451    mDelAction->setShortcut (QKeySequence ("Del"));
    456452    mVdmAction->setShortcut (QKeySequence ("Ctrl+Space"));
    457 
    458     mNewAction->setToolTip (mNewAction->text().remove ('&') +
    459         QString (" (%1)").arg (mNewAction->shortcut().toString()));
    460     mDelAction->setToolTip (mDelAction->text().remove ('&') +
    461         QString (" (%1)").arg (mDelAction->shortcut().toString()));
    462     mVdmAction->setToolTip (mVdmAction->text().remove ('&') +
    463         QString (" (%1)").arg (mVdmAction->shortcut().toString()));
    464 
    465     mNewAction->setWhatsThis (tr ("Adds a new hard disk attachment."));
    466     mDelAction->setWhatsThis (tr ("Removes the highlighted hard disk attachment."));
    467     mVdmAction->setWhatsThis (tr ("Invokes the Virtual Disk Manager to select "
    468                                   "a hard disk to attach to the currently "
    469                                   "highlighted slot."));
    470453
    471454    mNewAction->setIcon (VBoxGlobal::iconSet (":/vdm_add_16px.png",
     
    507490    setTabOrder (aDlg->mTwSelector, mCbSATA);
    508491    setTabOrder (mCbSATA, mTwAts);
     492    /* Applying language settings */
     493    retranslateUi();
    509494}
    510495
     
    607592}
    608593
     594
     595void VBoxVMSettingsHD::retranslateUi()
     596{
     597    /* Translate uic generated strings */
     598    Ui::VBoxVMSettingsHD::retranslateUi (this);
     599
     600    mNewAction->setText (tr ("&Add Attachment"));
     601    mDelAction->setText (tr ("&Remove Attachment"));
     602    mVdmAction->setText (tr ("&Select Hard Disk"));
     603
     604    mNewAction->setToolTip (mNewAction->text().remove ('&') +
     605        QString (" (%1)").arg (mNewAction->shortcut().toString()));
     606    mDelAction->setToolTip (mDelAction->text().remove ('&') +
     607        QString (" (%1)").arg (mDelAction->shortcut().toString()));
     608    mVdmAction->setToolTip (mVdmAction->text().remove ('&') +
     609        QString (" (%1)").arg (mVdmAction->shortcut().toString()));
     610
     611    mNewAction->setWhatsThis (tr ("Adds a new hard disk attachment."));
     612    mDelAction->setWhatsThis (tr ("Removes the highlighted hard disk attachment."));
     613    mVdmAction->setWhatsThis (tr ("Invokes the Virtual Disk Manager to select "
     614                                  "a hard disk to attach to the currently "
     615                                  "highlighted slot."));
     616}
     617
    609618void VBoxVMSettingsHD::getFrom()
    610619{
  • trunk/src/VBox/Frontends/VirtualBox4/src/VBoxVMSettingsNetwork.cpp

    r9654 r9751  
    5555// #endif
    5656
    57 VBoxVMSettingsNetwork::VBoxVMSettingsNetwork()
    58     : mValidator (0)
     57VBoxVMSettingsNetwork::VBoxVMSettingsNetwork(QWidget *aParent /* = NULL */)
     58    : QIWithRetranslateUI<QWidget> (aParent)
     59    , mValidator (0)
    5960{
    6061    /* Apply UI decorations */
     
    8485#endif
    8586
    86     /* Load initial values */
    87 
    88     mCbAType->insertItem (0,
    89         vboxGlobal().toString (KNetworkAdapterType_Am79C970A));
    90     mCbAType->insertItem (1,
    91         vboxGlobal().toString (KNetworkAdapterType_Am79C973));
    92 #ifdef VBOX_WITH_E1000
    93     mCbAType->insertItem (2,
    94         vboxGlobal().toString (KNetworkAdapterType_I82540EM));
    95     mCbAType->insertItem (3,
    96         vboxGlobal().toString (KNetworkAdapterType_I82543GC));
    97 #endif
    98 
    99     mCbNAType->insertItem (0,
    100         vboxGlobal().toString (KNetworkAttachmentType_Null));
    101     mCbNAType->insertItem (1,
    102         vboxGlobal().toString (KNetworkAttachmentType_NAT));
    103 #ifndef Q_WS_MAC /* Not yet on the Mac */
    104     mCbNAType->insertItem (2,
    105         vboxGlobal().toString (KNetworkAttachmentType_HostInterface));
    106     mCbNAType->insertItem (3,
    107         vboxGlobal().toString (KNetworkAttachmentType_Internal));
    108 #endif
     87    /* Applying language settings */
     88    retranslateUi();
    10989}
    11090
     
    178158        VBoxVMSettingsNetwork *page = new VBoxVMSettingsNetwork();
    179159
     160        /* Set the mAdapter member which is necessary for next pageTitle call. */
     161        page->mAdapter = adapter;
    180162        /* Setup validation */
    181         QString pageTitle = QString (tr ("Adapter %1", "network"))
    182                                      .arg (adapter.GetSlot());
    183 
    184163        QIWidgetValidator *wval =
    185             new QIWidgetValidator (QString ("%1: %2").arg (aPath, pageTitle),
     164            new QIWidgetValidator (QString ("%1: %2").arg (aPath, page->pageTitle()),
    186165                                   aPage, aDlg);
    187166        connect (wval, SIGNAL (validityChanged (const QIWidgetValidator *)),
     
    197176
    198177        /* Attach Adapter's page to Tab Widget */
    199         mTwAdapters->addTab (page, pageTitle);
     178        mTwAdapters->addTab (page, page->pageTitle());
    200179    }
    201180
     
    366345    mValidator->revalidate();
    367346}
     347
     348
     349void VBoxVMSettingsNetwork::retranslateUi()
     350{
     351    /* Translate uic generated strings */
     352    Ui::VBoxVMSettingsNetwork::retranslateUi (this);
     353
     354    mTwAdapters->setTabText (mTwAdapters->indexOf (this), pageTitle());
     355
     356    prepareComboboxes();
     357}
     358
    368359
    369360void VBoxVMSettingsNetwork::naTypeChanged (const QString &aString)
     
    555546// #endif
    556547
     548QString VBoxVMSettingsNetwork::pageTitle() const
     549{
     550    QString pageTitle;
     551    if (!mAdapter.isNull())
     552    {
     553        pageTitle = QString (tr ("Adapter %1", "network"))
     554            .arg (mAdapter.GetSlot());
     555    }
     556    return pageTitle;
     557}
     558
     559void VBoxVMSettingsNetwork::prepareComboboxes()
     560{
     561    /* Save the current selected value */
     562    int currentAdapter = mCbAType->currentIndex();
     563    /* Clear the driver box */
     564    mCbAType->clear();
     565    /* Refill them */
     566    mCbAType->insertItem (0,
     567        vboxGlobal().toString (KNetworkAdapterType_Am79C970A));
     568    mCbAType->insertItem (1,
     569        vboxGlobal().toString (KNetworkAdapterType_Am79C973));
     570#ifdef VBOX_WITH_E1000
     571    mCbAType->insertItem (2,
     572        vboxGlobal().toString (KNetworkAdapterType_I82540EM));
     573    mCbAType->insertItem (3,
     574        vboxGlobal().toString (KNetworkAdapterType_I82543GC));
     575#endif
     576    /* Set the old value */
     577    mCbAType->setCurrentIndex (currentAdapter);
     578
     579    /* Save the current selected value */
     580    int currentAttachment = mCbNAType->currentIndex();
     581    /* Clear the driver box */
     582    mCbNAType->clear();
     583    /* Refill them */
     584    mCbNAType->insertItem (0,
     585        vboxGlobal().toString (KNetworkAttachmentType_Null));
     586    mCbNAType->insertItem (1,
     587        vboxGlobal().toString (KNetworkAttachmentType_NAT));
     588#ifndef Q_WS_MAC /* Not yet on the Mac */
     589    mCbNAType->insertItem (2,
     590        vboxGlobal().toString (KNetworkAttachmentType_HostInterface));
     591    mCbNAType->insertItem (3,
     592        vboxGlobal().toString (KNetworkAttachmentType_Internal));
     593#endif
     594    /* Set the old value */
     595    mCbNAType->setCurrentIndex (currentAttachment);
     596}
     597
    557598void VBoxVMSettingsNetwork::prepareListNetworks()
    558599{
  • trunk/src/VBox/Frontends/VirtualBox4/src/VBoxVMSettingsParallel.cpp

    r9654 r9751  
    3131QTabWidget* VBoxVMSettingsParallel::mTabWidget = 0;
    3232
    33 VBoxVMSettingsParallel::VBoxVMSettingsParallel()
     33VBoxVMSettingsParallel::VBoxVMSettingsParallel(QWidget* aParent /* = NULL */)
     34    : QIWithRetranslateUI<QWidget> (aParent)
    3435{
    3536    /* Apply UI decorations */
     
    4849
    4950    /* Set initial values */
     51    /* Note: If you change one of the following don't forget retranslateUi. */
    5052    mCbNumber->insertItem (0, vboxGlobal().toCOMPortName (0, 0));
    5153    mCbNumber->insertItems (0, vboxGlobal().COMPortNames());
     
    5658    connect (mCbNumber, SIGNAL (activated (const QString &)),
    5759             this, SLOT (mCbNumberActivated (const QString &)));
     60    /* Applying language settings */
     61    retranslateUi();
    5862}
    5963
     
    8084        VBoxVMSettingsParallel *page = new VBoxVMSettingsParallel();
    8185        page->getFromPort (port);
    82         QString pageTitle = QString (tr ("Port %1", "parallel ports"))
    83                                      .arg (port.GetSlot());
    84         mTabWidget->addTab (page, pageTitle);
     86        mTabWidget->addTab (page, page->pageTitle());
    8587
    8688        /* Setup validation. */
    8789        QIWidgetValidator *wval =
    88             new QIWidgetValidator (QString ("%1: %2").arg (aPath, pageTitle),
     90            new QIWidgetValidator (QString ("%1: %2").arg (aPath, page->pageTitle()),
    8991                                   aPage, mTabWidget);
    9092        connect (wval, SIGNAL (validityChanged (const QIWidgetValidator *)),
     
    113115        page->putBackToPort();
    114116    }
    115 }
    116 
    117 void VBoxVMSettingsParallel::mGbParallelToggled (bool aOn)
    118 {
    119     if (aOn)
    120         mCbNumberActivated (mCbNumber->currentText());
    121 }
    122 
    123 void VBoxVMSettingsParallel::mCbNumberActivated (const QString &aText)
    124 {
    125     ulong IRQ, IOBase;
    126     bool std = vboxGlobal().toCOMPortNumbers (aText, IRQ, IOBase);
    127 
    128     mLeIRQ->setEnabled (!std);
    129     mLeIOPort->setEnabled (!std);
    130     if (std)
    131     {
    132         mLeIRQ->setText (QString::number (IRQ));
    133         mLeIOPort->setText ("0x" + QString::number (IOBase, 16).toUpper());
    134     }
    135 }
    136 
    137 void VBoxVMSettingsParallel::getFromPort (const CParallelPort &aPort)
    138 {
    139     mPort = aPort;
    140 
    141     mGbParallel->setChecked (mPort.GetEnabled());
    142     ulong IRQ = mPort.GetIRQ();
    143     ulong IOBase = mPort.GetIOBase();
    144     mCbNumber->setCurrentIndex (mCbNumber->
    145         findText (vboxGlobal().toCOMPortName (IRQ, IOBase)));
    146     mLeIRQ->setText (QString::number (IRQ));
    147     mLeIOPort->setText ("0x" + QString::number (IOBase, 16).toUpper());
    148     mLePath->setText (mPort.GetPath());
    149 
    150     /* Ensure everything is up-to-date */
    151     mGbParallelToggled (mGbParallel->isChecked());
    152 }
    153 
    154 void VBoxVMSettingsParallel::putBackToPort()
    155 {
    156     mPort.SetEnabled (mGbParallel->isChecked());
    157     mPort.SetIRQ (mLeIRQ->text().toULong (NULL, 0));
    158     mPort.SetIOBase (mLeIOPort->text().toULong (NULL, 0));
    159     mPort.SetPath (QDir::convertSeparators (mLePath->text()));
    160 }
    161 
    162 bool VBoxVMSettingsParallel::isUserDefined()
    163 {
    164     ulong a, b;
    165     return !vboxGlobal().toCOMPortNumbers (mCbNumber->currentText(), a, b);
    166117}
    167118
     
    215166}
    216167
     168
     169void VBoxVMSettingsParallel::retranslateUi()
     170{
     171    /* Translate uic generated strings */
     172    Ui::VBoxVMSettingsParallel::retranslateUi (this);
     173
     174    mTabWidget->setTabText (mTabWidget->indexOf (this), pageTitle());
     175
     176    mCbNumber->setItemText (mCbNumber->count() - 1, vboxGlobal().toCOMPortName (0, 0));
     177}
     178
     179
     180void VBoxVMSettingsParallel::mGbParallelToggled (bool aOn)
     181{
     182    if (aOn)
     183        mCbNumberActivated (mCbNumber->currentText());
     184}
     185
     186void VBoxVMSettingsParallel::mCbNumberActivated (const QString &aText)
     187{
     188    ulong IRQ, IOBase;
     189    bool std = vboxGlobal().toCOMPortNumbers (aText, IRQ, IOBase);
     190
     191    mLeIRQ->setEnabled (!std);
     192    mLeIOPort->setEnabled (!std);
     193    if (std)
     194    {
     195        mLeIRQ->setText (QString::number (IRQ));
     196        mLeIOPort->setText ("0x" + QString::number (IOBase, 16).toUpper());
     197    }
     198}
     199
     200void VBoxVMSettingsParallel::getFromPort (const CParallelPort &aPort)
     201{
     202    mPort = aPort;
     203
     204    mGbParallel->setChecked (mPort.GetEnabled());
     205    ulong IRQ = mPort.GetIRQ();
     206    ulong IOBase = mPort.GetIOBase();
     207    mCbNumber->setCurrentIndex (mCbNumber->
     208        findText (vboxGlobal().toCOMPortName (IRQ, IOBase)));
     209    mLeIRQ->setText (QString::number (IRQ));
     210    mLeIOPort->setText ("0x" + QString::number (IOBase, 16).toUpper());
     211    mLePath->setText (mPort.GetPath());
     212
     213    /* Ensure everything is up-to-date */
     214    mGbParallelToggled (mGbParallel->isChecked());
     215}
     216
     217void VBoxVMSettingsParallel::putBackToPort()
     218{
     219    mPort.SetEnabled (mGbParallel->isChecked());
     220    mPort.SetIRQ (mLeIRQ->text().toULong (NULL, 0));
     221    mPort.SetIOBase (mLeIOPort->text().toULong (NULL, 0));
     222    mPort.SetPath (QDir::convertSeparators (mLePath->text()));
     223}
     224
     225bool VBoxVMSettingsParallel::isUserDefined()
     226{
     227    ulong a, b;
     228    return !vboxGlobal().toCOMPortNumbers (mCbNumber->currentText(), a, b);
     229}
     230
     231QString VBoxVMSettingsParallel::pageTitle() const
     232{
     233    QString pageTitle;
     234    if (!mPort.isNull())
     235        pageTitle = QString (tr ("Port %1", "parallel ports"))
     236            .arg (mPort.GetSlot());
     237    return pageTitle;
     238}
     239
  • trunk/src/VBox/Frontends/VirtualBox4/src/VBoxVMSettingsSerial.cpp

    r9654 r9751  
    3131QTabWidget* VBoxVMSettingsSerial::mTabWidget = 0;
    3232
    33 VBoxVMSettingsSerial::VBoxVMSettingsSerial()
     33VBoxVMSettingsSerial::VBoxVMSettingsSerial(QWidget* aParent /* = NULL */)
     34    : QIWithRetranslateUI<QWidget> (aParent)
    3435{
    3536    /* Apply UI decorations */
     
    4849
    4950    /* Set initial values */
     51    /* Note: If you change one of the following don't forget retranslateUi. */
    5052    mCbNumber->insertItem (0, vboxGlobal().toCOMPortName (0, 0));
    5153    mCbNumber->insertItems (0, vboxGlobal().COMPortNames());
    52     mCbMode->insertItem (0, vboxGlobal().toString (KPortMode_HostDevice));
    53     mCbMode->insertItem (0, vboxGlobal().toString (KPortMode_HostPipe));
    54     mCbMode->insertItem (0, vboxGlobal().toString (KPortMode_Disconnected));
     54
     55    mCbMode->addItem (""); /* KPortMode_Disconnected */
     56    mCbMode->addItem (""); /* KPortMode_HostPipe */
     57    mCbMode->addItem (""); /* KPortMode_HostDevice */
    5558
    5659    /* Setup connections */
     
    6164    connect (mCbMode, SIGNAL (activated (const QString &)),
    6265             this, SLOT (mCbModeActivated (const QString &)));
     66    /* Applying language settings */
     67    retranslateUi();
    6368}
    6469
     
    8590        VBoxVMSettingsSerial *page = new VBoxVMSettingsSerial();
    8691        page->getFromPort (port);
    87         QString pageTitle = QString (tr ("Port %1", "serial ports"))
    88                                      .arg (port.GetSlot());
    89         mTabWidget->addTab (page, pageTitle);
     92        mTabWidget->addTab (page, page->pageTitle());
    9093
    9194        /* Setup validation. */
    9295        QIWidgetValidator *wval =
    93             new QIWidgetValidator (QString ("%1: %2").arg (aPath, pageTitle),
     96            new QIWidgetValidator (QString ("%1: %2").arg (aPath, page->pageTitle()),
    9497                                   aPage, mTabWidget);
    9598        connect (wval, SIGNAL (validityChanged (const QIWidgetValidator *)),
     
    150153    mCbPipe->setEnabled (mode == KPortMode_HostPipe);
    151154    mLePath->setEnabled (mode != KPortMode_Disconnected);
     155}
     156
     157QString VBoxVMSettingsSerial::pageTitle() const
     158{
     159    QString pageTitle;
     160    if (!mPort.isNull())
     161    {
     162        pageTitle = QString (tr ("Port %1", "serial ports"))
     163            .arg (mPort.GetSlot());
     164    }
     165    return pageTitle;
    152166}
    153167
     
    187201    return !vboxGlobal().toCOMPortNumbers (mCbNumber->currentText(), a, b);
    188202}
     203
     204
     205void VBoxVMSettingsSerial::retranslateUi()
     206{
     207    /* Translate uic generated strings */
     208    Ui::VBoxVMSettingsSerial::retranslateUi (this);
     209
     210    mTabWidget->setTabText (mTabWidget->indexOf (this), pageTitle());
     211
     212    mCbNumber->setItemText (mCbNumber->count() - 1, vboxGlobal().toCOMPortName (0, 0));
     213
     214    mCbMode->setItemText (2, vboxGlobal().toString (KPortMode_HostDevice));
     215    mCbMode->setItemText (1, vboxGlobal().toString (KPortMode_HostPipe));
     216    mCbMode->setItemText (0, vboxGlobal().toString (KPortMode_Disconnected));
     217}
     218
    189219
    190220bool VBoxVMSettingsSerial::revalidate (QString &aWarning, QString &aTitle)
  • trunk/src/VBox/Frontends/VirtualBox4/src/VBoxVMSettingsUSB.cpp

    r9654 r9751  
    4040                                      VBoxVMSettingsDlg *aDlg,
    4141                                      const QString &aPath)
    42     : QWidget (aParent)
     42    : QIWithRetranslateUI<QWidget> (aParent)
    4343    , mType (aType)
    4444{
     
    5858    mMdnAction = new QAction (mTwFilters);
    5959
    60     mNewAction->setText (tr ("&Add Empty Filter"));
    61     mAddAction->setText (tr ("A&dd Filter From Device"));
    62     mDelAction->setText (tr ("&Remove Filter"));
    63     mMupAction->setText (tr ("&Move Filter Up"));
    64     mMdnAction->setText (tr ("M&ove Filter Down"));
    65 
    6660    mNewAction->setShortcut (QKeySequence ("Ins"));
    6761    mAddAction->setShortcut (QKeySequence ("Alt+Ins"));
     
    6963    mMupAction->setShortcut (QKeySequence ("Ctrl+Up"));
    7064    mMdnAction->setShortcut (QKeySequence ("Ctrl+Down"));
    71 
    72     mNewAction->setToolTip (mNewAction->text().remove ('&') +
    73         QString (" (%1)").arg (mNewAction->shortcut().toString()));
    74     mAddAction->setToolTip (mAddAction->text().remove ('&') +
    75         QString (" (%1)").arg (mAddAction->shortcut().toString()));
    76     mDelAction->setToolTip (mDelAction->text().remove ('&') +
    77         QString (" (%1)").arg (mDelAction->shortcut().toString()));
    78     mMupAction->setToolTip (mMupAction->text().remove ('&') +
    79         QString (" (%1)").arg (mMupAction->shortcut().toString()));
    80     mMdnAction->setToolTip (mMdnAction->text().remove ('&') +
    81         QString (" (%1)").arg (mMdnAction->shortcut().toString()));
    82 
    83     mNewAction->setWhatsThis (tr ("Adds a new USB filter with all fields "
    84                                   "initially set to empty strings. Note "
    85                                   "that such a filter will match any "
    86                                   "attached USB device."));
    87     mAddAction->setWhatsThis (tr ("Adds a new USB filter with all fields "
    88                                   "set to the values of the selected USB "
    89                                   "device attached to the host PC."));
    90     mDelAction->setWhatsThis (tr ("Removes the selected USB filter."));
    91     mMupAction->setWhatsThis (tr ("Moves the selected USB filter up."));
    92     mMdnAction->setWhatsThis (tr ("Moves the selected USB filter down."));
    9365
    9466    mNewAction->setIcon (VBoxGlobal::iconSet (":/usb_new_16px.png",
     
    171143    mTwFilters->header()->hide();
    172144
    173     mCbRemote->insertItem (0, tr ("Any", "remote"));
    174     mCbRemote->insertItem (1, tr ("Yes", "remote"));
    175     mCbRemote->insertItem (2, tr ("No", "remote"));
     145    mCbRemote->addItem (""); /* Any */
     146    mCbRemote->addItem (""); /* Yes */
     147    mCbRemote->addItem (""); /* No */
    176148    mLbRemote->setHidden (mType != MachineType);
    177149    mCbRemote->setHidden (mType != MachineType);
    178150
    179     mCbAction->insertItem (0,
    180         vboxGlobal().toString (KUSBDeviceFilterAction_Ignore));
    181     mCbAction->insertItem (1,
    182         vboxGlobal().toString (KUSBDeviceFilterAction_Hold));
     151    mCbAction->insertItem (0, ""); /* KUSBDeviceFilterAction_Ignore */
     152    mCbAction->insertItem (1, ""); /* KUSBDeviceFilterAction_Hold */
    183153    mLbAction->setHidden (mType != HostType);
    184154    mCbAction->setHidden (mType != HostType);
     
    198168    setTabOrder (mLePort, mCbRemote);
    199169    setTabOrder (mCbRemote, mCbAction);
     170    /* Applying language settings */
     171    retranslateUi();
    200172}
    201173
     
    282254    mUSBFilterListModified = false;
    283255}
     256
     257
     258void VBoxVMSettingsUSB::retranslateUi()
     259{
     260    /* Translate uic generated strings */
     261    Ui::VBoxVMSettingsUSB::retranslateUi (this);
     262
     263    mNewAction->setText (tr ("&Add Empty Filter"));
     264    mAddAction->setText (tr ("A&dd Filter From Device"));
     265    mDelAction->setText (tr ("&Remove Filter"));
     266    mMupAction->setText (tr ("&Move Filter Up"));
     267    mMdnAction->setText (tr ("M&ove Filter Down"));
     268
     269    mNewAction->setToolTip (mNewAction->text().remove ('&') +
     270        QString (" (%1)").arg (mNewAction->shortcut().toString()));
     271    mAddAction->setToolTip (mAddAction->text().remove ('&') +
     272        QString (" (%1)").arg (mAddAction->shortcut().toString()));
     273    mDelAction->setToolTip (mDelAction->text().remove ('&') +
     274        QString (" (%1)").arg (mDelAction->shortcut().toString()));
     275    mMupAction->setToolTip (mMupAction->text().remove ('&') +
     276        QString (" (%1)").arg (mMupAction->shortcut().toString()));
     277    mMdnAction->setToolTip (mMdnAction->text().remove ('&') +
     278        QString (" (%1)").arg (mMdnAction->shortcut().toString()));
     279
     280    mNewAction->setWhatsThis (tr ("Adds a new USB filter with all fields "
     281                                  "initially set to empty strings. Note "
     282                                  "that such a filter will match any "
     283                                  "attached USB device."));
     284    mAddAction->setWhatsThis (tr ("Adds a new USB filter with all fields "
     285                                  "set to the values of the selected USB "
     286                                  "device attached to the host PC."));
     287    mDelAction->setWhatsThis (tr ("Removes the selected USB filter."));
     288    mMupAction->setWhatsThis (tr ("Moves the selected USB filter up."));
     289    mMdnAction->setWhatsThis (tr ("Moves the selected USB filter down."));
     290
     291    mCbRemote->setItemText (0, tr ("Any", "remote"));
     292    mCbRemote->setItemText (1, tr ("Yes", "remote"));
     293    mCbRemote->setItemText (2, tr ("No", "remote"));
     294
     295    mCbAction->setItemText (0,
     296        vboxGlobal().toString (KUSBDeviceFilterAction_Ignore));
     297    mCbAction->setItemText (1,
     298        vboxGlobal().toString (KUSBDeviceFilterAction_Hold));
     299
     300    mUSBFilterName = tr ("New Filter %1", "usb");
     301}
     302
    284303
    285304void VBoxVMSettingsUSB::usbAdapterToggled (bool aOn)
     
    416435    /* Search for the max available filter index */
    417436    int maxFilterIndex = 0;
    418     QString usbFilterName = tr ("New Filter %1", "usb");
    419     QRegExp regExp (QString ("^") + usbFilterName.arg ("([0-9]+)") + QString ("$"));
     437    QRegExp regExp (QString ("^") + mUSBFilterName.arg ("([0-9]+)") + QString ("$"));
    420438    QTreeWidgetItemIterator iterator (mTwFilters);
    421439    while (*iterator)
     
    431449    /* Creating new usb filter */
    432450    CUSBDeviceFilter filter = mMachine.GetUSBController()
    433         .CreateDeviceFilter (usbFilterName.arg (maxFilterIndex + 1));
     451        .CreateDeviceFilter (mUSBFilterName.arg (maxFilterIndex + 1));
    434452
    435453    filter.SetActive (true);
  • trunk/src/VBox/Frontends/VirtualBox4/src/VBoxVMSettingsVRDP.cpp

    r9654 r9751  
    3333                                        VBoxVMSettingsDlg *aDlg,
    3434                                        const QString &aPath)
    35     : QWidget (aParent)
     35    : QIWithRetranslateUI<QWidget> (aParent)
    3636{
    3737    /* Apply UI decorations */
     
    5757
    5858    /* Setup dialog */
    59     mCbVRDPMethod->insertItem (0,
    60         vboxGlobal().toString (KVRDPAuthType_Null));
    61     mCbVRDPMethod->insertItem (1,
    62         vboxGlobal().toString (KVRDPAuthType_External));
    63     mCbVRDPMethod->insertItem (2,
    64         vboxGlobal().toString (KVRDPAuthType_Guest));
     59    mCbVRDPMethod->insertItem (0, ""); /* KVRDPAuthType_Null */
     60    mCbVRDPMethod->insertItem (1, ""); /* KVRDPAuthType_External */
     61    mCbVRDPMethod->insertItem (2, ""); /* KVRDPAuthType_Guest */
     62
     63    /* Applying language settings */
     64    retranslateUi();
    6565}
    6666
     
    128128}
    129129
     130
     131void VBoxVMSettingsVRDP::retranslateUi()
     132{
     133    /* Translate uic generated strings */
     134    Ui::VBoxVMSettingsVRDP::retranslateUi (this);
     135
     136    mCbVRDPMethod->setItemText (0,
     137        vboxGlobal().toString (KVRDPAuthType_Null));
     138    mCbVRDPMethod->setItemText (1,
     139        vboxGlobal().toString (KVRDPAuthType_External));
     140    mCbVRDPMethod->setItemText (2,
     141        vboxGlobal().toString (KVRDPAuthType_Guest));
     142}
     143
  • trunk/src/VBox/Frontends/VirtualBox4/ui/VBoxVMSettingsGeneral.ui

    r9654 r9751  
    479479                    <enum>Qt::ScrollBarAlwaysOff</enum>
    480480                   </property>
     481                   <property name="alternatingRowColors" >
     482                    <bool>true</bool>
     483                   </property>
    481484                   <property name="rootIsDecorated" >
    482485                    <bool>false</bool>
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