VirtualBox

Ignore:
Timestamp:
Aug 24, 2007 3:08:48 PM (18 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
23901
Message:

FE/Qt: Added COM port details report; synchronized settings category order in Details, Settings and Console menus.

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

Legend:

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

    r4324 r4354  
    2727
    2828
    29 static const struct PortConfig
    30 {
    31     const char *name;
    32     const ulong IRQ;
    33     const ulong IOBase;
    34 }
    35 kKnownPorts[] =
    36 {
    37     { "COM1", 4, 0x3F8 },
    38     { "COM2", 3, 0x2F8 },
    39     { "COM3", 4, 0x3E8 },
    40     { "COM4", 3, 0x2E8 },
    41     /* must not contain an element with IRQ=0 and IOBase=0 used to cause
    42      * portNumbers2Name() to return the "User-defined" string. */
    43 };
    44 
    45 static const PortConfig *findByPortNumbers (ulong aIRQ, ulong aIOBase)
    46 {
    47     for (size_t i = 0; i < ELEMENTS (kKnownPorts); ++ i)
    48         if (kKnownPorts [i].IRQ == aIRQ &&
    49             kKnownPorts [i].IOBase == aIOBase)
    50             return &kKnownPorts [i];
    51     return NULL;
    52 }
    53 
    54 static const PortConfig *findByPortName (const char *aName)
    55 {
    56     for (size_t i = 0; i < ELEMENTS (kKnownPorts); ++ i)
    57         if (strcmp (kKnownPorts [i].name, aName) == 0)
    58             return &kKnownPorts [i];
    59     return NULL;
    60 }
    61 
    62 static QString portNumbers2Name (ulong aIRQ, ulong aIOBase)
    63 {
    64     const PortConfig *config = findByPortNumbers (aIRQ, aIOBase);
    65     if (config)
    66         return config->name;
    67 
    68     return VBoxVMSerialPortSettings::tr ("User-defined");
    69 }
    70 
    71 
    7229void VBoxVMSerialPortSettings::init()
    7330{
     
    9148    /* set initial values */
    9249
    93     for (size_t i = 0; i < ELEMENTS (kKnownPorts); ++ i)
    94         mPortNumCombo->insertItem (kKnownPorts [i].name);
    95     mPortNumCombo->insertItem (portNumbers2Name (0, 0));
     50    mPortNumCombo->insertStringList (vboxGlobal().COMPortNames());
     51    mPortNumCombo->insertItem (vboxGlobal().toCOMPortName (0, 0));
    9652
    9753    mHostModeCombo->insertItem (vboxGlobal().toString (CEnums::DisconnectedPort));
     
    10864    ulong IRQ = mPort.GetIRQ();
    10965    ulong IOBase = mPort.GetIOBase();
    110     mPortNumCombo->setCurrentText (portNumbers2Name (IRQ, IOBase));
     66    mPortNumCombo->setCurrentText (vboxGlobal().toCOMPortName (IRQ, IOBase));
    11167    mIRQLine->setText (QString::number (IRQ));
    11268    mIOPortLine->setText ("0x" + QString::number (IOBase, 16).upper());
     
    13490bool VBoxVMSerialPortSettings::isUserDefined()
    13591{
    136     return findByPortName (mPortNumCombo->currentText().utf8().data()) == NULL;
     92    ulong a, b;
     93    return !vboxGlobal().toCOMPortNumbers (mPortNumCombo->currentText(), a, b);
    13794}
    13895
     
    148105void VBoxVMSerialPortSettings::mPortNumCombo_activated (const QString &aText)
    149106{
    150     const PortConfig *config = findByPortName (aText.utf8().data());
    151     mIRQLine->setEnabled (config == NULL);
    152     mIOPortLine->setEnabled (config == NULL);
    153     if (config != NULL)
     107    ulong IRQ, IOBase;
     108    bool std = vboxGlobal().toCOMPortNumbers (aText, IRQ, IOBase);
     109
     110    mIRQLine->setEnabled (!std);
     111    mIOPortLine->setEnabled (!std);
     112    if (std)
    154113    {
    155         mIRQLine->setText (QString::number (config->IRQ));
    156         mIOPortLine->setText ("0x" + QString::number (config->IOBase, 16).upper());
     114        mIRQLine->setText (QString::number (IRQ));
     115        mIOPortLine->setText ("0x" + QString::number (IOBase, 16).upper());
    157116    }
    158117}
  • trunk/src/VBox/Frontends/VirtualBox/ui/VBoxVMSettingsDlg.ui

    r4324 r4354  
    213213            </property>
    214214            <property name="text">
    215                 <string>6</string>
     215                <string>7</string>
    216216            </property>
    217217            <property name="text">
     
    233233            </property>
    234234            <property name="text">
    235                 <string>7</string>
     235                <string>9</string>
    236236            </property>
    237237            <property name="text">
     
    273273            </property>
    274274            <property name="text">
    275                 <string>9</string>
     275                <string>6</string>
    276276            </property>
    277277            <property name="text">
     
    279279            </property>
    280280            <property name="pixmap">
    281                 <pixmap></pixmap>
     281                <pixmap>machine_16px.png</pixmap>
    282282            </property>
    283283            <property name="pixmap">
     
    22472247                </property>
    22482248                <attribute name="id">
    2249                     <number>6</number>
     2249                    <number>7</number>
    22502250                </attribute>
    22512251                <vbox>
     
    24882488                </property>
    24892489                <attribute name="id">
    2490                     <number>7</number>
     2490                    <number>9</number>
    24912491                </attribute>
    24922492                <vbox>
     
    27102710                </property>
    27112711                <attribute name="id">
    2712                     <number>9</number>
     2712                    <number>6</number>
    27132713                </attribute>
    27142714                <vbox>
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