From d94c9d39ab6e744f848a04c07eac03f20c91987c Mon Sep 17 00:00:00 2001 From: andyq Date: Sun, 17 Nov 2002 20:03:25 +0000 Subject: Added filter by category, and added extra fields to package display (Section and size) --- (limited to 'noncore/settings/aqpkg/categoryfilterimpl.cpp') diff --git a/noncore/settings/aqpkg/categoryfilterimpl.cpp b/noncore/settings/aqpkg/categoryfilterimpl.cpp new file mode 100644 index 0000000..0746da6 --- a/dev/null +++ b/noncore/settings/aqpkg/categoryfilterimpl.cpp @@ -0,0 +1,71 @@ +/*************************************************************************** + categoryfilterimpl.cpp - description + ------------------- + begin : Sun Nov 17 2002 + copyright : (C) 2002 by Andy Qua + email : andy.qua@blueyonder.co.uk + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ +#include +using namespace std; + +#include +#include + +#include "categoryfilterimpl.h" + +CategoryFilterImpl :: CategoryFilterImpl(const QString &categories, const QString &selectedCategories, QWidget *parent, const char *name ) + : CategoryFilterDlg(parent,name, true) +{ + // Split up categories and add them to the listbox + int start = 1; + + QString item; + int end; + do + { + end = categories.find( "#", start ); + item = categories.mid( start, end - start ); + if ( item != "" ) + { + lstCategories->insertItem( item ); + + if ( selectedCategories.find( "#" + item + "#" ) != -1 ) + lstCategories->setSelected( lstCategories->count()-1, true ); + } + + start = end + 1; + } while ( start < (int)categories.length() ); + + lstCategories->sort( true ); + + showMaximized(); +} + +CategoryFilterImpl :: ~CategoryFilterImpl() +{ +} + +QString CategoryFilterImpl :: getSelectedFilter() +{ + // Grab cetegories from listbox + QString ret = "#"; + + for ( int i = 0 ; i < (int)lstCategories->count() ; ++i ) + { + if ( lstCategories->isSelected( i ) ) + ret += lstCategories->text( i ) + "#"; + } + + if ( ret == "#" ) + ret = ""; + return ret; +} -- cgit v0.9.0.2