Diffstat (limited to 'noncore/settings/aqpkg/mainwin.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/settings/aqpkg/mainwin.cpp | 162 |
1 files changed, 75 insertions, 87 deletions
diff --git a/noncore/settings/aqpkg/mainwin.cpp b/noncore/settings/aqpkg/mainwin.cpp index 4aa83b5..e184f6b 100644 --- a/noncore/settings/aqpkg/mainwin.cpp +++ b/noncore/settings/aqpkg/mainwin.cpp | |||
@@ -25,2 +25,3 @@ using namespace std; | |||
25 | #include <qaction.h> | 25 | #include <qaction.h> |
26 | #include <qlineedit.h> | ||
26 | #include <qmenubar.h> | 27 | #include <qmenubar.h> |
@@ -29,2 +30,3 @@ using namespace std; | |||
29 | #include <qtimer.h> | 30 | #include <qtimer.h> |
31 | #include <qwhatsthis.h> | ||
30 | #include <qwidgetstack.h> | 32 | #include <qwidgetstack.h> |
@@ -58,2 +60,11 @@ MainWindow :: MainWindow() | |||
58 | 60 | ||
61 | // Find toolbar | ||
62 | findBar = new QPEToolBar( this ); | ||
63 | addToolBar( findBar, QMainWindow::Top, true ); | ||
64 | findBar->setHorizontalStretchable( true ); | ||
65 | findEdit = new QLineEdit( findBar ); | ||
66 | QWhatsThis::add( findEdit, tr( "Type the text to search for here." ) ); | ||
67 | findBar->setStretchableWidget( findEdit ); | ||
68 | connect( findEdit, SIGNAL( textChanged( const QString & ) ), this, SLOT( findPackage( const QString & ) ) ); | ||
69 | |||
59 | // Packages menu | 70 | // Packages menu |
@@ -93,10 +104,12 @@ MainWindow :: MainWindow() | |||
93 | a = new QAction( tr( "Find" ), Resource::loadPixmap( "find" ), QString::null, 0, this, 0 ); | 104 | a = new QAction( tr( "Find" ), Resource::loadPixmap( "find" ), QString::null, 0, this, 0 ); |
94 | a->setWhatsThis( tr( "Click here to search for a specific package." ) ); | 105 | a->setWhatsThis( tr( "Click here to search for text in package names." ) ); |
95 | connect( a, SIGNAL( activated() ), this, SLOT( searchForPackage() ) ); | 106 | connect( a, SIGNAL( activated() ), this, SLOT( displayFindBar() ) ); |
96 | a->addTo( popup ); | 107 | a->addTo( popup ); |
97 | 108 | ||
98 | a = new QAction( tr( "Find next" ), Resource::loadPixmap( "next" ), QString::null, 0, this, 0 ); | 109 | actionFindNext = new QAction( tr( "Find next" ), Resource::loadIconSet( "next" ), QString::null, 0, this, 0 ); |
99 | a->setWhatsThis( tr( "Click here to search for the next package." ) ); | 110 | actionFindNext->setEnabled( FALSE ); |
100 | connect( a, SIGNAL( activated() ), this, SLOT( repeatSearchForPackage() ) ); | 111 | actionFindNext->setWhatsThis( tr( "Click here to search for the package name containing the text you are searching for." ) ); |
101 | a->addTo( popup ); | 112 | connect( actionFindNext, SIGNAL( activated() ), this, SLOT( repeatFind() ) ); |
113 | actionFindNext->addTo( popup ); | ||
114 | actionFindNext->addTo( findBar ); | ||
102 | 115 | ||
@@ -106,6 +119,7 @@ MainWindow :: MainWindow() | |||
106 | 119 | ||
107 | a = new QAction( tr( "Filter by category" ), Resource::loadPixmap( "aqpkg/filter" ), QString::null, 0, this, 0 ); | 120 | actionFilter = new QAction( tr( "Filter by category" ), Resource::loadPixmap( "aqpkg/filter" ), QString::null, 0, this, 0 ); |
108 | a->setWhatsThis( tr( "Click here to list packages belonging to one category." ) ); | 121 | actionFilter->setToggleAction( TRUE ); |
109 | connect( a, SIGNAL( activated() ), this, SLOT( filterCategory() ) ); | 122 | actionFilter->setWhatsThis( tr( "Click here to list packages belonging to one category." ) ); |
110 | a->addTo( popup ); | 123 | connect( actionFilter, SIGNAL( activated() ), this, SLOT( filterCategory() ) ); |
124 | actionFilter->addTo( popup ); | ||
111 | 125 | ||
@@ -122,16 +136,19 @@ MainWindow :: MainWindow() | |||
122 | 136 | ||
123 | a = new QAction( tr( "Show packages not installed" ), QString::null, 0, this, 0 ); | 137 | actionUninstalled = new QAction( tr( "Show packages not installed" ), QString::null, 0, this, 0 ); |
124 | a->setWhatsThis( tr( "Click here to show packages available which have not been installed." ) ); | 138 | actionUninstalled->setToggleAction( TRUE ); |
125 | connect( a, SIGNAL( activated() ), this, SLOT( filterUninstalledPackages() ) ); | 139 | actionUninstalled->setWhatsThis( tr( "Click here to show packages available which have not been installed." ) ); |
126 | a->addTo( popup ); | 140 | connect( actionUninstalled, SIGNAL( activated() ), this, SLOT( filterUninstalledPackages() ) ); |
141 | actionUninstalled->addTo( popup ); | ||
127 | 142 | ||
128 | a = new QAction( tr( "Show installed packages" ), QString::null, 0, this, 0 ); | 143 | actionInstalled = new QAction( tr( "Show installed packages" ), QString::null, 0, this, 0 ); |
129 | a->setWhatsThis( tr( "Click here to show packages currently installed on this device." ) ); | 144 | actionInstalled->setToggleAction( TRUE ); |
130 | connect( a, SIGNAL( activated() ), this, SLOT( filterInstalledPackages() ) ); | 145 | actionInstalled->setWhatsThis( tr( "Click here to show packages currently installed on this device." ) ); |
131 | a->addTo( popup ); | 146 | connect( actionInstalled, SIGNAL( activated() ), this, SLOT( filterInstalledPackages() ) ); |
147 | actionInstalled->addTo( popup ); | ||
132 | 148 | ||
133 | a = new QAction( tr( "Show updated packages" ), QString::null, 0, this, 0 ); | 149 | actionUpdated = new QAction( tr( "Show updated packages" ), QString::null, 0, this, 0 ); |
134 | a->setWhatsThis( tr( "Click here to show packages currently installed on this device which have a newer version available." ) ); | 150 | actionUpdated->setToggleAction( TRUE ); |
135 | connect( a, SIGNAL( activated() ), this, SLOT( filterUpgradedPackages() ) ); | 151 | actionUpdated->setWhatsThis( tr( "Click here to show packages currently installed on this device which have a newer version available." ) ); |
136 | a->addTo( popup ); | 152 | connect( actionUpdated, SIGNAL( activated() ), this, SLOT( filterUpgradedPackages() ) ); |
153 | actionUpdated->addTo( popup ); | ||
137 | 154 | ||
@@ -158,2 +175,10 @@ MainWindow :: MainWindow() | |||
158 | 175 | ||
176 | // Finish find toolbar creation | ||
177 | a = new QAction( QString::null, Resource::loadPixmap( "close" ), QString::null, 0, this, 0 ); | ||
178 | a->setWhatsThis( tr( "Click here to hide the find toolbar." ) ); | ||
179 | connect( a, SIGNAL( activated() ), this, SLOT( hideFindBar() ) ); | ||
180 | a->addTo( findBar ); | ||
181 | findBar->hide(); | ||
182 | |||
183 | |||
159 | // Create widget stack and add UI widgets | 184 | // Create widget stack and add UI widgets |
@@ -222,39 +247,34 @@ void MainWindow :: displayHelp() | |||
222 | 247 | ||
223 | void MainWindow :: searchForPackage() | 248 | void MainWindow :: displayFindBar() |
224 | { | 249 | { |
225 | networkPkgWindow->searchForPackage( false ); | 250 | findBar->show(); |
251 | findEdit->setFocus(); | ||
226 | } | 252 | } |
227 | 253 | ||
228 | void MainWindow :: repeatSearchForPackage() | 254 | void MainWindow :: repeatFind() |
229 | { | 255 | { |
230 | networkPkgWindow->searchForPackage( true ); | 256 | networkPkgWindow->searchForPackage( findEdit->text() ); |
231 | } | 257 | } |
232 | 258 | ||
233 | void MainWindow :: displayAbout() | 259 | void MainWindow :: findPackage( const QString &text ) |
234 | { | 260 | { |
235 | QMessageBox::about( this, tr( "About AQPkg" ), tr( VERSION_TEXT ) ); | 261 | actionFindNext->setEnabled( !text.isEmpty() ); |
262 | networkPkgWindow->searchForPackage( text ); | ||
236 | } | 263 | } |
237 | 264 | ||
238 | 265 | void MainWindow :: hideFindBar() | |
239 | void MainWindow :: filterUninstalledPackages() | ||
240 | { | 266 | { |
241 | bool val; | 267 | findBar->hide(); |
242 | if ( filter->isItemChecked( mnuShowUninstalledPkgsId ) ) | ||
243 | { | ||
244 | val = false; | ||
245 | filter->setItemChecked( mnuShowUninstalledPkgsId, false ); | ||
246 | } | 268 | } |
247 | else | 269 | |
270 | void MainWindow :: displayAbout() | ||
248 | { | 271 | { |
249 | val = true; | 272 | QMessageBox::about( this, tr( "About AQPkg" ), tr( VERSION_TEXT ) ); |
250 | filter->setItemChecked( mnuShowUninstalledPkgsId, true ); | ||
251 | } | 273 | } |
252 | 274 | ||
253 | filter->setItemChecked( mnuShowInstalledPkgsId, false ); | 275 | void MainWindow :: filterUninstalledPackages() |
254 | networkPkgWindow->showOnlyInstalledPackages( false ); | 276 | { |
255 | filter->setItemChecked( mnuShowUpgradedPkgsId, false ); | 277 | networkPkgWindow->showOnlyUninstalledPackages( actionUninstalled->isOn() ); |
256 | networkPkgWindow->showUpgradedPackages( false ); | 278 | actionInstalled->setOn( FALSE ); |
257 | 279 | actionUpdated->setOn( FALSE ); | |
258 | networkPkgWindow->showOnlyUninstalledPackages( val ); | ||
259 | |||
260 | } | 280 | } |
@@ -263,20 +283,5 @@ void MainWindow :: filterInstalledPackages() | |||
263 | { | 283 | { |
264 | bool val; | 284 | actionUninstalled->setOn( FALSE ); |
265 | if ( filter->isItemChecked( mnuShowInstalledPkgsId ) ) | 285 | networkPkgWindow->showOnlyInstalledPackages( actionInstalled->isOn() ); |
266 | { | 286 | actionUpdated->setOn( FALSE ); |
267 | val = false; | ||
268 | filter->setItemChecked( mnuShowInstalledPkgsId, false ); | ||
269 | } | ||
270 | else | ||
271 | { | ||
272 | val = true; | ||
273 | filter->setItemChecked( mnuShowInstalledPkgsId, true ); | ||
274 | } | ||
275 | |||
276 | filter->setItemChecked( mnuShowUninstalledPkgsId, false ); | ||
277 | networkPkgWindow->showOnlyUninstalledPackages( false ); | ||
278 | filter->setItemChecked( mnuShowUpgradedPkgsId, false ); | ||
279 | networkPkgWindow->showUpgradedPackages( false ); | ||
280 | |||
281 | networkPkgWindow->showOnlyInstalledPackages( val ); | ||
282 | } | 287 | } |
@@ -285,20 +290,5 @@ void MainWindow :: filterUpgradedPackages() | |||
285 | { | 290 | { |
286 | bool val; | 291 | actionUninstalled->setOn( FALSE ); |
287 | if ( filter->isItemChecked( mnuShowUpgradedPkgsId ) ) | 292 | actionInstalled->setOn( FALSE ); |
288 | { | 293 | networkPkgWindow->showUpgradedPackages( actionUpdated->isOn() ); |
289 | val = false; | ||
290 | filter->setItemChecked( mnuShowUpgradedPkgsId, false ); | ||
291 | } | ||
292 | else | ||
293 | { | ||
294 | val = true; | ||
295 | filter->setItemChecked( mnuShowUpgradedPkgsId, true ); | ||
296 | } | ||
297 | |||
298 | filter->setItemChecked( mnuShowUninstalledPkgsId, false ); | ||
299 | networkPkgWindow->showOnlyUninstalledPackages( false ); | ||
300 | filter->setItemChecked( mnuShowInstalledPkgsId, false ); | ||
301 | networkPkgWindow->showOnlyInstalledPackages( false ); | ||
302 | |||
303 | networkPkgWindow->showUpgradedPackages( val ); | ||
304 | } | 294 | } |
@@ -308,3 +298,3 @@ void MainWindow :: setFilterCategory() | |||
308 | if ( networkPkgWindow->setFilterCategory( ) ) | 298 | if ( networkPkgWindow->setFilterCategory( ) ) |
309 | filter->setItemChecked( mnuFilterByCategory, true ); | 299 | actionFilter->setOn( TRUE ); |
310 | } | 300 | } |
@@ -313,6 +303,5 @@ void MainWindow :: filterCategory() | |||
313 | { | 303 | { |
314 | if ( filter->isItemChecked( mnuFilterByCategory ) ) | 304 | if ( !actionFilter->isOn() ) |
315 | { | 305 | { |
316 | networkPkgWindow->filterByCategory( false ); | 306 | networkPkgWindow->filterByCategory( FALSE ); |
317 | filter->setItemChecked( mnuFilterByCategory, false ); | ||
318 | } | 307 | } |
@@ -320,4 +309,3 @@ void MainWindow :: filterCategory() | |||
320 | { | 309 | { |
321 | if ( networkPkgWindow->filterByCategory( true ) ) | 310 | actionFilter->setOn( networkPkgWindow->filterByCategory( TRUE ) ); |
322 | filter->setItemChecked( mnuFilterByCategory, true ); | ||
323 | } | 311 | } |