VirtualBox

Ignore:
Timestamp:
Apr 13, 2007 10:01:20 AM (18 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
20375
Message:

FE/Qt: Added the Default choice for to the language selection UI.

Location:
trunk/src/VBox/Frontends/VirtualBox/ui
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/ui/VBoxGlobalSettingsDlg.ui

    r2044 r2068  
    813813                                <property name="whatsThis" stdset="0">
    814814                                    <string>
    815 Lists all available user interface languages. The effective language
    816 is written in &lt;b&gt;bold&lt;/b&gt;.
     815Lists all available user interface languages. The effective language is
     816written in &lt;b&gt;bold&lt;/b&gt;. Select &lt;i&gt;Default&lt;/i&gt; to reset
     817to the system default language.
    817818                                    </string>
    818819                                </property>
  • trunk/src/VBox/Frontends/VirtualBox/ui/VBoxGlobalSettingsDlg.ui.h

    r2045 r2068  
    9090        : QListViewItem (aParent), mBuiltIn (aBuiltIn), mInvalid (false)
    9191    {
     92        Assert (!aId.isEmpty());
     93
    9294        QTranslatorMessage transMes;
    9395
     
    143145        : QListViewItem (aParent), mBuiltIn (false), mInvalid (true)
    144146    {
     147        Assert (!aId.isEmpty());
     148
    145149        setText (0, QString ("<%1>").arg (aId));
    146150        setText (1, aId);
     
    149153    }
    150154
     155    /* Constructs an item for the default language ID (column 1 will be set
     156     * to QString::null) */
     157    LanguageItem (QListView *aParent)
     158        : QListViewItem (aParent), mBuiltIn (false), mInvalid (false)
     159    {
     160        setText (0, VBoxGlobalSettingsDlg::tr ("Default", "Language"));
     161        setText (1, QString::null);
     162        setText (2, QString::null);
     163        setText (3, QString::null);
     164    }
     165
    151166    int rtti() const { return TypeId; }
    152167
    153168    int compare (QListViewItem *aItem, int aColumn, bool aAscending) const
    154169    {
    155         QString thisValue = text (1);
    156         QString thatValue = aItem->text (1);
    157         if (thisValue == gVBoxBuiltInLangName)
     170        QString thisId = text (1);
     171        QString thatId = aItem->text (1);
     172        if (thisId.isNull())
    158173            return -1;
    159         else if (thatValue == gVBoxBuiltInLangName)
     174        if (thatId.isNull())
    160175            return 1;
    161         else
    162             return QListViewItem::compare (aItem, aColumn, aAscending);
     176        if (mBuiltIn)
     177            return -1;
     178        if (aItem->rtti() == TypeId && ((LanguageItem *) aItem)->mBuiltIn)
     179            return 1;
     180        return QListViewItem::compare (aItem, aColumn, aAscending);
    163181    }
    164182
     
    362380                                          QDir::Files);
    363381    QTranslator translator;
     382    /* add the default language */
     383    new LanguageItem (lvLanguages);
    364384    /* add the built-in language */
    365385    new LanguageItem (lvLanguages, translator, gVBoxBuiltInLangName, true /* built-in */);
     
    565585
    566586    QString langId = gs.languageId();
    567     if (langId.isNull())
    568         langId = VBoxGlobal::languageId();
    569587    QListViewItem *item = lvLanguages->findItem (langId, 1);
    570588    if (!item)
     
    643661
    644662    QListViewItem *selItem = lvLanguages->selectedItem();
     663    Assert (selItem);
    645664    if (mLanguageChanged && selItem)
    646665    {
    647         gs.setLanguageId (selItem->text (1) == VBoxGlobal::systemLanguageId() ?
    648                           QString::null : selItem->text (1));
     666        gs.setLanguageId (selItem->text (1));
    649667        VBoxGlobal::loadLanguage (selItem->text (1));
    650668    }
     
    914932void VBoxGlobalSettingsDlg::lvLanguages_currentChanged (QListViewItem *aItem)
    915933{
     934    Assert (aItem);
    916935    if (!aItem) return;
    917936
     937    /* disable labels for the Default language item */
     938    bool enabled = !aItem->text (1).isNull();
     939
     940    tlLangName->setEnabled (enabled);
     941    tlAuthorName->setEnabled (enabled);
    918942    tlLangData->setText (aItem->text (2));
    919943    tlAuthorData->setText (aItem->text (3));
     944
    920945    mLanguageChanged = true;
    921946}
Note: See TracChangeset for help on using the changeset viewer.

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