Changeset 6266834


Ignore:
Timestamp:
Dec 4, 2013 3:57:50 AM (5 months ago)
Author:
yurkis <yurkis@…>
Branches:
master, releng/10.0, releng/10.0.1
Children:
e317eb72
Parents:
f0c06b9
git-author:
yurkis <yurkis@…> (12/04/13 03:57:35)
git-committer:
yurkis <yurkis@…> (12/04/13 03:57:50)
Message:

'Reboot required'message showing prototype

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

Legend:

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

    r08b1b75 r6266834  
    11#include "mainwindow.h" 
    22#include <QApplication> 
     3#include <QMessageBox> 
    34#include "pcbsd-ui.h" 
    45 
     
    1213 
    1314    w.show(); 
     15 
     16    //Check for root 
     17    if (0 != geteuid()) 
     18    { 
     19        QMessageBox msg; 
     20        msg.setText(w.tr("You should run this application as root")); 
     21        msg.exec(); 
     22        exit(2); 
     23    } 
    1424     
    1525    return a.exec(); 
  • src-qt4/pc-updatecenter/mainwindow.cpp

    r08b1b75 r6266834  
    9393    } 
    9494 
     95    ui->RebootW->setVisible(false); 
     96    ui->RebootW->init(&mSysController, &mPkgController, &mPBIController); 
     97 
    9598    mSysController.check(); 
    9699    mPkgController.check(); 
     
    159162    refreshMenu(); 
    160163 
     164    ui->RebootW->setVisible(mSysController.rebootRequired()); 
     165 
    161166    bool isUpdatesAvail= (mSysController.currentState() == CAbstractUpdateController::eUPDATES_AVAIL) 
    162167                       ||(mPkgController.currentState() == CAbstractUpdateController::eUPDATES_AVAIL) 
  • src-qt4/pc-updatecenter/mainwindow.ui

    r88cdb0d r6266834  
    77    <x>0</x> 
    88    <y>0</y> 
    9     <width>629</width> 
    10     <height>443</height> 
     9    <width>627</width> 
     10    <height>441</height> 
    1111   </rect> 
    1212  </property> 
     
    6767    </item> 
    6868    <item> 
     69     <widget class="RebootWidget" name="RebootW" native="true"/> 
     70    </item> 
     71    <item> 
    6972     <widget class="QTabWidget" name="mainTab"> 
    7073      <property name="styleSheet"> 
     
    339342     <x>0</x> 
    340343     <y>0</y> 
    341      <width>629</width> 
     344     <width>627</width> 
    342345     <height>21</height> 
    343346    </rect> 
     
    475478   <container>1</container> 
    476479  </customwidget> 
     480  <customwidget> 
     481   <class>RebootWidget</class> 
     482   <extends>QWidget</extends> 
     483   <header location="global">rebootwidget.h</header> 
     484   <container>1</container> 
     485  </customwidget> 
    477486 </customwidgets> 
    478487 <resources> 
  • src-qt4/pc-updatecenter/pc-updatecenter.pro

    r40b9c34 r6266834  
    3030    pkgdetailswidget.cpp \ 
    3131    pbidetailswidget.cpp \ 
    32     logviewdialog.cpp 
     32    logviewdialog.cpp \ 
     33    rebootwidget.cpp 
    3334 
    3435HEADERS  += mainwindow.h \ 
     
    4344    pkgdetailswidget.h \ 
    4445    pbidetailswidget.h \ 
    45     logviewdialog.h 
     46    logviewdialog.h \ 
     47    rebootwidget.h 
    4648 
    4749FORMS    += mainwindow.ui \ 
     
    5153    pkgdetailswidget.ui \ 
    5254    pbidetailswidget.ui \ 
    53     logviewdialog.ui 
     55    logviewdialog.ui \ 
     56    rebootwidget.ui 
    5457 
    5558RESOURCES += \ 
  • src-qt4/pc-updatecenter/res.qrc

    rdc2ff91 r6266834  
    2929        <file>images/sysupdates-upgrade.png</file> 
    3030        <file>images/beta.png</file> 
     31        <file>images/system-log-out.png</file> 
     32        <file>images/system-reboot.png</file> 
    3133    </qresource> 
    3234</RCC> 
  • src-qt4/pc-updatecenter/syscontroller.cpp

    r170608c r6266834  
    2727#include "pcbsd-utils.h" 
    2828#include <QDebug> 
     29#include <QRegExp> 
    2930 
    3031__string_constant PC_UPDATE_COMMAND = "pc-updatemanager"; 
     
    6263__string_constant SYS_PATCH_FINISHED= "INSTALLFINISHED:"; 
    6364 
     65__string_constant FILES_REQUIRED_REBOOT []= { "/boot/*", "/usr/lib/libc*" }; 
     66 
     67const int FILES_REQUIRED_REBOOT_SIZE = sizeof(FILES_REQUIRED_REBOOT) / sizeof(char*); 
     68 
    6469/////////////////////////////////////////////////////////////////////////////// 
    6570CSysController::CSysController() 
     
    7075    env.insert("PCFETCHGUI", "YES"); 
    7176    process().setProcessEnvironment(env); 
    72  
     77    misFBSDRebootRequired= false; 
     78    misRebootRequired = false; 
     79} 
     80 
     81/////////////////////////////////////////////////////////////////////////////// 
     82bool CSysController::rebootRequired() 
     83{ 
     84    return misRebootRequired && (currentState()!= eUPDATING); 
    7385} 
    7486 
     
    151163        return; 
    152164    ESysUpdate currUpdateType= mvUpdatesToApply[mCurrentUpdate].mType; 
     165    misRebootRequired |= mvUpdatesToApply[mCurrentUpdate].misRequiresReboot; 
     166 
    153167    switch(currUpdateType) 
    154168    { 
     
    177191    {         
    178192        misFREEBSDCheck= true; 
     193        misFBSDRebootRequired= false; 
    179194        launchCheck(); 
    180195    } 
     
    186201            entry.mName= tr("Base system update"); 
    187202            entry.mType= eFBSDUPDATE; 
     203            entry.misRequiresReboot= misFBSDRebootRequired; 
    188204            mvUpdates.push_back(entry); 
    189205        } 
     
    364380    { 
    365381        mFilesToUpdate<<line; 
     382        // Check if reboot requuired. 
     383        // FILES_REQUIRED_REBOOT const array contains wildcards for files. 
     384        // Modification of that files requires system reboot 
     385        QRegExp rx; 
     386        rx.setPatternSyntax(QRegExp::WildcardUnix); 
     387        for (int i=0; i<FILES_REQUIRED_REBOOT_SIZE; i++) 
     388        { 
     389            rx.setPattern(FILES_REQUIRED_REBOOT[i]); 
     390            if (rx.exactMatch(line)) 
     391            { 
     392                misFBSDRebootRequired= true; 
     393            }//if match 
     394        }//for all wildcard 
    366395    } 
    367396 
  • src-qt4/pc-updatecenter/syscontroller.h

    r08b1b75 r6266834  
    7171    QStringList filesToDelete()      {return mFilesToRemove;} 
    7272    QStringList fileslocalyModifyed(){return mFilesLocallyModifyed;} 
     73    bool        rebootRequired(); 
    7374 
    7475    void updateSelected(QVector<SSystemUpdate> selectedUpdates); 
     
    9495    QStringList mFilesToRemove; 
    9596    QStringList mFilesToUpdate; 
     97    bool        misFBSDRebootRequired; 
     98    bool        misRebootRequired; 
    9699 
    97100    QVector<SSystemUpdate> mvUpdatesToApply; 
Note: See TracChangeset for help on using the changeset viewer.