/*                 This file is part of the Opie Project Copyright (C)2004, 2005 Dan Williams =. .=l.            .>+-=  _;:,     .>    :=|. This program is free software; you can .> <`_,   >  .   <= redistribute it and/or modify it under :`=1 )Y*s>-.--   : the terms of the GNU Library General Public .="- .-=="i,     .._ License as published by the Free Software  - .   .-<_>     .<> Foundation; either version 2 of the License,      ._= =}       : or (at your option) any later version.     .%`+i>       _;_.     .i_,=:_.      -`: PARTICULAR PURPOSE. See the GNU ..}^=.=       =       ; Library General Public License for more ++=   -.     .`     .: details. :     =  ...= . :.=-  -.   .:....=;==+<; You should have received a copy of the GNU   -_. . .   )=.  = Library General Public License along with     --        :-=` this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifndef FILTERDLG_H #define FILTERDLG_H #include "opackagemanager.h" #include #include #include #include #include #include class FilterDlg : public QDialog { Q_OBJECT public: FilterDlg( QWidget *parent = 0x0, OPackageManager *pm = 0x0, const QString &name = 0x0, const QString &server = 0x0, const QString &destination = 0x0, OPackageManager::Status status = OPackageManager::All, const QString &category = 0x0 ); QString name() { return m_nameCB->isChecked() ? m_name->text() : QString::null; }; QString server() { return m_serverCB->isChecked() ? m_server->currentText() : QString::null; }; QString destination() { return m_destCB->isChecked() ? m_destination->currentText() : QString::null; }; OPackageManager::Status status() { if ( m_statusCB->isChecked() ) { if ( m_status->currentText() == tr( "All" ) ) return OPackageManager::All; else if ( m_status->currentText() == tr( "Installed" ) ) return OPackageManager::Installed; else if ( m_status->currentText() == tr( "Not installed" ) ) return OPackageManager::NotInstalled; else if ( m_status->currentText() == tr( "Updated" ) ) return OPackageManager::Updated; } return OPackageManager::NotDefined; }; QString category() { return m_categoryCB->isChecked() ? m_category->currentText() : QString::null; }; private: QCheckBox *m_nameCB; QCheckBox *m_serverCB; QCheckBox *m_destCB; QCheckBox *m_statusCB; QCheckBox *m_categoryCB; QLineEdit *m_name; QComboBox *m_server; QComboBox *m_destination; QComboBox *m_status; QComboBox *m_category; void initItem( QComboBox *comboBox, QCheckBox *checkBox, const QString &selection ); private slots: void slotNameSelected( bool ); void slotServerSelected( bool ); void slotDestSelected( bool ); void slotStatusSelected( bool ); void slotStatusChanged( const QString & ); void slotCategorySelected( bool ); }; #endif