summaryrefslogtreecommitdiff
path: root/noncore
Unidiff
Diffstat (limited to 'noncore') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/aqpkg/mainwin.cpp166
-rw-r--r--noncore/settings/aqpkg/mainwin.h26
-rw-r--r--noncore/settings/aqpkg/networkpkgmgr.cpp52
-rw-r--r--noncore/settings/aqpkg/networkpkgmgr.h3
4 files changed, 125 insertions, 122 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
@@ -20,16 +20,18 @@ using namespace std;
20 20
21#include <qpe/qpemenubar.h> 21#include <qpe/qpemenubar.h>
22#include <qpe/qpetoolbar.h> 22#include <qpe/qpetoolbar.h>
23#include <qpe/resource.h> 23#include <qpe/resource.h>
24 24
25#include <qaction.h> 25#include <qaction.h>
26#include <qlineedit.h>
26#include <qmenubar.h> 27#include <qmenubar.h>
27#include <qmessagebox.h> 28#include <qmessagebox.h>
28#include <qpopupmenu.h> 29#include <qpopupmenu.h>
29#include <qtimer.h> 30#include <qtimer.h>
31#include <qwhatsthis.h>
30#include <qwidgetstack.h> 32#include <qwidgetstack.h>
31 33
32#include "mainwin.h" 34#include "mainwin.h"
33#include "progresswidget.h" 35#include "progresswidget.h"
34#include "datamgr.h" 36#include "datamgr.h"
35#include "networkpkgmgr.h" 37#include "networkpkgmgr.h"
@@ -53,12 +55,21 @@ MainWindow :: MainWindow()
53 QPEToolBar *bar = new QPEToolBar( this ); 55 QPEToolBar *bar = new QPEToolBar( this );
54 bar->setHorizontalStretchable( TRUE ); 56 bar->setHorizontalStretchable( TRUE );
55 QPEMenuBar *mb = new QPEMenuBar( bar ); 57 QPEMenuBar *mb = new QPEMenuBar( bar );
56 mb->setMargin( 0 ); 58 mb->setMargin( 0 );
57 bar = new QPEToolBar( this ); 59 bar = new QPEToolBar( this );
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
60 QPopupMenu *popup = new QPopupMenu( this ); 71 QPopupMenu *popup = new QPopupMenu( this );
61 72
62 QAction *a = new QAction( tr( "Update lists" ), Resource::loadPixmap( "aqpkg/update" ), QString::null, 0, this, 0 ); 73 QAction *a = new QAction( tr( "Update lists" ), Resource::loadPixmap( "aqpkg/update" ), QString::null, 0, this, 0 );
63 a->setWhatsThis( tr( "Click here to update package lists from servers." ) ); 74 a->setWhatsThis( tr( "Click here to update package lists from servers." ) );
64 connect( a, SIGNAL( activated() ), networkPkgWindow, SLOT( updateServer() ) ); 75 connect( a, SIGNAL( activated() ), networkPkgWindow, SLOT( updateServer() ) );
@@ -88,55 +99,61 @@ MainWindow :: MainWindow()
88 mb->insertItem( tr( "Packages" ), popup ); 99 mb->insertItem( tr( "Packages" ), popup );
89 100
90 // Search menu 101 // Search menu
91 popup = new QPopupMenu( this ); 102 popup = new QPopupMenu( this );
92 103
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
103 // Show 'quick jump' keypad? 116 // Show 'quick jump' keypad?
104 117
105 popup->insertSeparator(); 118 popup->insertSeparator();
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
112 a = new QAction( tr( "Set filter category" ), QString::null, 0, this, 0 ); 126 a = new QAction( tr( "Set filter category" ), QString::null, 0, this, 0 );
113 a->setWhatsThis( tr( "Click here to change package category to used filter." ) ); 127 a->setWhatsThis( tr( "Click here to change package category to used filter." ) );
114 connect( a, SIGNAL( activated() ), this, SLOT( setFilterCategory() ) ); 128 connect( a, SIGNAL( activated() ), this, SLOT( setFilterCategory() ) );
115 a->addTo( popup ); 129 a->addTo( popup );
116 130
117 mb->insertItem( tr( "Search" ), popup ); 131 mb->insertItem( tr( "Search" ), popup );
118 132
119 133
120 // View menu 134 // View menu
121 popup = new QPopupMenu( this ); 135 popup = new QPopupMenu( this );
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
138 popup->insertSeparator(); 155 popup->insertSeparator();
139 156
140 a = new QAction( tr( "Configure" ), Resource::loadPixmap( "aqpkg/config" ), QString::null, 0, this, 0 ); 157 a = new QAction( tr( "Configure" ), Resource::loadPixmap( "aqpkg/config" ), QString::null, 0, this, 0 );
141 a->setWhatsThis( tr( "Click here to configure this application." ) ); 158 a->setWhatsThis( tr( "Click here to configure this application." ) );
142 connect( a, SIGNAL( activated() ), this, SLOT( displaySettings() ) ); 159 connect( a, SIGNAL( activated() ), this, SLOT( displaySettings() ) );
@@ -152,13 +169,21 @@ MainWindow :: MainWindow()
152 a = new QAction( tr( "About" ), Resource::loadPixmap( "UtilsIcon" ), QString::null, 0, this, 0 ); 169 a = new QAction( tr( "About" ), Resource::loadPixmap( "UtilsIcon" ), QString::null, 0, this, 0 );
153 a->setWhatsThis( tr( "Click here for software version information." ) ); 170 a->setWhatsThis( tr( "Click here for software version information." ) );
154 connect( a, SIGNAL( activated() ), this, SLOT( displayAbout() ) ); 171 connect( a, SIGNAL( activated() ), this, SLOT( displayAbout() ) );
155 a->addTo( popup ); 172 a->addTo( popup );
156 173
157 mb->insertItem( tr( "View" ), popup ); 174 mb->insertItem( tr( "View" ), popup );
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();
158 182
183
159 // Create widget stack and add UI widgets 184 // Create widget stack and add UI widgets
160 stack = new QWidgetStack( this ); 185 stack = new QWidgetStack( this );
161 stack->addWidget( progressWindow, 2 ); 186 stack->addWidget( progressWindow, 2 );
162 stack->addWidget( networkPkgWindow, 1 ); 187 stack->addWidget( networkPkgWindow, 1 );
163 setCentralWidget( stack ); 188 setCentralWidget( stack );
164 stack->raiseWidget( progressWindow ); 189 stack->raiseWidget( progressWindow );
@@ -216,113 +241,76 @@ void MainWindow :: displaySettings()
216void MainWindow :: displayHelp() 241void MainWindow :: displayHelp()
217{ 242{
218 HelpWindow *dlg = new HelpWindow( this ); 243 HelpWindow *dlg = new HelpWindow( this );
219 dlg->exec(); 244 dlg->exec();
220 delete dlg; 245 delete dlg;
221} 246}
247
248void MainWindow :: displayFindBar()
249{
250 findBar->show();
251 findEdit->setFocus();
252}
222 253
223void MainWindow :: searchForPackage() 254void MainWindow :: repeatFind()
224{ 255{
225 networkPkgWindow->searchForPackage( false ); 256 networkPkgWindow->searchForPackage( findEdit->text() );
226} 257}
227 258
228void MainWindow :: repeatSearchForPackage() 259void MainWindow :: findPackage( const QString &text )
229{ 260{
230 networkPkgWindow->searchForPackage( true ); 261 actionFindNext->setEnabled( !text.isEmpty() );
262 networkPkgWindow->searchForPackage( text );
263}
264
265void MainWindow :: hideFindBar()
266{
267 findBar->hide();
231} 268}
232 269
233void MainWindow :: displayAbout() 270void MainWindow :: displayAbout()
234{ 271{
235 QMessageBox::about( this, tr( "About AQPkg" ), tr( VERSION_TEXT ) ); 272 QMessageBox::about( this, tr( "About AQPkg" ), tr( VERSION_TEXT ) );
236} 273}
237 274
238
239void MainWindow :: filterUninstalledPackages() 275void MainWindow :: filterUninstalledPackages()
240{ 276{
241 bool val; 277 networkPkgWindow->showOnlyUninstalledPackages( actionUninstalled->isOn() );
242 if ( filter->isItemChecked( mnuShowUninstalledPkgsId ) ) 278 actionInstalled->setOn( FALSE );
243 { 279 actionUpdated->setOn( FALSE );
244 val = false;
245 filter->setItemChecked( mnuShowUninstalledPkgsId, false );
246 }
247 else
248 {
249 val = true;
250 filter->setItemChecked( mnuShowUninstalledPkgsId, true );
251 }
252
253 filter->setItemChecked( mnuShowInstalledPkgsId, false );
254 networkPkgWindow->showOnlyInstalledPackages( false );
255 filter->setItemChecked( mnuShowUpgradedPkgsId, false );
256 networkPkgWindow->showUpgradedPackages( false );
257
258 networkPkgWindow->showOnlyUninstalledPackages( val );
259
260} 280}
261 281
262void MainWindow :: filterInstalledPackages() 282void 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}
283 288
284void MainWindow :: filterUpgradedPackages() 289void 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}
305 295
306void MainWindow :: setFilterCategory() 296void MainWindow :: setFilterCategory()
307{ 297{
308 if ( networkPkgWindow->setFilterCategory( ) ) 298 if ( networkPkgWindow->setFilterCategory() )
309 filter->setItemChecked( mnuFilterByCategory, true ); 299 actionFilter->setOn( TRUE );
310} 300}
311 301
312void MainWindow :: filterCategory() 302void 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 }
319 else 308 else
320 { 309 {
321 if ( networkPkgWindow->filterByCategory( true ) ) 310 actionFilter->setOn( networkPkgWindow->filterByCategory( TRUE ) );
322 filter->setItemChecked( mnuFilterByCategory, true );
323 } 311 }
324} 312}
325 313
326void MainWindow :: raiseMainWidget() 314void MainWindow :: raiseMainWidget()
327{ 315{
328 stack->raiseWidget( networkPkgWindow ); 316 stack->raiseWidget( networkPkgWindow );
diff --git a/noncore/settings/aqpkg/mainwin.h b/noncore/settings/aqpkg/mainwin.h
index 028ef5b..ef67cc9 100644
--- a/noncore/settings/aqpkg/mainwin.h
+++ b/noncore/settings/aqpkg/mainwin.h
@@ -17,16 +17,16 @@
17 17
18#ifndef MAINWIN_H 18#ifndef MAINWIN_H
19#define MAINWIN_H 19#define MAINWIN_H
20 20
21#include <qmainwindow.h> 21#include <qmainwindow.h>
22#include <qpixmap.h> 22#include <qpixmap.h>
23//#include <qwidgetstack.h>
24 23
25class QWidgetStack; 24class QWidgetStack;
26class QPEToolBar; 25class QPEToolBar;
26class QLineEdit;
27class QAction; 27class QAction;
28class ProgressWidget; 28class ProgressWidget;
29class NetworkPackageManager; 29class NetworkPackageManager;
30class DataManager; 30class DataManager;
31 31
32class MainWindow :public QMainWindow 32class MainWindow :public QMainWindow
@@ -37,20 +37,24 @@ public:
37 MainWindow(); 37 MainWindow();
38 ~MainWindow(); 38 ~MainWindow();
39 39
40private: 40private:
41 DataManager *mgr; 41 DataManager *mgr;
42 42
43 QMenuBar *menu;
44 QPopupMenu *help;
45 QPopupMenu *settings;
46 QPopupMenu *edit;
47 QPopupMenu *filter;
48 QWidgetStack *stack; 43 QWidgetStack *stack;
49 QAction *actionUpgrade; 44
50 QAction *actionDownload; 45 QPEToolBar *findBar;
46 QLineEdit *findEdit;
47 QAction *actionFindNext;
48 QAction *actionFilter;
49 QAction *actionUpgrade;
50 QAction *actionDownload;
51 QAction *actionUninstalled;
52 QAction *actionInstalled;
53 QAction *actionUpdated;
54
51 QPixmap iconDownload; 55 QPixmap iconDownload;
52 QPixmap iconRemove; 56 QPixmap iconRemove;
53 57
54 NetworkPackageManager *networkPkgWindow; 58 NetworkPackageManager *networkPkgWindow;
55 ProgressWidget *progressWindow; 59 ProgressWidget *progressWindow;
56 60
@@ -60,14 +64,16 @@ private:
60 int mnuFilterByCategory; 64 int mnuFilterByCategory;
61 int mnuSetFilterCategory; 65 int mnuSetFilterCategory;
62 66
63public slots: 67public slots:
64 void setDocument( const QString &doc ); 68 void setDocument( const QString &doc );
65 void displayHelp(); 69 void displayHelp();
66 void searchForPackage(); 70 void displayFindBar();
67 void repeatSearchForPackage(); 71 void repeatFind();
72 void findPackage( const QString & );
73 void hideFindBar();
68 void displayAbout(); 74 void displayAbout();
69 void displaySettings(); 75 void displaySettings();
70 void filterUninstalledPackages(); 76 void filterUninstalledPackages();
71 void filterInstalledPackages(); 77 void filterInstalledPackages();
72 void filterUpgradedPackages(); 78 void filterUpgradedPackages();
73 void filterCategory(); 79 void filterCategory();
diff --git a/noncore/settings/aqpkg/networkpkgmgr.cpp b/noncore/settings/aqpkg/networkpkgmgr.cpp
index 91afe02..c209589 100644
--- a/noncore/settings/aqpkg/networkpkgmgr.cpp
+++ b/noncore/settings/aqpkg/networkpkgmgr.cpp
@@ -257,23 +257,23 @@ void NetworkPackageManager :: serverSelected( int, bool raiseProgress )
257 257
258 // If the local server, only display installed packages 258 // If the local server, only display installed packages
259 if ( serverName == LOCAL_SERVER && !it->isInstalled() ) 259 if ( serverName == LOCAL_SERVER && !it->isInstalled() )
260 continue; 260 continue;
261 261
262 262
263 text += it->getPackageName(); 263 text.append( it->getPackageName() );
264 if ( it->isInstalled() ) 264 if ( it->isInstalled() )
265 { 265 {
266 text += " (installed)"; 266 text.append( " (installed)" );
267 267
268 // If a different version of package is available, postfix it with an * 268 // If a different version of package is available, postfix it with an *
269 if ( it->getVersion() != it->getInstalledVersion() ) 269 if ( it->getVersion() != it->getInstalledVersion() )
270 { 270 {
271 271
272 if ( compareVersions( it->getInstalledVersion(), it->getVersion() ) == 1 ) 272 if ( compareVersions( it->getInstalledVersion(), it->getVersion() ) == 1 )
273 text += "*"; 273 text.append( "*" );
274 } 274 }
275 } 275 }
276 276
277 QCheckListItem *item = new QCheckListItem( packagesList, text, QCheckListItem::CheckBox ); 277 QCheckListItem *item = new QCheckListItem( packagesList, text, QCheckListItem::CheckBox );
278 278
279 if ( it->isInstalled() ) 279 if ( it->isInstalled() )
@@ -287,35 +287,35 @@ void NetworkPackageManager :: serverSelected( int, bool raiseProgress )
287 else 287 else
288 { 288 {
289 if ( it->getInstalledTo() ) 289 if ( it->getInstalledTo() )
290 destName = it->getInstalledTo()->getDestinationName(); 290 destName = it->getInstalledTo()->getDestinationName();
291 } 291 }
292 if ( destName != "" ) 292 if ( destName != "" )
293 new QCheckListItem( item, QString( tr( "Installed To - " ) ) + destName ); 293 new QCheckListItem( item, QString( tr( "Installed To - %1" ).arg( destName ) ) );
294 } 294 }
295 295
296 if ( !it->isPackageStoredLocally() ) 296 if ( !it->isPackageStoredLocally() )
297 { 297 {
298 new QCheckListItem( item, QString( tr( "Description - " ) ) + it->getDescription() ); 298 new QCheckListItem( item, QString( tr( "Description - %1" ).arg( it->getDescription() ) ) );
299 new QCheckListItem( item, QString( tr( "Size - " ) ) + it->getPackageSize() ); 299 new QCheckListItem( item, QString( tr( "Size - %1" ).arg( it->getPackageSize() ) ) );
300 new QCheckListItem( item, QString( tr( "Section - " ) ) + it->getSection() ); 300 new QCheckListItem( item, QString( tr( "Section - %1" ).arg( it->getSection() ) ) );
301 } 301 }
302 else 302 else
303 new QCheckListItem( item, QString( tr( "Filename - " ) ) + it->getFilename() ); 303 new QCheckListItem( item, QString( tr( "Filename - %1" ).arg( it->getFilename() ) ) );
304 304
305 if ( serverName == LOCAL_SERVER ) 305 if ( serverName == LOCAL_SERVER )
306 { 306 {
307 new QCheckListItem( item, QString( tr( "V. Installed - " ) ) + it->getVersion() ); 307 new QCheckListItem( item, QString( tr( "V. Installed - %1" ).arg( it->getVersion() ) ) );
308 } 308 }
309 else 309 else
310 { 310 {
311 new QCheckListItem( item, QString( tr( "V. Available - " ) ) + it->getVersion() ); 311 new QCheckListItem( item, QString( tr( "V. Available - %1" ).arg( it->getVersion() ) ) );
312 if ( it->getLocalPackage() ) 312 if ( it->getLocalPackage() )
313 { 313 {
314 if ( it->isInstalled() ) 314 if ( it->isInstalled() )
315 new QCheckListItem( item, QString( tr( "V. Installed - " ) ) + it->getInstalledVersion() ); 315 new QCheckListItem( item, QString( tr( "V. Installed - %1" ).arg( it->getInstalledVersion() ) ) );
316 } 316 }
317 } 317 }
318 318
319 packagesList->insertItem( item ); 319 packagesList->insertItem( item );
320 } 320 }
321 321
@@ -369,12 +369,13 @@ void NetworkPackageManager :: updateServer()
369} 369}
370 370
371void NetworkPackageManager :: upgradePackages() 371void NetworkPackageManager :: upgradePackages()
372{ 372{
373 // We're gonna do an upgrade of all packages 373 // We're gonna do an upgrade of all packages
374 // First warn user that this isn't recommended 374 // First warn user that this isn't recommended
375 // TODO - ODevice????
375 QString text = tr( "WARNING: Upgrading while\nOpie/Qtopia is running\nis NOT recommended!\n\nAre you sure?\n" ); 376 QString text = tr( "WARNING: Upgrading while\nOpie/Qtopia is running\nis NOT recommended!\n\nAre you sure?\n" );
376 QMessageBox warn( tr( "Warning" ), text, QMessageBox::Warning, 377 QMessageBox warn( tr( "Warning" ), text, QMessageBox::Warning,
377 QMessageBox::Yes, 378 QMessageBox::Yes,
378 QMessageBox::No | QMessageBox::Escape | QMessageBox::Default , 379 QMessageBox::No | QMessageBox::Escape | QMessageBox::Default ,
379 0, this ); 380 0, this );
380 warn.adjustSize(); 381 warn.adjustSize();
@@ -770,23 +771,17 @@ void NetworkPackageManager :: letterPushed( QString t )
770 if ( !item ) 771 if ( !item )
771 item = (QCheckListItem *)packagesList->firstChild(); 772 item = (QCheckListItem *)packagesList->firstChild();
772 } while ( item != start); 773 } while ( item != start);
773} 774}
774 775
775 776
776void NetworkPackageManager :: searchForPackage( bool findNext ) 777void NetworkPackageManager :: searchForPackage( const QString &text )
777{ 778{
778 bool ok = false; 779 if ( !text.isEmpty() )
779 if ( !findNext || lastSearchText.isEmpty() )
780 lastSearchText = InputDialog::getText( tr( "Search for package" ), tr( "Enter package to search for" ), lastSearchText, &ok, this ).lower();
781 else
782 ok = true;
783
784 if ( ok && !lastSearchText.isEmpty() )
785 { 780 {
786 cout << "searching for " << lastSearchText << endl; 781 cout << "searching for " << text << endl;
787 // look through package list for text startng at current position 782 // look through package list for text startng at current position
788 vector<InstallData> workingPackages; 783 vector<InstallData> workingPackages;
789 QCheckListItem *start = (QCheckListItem *)packagesList->currentItem(); 784 QCheckListItem *start = (QCheckListItem *)packagesList->currentItem();
790 if ( start != 0 ) 785 if ( start != 0 )
791 start = (QCheckListItem *)start->nextSibling(); 786 start = (QCheckListItem *)start->nextSibling();
792 787
@@ -794,13 +789,13 @@ void NetworkPackageManager :: searchForPackage( bool findNext )
794 start = (QCheckListItem *)packagesList->firstChild(); 789 start = (QCheckListItem *)packagesList->firstChild();
795 790
796 for ( QCheckListItem *item = start; item != 0 ; 791 for ( QCheckListItem *item = start; item != 0 ;
797 item = (QCheckListItem *)item->nextSibling() ) 792 item = (QCheckListItem *)item->nextSibling() )
798 { 793 {
799 cout << "checking " << item->text().lower() << endl; 794 cout << "checking " << item->text().lower() << endl;
800 if ( item->text().lower().find( lastSearchText ) != -1 ) 795 if ( item->text().lower().find( text ) != -1 )
801 { 796 {
802 cout << "matched " << item->text() << endl; 797 cout << "matched " << item->text() << endl;
803 packagesList->ensureItemVisible( item ); 798 packagesList->ensureItemVisible( item );
804 packagesList->setCurrentItem( item ); 799 packagesList->setCurrentItem( item );
805 break; 800 break;
806 } 801 }
@@ -808,24 +803,39 @@ void NetworkPackageManager :: searchForPackage( bool findNext )
808 } 803 }
809} 804}
810 805
811void NetworkPackageManager :: showOnlyUninstalledPackages( bool val ) 806void NetworkPackageManager :: showOnlyUninstalledPackages( bool val )
812{ 807{
813 showUninstalledPkgs = val; 808 showUninstalledPkgs = val;
809 if ( val )
810 {
811 showInstalledPkgs = FALSE;
812 showUpgradedPkgs = FALSE;
813 }
814 serverSelected( -1 ); 814 serverSelected( -1 );
815} 815}
816 816
817void NetworkPackageManager :: showOnlyInstalledPackages( bool val ) 817void NetworkPackageManager :: showOnlyInstalledPackages( bool val )
818{ 818{
819 showInstalledPkgs = val; 819 showInstalledPkgs = val;
820 if ( val )
821 {
822 showUninstalledPkgs = FALSE;
823 showUpgradedPkgs = FALSE;
824 }
820 serverSelected( -1 ); 825 serverSelected( -1 );
821} 826}
822 827
823void NetworkPackageManager :: showUpgradedPackages( bool val ) 828void NetworkPackageManager :: showUpgradedPackages( bool val )
824{ 829{
825 showUpgradedPkgs = val; 830 showUpgradedPkgs = val;
831 if ( val )
832 {
833 showUninstalledPkgs = FALSE;
834 showInstalledPkgs = FALSE;
835 }
826 serverSelected( -1 ); 836 serverSelected( -1 );
827} 837}
828 838
829bool NetworkPackageManager :: filterByCategory( bool val ) 839bool NetworkPackageManager :: filterByCategory( bool val )
830{ 840{
831 if ( val ) 841 if ( val )
diff --git a/noncore/settings/aqpkg/networkpkgmgr.h b/noncore/settings/aqpkg/networkpkgmgr.h
index efef898..bd005e2 100644
--- a/noncore/settings/aqpkg/networkpkgmgr.h
+++ b/noncore/settings/aqpkg/networkpkgmgr.h
@@ -38,13 +38,13 @@ public:
38 /** destructor */ 38 /** destructor */
39 ~NetworkPackageManager(); 39 ~NetworkPackageManager();
40 40
41 void setDataManager( DataManager *dm ); 41 void setDataManager( DataManager *dm );
42 void selectLocalPackage( const QString &pkg ); 42 void selectLocalPackage( const QString &pkg );
43 void updateData(); 43 void updateData();
44 void searchForPackage( bool findNext ); 44 void searchForPackage( const QString & );
45 void showOnlyUninstalledPackages( bool val ); 45 void showOnlyUninstalledPackages( bool val );
46 void showOnlyInstalledPackages( bool val ); 46 void showOnlyInstalledPackages( bool val );
47 void showUpgradedPackages( bool val ); 47 void showUpgradedPackages( bool val );
48 bool filterByCategory( bool val ); 48 bool filterByCategory( bool val );
49 bool setFilterCategory(); 49 bool setFilterCategory();
50 50
@@ -52,13 +52,12 @@ private:
52 DataManager *dataMgr; 52 DataManager *dataMgr;
53 53
54 QComboBox *serversList; 54 QComboBox *serversList;
55 QListView *packagesList; 55 QListView *packagesList;
56 56
57 QString currentlySelectedServer; 57 QString currentlySelectedServer;
58 QString lastSearchText;
59 QString categoryFilter; 58 QString categoryFilter;
60 59
61 bool categoryFilterEnabled; 60 bool categoryFilterEnabled;
62 bool showJumpTo; 61 bool showJumpTo;
63 bool showUninstalledPkgs; 62 bool showUninstalledPkgs;
64 bool showInstalledPkgs; 63 bool showInstalledPkgs;