summaryrefslogtreecommitdiff
path: root/noncore
Unidiff
Diffstat (limited to 'noncore') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/packagemanager/ChangeLog4
-rw-r--r--noncore/settings/packagemanager/mainwindow.cpp51
2 files changed, 48 insertions, 7 deletions
diff --git a/noncore/settings/packagemanager/ChangeLog b/noncore/settings/packagemanager/ChangeLog
index 744122f..6ad724f 100644
--- a/noncore/settings/packagemanager/ChangeLog
+++ b/noncore/settings/packagemanager/ChangeLog
@@ -1 +1,5 @@
12004-02-13 Dan Williams <drw@handhelds.org>
2
3 * Fix handling of filtering options in View menu
4
12004-02-12 Dan Williams <drw@handhelds.org> 52004-02-12 Dan Williams <drw@handhelds.org>
diff --git a/noncore/settings/packagemanager/mainwindow.cpp b/noncore/settings/packagemanager/mainwindow.cpp
index 2cb11ba..8fd960f 100644
--- a/noncore/settings/packagemanager/mainwindow.cpp
+++ b/noncore/settings/packagemanager/mainwindow.cpp
@@ -215,7 +215,2 @@ void MainWindow::initUI()
215 215
216 a = new QAction( tr( "Configure filter" ), QString::null, 0, this, 0 );
217 a->setWhatsThis( tr( "Click here to change package filter criteria." ) );
218 connect( a, SIGNAL(activated()), this, SLOT(slotFilterChange()) );
219 a->addTo( popup );
220
221 m_actionFilter = new QAction( tr( "Filter" ), Resource::loadPixmap( "packagemanager/filter" ), 216 m_actionFilter = new QAction( tr( "Filter" ), Resource::loadPixmap( "packagemanager/filter" ),
@@ -227,2 +222,7 @@ void MainWindow::initUI()
227 222
223 a = new QAction( tr( "Filter settings" ), QString::null, 0, this, 0 );
224 a->setWhatsThis( tr( "Click here to change the package filter criteria." ) );
225 connect( a, SIGNAL(activated()), this, SLOT(slotFilterChange()) );
226 a->addTo( popup );
227
228 popup->insertSeparator(); 228 popup->insertSeparator();
@@ -556,2 +556,3 @@ void MainWindow::slotShowNotInstalled()
556 m_actionShowUpdated->setOn( false ); 556 m_actionShowUpdated->setOn( false );
557 m_actionFilter->setOn( false );
557 packageList = m_packman.filterPackages( QString::null, QString::null, QString::null, 558 packageList = m_packman.filterPackages( QString::null, QString::null, QString::null,
@@ -576,2 +577,3 @@ void MainWindow::slotShowInstalled()
576 m_actionShowUpdated->setOn( false ); 577 m_actionShowUpdated->setOn( false );
578 m_actionFilter->setOn( false );
577 packageList = m_packman.filterPackages( QString::null, QString::null, QString::null, 579 packageList = m_packman.filterPackages( QString::null, QString::null, QString::null,
@@ -596,2 +598,3 @@ void MainWindow::slotShowUpdated()
596 m_actionShowNotInstalled->setOn( false ); 598 m_actionShowNotInstalled->setOn( false );
599 m_actionFilter->setOn( false );
597 packageList = m_packman.filterPackages( QString::null, QString::null, QString::null, 600 packageList = m_packman.filterPackages( QString::null, QString::null, QString::null,
@@ -635,4 +638,38 @@ void MainWindow::slotFilter( bool isOn )
635 { 638 {
636 packageList = m_packman.filterPackages( m_filterName, m_filterServer, m_filterDest, 639 // Turn off other filtering options
637 m_filterStatus, m_filterCategory ); 640 m_actionShowNotInstalled->setOn( false );
641 m_actionShowInstalled->setOn( false );
642 m_actionShowUpdated->setOn( false );
643
644 // If the filter settings have not been set yet, display filter dialog
645 if ( m_filterName.isNull() && m_filterServer.isNull() && m_filterDest.isNull() &&
646 m_filterStatus == OPackageManager::NotDefined && m_filterCategory.isNull() )
647 {
648 FilterDlg dlg( this, &m_packman, m_filterName, m_filterServer, m_filterDest, m_filterStatus,
649 m_filterCategory );
650 if ( QPEApplication::execDialog( &dlg ) == QDialog::Accepted )
651 {
652 m_filterName = dlg.name();
653 m_filterServer = dlg.server();
654 m_filterDest = dlg.destination();
655 m_filterStatus = dlg.status();
656 m_filterCategory = dlg.category();
657 m_actionFilter->setOn( true );
658 packageList = m_packman.filterPackages( m_filterName, m_filterServer, m_filterDest,
659 m_filterStatus, m_filterCategory );
660 }
661 else
662 {
663 m_actionFilter->setOn( false );
664 packageList = m_packman.packages();
665 }
666 }
667 else
668 {
669 m_actionFilter->setOn( true );
670 packageList = m_packman.filterPackages( m_filterName, m_filterServer, m_filterDest,
671 m_filterStatus, m_filterCategory );
672 }
673
674
638 } 675 }