summaryrefslogtreecommitdiff
path: root/noncore/settings/aqpkg/mainwin.cpp
authorandyq <andyq>2002-11-17 20:03:25 (UTC)
committer andyq <andyq>2002-11-17 20:03:25 (UTC)
commitd94c9d39ab6e744f848a04c07eac03f20c91987c (patch) (unidiff)
treea9f32cca7c59ae565ab9caa3caf567100ed07cb4 /noncore/settings/aqpkg/mainwin.cpp
parenta94877f543bf0ebc2ec9c4c931cb5f21713b7872 (diff)
downloadopie-d94c9d39ab6e744f848a04c07eac03f20c91987c.zip
opie-d94c9d39ab6e744f848a04c07eac03f20c91987c.tar.gz
opie-d94c9d39ab6e744f848a04c07eac03f20c91987c.tar.bz2
Added filter by category, and added extra fields to package display (Section and size)
Diffstat (limited to 'noncore/settings/aqpkg/mainwin.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/aqpkg/mainwin.cpp395
1 files changed, 209 insertions, 186 deletions
diff --git a/noncore/settings/aqpkg/mainwin.cpp b/noncore/settings/aqpkg/mainwin.cpp
index 5ccd3c3..0141359 100644
--- a/noncore/settings/aqpkg/mainwin.cpp
+++ b/noncore/settings/aqpkg/mainwin.cpp
@@ -1,186 +1,209 @@
1/*************************************************************************** 1/***************************************************************************
2 mainwin.cpp - description 2 mainwin.cpp - description
3 ------------------- 3 -------------------
4 begin : Mon Aug 26 13:32:30 BST 2002 4 begin : Mon Aug 26 13:32:30 BST 2002
5 copyright : (C) 2002 by Andy Qua 5 copyright : (C) 2002 by Andy Qua
6 email : andy.qua@blueyonder.co.uk 6 email : andy.qua@blueyonder.co.uk
7 ***************************************************************************/ 7 ***************************************************************************/
8 8
9/*************************************************************************** 9/***************************************************************************
10 * * 10 * *
11 * This program is free software; you can redistribute it and/or modify * 11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by * 12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or * 13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. * 14 * (at your option) any later version. *
15 * * 15 * *
16 ***************************************************************************/ 16 ***************************************************************************/
17 17
18#include <iostream> 18#include <iostream>
19 19
20#include <qmenubar.h> 20#include <qmenubar.h>
21#include <qpopupmenu.h> 21#include <qpopupmenu.h>
22#include <qmessagebox.h> 22#include <qmessagebox.h>
23 23
24#include "mainwin.h" 24#include "mainwin.h"
25#include "datamgr.h" 25#include "datamgr.h"
26#include "networkpkgmgr.h" 26#include "networkpkgmgr.h"
27#include "settingsimpl.h" 27#include "settingsimpl.h"
28#include "helpwindow.h" 28#include "helpwindow.h"
29#include "utils.h" 29#include "utils.h"
30#include "global.h" 30#include "global.h"
31 31
32MainWindow :: MainWindow( QWidget *p, char *name ) 32MainWindow :: MainWindow( QWidget *p, char *name )
33 :QMainWindow( p, name ) 33 :QMainWindow( p, name )
34{ 34{
35#ifdef QWS 35#ifdef QWS
36 showMaximized(); 36 showMaximized();
37#endif 37#endif
38 38
39 setCaption( "AQPkg - Package Manager" ); 39 setCaption( "AQPkg - Package Manager" );
40 40
41 // Create our menu 41 // Create our menu
42 help = new QPopupMenu( this ); 42 help = new QPopupMenu( this );
43 help->insertItem( "&General", this, SLOT(displayHelp()), Qt::CTRL+Qt::Key_G ); 43 help->insertItem( "&General", this, SLOT(displayHelp()), Qt::CTRL+Qt::Key_G );
44 help->insertItem( "&About", this, SLOT(displayAbout()), Qt::CTRL+Qt::Key_A ); 44 help->insertItem( "&About", this, SLOT(displayAbout()), Qt::CTRL+Qt::Key_A );
45 45
46 settings = new QPopupMenu( this ); 46 settings = new QPopupMenu( this );
47 settings->insertItem( "&Settings", this, SLOT(displaySettings()), Qt::CTRL+Qt::Key_S ); 47 settings->insertItem( "&Settings", this, SLOT(displaySettings()), Qt::CTRL+Qt::Key_S );
48 48
49 edit = new QPopupMenu( this ); 49 edit = new QPopupMenu( this );
50 edit->insertItem( "&Find", this, SLOT(searchForPackage()), Qt::CTRL+Qt::Key_I ); 50 edit->insertItem( "&Find", this, SLOT(searchForPackage()), Qt::CTRL+Qt::Key_I );
51 edit->insertItem( "Find &Next", this, SLOT(repeatSearchForPackage()), Qt::CTRL+Qt::Key_N ); 51 edit->insertItem( "Find &Next", this, SLOT(repeatSearchForPackage()), Qt::CTRL+Qt::Key_N );
52 52
53 filter = new QPopupMenu( this ); 53 filter = new QPopupMenu( this );
54 mnuShowUninstalledPkgsId = filter->insertItem( "Show &Uninstalled Packages", this, SLOT(filterUninstalledPackages()), Qt::CTRL+Qt::Key_U ); 54 mnuShowUninstalledPkgsId = filter->insertItem( "Show &Uninstalled Packages", this, SLOT(filterUninstalledPackages()), Qt::CTRL+Qt::Key_U );
55 mnuShowInstalledPkgsId = filter->insertItem( "Show In&stalled Packages", this, SLOT(filterInstalledPackages()), Qt::CTRL+Qt::Key_S ); 55 mnuShowInstalledPkgsId = filter->insertItem( "Show In&stalled Packages", this, SLOT(filterInstalledPackages()), Qt::CTRL+Qt::Key_S );
56 mnuShowUpgradedPkgsId = filter->insertItem( "Show U&pdated Packages", this, SLOT(filterUpgradedPackages()), Qt::CTRL+Qt::Key_P ); 56 mnuShowUpgradedPkgsId = filter->insertItem( "Show U&pdated Packages", this, SLOT(filterUpgradedPackages()), Qt::CTRL+Qt::Key_P );
57 57 filter->insertSeparator();
58 // Create the main menu 58 mnuFilterByCategory = filter->insertItem( "Filter By &Category", this, SLOT(filterCategory()), Qt::CTRL+Qt::Key_C );
59 menu = menuBar(); //new QMenuBar( this ); 59 mnuSetFilterCategory = filter->insertItem( "Set Filter C&ategory", this, SLOT(setFilterCategory()), Qt::CTRL+Qt::Key_A );
60 menu->insertItem( "&Settings", settings ); 60
61 menu->insertItem( "&Edit", edit ); 61 // Create the main menu
62 menu->insertItem( "&Filter", filter ); 62 menu = menuBar(); //new QMenuBar( this );
63 menu->insertItem( "&Help", help ); 63 menu->insertItem( "&Settings", settings );
64 64 menu->insertItem( "&Edit", edit );
65 mgr = new DataManager(); 65 menu->insertItem( "&Filter", filter );
66 mgr->loadServers(); 66 menu->insertItem( "&Help", help );
67 67
68 stack = new QWidgetStack( this ); 68 mgr = new DataManager();
69 69 mgr->loadServers();
70 networkPkgWindow = new NetworkPackageManager( mgr, stack ); 70
71 stack->addWidget( networkPkgWindow, 1 ); 71 stack = new QWidgetStack( this );
72 72
73 setCentralWidget( stack ); 73 networkPkgWindow = new NetworkPackageManager( mgr, stack );
74 stack->raiseWidget( networkPkgWindow ); 74 stack->addWidget( networkPkgWindow, 1 );
75} 75
76 76 setCentralWidget( stack );
77MainWindow :: ~MainWindow() 77 stack->raiseWidget( networkPkgWindow );
78{ 78}
79 delete networkPkgWindow; 79
80} 80MainWindow :: ~MainWindow()
81 81{
82void MainWindow :: setDocument( const QString &doc ) 82 delete networkPkgWindow;
83{ 83}
84 // Remove path from package 84
85 QString package = Utils::getPackageNameFromIpkFilename( doc ); 85void MainWindow :: setDocument( const QString &doc )
86 std::cout << "Selecting package " << package << std::endl; 86{
87 networkPkgWindow->selectLocalPackage( package ); 87 // Remove path from package
88} 88 QString package = Utils::getPackageNameFromIpkFilename( doc );
89 89 std::cout << "Selecting package " << package << std::endl;
90void MainWindow :: displaySettings() 90 networkPkgWindow->selectLocalPackage( package );
91{ 91}
92 SettingsImpl *dlg = new SettingsImpl( mgr, this, "Settings", true ); 92
93 if ( dlg->showDlg( 0 ) ) 93void MainWindow :: displaySettings()
94 networkPkgWindow->updateData(); 94{
95 delete dlg; 95 SettingsImpl *dlg = new SettingsImpl( mgr, this, "Settings", true );
96} 96 if ( dlg->showDlg( 0 ) )
97 97 networkPkgWindow->updateData();
98void MainWindow :: displayHelp() 98 delete dlg;
99{ 99}
100 HelpWindow *dlg = new HelpWindow( this ); 100
101 dlg->exec(); 101void MainWindow :: displayHelp()
102 delete dlg; 102{
103} 103 HelpWindow *dlg = new HelpWindow( this );
104 104 dlg->exec();
105void MainWindow :: searchForPackage() 105 delete dlg;
106{ 106}
107 networkPkgWindow->searchForPackage( false ); 107
108} 108void MainWindow :: searchForPackage()
109 109{
110void MainWindow :: repeatSearchForPackage() 110 networkPkgWindow->searchForPackage( false );
111{ 111}
112 networkPkgWindow->searchForPackage( true ); 112
113} 113void MainWindow :: repeatSearchForPackage()
114 114{
115void MainWindow :: displayAbout() 115 networkPkgWindow->searchForPackage( true );
116{ 116}
117 QMessageBox::about( this, "About AQPkg", VERSION_TEXT ); 117
118} 118void MainWindow :: displayAbout()
119 119{
120 120 QMessageBox::about( this, "About AQPkg", VERSION_TEXT );
121void MainWindow :: filterUninstalledPackages() 121}
122{ 122
123 bool val; 123
124 if ( filter->isItemChecked( mnuShowUninstalledPkgsId ) ) 124void MainWindow :: filterUninstalledPackages()
125 { 125{
126 val = false; 126 bool val;
127 filter->setItemChecked( mnuShowUninstalledPkgsId, false ); 127 if ( filter->isItemChecked( mnuShowUninstalledPkgsId ) )
128 } 128 {
129 else 129 val = false;
130 { 130 filter->setItemChecked( mnuShowUninstalledPkgsId, false );
131 val = true; 131 }
132 filter->setItemChecked( mnuShowUninstalledPkgsId, true ); 132 else
133 } 133 {
134 134 val = true;
135 filter->setItemChecked( mnuShowInstalledPkgsId, false ); 135 filter->setItemChecked( mnuShowUninstalledPkgsId, true );
136 networkPkgWindow->showOnlyInstalledPackages( false ); 136 }
137 filter->setItemChecked( mnuShowUpgradedPkgsId, false ); 137
138 networkPkgWindow->showUpgradedPackages( false ); 138 filter->setItemChecked( mnuShowInstalledPkgsId, false );
139 139 networkPkgWindow->showOnlyInstalledPackages( false );
140 networkPkgWindow->showOnlyUninstalledPackages( val ); 140 filter->setItemChecked( mnuShowUpgradedPkgsId, false );
141 141 networkPkgWindow->showUpgradedPackages( false );
142} 142
143 143 networkPkgWindow->showOnlyUninstalledPackages( val );
144void MainWindow :: filterInstalledPackages() 144
145{ 145}
146 bool val; 146
147 if ( filter->isItemChecked( mnuShowInstalledPkgsId ) ) 147void MainWindow :: filterInstalledPackages()
148 { 148{
149 val = false; 149 bool val;
150 filter->setItemChecked( mnuShowInstalledPkgsId, false ); 150 if ( filter->isItemChecked( mnuShowInstalledPkgsId ) )
151 } 151 {
152 else 152 val = false;
153 { 153 filter->setItemChecked( mnuShowInstalledPkgsId, false );
154 val = true; 154 }
155 filter->setItemChecked( mnuShowInstalledPkgsId, true ); 155 else
156 } 156 {
157 157 val = true;
158 filter->setItemChecked( mnuShowUninstalledPkgsId, false ); 158 filter->setItemChecked( mnuShowInstalledPkgsId, true );
159 networkPkgWindow->showOnlyUninstalledPackages( false ); 159 }
160 filter->setItemChecked( mnuShowUpgradedPkgsId, false ); 160
161 networkPkgWindow->showUpgradedPackages( false ); 161 filter->setItemChecked( mnuShowUninstalledPkgsId, false );
162 162 networkPkgWindow->showOnlyUninstalledPackages( false );
163 networkPkgWindow->showOnlyInstalledPackages( val ); 163 filter->setItemChecked( mnuShowUpgradedPkgsId, false );
164} 164 networkPkgWindow->showUpgradedPackages( false );
165 165
166void MainWindow :: filterUpgradedPackages() 166 networkPkgWindow->showOnlyInstalledPackages( val );
167{ 167}
168 bool val; 168
169 if ( filter->isItemChecked( mnuShowUpgradedPkgsId ) ) 169void MainWindow :: filterUpgradedPackages()
170 { 170{
171 val = false; 171 bool val;
172 filter->setItemChecked( mnuShowUpgradedPkgsId, false ); 172 if ( filter->isItemChecked( mnuShowUpgradedPkgsId ) )
173 } 173 {
174 else 174 val = false;
175 { 175 filter->setItemChecked( mnuShowUpgradedPkgsId, false );
176 val = true; 176 }
177 filter->setItemChecked( mnuShowUpgradedPkgsId, true ); 177 else
178 } 178 {
179 179 val = true;
180 filter->setItemChecked( mnuShowUninstalledPkgsId, false ); 180 filter->setItemChecked( mnuShowUpgradedPkgsId, true );
181 networkPkgWindow->showOnlyUninstalledPackages( false ); 181 }
182 filter->setItemChecked( mnuShowInstalledPkgsId, false ); 182
183 networkPkgWindow->showOnlyInstalledPackages( false ); 183 filter->setItemChecked( mnuShowUninstalledPkgsId, false );
184 184 networkPkgWindow->showOnlyUninstalledPackages( false );
185 networkPkgWindow->showUpgradedPackages( val ); 185 filter->setItemChecked( mnuShowInstalledPkgsId, false );
186} 186 networkPkgWindow->showOnlyInstalledPackages( false );
187
188 networkPkgWindow->showUpgradedPackages( val );
189}
190
191void MainWindow :: setFilterCategory()
192{
193 if ( networkPkgWindow->setFilterCategory( ) )
194 filter->setItemChecked( mnuFilterByCategory, true );
195}
196
197void MainWindow :: filterCategory()
198{
199 if ( filter->isItemChecked( mnuFilterByCategory ) )
200 {
201 networkPkgWindow->filterByCategory( false );
202 filter->setItemChecked( mnuFilterByCategory, false );
203 }
204 else
205 {
206 if ( networkPkgWindow->filterByCategory( true ) )
207 filter->setItemChecked( mnuFilterByCategory, true );
208 }
209} \ No newline at end of file