Changeset 79d31c1


Ignore:
Timestamp:
05/16/14 07:21:42 (12 months ago)
Author:
Ken Moore <ken@…>
Branches:
master, releng/10.0.2, releng/10.0.3, releng/10.1, releng/10.1.1, releng/10.1.2
Children:
7626cf4, f0784a8
Parents:
b5c74ac5
Message:

Make sure that the AppCafe? searches (for similar applications and just the general search) also respect the option to view raw packages as well (so you can now search for a particular raw package instead of being limited to the PBI's)

Location:
src-qt4/pc-softwaremanager
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • src-qt4/pc-softwaremanager/largeItemWidget.h

    r922343c5 r79d31c1  
    6262 
    6363      //Create the labels 
    64       QString txt = "<b>"+app.name+"</b>"; 
     64      QString txt; 
     65      if(app.name.isEmpty()){ txt = app.origin; } 
     66      else{ txt = app.name; } 
     67      txt.prepend("<b>").append("</b>"); 
     68      //QString txt = "<b>"+app.name+"</b>"; 
    6569      QLabel *rating = new QLabel(); 
    6670      if(!app.rating.isEmpty() && app.rating!="0.00"){  
  • src-qt4/pc-softwaremanager/mainUI.cpp

    r8743d35 r79d31c1  
    735735  //Start the search for similar apps 
    736736  PBI->searchSimilar = appID; 
     737  PBI->searchAll = ui->actionRaw_Packages->isChecked(); 
    737738  ui->tabWidget_browse_info->setTabEnabled(3, false); //similar apps tab 
    738739  QTimer::singleShot(0,PBI,SLOT(startSimilarSearch())); 
     
    742743  //qDebug() << " - fixed icon:" << data.icon; 
    743744  //Now fill the UI with the data 
    744   ui->label_bapp_name->setText(data.name); 
     745  if(data.name.isEmpty()){ ui->label_bapp_name->setText(data.origin); } 
     746  else{ ui->label_bapp_name->setText(data.name); } 
    745747  ui->label_bapp_icon->setPixmap(QPixmap(data.icon).scaled(ui->label_bapp_icon->size(), Qt::KeepAspectRatio, Qt::SmoothTransformation) ); 
    746748  ui->label_bapp_authorweb->setText(data.author); 
     
    876878  if(search.isEmpty()){ return; } 
    877879  PBI->searchTerm = search; 
     880  PBI->searchAll = ui->actionRaw_Packages->isChecked(); 
    878881  QTimer::singleShot(1,PBI,SLOT(startAppSearch())); 
    879882  ui->label_bsearch_info->setText( tr("Searching the application database. Please Wait....") ); 
  • src-qt4/pc-softwaremanager/mainUI.ui

    r8743d35 r79d31c1  
    88    <y>0</y> 
    99    <width>514</width> 
    10     <height>573</height> 
     10    <height>576</height> 
    1111   </rect> 
    1212  </property> 
     
    525525          </property> 
    526526          <property name="currentIndex"> 
    527            <number>4</number> 
     527           <number>0</number> 
    528528          </property> 
    529529          <widget class="QWidget" name="page_home"> 
     
    571571                    <y>0</y> 
    572572                    <width>390</width> 
    573                     <height>115</height> 
     573                    <height>117</height> 
    574574                   </rect> 
    575575                  </property> 
     
    611611                    <y>0</y> 
    612612                    <width>390</width> 
    613                     <height>116</height> 
     613                    <height>117</height> 
    614614                   </rect> 
    615615                  </property> 
    616                   <zorder>group_br_home_newapps</zorder> 
    617616                 </widget> 
    618617                </widget> 
     
    695694                    <y>0</y> 
    696695                    <width>74</width> 
    697                     <height>259</height> 
     696                    <height>262</height> 
    698697                   </rect> 
    699698                  </property> 
     
    776775                 <y>0</y> 
    777776                 <width>478</width> 
    778                  <height>222</height> 
     777                 <height>225</height> 
    779778                </rect> 
    780779               </property> 
     
    798797                 <y>0</y> 
    799798                 <width>478</width> 
    800                  <height>281</height> 
     799                 <height>284</height> 
    801800                </rect> 
    802801               </property> 
     
    12221221            </item> 
    12231222            <item> 
    1224              <widget class="Line" name="line"> 
     1223             <spacer name="verticalSpacer"> 
    12251224              <property name="orientation"> 
    1226                <enum>Qt::Horizontal</enum> 
    1227               </property> 
    1228              </widget> 
     1225               <enum>Qt::Vertical</enum> 
     1226              </property> 
     1227              <property name="sizeHint" stdset="0"> 
     1228               <size> 
     1229                <width>20</width> 
     1230                <height>40</height> 
     1231               </size> 
     1232              </property> 
     1233             </spacer> 
    12291234            </item> 
    12301235            <item> 
     
    16621667                    <y>0</y> 
    16631668                    <width>474</width> 
    1664                     <height>106</height> 
     1669                    <height>108</height> 
    16651670                   </rect> 
    16661671                  </property> 
     
    17101715                    <y>0</y> 
    17111716                    <width>474</width> 
    1712                     <height>106</height> 
     1717                    <height>107</height> 
    17131718                   </rect> 
    17141719                  </property> 
  • src-qt4/pc-softwaremanager/pbiNgBackend.cpp

    rec43d72 r79d31c1  
    513513 search = search.toLower(); 
    514514 QStringList namematch, tagmatch, descmatch; 
    515  QStringList app = APPHASH.keys(); 
    516  for(int i=0; i<app.length(); i++){ 
    517    if(APPHASH[app[i]].name.toLower() == search){ best << app[i]; } //exact match - top of the "best" list 
    518    else if(APPHASH[app[i]].name.toLower().contains(search)){ namematch << app[i]; } 
    519    else if(APPHASH[app[i]].tags.contains(search)){ tagmatch << app[i]; } 
    520    else if(APPHASH[app[i]].description.contains(search)){ descmatch << app[i]; } 
     515 if(!searchAll){ 
     516   //Only search the App database (faster) 
     517   QStringList app = APPHASH.keys(); 
     518   for(int i=0; i<app.length(); i++){ 
     519     if(APPHASH[app[i]].name.toLower() == search){ best << app[i]; } //exact match - top of the "best" list 
     520     else if(APPHASH[app[i]].name.toLower().contains(search)){ namematch << app[i]; } 
     521     else if(APPHASH[app[i]].tags.contains(search)){ tagmatch << app[i]; } 
     522     else if(APPHASH[app[i]].description.contains(search)){ descmatch << app[i]; } 
     523   } 
     524 }else{ 
     525   //Search the entire pkg database (slower) 
     526   QStringList app = PKGHASH.keys(); 
     527   for(int i=0; i<app.length(); i++){ 
     528     if(PKGHASH[app[i]].name.toLower() == search || PKGHASH[app[i]].origin.toLower()==search){ best << app[i]; } //exact match - top of the "best" list 
     529     else if(PKGHASH[app[i]].name.toLower().contains(search)  || PKGHASH[app[i]].origin.toLower().contains(search) ){ namematch << app[i]; } 
     530     else if(PKGHASH[app[i]].tags.contains(search)){ tagmatch << app[i]; } 
     531     else if(PKGHASH[app[i]].description.contains(search)){ descmatch << app[i]; } 
     532   } 
    521533 } 
    522534 //Now sort the lists and assign a priority 
     
    536548  QString sID = searchSimilar; // this public variable needs to be set beforehand by the calling process 
    537549  QStringList output;   
    538   if(!APPHASH.contains(sID)){ return; }  
     550  if(!APPHASH.contains(sID) && !PKGHASH.contains(sID)){ return; }  
    539551  //Now find the tags on the given ID 
    540   QStringList stags = APPHASH[sID].tags; 
    541   QStringList apps = APPHASH.keys(); 
     552  QStringList stags; 
     553  if(APPHASH.contains(sID)){ stags = APPHASH[sID].tags; } 
     554  else if(PKGHASH.contains(sID)){ stags = PKGHASH[sID].tags; } 
     555  if(stags.isEmpty()){ return; } //no tags to look for similarities 
     556  //Now get all the pkgs to search 
     557  QStringList apps; 
     558  if(!searchAll){ apps = APPHASH.keys(); } 
     559  else{ apps = PKGHASH.keys(); } //search all packages (takes longer) 
    542560  QStringList unsorted; 
    543561  int maxMatch=0; 
    544562  for(int i=0; i<apps.length(); i++){ 
    545563    if(apps[i]==sID){continue;} //skip the app we were given for search parameters 
    546     QStringList tags = APPHASH[apps[i]].tags; 
     564    QStringList tags; 
     565    if(APPHASH.contains(apps[i])){ tags = APPHASH[apps[i]].tags; } 
     566    else if(PKGHASH.contains(apps[i])){ tags = PKGHASH[apps[i]].tags; } 
    547567    int match=0; 
    548568    for(int j=0; j<stags.length(); j++){ 
  • src-qt4/pc-softwaremanager/pbiNgBackend.h

    r12aa30c r79d31c1  
    4343        //Search variables for public slot inputs 
    4444        QString searchTerm; 
     45        bool searchAll; //whether to include raw packages or not 
    4546        QString searchSimilar; 
    4647        // Main Listing functions 
Note: See TracChangeset for help on using the changeset viewer.