Diffstat (limited to 'noncore/settings/aqpkg/categoryfilterimpl.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/settings/aqpkg/categoryfilterimpl.cpp | 31 |
1 files changed, 27 insertions, 4 deletions
diff --git a/noncore/settings/aqpkg/categoryfilterimpl.cpp b/noncore/settings/aqpkg/categoryfilterimpl.cpp index 0746da6..e8ce7e7 100644 --- a/noncore/settings/aqpkg/categoryfilterimpl.cpp +++ b/noncore/settings/aqpkg/categoryfilterimpl.cpp @@ -16,30 +16,50 @@ ***************************************************************************/ #include <iostream> using namespace std; +#include <qgroupbox.h> +#include <qlayout.h> #include <qlistbox.h> #include <qstring.h> #include "categoryfilterimpl.h" CategoryFilterImpl :: CategoryFilterImpl(const QString &categories, const QString &selectedCategories, QWidget *parent, const char *name ) - : CategoryFilterDlg(parent,name, true) + : QDialog( parent, name, true ) { + setCaption( tr( "Category Filter" ) ); + + QVBoxLayout *layout = new QVBoxLayout( this ); + layout->setMargin( 2 ); + layout->setSpacing( 4 ); + + QGroupBox *grpbox = new QGroupBox( 0, Qt::Vertical, tr( "Select one or more groups" ), this ); + grpbox->layout()->setSpacing( 2 ); + grpbox->layout()->setMargin( 4 ); + layout->addWidget( grpbox ); + + QVBoxLayout *grplayout = new QVBoxLayout( grpbox->layout() ); + + lstCategories = new QListBox( grpbox ); + lstCategories->setSelectionMode( QListBox::Multi ); + grplayout->addWidget( lstCategories ); + // Split up categories and add them to the listbox int start = 1; QString item; int end; + QString finditem; do { end = categories.find( "#", start ); item = categories.mid( start, end - start ); if ( item != "" ) { lstCategories->insertItem( item ); - - if ( selectedCategories.find( "#" + item + "#" ) != -1 ) + finditem = QString( "#%1#" ).arg( item ); + if ( selectedCategories.find( finditem ) != -1 ) lstCategories->setSelected( lstCategories->count()-1, true ); } start = end + 1; @@ -61,9 +81,12 @@ QString CategoryFilterImpl :: getSelectedFilter() for ( int i = 0 ; i < (int)lstCategories->count() ; ++i ) { if ( lstCategories->isSelected( i ) ) - ret += lstCategories->text( i ) + "#"; + { + ret.append( lstCategories->text( i ) ); + ret.append( "#" ); + } } if ( ret == "#" ) ret = ""; |