Changeset 43257ed


Ignore:
Timestamp:
12/05/13 07:05:21 (13 months ago)
Author:
yurkis <yurkis@…>
Branches:
master, releng/10.0, releng/10.0.1, releng/10.0.2, releng/10.0.3, releng/10.1
Children:
3955752
Parents:
e9b4e63
Message:

Jail support prototype

Location:
src-qt4/pc-updatecenter
Files:
3 added
10 edited

Legend:

Unmodified
Added
Removed
  • src-qt4/pc-updatecenter/dialogs/jailsdialog.cpp

    re9b4e63 r43257ed  
    5656        if (i==0) 
    5757            ui->jailsTW->setCurrentItem(item); 
     58        if (mpJail->jailName().trimmed() == jails[i].mName.trimmed()) 
     59        { 
     60            ui->jailsTW->setCurrentItem(item); 
     61        } 
    5862    } 
    5963    return exec(); 
     
    8690 
    8791    setResult(QDialog::Accepted); 
     92    close(); 
    8893} 
  • src-qt4/pc-updatecenter/jailsbackend.cpp

    re9b4e63 r43257ed  
    3636CJailsBackend::CJailsBackend() 
    3737{ 
     38    misEnabled= false; 
    3839} 
    3940 
     
    9495 
    9596/////////////////////////////////////////////////////////////////////////////// 
     97QString CJailsBackend::jailName() 
     98{ 
     99    return mName; 
     100} 
     101 
     102/////////////////////////////////////////////////////////////////////////////// 
    96103QString CJailsBackend::jailPrefix() 
    97104{ 
  • src-qt4/pc-updatecenter/jailsbackend.h

    re9b4e63 r43257ed  
    5454 
    5555    bool jailEnabled(); 
     56    QString jailName(); 
    5657    QString jailPrefix(); 
    5758 
  • src-qt4/pc-updatecenter/mainwindow.cpp

    re9b4e63 r43257ed  
    9797    ui->RebootW->init(&mSysController, &mPkgController, &mPBIController); 
    9898 
     99    ui->jailIndicatorWidget->setVisible(false); 
     100    jailRefresh(); 
     101 
    99102    mSysController.check(); 
    100103    mPkgController.check(); 
     
    139142 
    140143/////////////////////////////////////////////////////////////////////////////// 
     144void MainWindow::jailRefresh() 
     145{ 
     146    static bool last_enabled= false; 
     147 
     148    ui->jailIndicatorWidget->setVisible(mJail.jailEnabled()); 
     149 
     150    if (mJail.jailEnabled()) 
     151    { 
     152        ui->jailIndicatorWidget->setJailName(mJail.jailName()); 
     153        QString prefix= mJail.jailPrefix(); 
     154        mSysController.setJailPrefix(prefix); 
     155        mPkgController.setJailPrefix(prefix); 
     156        mPBIController.setJailPrefix(prefix); 
     157    } 
     158    else 
     159    { 
     160        mSysController.removeJailPrefix(); 
     161        mPkgController.removeJailPrefix(); 
     162        mPBIController.removeJailPrefix(); 
     163    } 
     164 
     165    if (last_enabled!=mJail.jailEnabled()) 
     166    { 
     167        mSysController.check(); 
     168        mPkgController.check(); 
     169        mPBIController.check(); 
     170        last_enabled = mJail.jailEnabled(); 
     171    } 
     172} 
     173 
     174/////////////////////////////////////////////////////////////////////////////// 
    141175void MainWindow::refreshMenu() 
    142176{ 
     
    299333    JailsDialog* dlg = new JailsDialog(this); 
    300334    dlg->execDialog(&mJail); 
    301 } 
     335    jailRefresh(); 
     336} 
  • src-qt4/pc-updatecenter/mainwindow.h

    re9b4e63 r43257ed  
    5151 
    5252    void init(); 
     53    void jailRefresh(); 
    5354 
    5455    void refreshMenu(); 
  • src-qt4/pc-updatecenter/mainwindow.ui

    re9b4e63 r43257ed  
    77    <x>0</x> 
    88    <y>0</y> 
    9     <width>625</width> 
    10     <height>439</height> 
     9    <width>623</width> 
     10    <height>437</height> 
    1111   </rect> 
    1212  </property> 
     
    6767    </item> 
    6868    <item> 
     69     <widget class="JailIndicator" name="jailIndicatorWidget" native="true"/> 
     70    </item> 
     71    <item> 
    6972     <widget class="RebootWidget" name="RebootW" native="true"/> 
    7073    </item> 
     
    342345     <x>0</x> 
    343346     <y>0</y> 
    344      <width>625</width> 
     347     <width>623</width> 
    345348     <height>21</height> 
    346349    </rect> 
     
    364367     <string>Control</string> 
    365368    </property> 
    366     <addaction name="actionIgnored_updates"/> 
    367369    <addaction name="actionUpdate_set"/> 
    368370    <addaction name="actionSystem_branches"/> 
     
    427429   </property> 
    428430  </action> 
    429   <action name="actionIgnored_updates"> 
    430    <property name="enabled"> 
    431     <bool>false</bool> 
    432    </property> 
    433    <property name="text"> 
    434     <string>Ignored updates</string> 
    435    </property> 
    436   </action> 
    437431  <action name="actionExit"> 
    438432   <property name="enabled"> 
     
    482476   <extends>QWidget</extends> 
    483477   <header location="global">rebootwidget.h</header> 
     478   <container>1</container> 
     479  </customwidget> 
     480  <customwidget> 
     481   <class>JailIndicator</class> 
     482   <extends>QWidget</extends> 
     483   <header location="global">jailindicator.h</header> 
    484484   <container>1</container> 
    485485  </customwidget> 
  • src-qt4/pc-updatecenter/pc-updatecenter.pro

    re9b4e63 r43257ed  
    3333    rebootwidget.cpp \ 
    3434    dialogs/jailsdialog.cpp \ 
    35     jailsbackend.cpp 
     35    jailsbackend.cpp \ 
     36    jailindicator.cpp 
    3637 
    3738HEADERS  += mainwindow.h \ 
     
    4950    rebootwidget.h \ 
    5051    dialogs/jailsdialog.h \ 
    51     jailsbackend.h 
     52    jailsbackend.h \ 
     53    jailindicator.h 
    5254 
    5355FORMS    += mainwindow.ui \ 
     
    5961    dialogs/logviewdialog.ui \ 
    6062    rebootwidget.ui \ 
    61     dialogs/jailsdialog.ui 
     63    dialogs/jailsdialog.ui \ 
     64    jailindicator.ui 
    6265 
    6366RESOURCES += \ 
  • src-qt4/pc-updatecenter/res.qrc

    r6266834 r43257ed  
    3131        <file>images/system-log-out.png</file> 
    3232        <file>images/system-reboot.png</file> 
     33        <file>images/paused.png</file> 
     34        <file>images/running.png</file> 
     35        <file>images/cell.png</file> 
     36        <file>images/stopped.png</file> 
    3337    </qresource> 
    3438</RCC> 
  • src-qt4/pc-updatecenter/updatecontroller.cpp

    r08b1b75 r43257ed  
    4343 
    4444/////////////////////////////////////////////////////////////////////////////// 
     45void CAbstractUpdateController::setJailPrefix(QString prefix) 
     46{ 
     47    mJailPrefix= prefix; 
     48} 
     49 
     50/////////////////////////////////////////////////////////////////////////////// 
     51void CAbstractUpdateController::removeJailPrefix() 
     52{ 
     53    mJailPrefix.clear(); 
     54} 
     55 
     56/////////////////////////////////////////////////////////////////////////////// 
    4557CAbstractUpdateController::EUpdateControllerState CAbstractUpdateController::currentState() 
    4658{ 
     
    140152    updateShellCommand(proc, args); 
    141153 
     154    //if jail is present 
     155    if (mJailPrefix.length()) 
     156    { 
     157        args.push_front(proc); 
     158        args.push_front(mJailPrefix); 
     159        proc = "chroot"; 
     160    } 
     161 
    142162    mUpdProc.start(proc,args); 
    143163    if (!mUpdProc.waitForStarted()) 
     
    157177    QStringList args; 
    158178    checkShellCommand(proc, args); 
     179 
     180    //if jail is present 
     181    if (mJailPrefix.length()) 
     182    { 
     183        args.push_front(proc); 
     184        args.push_front(mJailPrefix); 
     185        proc = "chroot"; 
     186    } 
    159187 
    160188    mUpdProc.start(proc,args); 
  • src-qt4/pc-updatecenter/updatecontroller.h

    r08b1b75 r43257ed  
    8484    CAbstractUpdateController(); 
    8585 
     86    void setJailPrefix(QString prefix); 
     87    void removeJailPrefix(); 
     88 
    8689    EUpdateControllerState currentState(); 
    8790    SProgress              currentProgress(); 
     
    130133    QProcess               mUpdProc; 
    131134    QStringList            mLogMessages; 
     135    QString                mJailPrefix; 
    132136 
    133137public: signals: 
Note: See TracChangeset for help on using the changeset viewer.