Changeset efbe467


Ignore:
Timestamp:
02/26/14 07:49:16 (10 months ago)
Author:
Ken Moore <ken@…>
Branches:
master, releng/10.0.1, releng/10.0.2, releng/10.0.3, releng/10.1
Children:
8538c35
Parents:
50a696a
Message:

Add a quick application type identification when looking at just the short app listing through a small icon in the corner.

Location:
src-qt4/pc-softwaremanager
Files:
3 added
4 edited

Legend:

Unmodified
Added
Removed
  • src-qt4/pc-softwaremanager/SoftwareManager.qrc

    r32be23f refbe467  
    11<RCC> 
    22  <qresource> 
     3    <file>icons/graphicalapp.png</file> 
     4    <file>icons/serverapp.png</file> 
     5    <file>icons/textapp.png</file> 
    36    <file>defaultrecommendations.txt</file> 
    47    <file>icons/config.png</file> 
  • src-qt4/pc-softwaremanager/largeItemWidget.h

    r868c95d refbe467  
    3434#include <QString> 
    3535#include <QIcon> 
     36#include <QHBoxLayout> 
     37#include <QPixmap> 
    3638 
    3739class LargeItemWidget : public QWidget{ 
     
    4042  private: 
    4143    QString uniqueAppID; //should be something unique like <name>-<version>-<arch>       
    42      
     44    QLabel *type; 
    4345  signals: 
    4446    void appClicked(QString); 
     
    5961      //Create the labels 
    6062      QLabel *appName = new QLabel("<b>"+name+"</b>"); 
     63            appName->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred); 
    6164      QLabel *appDesc = new QLabel(description); 
    6265        appDesc->setWordWrap(TRUE); 
     66      type = new QLabel(); 
     67            //type->setScaledContents(true); 
     68            type->setVisible(false); 
     69      QHBoxLayout *hl = new QHBoxLayout; 
     70            hl->addWidget(appName); 
     71            hl->addWidget(type); 
    6372      //Add the items to the widget 
    6473      QGridLayout *layout = new QGridLayout; 
    6574      layout->addWidget(button,0,0,2,1); 
    66       layout->addWidget(appName,0,1); 
     75      layout->addLayout(hl,0,1); 
    6776      layout->addWidget(appDesc,1,1); 
    6877      this->setLayout(layout); 
     
    7483    virtual ~LargeItemWidget(){} 
    7584     
     85    void setType(QString typ){ 
     86      if(typ.toLower()=="graphical"){ 
     87        type->setPixmap(QPixmap(":icons/graphicalapp.png").scaled(16,16)); 
     88        type->setToolTip(tr("Graphical Application")); 
     89        type->setVisible(true); 
     90      }else if(typ.toLower()=="text"){ 
     91        type->setPixmap(QPixmap(":icons/textapp.png").scaled(16,16)); 
     92        type->setToolTip(tr("Command-line Application")); 
     93        type->setVisible(true);        
     94      }else if(typ.toLower()=="server"){ 
     95        type->setPixmap(QPixmap(":icons/serverapp.png").scaled(16,16)); 
     96        type->setToolTip(tr("Server Application")); 
     97        type->setVisible(true);        
     98      }else{ 
     99        type->setVisible(false);               
     100      } 
     101    } 
     102     
    76103  protected: 
    77104    void mousePressEvent(QMouseEvent *ev){ Q_UNUSED(ev); sendSignal(); }   
  • src-qt4/pc-softwaremanager/mainUI.cpp

    r32be23f refbe467  
    753753  QVBoxLayout *reclayout = new QVBoxLayout; 
    754754  QStringList recList = PBI->getRecommendations(); 
    755   //info.clear(); info << "name" << "shortdescription" << "icon"; 
     755  info.clear(); info << "name" << "shortdescription" << "icon" << "type"; 
    756756  for(int i=0; i<recList.length(); i++){ 
    757757    QStringList data = PBI->AppInfo(recList[i],info); 
    758758    if(!data.isEmpty()){ 
    759759      LargeItemWidget *item = new LargeItemWidget(recList[i],data[0],data[1],data[2]); 
     760      //Set the type icon 
     761      item->setType(data[3].toLower()); 
    760762      connect(item,SIGNAL(appClicked(QString)),this,SLOT(slotGoToApp(QString)) ); 
    761763      reclayout->addWidget(item); 
     
    814816  apps.sort(); 
    815817  QVBoxLayout *applayout = new QVBoxLayout; 
    816   QStringList info; info << "name" << "shortdescription" << "icon"; 
     818  QStringList info; info << "name" << "shortdescription" << "icon" << "type"; 
    817819  for(int i=0; i<apps.length(); i++){ 
    818820    QStringList data = PBI->AppInfo(apps[i],info); 
     
    821823      if(data[1].size()>100){ data[1] = data[1].left(100).append("..."); } 
    822824      LargeItemWidget *item = new LargeItemWidget(apps[i],data[0],data[1],data[2]); 
     825      item->setType(data[3].toLower()); 
    823826      connect(item,SIGNAL(appClicked(QString)),this,SLOT(slotGoToApp(QString)) ); 
    824827      applayout->addWidget(item);  
     
    10051008    clearScrollArea(ui->scroll_bsearch_best); 
    10061009    QVBoxLayout *layout = new QVBoxLayout; 
    1007     QStringList info; info << "name" << "shortdescription" << "icon"; 
     1010    QStringList info; info << "name" << "shortdescription" << "icon" << "type"; 
    10081011    for(int i=0; i<best.length(); i++){ 
    10091012      QStringList data = PBI->AppInfo(best[i],info); 
     
    10121015        if(data[1].size()>100){ data[1] = data[1].left(100).append("..."); } 
    10131016        LargeItemWidget *item = new LargeItemWidget(best[i],data[0],data[1],data[2]); 
     1017        item->setType(data[3].toLower()); 
    10141018        connect(item,SIGNAL(appClicked(QString)),this,SLOT(slotGoToApp(QString)) ); 
    10151019        layout->addWidget(item);  
     
    10321036          if(data[1].size()>100){ data[1] = data[1].left(100).append("..."); } 
    10331037          LargeItemWidget *item = new LargeItemWidget(rest[i],data[0],data[1],data[2]); 
     1038          item->setType(data[3].toLower()); 
    10341039          connect(item,SIGNAL(appClicked(QString)),this,SLOT(slotGoToApp(QString)) ); 
    10351040          layout2->addWidget(item);  
  • src-qt4/pc-softwaremanager/mainUI.ui

    r50a696a refbe467  
    868868                    <x>0</x> 
    869869                    <y>0</y> 
    870                     <width>419</width> 
    871                     <height>61</height> 
     870                    <width>98</width> 
     871                    <height>28</height> 
    872872                   </rect> 
    873873                  </property> 
     
    910910                    <x>0</x> 
    911911                    <y>0</y> 
    912                     <width>413</width> 
    913                     <height>259</height> 
     912                    <width>98</width> 
     913                    <height>28</height> 
    914914                   </rect> 
    915915                  </property> 
     
    935935                 <x>0</x> 
    936936                 <y>0</y> 
    937                  <width>435</width> 
    938                  <height>386</height> 
     937                 <width>98</width> 
     938                 <height>28</height> 
    939939                </rect> 
    940940               </property> 
     
    13961396                    <x>0</x> 
    13971397                    <y>0</y> 
    1398                     <width>419</width> 
    1399                     <height>151</height> 
     1398                    <width>98</width> 
     1399                    <height>28</height> 
    14001400                   </rect> 
    14011401                  </property> 
     
    14341434                    <x>0</x> 
    14351435                    <y>0</y> 
    1436                     <width>419</width> 
    1437                     <height>150</height> 
     1436                    <width>98</width> 
     1437                    <height>28</height> 
    14381438                   </rect> 
    14391439                  </property> 
Note: See TracChangeset for help on using the changeset viewer.