Changeset 287e037


Ignore:
Timestamp:
Apr 29, 2013 1:36:34 PM (12 months ago)
Author:
Kris Moore <kris@…>
Branches:
master, 9.1-release, 9.2-release, releng/10.0, releng/10.0.1
Children:
21bd9d7
Parents:
a43929d
Message:

Some cosmetic improvements to PKGNG manager, now when we click a package
we will be shown a details widget, which has name / size / desc / options
/ depends / URL

Location:
src-qt4/pc-pkgmanager
Files:
3 edited

Legend:

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

    ra43929d r287e037  
    442442{ 
    443443  qDebug() << "Starting metaWidget..."; 
     444  groupInfo->setVisible(false); 
    444445 
    445446  // Running in basic mode 
     
    461462  new QTreeWidgetItem(treeNGPkgs, QStringList() << tr("Loading... Please wait...") ); 
    462463 
    463   if ( ! pkgList.isEmpty() ) 
     464  if ( ! pkgList.isEmpty() ) { 
    464465        disconnect(treeNGPkgs, SIGNAL(itemChanged(QTreeWidgetItem *, int)), 0, 0); 
     466        disconnect(treeNGPkgs, SIGNAL(currentItemChanged(QTreeWidgetItem *, QTreeWidgetItem *)), 0, 0); 
     467  } 
    465468  pkgList.clear(); 
    466469  selPkgList.clear(); 
     
    543546 
    544547  connect(treeNGPkgs, SIGNAL(itemChanged(QTreeWidgetItem *, int)), this, SLOT(slotEnableApply())); 
     548  connect(treeNGPkgs, SIGNAL(currentItemChanged(QTreeWidgetItem *, QTreeWidgetItem *)), this, SLOT(slotNGItemChanged())); 
     549} 
     550 
     551void mainWin::slotNGItemChanged() 
     552{ 
     553  if ( ! treeNGPkgs->currentItem() ) { 
     554     groupInfo->setVisible(false); 
     555     return; 
     556  } 
     557  QString desc, size, maint, weburl; 
     558 
     559  QTreeWidgetItem *cItem = treeNGPkgs->currentItem(); 
     560  QString pName = cItem->text(0).section("(", 1, 1).section(")", 0, 0); 
     561  if ( pName.isEmpty() ) { 
     562     groupInfo->setVisible(false); 
     563     return; 
     564  } 
     565  qDebug() << "Checking: " + pName; 
     566 
     567  QRegExp rx("*:::" + pName + ":::*"); 
     568  rx.setPatternSyntax(QRegExp::Wildcard); 
     569  int pAt = tmpPkgList.indexOf(rx); 
     570  if (pAt == -1 ) { 
     571     qDebug() << "Unable to find package: " + pName; 
     572     groupInfo->setVisible(false); 
     573     return; 
     574  } 
     575 
     576  desc = tmpPkgList.at(pAt).section(":::", 2,2); 
     577  size = tmpPkgList.at(pAt).section(":::", 3,3); 
     578  maint = tmpPkgList.at(pAt).section(":::", 4,4); 
     579  weburl = tmpPkgList.at(pAt).section(":::", 5,5); 
     580  labelPkgNameVer->setText(pName); 
     581  labelSize->setText(size); 
     582  labelWeb->setText(weburl); 
     583  textDesc->setText(desc); 
     584  textOptions->clear(); 
     585 
     586  QCoreApplication::processEvents(); 
     587 
     588  // Display the depends 
     589  QString depTxt; 
     590  QRegExp rxd( pName + ":::*"); 
     591  rxd.setPatternSyntax(QRegExp::Wildcard); 
     592  QStringList aDeps = pkgDepList.filter(rxd); 
     593  for ( int r=0; r < aDeps.size(); ++r) { 
     594      QString dName = aDeps.at(r).section(":::", 1, 1); 
     595      // Is this package installed? 
     596      if ( pkgList.indexOf(dName) != -1 ) 
     597         depTxt+= dName + " (Installed)\n"; 
     598      else 
     599         depTxt+= dName + "\n"; 
     600  } 
     601 
     602  textDeps->setText(depTxt); 
     603 
     604  groupInfo->setVisible(true); 
     605 
     606  getNGInfo = new QProcess(); 
     607  qDebug() << "Getting Info for " + pName; 
     608  connect( getNGInfo, SIGNAL(readyReadStandardOutput()), this, SLOT(slotNGReadInfo()) ); 
     609  getNGInfo->setProcessChannelMode(QProcess::MergedChannels); 
     610  if ( wDir.isEmpty() ) 
     611    getNGInfo->start(QString("pkg"), QStringList() << "rquery" << "%Ok=%Ov" << pName ); 
     612  else 
     613    getNGInfo->start(QString("chroot"), QStringList() << wDir << "pkg" << "rquery" << "%Ok=%Ov" << pName); 
     614} 
     615 
     616void mainWin::slotNGReadInfo() 
     617{ 
     618  while (getNGInfo->canReadLine()) 
     619     textOptions->append(getNGInfo->readLine().simplified() ); 
     620 
     621  textOptions->moveCursor(QTextCursor::Start); 
    545622} 
    546623 
  • src-qt4/pc-pkgmanager/mainWin.h

    r7541802 r287e037  
    6969    void slotEnableApply(); 
    7070    void slotStartNGChanges(); 
     71    void slotNGItemChanged(); 
     72    void slotNGReadInfo(); 
    7173 
    7274private: 
     
    132134    QStringList pkgAddList; 
    133135    QProcess *getNGProc; 
     136    QProcess *getNGInfo; 
    134137    dialogConfirm *askUserConfirm; 
    135138 
  • src-qt4/pc-pkgmanager/mainWin.ui

    rb1232b5 r287e037  
    77    <x>0</x> 
    88    <y>0</y> 
    9     <width>757</width> 
    10     <height>502</height> 
     9    <width>802</width> 
     10    <height>586</height> 
    1111   </rect> 
    1212  </property> 
     
    3838               <string>System Packages</string> 
    3939              </property> 
    40               <layout class="QGridLayout" name="gridLayout_3"> 
    41                <item row="1" column="0"> 
    42                 <layout class="QHBoxLayout" name="horizontalLayout"> 
    43                  <item> 
    44                   <spacer name="spacer2"> 
    45                    <property name="orientation"> 
    46                     <enum>Qt::Horizontal</enum> 
    47                    </property> 
    48                    <property name="sizeType"> 
    49                     <enum>QSizePolicy::Expanding</enum> 
    50                    </property> 
    51                    <property name="sizeHint" stdset="0"> 
    52                     <size> 
    53                      <width>223</width> 
    54                      <height>21</height> 
    55                     </size> 
    56                    </property> 
    57                   </spacer> 
    58                  </item> 
    59                  <item> 
    60                   <widget class="QPushButton" name="pushPkgApply"> 
    61                    <property name="text"> 
    62                     <string>&amp;Apply</string> 
    63                    </property> 
    64                   </widget> 
    65                  </item> 
    66                 </layout> 
    67                </item> 
     40              <layout class="QGridLayout" name="gridLayout_11"> 
    6841               <item row="0" column="0"> 
    6942                <widget class="QStackedWidget" name="stackedPkgView"> 
     
    7245                 </property> 
    7346                 <widget class="QWidget" name="pageBasic"> 
    74                   <layout class="QGridLayout" name="gridLayout_6"> 
     47                  <layout class="QGridLayout" name="gridLayout_10"> 
    7548                   <item row="0" column="0"> 
    7649                    <widget class="QTreeWidget" name="treeMetaPkgs"> 
     
    9164                   <item row="0" column="0"> 
    9265                    <widget class="QTreeWidget" name="treeNGPkgs"> 
     66                     <property name="sizePolicy"> 
     67                      <sizepolicy hsizetype="Expanding" vsizetype="MinimumExpanding"> 
     68                       <horstretch>0</horstretch> 
     69                       <verstretch>0</verstretch> 
     70                      </sizepolicy> 
     71                     </property> 
    9372                     <attribute name="headerVisible"> 
    9473                      <bool>false</bool> 
    9574                     </attribute> 
     75                     <column> 
     76                      <property name="text"> 
     77                       <string notr="true">1</string> 
     78                      </property> 
     79                     </column> 
     80                    </widget> 
     81                   </item> 
     82                   <item row="1" column="0"> 
     83                    <widget class="QGroupBox" name="groupInfo"> 
     84                     <property name="sizePolicy"> 
     85                      <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> 
     86                       <horstretch>0</horstretch> 
     87                       <verstretch>0</verstretch> 
     88                      </sizepolicy> 
     89                     </property> 
     90                     <property name="title"> 
     91                      <string>Package Information</string> 
     92                     </property> 
     93                     <layout class="QGridLayout" name="gridLayout_6"> 
     94                      <item row="0" column="1" rowspan="3"> 
     95                       <widget class="QTabWidget" name="tabWidget"> 
     96                        <property name="currentIndex"> 
     97                         <number>0</number> 
     98                        </property> 
     99                        <widget class="QWidget" name="tabDesc"> 
     100                         <attribute name="title"> 
     101                          <string>Description</string> 
     102                         </attribute> 
     103                         <layout class="QGridLayout" name="gridLayout_3"> 
     104                          <item row="0" column="0"> 
     105                           <widget class="QTextBrowser" name="textDesc"/> 
     106                          </item> 
     107                         </layout> 
     108                        </widget> 
     109                        <widget class="QWidget" name="tabOpts"> 
     110                         <attribute name="title"> 
     111                          <string>Options</string> 
     112                         </attribute> 
     113                         <layout class="QGridLayout" name="gridLayout_12"> 
     114                          <item row="0" column="0"> 
     115                           <widget class="QTextBrowser" name="textOptions"/> 
     116                          </item> 
     117                         </layout> 
     118                        </widget> 
     119                        <widget class="QWidget" name="tab"> 
     120                         <attribute name="title"> 
     121                          <string>Dependances</string> 
     122                         </attribute> 
     123                         <layout class="QGridLayout" name="gridLayout_13"> 
     124                          <item row="0" column="0"> 
     125                           <widget class="QTextBrowser" name="textDeps"/> 
     126                          </item> 
     127                         </layout> 
     128                        </widget> 
     129                       </widget> 
     130                      </item> 
     131                      <item row="0" column="0"> 
     132                       <widget class="QLabel" name="labelPkgNameVer"> 
     133                        <property name="sizePolicy"> 
     134                         <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed"> 
     135                          <horstretch>0</horstretch> 
     136                          <verstretch>0</verstretch> 
     137                         </sizepolicy> 
     138                        </property> 
     139                        <property name="text"> 
     140                         <string>My Package 1.0</string> 
     141                        </property> 
     142                       </widget> 
     143                      </item> 
     144                      <item row="1" column="0"> 
     145                       <widget class="QLabel" name="labelSize"> 
     146                        <property name="sizePolicy"> 
     147                         <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> 
     148                          <horstretch>0</horstretch> 
     149                          <verstretch>0</verstretch> 
     150                         </sizepolicy> 
     151                        </property> 
     152                        <property name="text"> 
     153                         <string>10 MB</string> 
     154                        </property> 
     155                       </widget> 
     156                      </item> 
     157                      <item row="2" column="0"> 
     158                       <spacer name="verticalSpacer"> 
     159                        <property name="orientation"> 
     160                         <enum>Qt::Vertical</enum> 
     161                        </property> 
     162                        <property name="sizeHint" stdset="0"> 
     163                         <size> 
     164                          <width>20</width> 
     165                          <height>118</height> 
     166                         </size> 
     167                        </property> 
     168                       </spacer> 
     169                      </item> 
     170                      <item row="3" column="0" colspan="2"> 
     171                       <widget class="QLabel" name="labelWeb"> 
     172                        <property name="text"> 
     173                         <string>http://www.pcbsd.org</string> 
     174                        </property> 
     175                        <property name="alignment"> 
     176                         <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> 
     177                        </property> 
     178                        <property name="wordWrap"> 
     179                         <bool>true</bool> 
     180                        </property> 
     181                       </widget> 
     182                      </item> 
     183                     </layout> 
    96184                    </widget> 
    97185                   </item> 
     
    99187                 </widget> 
    100188                </widget> 
     189               </item> 
     190               <item row="1" column="0"> 
     191                <layout class="QHBoxLayout" name="horizontalLayout"> 
     192                 <item> 
     193                  <spacer name="spacer2"> 
     194                   <property name="orientation"> 
     195                    <enum>Qt::Horizontal</enum> 
     196                   </property> 
     197                   <property name="sizeType"> 
     198                    <enum>QSizePolicy::Expanding</enum> 
     199                   </property> 
     200                   <property name="sizeHint" stdset="0"> 
     201                    <size> 
     202                     <width>223</width> 
     203                     <height>21</height> 
     204                    </size> 
     205                   </property> 
     206                  </spacer> 
     207                 </item> 
     208                 <item> 
     209                  <widget class="QPushButton" name="pushPkgApply"> 
     210                   <property name="text"> 
     211                    <string>&amp;Apply</string> 
     212                   </property> 
     213                  </widget> 
     214                 </item> 
     215                </layout> 
    101216               </item> 
    102217              </layout> 
     
    291406     <x>0</x> 
    292407     <y>0</y> 
    293      <width>757</width> 
     408     <width>802</width> 
    294409     <height>22</height> 
    295410    </rect> 
Note: See TracChangeset for help on using the changeset viewer.