Changeset 408fff7


Ignore:
Timestamp:
06/04/13 08:24:52 (19 months ago)
Author:
Kris Moore <kris@…>
Branches:
master, 9.2-release, releng/10.0, releng/10.0.1, releng/10.0.2, releng/10.0.3, releng/10.1
Children:
aa62fb7, e9e40b5
Parents:
66f9603
Message:

Update the Update GUI to use a new Details section, which gives descriptions of
updates pulled down from freebsd-update

Location:
src-qt4/pc-updategui
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • src-qt4/pc-updategui/mainWin.cpp

    r67e6e29 r408fff7  
    2626{ 
    2727  // Set any warden directories 
     28  groupDetails->setVisible(false); 
    2829  doingUpdate=false; 
    2930  lastError=""; 
     
    7677  else 
    7778    pushInstallUpdates->setEnabled(true); 
     79 
     80 
     81  // See if we have description text to update 
     82  groupDetails->setVisible(false); 
     83  textDesc->setText(QString()); 
     84  if ( ! listViewUpdates->currentItem() ) 
     85     return; 
     86 
     87  int myRow = listViewUpdates->currentRow(); 
     88 
     89  if ( listUpdates.at(myRow).at(1) == "FBSDUPDATE" ) { 
     90    groupDetails->setVisible(true); 
     91 
     92    QString desc; 
     93    for (int p=2; p < listUpdates.at(myRow).count(); p++) 
     94      desc += listUpdates.at(myRow).at(p) + "<br>"; 
     95    textDesc->setText(desc); 
     96  } 
    7897} 
    7998 
     
    381400        fileNameList += listUpdates.at(z).at(p) + "<br>"; 
    382401 
    383       QListWidgetItem *item = new QListWidgetItem(tr("FreeBSD Security Update")); 
     402      QListWidgetItem *item = new QListWidgetItem(tr("Base System Updates")); 
    384403      item->setCheckState(Qt::Unchecked); 
    385       item->setToolTip(tr("The following files need updating:") + "<hr>" + fileNameList); 
     404      item->setToolTip(fileNameList); 
    386405       
    387406      listViewUpdates->addItem(item); 
     
    505524 
    506525void mainWin::checkFBSDUpdates() { 
    507   QString line; 
    508   QStringList up, listPkgs; 
     526  QString line, toPatchVer, tmp; 
     527  QStringList up, listDesc, listPkgs; 
    509528 
    510529  // Now check if there are freebsd-updates to install 
     
    525544    line = f.readLine().simplified(); 
    526545    qDebug() << line; 
    527     if ( line.indexOf("The following files will be updated ") == 0) { 
     546    if ( line.indexOf("The following files will be ") == 0) { 
     547       toPatchVer= line.remove(0, line.lastIndexOf(" ")); 
     548       toPatchVer=toPatchVer.section("-", 2,2); 
     549       toPatchVer=toPatchVer.section(":", 0,0); 
     550       toPatchVer=toPatchVer.section("p", 1,1); 
    528551       fUp = true; 
     552       listPkgs << " " << tr("The following files will be updated:"); 
    529553       continue; 
    530554    } 
     
    539563  // Are there freebsd updates to install? 
    540564  if ( fUp ) { 
     565    QString mySysVer; 
     566    QString myPatchVer; 
     567 
     568    // Lets try and fetch the desc file 
     569    QProcess::execute("fetch -o /tmp/.fbsdupdesc http://fbsd-update.pcbsd.org/updates.desc"); 
     570 
     571    // Get the current system ver 
     572    QProcess p; 
     573    p.start(QString("uname"), QStringList() << "-r"); 
     574    while(p.state() == QProcess::Starting || p.state() == QProcess::Running) 
     575       QCoreApplication::processEvents(); 
     576    tmp = p.readLine().simplified(); 
     577    mySysVer = tmp; 
     578    myPatchVer = tmp; 
     579    mySysVer = mySysVer.section("-", 0, 1); 
     580    mySysVer = mySysVer.section("-", 0, 1); 
     581    myPatchVer = myPatchVer.section("-", 2, 2); 
     582    myPatchVer = myPatchVer.section(":", 0, 0); 
     583    myPatchVer = myPatchVer.section("p", 1, 1); 
     584 
     585    QFile file("/tmp/.fbsdupdesc"); 
     586    if (file.open(QIODevice::ReadOnly | QIODevice::Text)) { 
     587        listDesc << tr("Update Details:"); 
     588      while (!file.atEnd()) { 
     589         line = file.readLine(); 
     590         tmp = line; 
     591         if ( tmp.section(":::", 0, 0) != mySysVer )  
     592            continue; 
     593         if ( tmp.section(":::", 1, 1) <= myPatchVer ) 
     594            continue; 
     595         if ( tmp.section(":::", 1, 1) > toPatchVer ) 
     596            continue; 
     597         listDesc << tmp.section(":::", 2, 2); 
     598      } 
     599    } 
     600 
    541601    up.clear(); 
    542602    up << "FreeBSD Security Updates" << "FBSDUPDATE"; 
    543     up.append(listPkgs); 
     603    up.append(listDesc + listPkgs); 
    544604    listUpdates.append(up); 
    545605  } 
  • src-qt4/pc-updategui/mainWin.ui

    r67e6e29 r408fff7  
    77    <x>0</x> 
    88    <y>0</y> 
    9     <width>593</width> 
    10     <height>339</height> 
     9    <width>620</width> 
     10    <height>455</height> 
    1111   </rect> 
    1212  </property> 
     
    1515  </property> 
    1616  <layout class="QGridLayout" name="gridLayout"> 
    17    <item row="3" column="0"> 
     17   <item row="4" column="0"> 
    1818    <layout class="QHBoxLayout" name="horizontalLayout_3"> 
    1919     <item> 
     
    3838     </item> 
    3939    </layout> 
    40    </item> 
    41    <item row="0" column="0"> 
    42     <widget class="QLabel" name="textLabel"> 
    43      <property name="sizePolicy"> 
    44       <sizepolicy hsizetype="Preferred" vsizetype="Minimum"> 
    45        <horstretch>0</horstretch> 
    46        <verstretch>0</verstretch> 
    47       </sizepolicy> 
    48      </property> 
    49      <property name="text"> 
    50       <string>Preparing to check for updates... Please Wait...</string> 
    51      </property> 
    52      <property name="alignment"> 
    53       <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set> 
    54      </property> 
    55      <property name="wordWrap"> 
    56       <bool>true</bool> 
    57      </property> 
    58     </widget> 
    59    </item> 
    60    <item row="1" column="0"> 
    61     <widget class="QProgressBar" name="progressUpdate"> 
    62      <property name="value"> 
    63       <number>24</number> 
    64      </property> 
    65     </widget> 
    6640   </item> 
    6741   <item row="2" column="0"> 
     
    142116    </widget> 
    143117   </item> 
     118   <item row="1" column="0"> 
     119    <widget class="QProgressBar" name="progressUpdate"> 
     120     <property name="value"> 
     121      <number>24</number> 
     122     </property> 
     123    </widget> 
     124   </item> 
     125   <item row="0" column="0"> 
     126    <widget class="QLabel" name="textLabel"> 
     127     <property name="sizePolicy"> 
     128      <sizepolicy hsizetype="Preferred" vsizetype="Minimum"> 
     129       <horstretch>0</horstretch> 
     130       <verstretch>0</verstretch> 
     131      </sizepolicy> 
     132     </property> 
     133     <property name="text"> 
     134      <string>Preparing to check for updates... Please Wait...</string> 
     135     </property> 
     136     <property name="alignment"> 
     137      <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set> 
     138     </property> 
     139     <property name="wordWrap"> 
     140      <bool>true</bool> 
     141     </property> 
     142    </widget> 
     143   </item> 
     144   <item row="3" column="0"> 
     145    <widget class="QGroupBox" name="groupDetails"> 
     146     <property name="title"> 
     147      <string>Update Details</string> 
     148     </property> 
     149     <layout class="QGridLayout" name="gridLayout_2"> 
     150      <item row="0" column="0"> 
     151       <widget class="QTextEdit" name="textDesc"> 
     152        <property name="readOnly"> 
     153         <bool>true</bool> 
     154        </property> 
     155       </widget> 
     156      </item> 
     157     </layout> 
     158    </widget> 
     159   </item> 
    144160  </layout> 
    145161 </widget> 
Note: See TracChangeset for help on using the changeset viewer.