Changeset dca28eb


Ignore:
Timestamp:
10/18/13 12:38:20 (11 months ago)
Author:
Ken Moore <ken@…>
Branches:
master, 9.2-release, releng/10.0, releng/10.0.1, releng/10.0.2, releng/10.0.3
Children:
e1fdbaf, 6a2483b
Parents:
c69425e (diff), 5a1d1a0 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'master' of github.com:pcbsd/pcbsd

Files:
1 added
14 edited

Legend:

Unmodified
Added
Removed
  • src-qt4/pc-firstbootgui/backend.cpp

    r261f12e r5a1d1a0  
    9595    } 
    9696    return _zones; 
     97} 
     98 
     99QString Backend::guessTimezone() 
     100{ 
     101    QString code; 
     102   
     103    Process p(QStringList() << "detect-country"); 
     104   
     105    if (p.waitForFinished()) { 
     106       code = p.readLine().simplified(); 
     107    } 
     108    code = code.section(" ", 1, 1); 
     109    qDebug() << "Found timezone:" << code; 
     110    return code; 
    97111} 
    98112 
  • src-qt4/pc-firstbootgui/backend.h

    r1620346 r5a1d1a0  
    1111#include <QWidget> 
    1212 
    13 #define PCSYSINSTALL    QString("/usr/sbin/pc-sysinstall") 
    14 #define PCSYSINSTALLDIR QString("/usr/share/pc-sysinstall") 
     13#define PCSYSINSTALL    QString("/usr/local/sbin/pc-sysinstall") 
     14#define PCSYSINSTALLDIR QString("/usr/local/share/pc-sysinstall") 
    1515#define PCSYSINSTALLCFG QString("/tmp/sys-install.cfg") 
    1616#define TMPLANGFILE QString("/tmp/.SysInstallLang") 
     
    5151    static QStringList networkDevices(); 
    5252    static QStringList timezones(); 
     53    static QString guessTimezone(); 
    5354    static void changeKbMap(QString model, QString layout, QString variant); 
    5455    static QList<QStringList> hardDrives(); 
  • src-qt4/pc-firstbootgui/firstboot.cpp

    r3890273 r5a1d1a0  
    4949    // Load the timezones 
    5050    comboBoxTimezone->clear(); 
     51    QString curZone = Scripts::Backend::guessTimezone(); 
    5152    comboBoxTimezone->addItems(Scripts::Backend::timezones()); 
    52     // Set America/New_York to default 
    53     int index = comboBoxTimezone->findText("America/New_York", Qt::MatchStartsWith); 
    54     if (index != -1) 
    55        comboBoxTimezone->setCurrentIndex(index); 
     53    if ( ! curZone.isEmpty() ) { 
     54      int index = comboBoxTimezone->findText(curZone, Qt::MatchStartsWith); 
     55      if (index != -1) 
     56         comboBoxTimezone->setCurrentIndex(index); 
     57    } else { 
     58      // Set America/New_York to default 
     59      int index = comboBoxTimezone->findText("America/New_York", Qt::MatchStartsWith); 
     60      if (index != -1) 
     61         comboBoxTimezone->setCurrentIndex(index); 
     62    } 
    5663 
    5764    // Load the hostname 
  • src-qt4/pc-installgui/backend.cpp

    r33f5a6d r688b57d  
    234234    return -1; 
    235235} 
     236 
     237QString Backend::detectCountryCode() 
     238{ 
     239    QString code; 
     240 
     241    Process p(QStringList() << "detect-country"); 
     242 
     243    if (p.waitForFinished()) { 
     244       code = p.readLine().simplified(); 
     245    } 
     246    code = code.section(" ", 0, 0); 
     247    qDebug() << "Found Country Code:" << code; 
     248    return code; 
     249} 
     250 
    236251 
    237252QStringList Backend::networkDevices() 
  • src-qt4/pc-installgui/backend.h

    r027bbae r8d3682c  
    5757    static QStringList networkDevices(); 
    5858    static QStringList timezones(); 
     59    static QString detectCountryCode(); 
    5960    static void changeKbMap(QString model, QString layout, QString variant); 
    6061    static QList<QStringList> hardDrives(); 
  • src-qt4/pc-installgui/installer.cpp

    rb1a3938 r8d3682c  
    101101{ 
    102102    // load languages 
     103    QString langCode; 
     104    bool foundLang = false; 
    103105    comboLanguage->clear(); 
    104106    languages = Scripts::Backend::languages(); 
     107    QString curLang = Scripts::Backend::detectCountryCode();  
    105108    for (int i=0; i < languages.count(); ++i) { 
    106109        QString languageStr = languages.at(i); 
    107110        QString language = languageStr.split("-").at(0); 
    108111        comboLanguage->addItem(language.trimmed()); 
     112 
     113        // Grab the language code 
     114        langCode = languageStr; 
     115        langCode.truncate(langCode.lastIndexOf(")")); 
     116        langCode.remove(0, langCode.lastIndexOf("(") + 1); 
     117        if ( curLang == langCode ) { 
     118          comboLanguage->setCurrentIndex(i); 
     119          foundLang = true; 
     120        } 
    109121    } 
    110122    connect(comboLanguage, SIGNAL(currentIndexChanged(QString)), this, SLOT(slotChangeLanguage())); 
     123    // If we found a language from geo-loication, change UI now 
     124    if ( foundLang ) 
     125       slotChangeLanguage(); 
     126     
    111127 
    112128    // Load any package scheme data 
     
    776792      this->retranslateUi(this); 
    777793    } 
    778 } 
    779  
    780 void Installer::changeLang(QString code) 
    781 { 
    782    // Change the language in the combobox with the current running one 
    783    comboLanguage->disconnect(); 
    784  
    785    for (int i=0; i < languages.count(); ++i) { 
    786       if ( languages.at(i).indexOf("(" + code + ")" ) != -1 ) { 
    787         comboLanguage->setCurrentIndex(i);  
    788       } 
    789    } 
    790  
    791    connect(comboLanguage, SIGNAL(currentIndexChanged(QString)), this, SLOT(slotChangeLanguage())); 
     794 
     795    // Change the default keyboard layout 
     796    if ( langCode == "en" ) { 
     797       Scripts::Backend::changeKbMap("pc104", "us", ""); 
     798    } else { 
     799       // TODO - At some point, add additional tests here and set more specific layouts 
     800       // based upon the language selected 
     801       Scripts::Backend::changeKbMap("pc105", langCode, "" ); 
     802    } 
     803     
    792804} 
    793805 
  • src-qt4/pc-installgui/installer.h

    r93572be r01ffd8dd  
    3535    Installer(QWidget *parent = 0); 
    3636    ~Installer(); 
    37     void changeLang(QString code); 
    3837    void initInstall(); 
    3938 
  • src-qt4/pc-installgui/wizardDisk.cpp

    rb1a3938 r4fb8829  
    153153        break; 
    154154     case Page_BasicDisk: 
     155       if (checkSSD->isChecked()) 
     156         pushSwapSize->setVisible(false); 
     157       else 
     158         pushSwapSize->setVisible(true); 
     159 
    155160       if (radioBasic->isChecked()) 
    156161         return Page_Confirmation; 
     
    414419     fsType= "ZFS"; 
    415420 
     421    QString rootOpts=""; 
     422    if ( checkSSD->isChecked() ) 
     423        rootOpts="(atime=off)"; 
     424 
    416425     // This lets the user do nifty stuff like a mirror/raid post-install with a single zpool command 
    417     fileSystem << targetDisk << targetSlice << "/,/tmp(compress=lz4),/usr(canmount=off),/usr/home,/usr/jails,/usr/obj(compress=lz4),/usr/pbi,/usr/ports(compress=lz4),/usr/ports/distfiles(compress=lz4),/usr/src(compress=lz4),/var(canmount=off),/var/audit(compress=lz4),/var/log(compress=lz4),/var/tmp(compress=lz4)" << fsType << tmp.setNum(totalSize) << "" << tmpPass; 
     426    fileSystem << targetDisk << targetSlice << "/" + rootOpts + ",/tmp(compress=lz4),/usr(canmount=off),/usr/home,/usr/jails,/usr/obj(compress=lz4),/usr/pbi,/usr/ports(compress=lz4),/usr/ports/distfiles(compress=lz4),/usr/src(compress=lz4),/var(canmount=off),/var/audit(compress=lz4),/var/log(compress=lz4),/var/tmp(compress=lz4)" << fsType << tmp.setNum(totalSize) << "" << tmpPass; 
    418427    sysFinalDiskLayout << fileSystem; 
    419428    fileSystem.clear(); 
    420429 
    421     // Now add swap space 
    422     fileSystem << targetDisk << targetSlice << "SWAP" << "SWAP" << tmp.setNum(swapsize) << "" << ""; 
    423     sysFinalDiskLayout << fileSystem; 
    424     fileSystem.clear(); 
     430    // Now add swap space if NOT on a SSD 
     431    if ( ! checkSSD->isChecked() ) { 
     432      fileSystem << targetDisk << targetSlice << "SWAP" << "SWAP" << tmp.setNum(swapsize) << "" << ""; 
     433      sysFinalDiskLayout << fileSystem; 
     434      fileSystem.clear(); 
     435    } 
    425436 
    426437    //qDebug() << "Auto-Gen FS:" <<  fileSystem; 
     
    900911 
    901912  fileSystem.clear(); 
    902   fileSystem << targetDisk << targetSlice << "SWAP" << "SWAP" << tmp.setNum(swapsize) << "" << ""; 
    903   sysFinalDiskLayout << fileSystem; 
     913  if ( ! checkSSD->isChecked() ) { 
     914    fileSystem << targetDisk << targetSlice << "SWAP" << "SWAP" << tmp.setNum(swapsize) << "" << ""; 
     915    sysFinalDiskLayout << fileSystem; 
     916  } 
    904917 
    905918  qDebug() <<"AutoLayout:" << sysFinalDiskLayout; 
  • src-qt4/pc-installgui/wizardDisk.ui

    r1bfa1e0 r4fb8829  
    88    <y>0</y> 
    99    <width>641</width> 
    10     <height>386</height> 
     10    <height>407</height> 
    1111   </rect> 
    1212  </property> 
     
    191191  <widget class="QWizardPage" name="Page_BasicDisk"> 
    192192   <layout class="QGridLayout" name="gridLayout_11"> 
    193     <item row="3" column="1"> 
    194      <layout class="QGridLayout" name="gridLayout_3"> 
    195       <item row="0" column="0"> 
    196        <widget class="QComboBox" name="comboDisk"> 
    197         <property name="sizePolicy"> 
    198          <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed"> 
    199           <horstretch>0</horstretch> 
    200           <verstretch>0</verstretch> 
    201          </sizepolicy> 
    202         </property> 
    203        </widget> 
    204       </item> 
    205       <item row="0" column="1"> 
    206        <widget class="QLabel" name="label_5"> 
    207         <property name="sizePolicy"> 
    208          <sizepolicy hsizetype="Minimum" vsizetype="Preferred"> 
    209           <horstretch>0</horstretch> 
    210           <verstretch>0</verstretch> 
    211          </sizepolicy> 
    212         </property> 
    213         <property name="text"> 
    214          <string>Selected Disk</string> 
    215         </property> 
    216        </widget> 
    217       </item> 
    218       <item row="1" column="0"> 
    219        <widget class="QComboBox" name="comboPartition"> 
    220         <property name="sizePolicy"> 
    221          <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed"> 
    222           <horstretch>0</horstretch> 
    223           <verstretch>0</verstretch> 
    224          </sizepolicy> 
    225         </property> 
    226        </widget> 
    227       </item> 
    228       <item row="1" column="1"> 
    229        <widget class="QLabel" name="label_6"> 
    230         <property name="sizePolicy"> 
    231          <sizepolicy hsizetype="Minimum" vsizetype="Preferred"> 
    232           <horstretch>0</horstretch> 
    233           <verstretch>0</verstretch> 
    234          </sizepolicy> 
    235         </property> 
    236         <property name="text"> 
    237          <string>Selected Partition</string> 
    238         </property> 
    239        </widget> 
    240       </item> 
    241      </layout> 
    242     </item> 
    243     <item row="10" column="1"> 
    244      <spacer name="verticalSpacer_6"> 
    245       <property name="orientation"> 
    246        <enum>Qt::Vertical</enum> 
    247       </property> 
    248       <property name="sizeHint" stdset="0"> 
    249        <size> 
    250         <width>387</width> 
    251         <height>43</height> 
    252        </size> 
    253       </property> 
    254      </spacer> 
    255     </item> 
    256     <item row="6" column="1"> 
    257      <widget class="QCheckBox" name="checkForce4K"> 
    258       <property name="text"> 
    259        <string>Force ZFS 4K block size</string> 
    260       </property> 
    261      </widget> 
    262     </item> 
    263     <item row="1" column="1"> 
    264      <widget class="QLabel" name="label_4"> 
    265       <property name="sizePolicy"> 
    266        <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred"> 
    267         <horstretch>0</horstretch> 
    268         <verstretch>0</verstretch> 
    269        </sizepolicy> 
    270       </property> 
    271       <property name="text"> 
    272        <string>Please select the disk or partition you wish to install onto. Please note that you must select either an entire disk or a primary partition that is at least 20GB for a server install or 50GB for a desktop install. </string> 
    273       </property> 
    274       <property name="wordWrap"> 
    275        <bool>true</bool> 
    276       </property> 
    277      </widget> 
    278     </item> 
    279     <item row="0" column="1"> 
    280      <spacer name="verticalSpacer_5"> 
    281       <property name="orientation"> 
    282        <enum>Qt::Vertical</enum> 
    283       </property> 
    284       <property name="sizeType"> 
    285        <enum>QSizePolicy::Fixed</enum> 
    286       </property> 
    287       <property name="sizeHint" stdset="0"> 
    288        <size> 
    289         <width>387</width> 
    290         <height>18</height> 
    291        </size> 
    292       </property> 
    293      </spacer> 
    294     </item> 
    295     <item row="4" column="1"> 
    296      <spacer name="verticalSpacer_17"> 
    297       <property name="orientation"> 
    298        <enum>Qt::Vertical</enum> 
    299       </property> 
    300       <property name="sizeHint" stdset="0"> 
    301        <size> 
    302         <width>20</width> 
    303         <height>40</height> 
    304        </size> 
    305       </property> 
    306      </spacer> 
    307     </item> 
    308     <item row="0" column="0" rowspan="11"> 
    309      <layout class="QVBoxLayout" name="verticalLayout_4"> 
    310       <item> 
    311        <widget class="QLabel" name="label_3"> 
    312         <property name="sizePolicy"> 
    313          <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> 
    314           <horstretch>0</horstretch> 
    315           <verstretch>0</verstretch> 
    316          </sizepolicy> 
    317         </property> 
    318         <property name="maximumSize"> 
    319          <size> 
    320           <width>55</width> 
    321           <height>55</height> 
    322          </size> 
    323         </property> 
    324         <property name="text"> 
    325          <string/> 
    326         </property> 
    327         <property name="pixmap"> 
    328          <pixmap resource="sysinstaller.qrc">:/modules/images/disk.png</pixmap> 
    329         </property> 
    330         <property name="scaledContents"> 
    331          <bool>true</bool> 
    332         </property> 
    333         <property name="alignment"> 
    334          <set>Qt::AlignCenter</set> 
    335         </property> 
    336        </widget> 
    337       </item> 
    338       <item> 
    339        <spacer name="verticalSpacer_11"> 
    340         <property name="orientation"> 
    341          <enum>Qt::Vertical</enum> 
    342         </property> 
    343         <property name="sizeHint" stdset="0"> 
    344          <size> 
    345           <width>20</width> 
    346           <height>40</height> 
    347          </size> 
    348         </property> 
    349        </spacer> 
    350       </item> 
    351      </layout> 
    352     </item> 
    353     <item row="5" column="1"> 
    354      <widget class="QCheckBox" name="checkGPT"> 
    355       <property name="text"> 
    356        <string>Partition disk with GPT</string> 
    357       </property> 
    358      </widget> 
    359     </item> 
    360     <item row="8" column="1"> 
     193    <item row="9" column="1"> 
    361194     <widget class="QGroupBox" name="groupZFSPool"> 
    362195      <property name="font"> 
     
    408241     </spacer> 
    409242    </item> 
    410     <item row="1" column="2" rowspan="10"> 
     243    <item row="1" column="2" rowspan="11"> 
    411244     <spacer name="horizontalSpacer_3"> 
    412245      <property name="orientation"> 
     
    431264      <property name="checked"> 
    432265       <bool>true</bool> 
     266      </property> 
     267     </widget> 
     268    </item> 
     269    <item row="0" column="1"> 
     270     <spacer name="verticalSpacer_5"> 
     271      <property name="orientation"> 
     272       <enum>Qt::Vertical</enum> 
     273      </property> 
     274      <property name="sizeType"> 
     275       <enum>QSizePolicy::Fixed</enum> 
     276      </property> 
     277      <property name="sizeHint" stdset="0"> 
     278       <size> 
     279        <width>387</width> 
     280        <height>18</height> 
     281       </size> 
     282      </property> 
     283     </spacer> 
     284    </item> 
     285    <item row="4" column="1"> 
     286     <spacer name="verticalSpacer_17"> 
     287      <property name="orientation"> 
     288       <enum>Qt::Vertical</enum> 
     289      </property> 
     290      <property name="sizeHint" stdset="0"> 
     291       <size> 
     292        <width>20</width> 
     293        <height>40</height> 
     294       </size> 
     295      </property> 
     296     </spacer> 
     297    </item> 
     298    <item row="0" column="0" rowspan="12"> 
     299     <layout class="QVBoxLayout" name="verticalLayout_4"> 
     300      <item> 
     301       <widget class="QLabel" name="label_3"> 
     302        <property name="sizePolicy"> 
     303         <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> 
     304          <horstretch>0</horstretch> 
     305          <verstretch>0</verstretch> 
     306         </sizepolicy> 
     307        </property> 
     308        <property name="maximumSize"> 
     309         <size> 
     310          <width>55</width> 
     311          <height>55</height> 
     312         </size> 
     313        </property> 
     314        <property name="text"> 
     315         <string/> 
     316        </property> 
     317        <property name="pixmap"> 
     318         <pixmap resource="sysinstaller.qrc">:/modules/images/disk.png</pixmap> 
     319        </property> 
     320        <property name="scaledContents"> 
     321         <bool>true</bool> 
     322        </property> 
     323        <property name="alignment"> 
     324         <set>Qt::AlignCenter</set> 
     325        </property> 
     326       </widget> 
     327      </item> 
     328      <item> 
     329       <spacer name="verticalSpacer_11"> 
     330        <property name="orientation"> 
     331         <enum>Qt::Vertical</enum> 
     332        </property> 
     333        <property name="sizeHint" stdset="0"> 
     334         <size> 
     335          <width>20</width> 
     336          <height>40</height> 
     337         </size> 
     338        </property> 
     339       </spacer> 
     340      </item> 
     341     </layout> 
     342    </item> 
     343    <item row="5" column="1"> 
     344     <widget class="QCheckBox" name="checkGPT"> 
     345      <property name="text"> 
     346       <string>Partition disk with GPT</string> 
     347      </property> 
     348     </widget> 
     349    </item> 
     350    <item row="1" column="1"> 
     351     <widget class="QLabel" name="label_4"> 
     352      <property name="sizePolicy"> 
     353       <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred"> 
     354        <horstretch>0</horstretch> 
     355        <verstretch>0</verstretch> 
     356       </sizepolicy> 
     357      </property> 
     358      <property name="text"> 
     359       <string>Please select the disk or partition you wish to install onto. Please note that you must select either an entire disk or a primary partition that is at least 20GB for a server install or 50GB for a desktop install. </string> 
     360      </property> 
     361      <property name="wordWrap"> 
     362       <bool>true</bool> 
     363      </property> 
     364     </widget> 
     365    </item> 
     366    <item row="11" column="1"> 
     367     <spacer name="verticalSpacer_6"> 
     368      <property name="orientation"> 
     369       <enum>Qt::Vertical</enum> 
     370      </property> 
     371      <property name="sizeHint" stdset="0"> 
     372       <size> 
     373        <width>387</width> 
     374        <height>43</height> 
     375       </size> 
     376      </property> 
     377     </spacer> 
     378    </item> 
     379    <item row="6" column="1"> 
     380     <widget class="QCheckBox" name="checkForce4K"> 
     381      <property name="text"> 
     382       <string>Force ZFS 4K block size</string> 
     383      </property> 
     384     </widget> 
     385    </item> 
     386    <item row="3" column="1"> 
     387     <layout class="QGridLayout" name="gridLayout_3"> 
     388      <item row="0" column="0"> 
     389       <widget class="QComboBox" name="comboDisk"> 
     390        <property name="sizePolicy"> 
     391         <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed"> 
     392          <horstretch>0</horstretch> 
     393          <verstretch>0</verstretch> 
     394         </sizepolicy> 
     395        </property> 
     396       </widget> 
     397      </item> 
     398      <item row="0" column="1"> 
     399       <widget class="QLabel" name="label_5"> 
     400        <property name="sizePolicy"> 
     401         <sizepolicy hsizetype="Minimum" vsizetype="Preferred"> 
     402          <horstretch>0</horstretch> 
     403          <verstretch>0</verstretch> 
     404         </sizepolicy> 
     405        </property> 
     406        <property name="text"> 
     407         <string>Selected Disk</string> 
     408        </property> 
     409       </widget> 
     410      </item> 
     411      <item row="1" column="0"> 
     412       <widget class="QComboBox" name="comboPartition"> 
     413        <property name="sizePolicy"> 
     414         <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed"> 
     415          <horstretch>0</horstretch> 
     416          <verstretch>0</verstretch> 
     417         </sizepolicy> 
     418        </property> 
     419       </widget> 
     420      </item> 
     421      <item row="1" column="1"> 
     422       <widget class="QLabel" name="label_6"> 
     423        <property name="sizePolicy"> 
     424         <sizepolicy hsizetype="Minimum" vsizetype="Preferred"> 
     425          <horstretch>0</horstretch> 
     426          <verstretch>0</verstretch> 
     427         </sizepolicy> 
     428        </property> 
     429        <property name="text"> 
     430         <string>Selected Partition</string> 
     431        </property> 
     432       </widget> 
     433      </item> 
     434     </layout> 
     435    </item> 
     436    <item row="8" column="1"> 
     437     <widget class="QCheckBox" name="checkSSD"> 
     438      <property name="text"> 
     439       <string>Installing to SSD (Disables SWAP / atime)</string> 
    433440      </property> 
    434441     </widget> 
  • src-sh/pc-sysinstall/doc/help-index

    r1620346 re8cdd4d  
    2121    disk-info <disk> 
    2222        Returns information about the disks size, cyls, heads, and sectors  
     23 
     24    detect-country 
     25        Returns the country-code based upon IP address of the system, or UNKNOWN 
    2326     
    2427    detect-laptop 
  • src-sh/pc-sysinstall/pc-sysinstall

    r1620346 r688b57d  
    88##################################################################### 
    99# Copyright 2010 iXsystems 
     10# Copyright 2013 iXsystems 
    1011# All rights reserved 
    1112# 
     
    137138  ;; 
    138139 
     140  # Get geo-location data for this system 
     141  detect-country) ${QUERYDIR}/detect-country.sh 
     142  ;; 
     143 
    139144  # The user is wanting to see what nics are available on the system 
    140145  detect-nics) ${QUERYDIR}/detect-nics.sh 
  • src-sh/port-files/pkg-plist

    r0843d04d re8cdd4d  
    8585share/pc-sysinstall/backend-query/xkeyboard-layouts.sh 
    8686share/pc-sysinstall/backend-query/enable-net.sh 
     87share/pc-sysinstall/backend-query/detect-country.sh 
    8788share/pc-sysinstall/backend-query/detect-laptop.sh 
    8889share/pc-sysinstall/backend-query/list-packages.sh 
  • src-qt4/pc-mounttray/menuItem.cpp

    rb103b6c rc69425e  
    5252  //Start the automount procedure if necessary 
    5353  if(checkAutomount->isChecked() || devType=="ISO"){ 
    54     QTimer::singleShot(500,this,SLOT( slotMountClicked() )); 
     54    QTimer::singleShot(500,this,SLOT( slotAutoMount() )); 
    5555  } 
    5656  //Update the Item based upon current device status 
     
    149149  } 
    150150  updateItem(); 
     151} 
     152 
     153void MenuItem::slotAutoMount(){ 
     154//Just like slotMountClicked, but will only mount the device if appropriate (no removals); 
     155  if( isConnected() ){ 
     156    if( !isMounted() ){ 
     157      mountItem(); 
     158    } 
     159  }else{ 
     160    emit itemRemoved(device);      
     161  } 
     162  updateItem();  
    151163} 
    152164 
     
    277289  if(output.join(" ").simplified().isEmpty()){ 
    278290    //unmounting successful, remove the mount point directory 
    279     output = pcbsd::Utils::runShellCommand(cmd2); 
     291    if(mountpoint != "/mnt" && mountpoint != "/media"){ //make sure not to remove base directories 
     292      output = pcbsd::Utils::runShellCommand(cmd2); 
     293    } 
    280294    if(!output.join(" ").simplified().isEmpty()){ 
    281295      qDebug() << "pc-mounttray: Error removing mountpoint:" << mountpoint; 
  • src-qt4/pc-mounttray/menuItem.h

    r22f21be rc69425e  
    6868  private slots: 
    6969        void slotMountClicked(); 
     70        void slotAutoMount(); 
    7071        void slotAutoMountToggled(bool); 
    7172         
Note: See TracChangeset for help on using the changeset viewer.