summaryrefslogtreecommitdiff
path: root/noncore/settings/aqpkg/mainwin.cpp
authordrw <drw>2003-01-09 01:27:35 (UTC)
committer drw <drw>2003-01-09 01:27:35 (UTC)
commitc3cfc32f957f8bcbfc8c5c2231b6894c3b94ec94 (patch) (unidiff)
tree4a4158f8635815f7e7401f0e24f5b63b1b51f33e /noncore/settings/aqpkg/mainwin.cpp
parentece2fe6c6d61df31a4a2e8799878f5a49a2c529e (diff)
downloadopie-c3cfc32f957f8bcbfc8c5c2231b6894c3b94ec94.zip
opie-c3cfc32f957f8bcbfc8c5c2231b6894c3b94ec94.tar.gz
opie-c3cfc32f957f8bcbfc8c5c2231b6894c3b94ec94.tar.bz2
Updates to main view, menu reorganization, etc.
Diffstat (limited to 'noncore/settings/aqpkg/mainwin.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/aqpkg/mainwin.cpp216
1 files changed, 162 insertions, 54 deletions
diff --git a/noncore/settings/aqpkg/mainwin.cpp b/noncore/settings/aqpkg/mainwin.cpp
index e577285..4aa83b5 100644
--- a/noncore/settings/aqpkg/mainwin.cpp
+++ b/noncore/settings/aqpkg/mainwin.cpp
@@ -18,10 +18,16 @@
18#include <iostream> 18#include <iostream>
19using namespace std; 19using namespace std;
20 20
21#include <qpe/qpemenubar.h>
22#include <qpe/qpetoolbar.h>
23#include <qpe/resource.h>
24
25#include <qaction.h>
21#include <qmenubar.h> 26#include <qmenubar.h>
22#include <qmessagebox.h> 27#include <qmessagebox.h>
23#include <qpopupmenu.h> 28#include <qpopupmenu.h>
24#include <qtimer.h> 29#include <qtimer.h>
30#include <qwidgetstack.h>
25 31
26#include "mainwin.h" 32#include "mainwin.h"
27#include "progresswidget.h" 33#include "progresswidget.h"
@@ -32,63 +38,133 @@ using namespace std;
32#include "utils.h" 38#include "utils.h"
33#include "global.h" 39#include "global.h"
34 40
35MainWindow :: MainWindow( QWidget *p, char *name ) 41MainWindow :: MainWindow()
36 :QMainWindow( p, name ) 42 :QMainWindow( 0x0, 0x0, WStyle_ContextHelp )
37{ 43{
38#ifdef QWS
39 showMaximized();
40#endif
41
42 setCaption( tr( "AQPkg - Package Manager" ) ); 44 setCaption( tr( "AQPkg - Package Manager" ) );
43 45
44 // Create our menu 46 // Create UI widgets
45 help = new QPopupMenu( this ); 47 progressWindow = new ProgressWidget( this );
46 help->insertItem( tr( "General" ), this, SLOT(displayHelp()) ); 48 networkPkgWindow = new NetworkPackageManager( this );
47 help->insertItem( tr( "About" ), this, SLOT(displayAbout()) ); 49
48 50 // Build menu and tool bars
49 settings = new QPopupMenu( this ); 51 setToolBarsMovable( FALSE );
50 settings->insertItem( tr( "Settings" ), this, SLOT(displaySettings()) ); 52
51 53 QPEToolBar *bar = new QPEToolBar( this );
52 edit = new QPopupMenu( this ); 54 bar->setHorizontalStretchable( TRUE );
53 edit->insertItem( tr( "Find" ), this, SLOT(searchForPackage()) ); 55 QPEMenuBar *mb = new QPEMenuBar( bar );
54 edit->insertItem( tr( "Find Next" ), this, SLOT(repeatSearchForPackage()) ); 56 mb->setMargin( 0 );
55 57 bar = new QPEToolBar( this );
56 filter = new QPopupMenu( this ); 58
57 mnuShowUninstalledPkgsId = filter->insertItem( tr( "Show Non-Installed Packages" ), this, SLOT(filterUninstalledPackages()) ); 59 // Packages menu
58 mnuShowInstalledPkgsId = filter->insertItem( tr( "Show Installed Packages" ), this, SLOT(filterInstalledPackages()) ); 60 QPopupMenu *popup = new QPopupMenu( this );
59 mnuShowUpgradedPkgsId = filter->insertItem( tr( "Show Updated Packages" ), this, SLOT(filterUpgradedPackages()) ); 61
60 filter->insertSeparator(); 62 QAction *a = new QAction( tr( "Update lists" ), Resource::loadPixmap( "aqpkg/update" ), QString::null, 0, this, 0 );
61 mnuFilterByCategory = filter->insertItem( tr( "Filter By Category" ), this, SLOT(filterCategory()) ); 63 a->setWhatsThis( tr( "Click here to update package lists from servers." ) );
62 mnuSetFilterCategory = filter->insertItem( tr( "Set Filter Category" ), this, SLOT(setFilterCategory()) ); 64 connect( a, SIGNAL( activated() ), networkPkgWindow, SLOT( updateServer() ) );
63 65 a->addTo( popup );
64 // Create the main menu 66 a->addTo( bar );
65 menu = menuBar(); //new QMenuBar( this ); 67
66 menu->insertItem( tr( "Settings" ), settings ); 68 actionUpgrade = new QAction( tr( "Upgrade" ), Resource::loadPixmap( "aqpkg/upgrade" ), QString::null, 0, this, 0 );
67 menu->insertItem( tr( "Edit" ), edit ); 69 actionUpgrade->setWhatsThis( tr( "Click here to upgrade all installed packages if a newer version is available." ) );
68 menu->insertItem( tr( "Filter" ), filter ); 70 connect( actionUpgrade, SIGNAL( activated() ), networkPkgWindow, SLOT( upgradePackages() ) );
69 menu->insertItem( tr( "Help" ), help ); 71 actionUpgrade->addTo( popup );
70 72 actionUpgrade->addTo( bar );
71 // Create UI widgets 73
72 stack = new QWidgetStack( this ); 74 iconDownload = Resource::loadPixmap( "aqpkg/download" );
73 75 iconRemove = Resource::loadPixmap( "aqpkg/remove" );
74 progressWindow = new ProgressWidget( stack ); 76 actionDownload = new QAction( tr( "Download" ), iconDownload, QString::null, 0, this, 0 );
75 stack->addWidget( progressWindow, 2 ); 77 actionDownload->setWhatsThis( tr( "Click here to download the currently selected package(s)." ) );
76 78 connect( actionDownload, SIGNAL( activated() ), networkPkgWindow, SLOT( downloadPackage() ) );
77 networkPkgWindow = new NetworkPackageManager( stack ); 79 actionDownload->addTo( popup );
78 connect( networkPkgWindow, SIGNAL( appRaiseMainWidget() ), this, SLOT( raiseMainWidget() ) ); 80 actionDownload->addTo( bar );
79 connect( networkPkgWindow, SIGNAL( appRaiseProgressWidget() ), this, SLOT( raiseProgressWidget() ) ); 81
80 connect( networkPkgWindow, SIGNAL( progressSetSteps( int ) ), progressWindow, SLOT( setSteps( int ) ) ); 82 a = new QAction( tr( "Apply changes" ), Resource::loadPixmap( "aqpkg/apply" ), QString::null, 0, this, 0 );
81 connect( networkPkgWindow, SIGNAL( progressSetMessage( const QString & ) ), 83 a->setWhatsThis( tr( "Click here to install, remove or upgrade currently selected package(s)." ) );
82 progressWindow, SLOT( setMessage( const QString & ) ) ); 84 connect( a, SIGNAL( activated() ), networkPkgWindow, SLOT( applyChanges() ) );
83 connect( networkPkgWindow, SIGNAL( progressUpdate( int ) ), progressWindow, SLOT( update( int ) ) ); 85 a->addTo( popup );
84 stack->addWidget( networkPkgWindow, 1 ); 86 a->addTo( bar );
85 87
86 setCentralWidget( stack ); 88 mb->insertItem( tr( "Packages" ), popup );
87 stack->raiseWidget( progressWindow ); 89
88 90 // Search menu
89 // Delayed call to finish initialization 91 popup = new QPopupMenu( this );
90 QTimer::singleShot( 100, this, SLOT( init() ) ); 92
91 93 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." ) );
95 connect( a, SIGNAL( activated() ), this, SLOT( searchForPackage() ) );
96 a->addTo( popup );
97
98 a = new QAction( tr( "Find next" ), Resource::loadPixmap( "next" ), QString::null, 0, this, 0 );
99 a->setWhatsThis( tr( "Click here to search for the next package." ) );
100 connect( a, SIGNAL( activated() ), this, SLOT( repeatSearchForPackage() ) );
101 a->addTo( popup );
102
103 // Show 'quick jump' keypad?
104
105 popup->insertSeparator();
106
107 a = 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." ) );
109 connect( a, SIGNAL( activated() ), this, SLOT( filterCategory() ) );
110 a->addTo( popup );
111
112 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." ) );
114 connect( a, SIGNAL( activated() ), this, SLOT( setFilterCategory() ) );
115 a->addTo( popup );
116
117 mb->insertItem( tr( "Search" ), popup );
118
119
120 // View menu
121 popup = new QPopupMenu( this );
122
123 a = 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." ) );
125 connect( a, SIGNAL( activated() ), this, SLOT( filterUninstalledPackages() ) );
126 a->addTo( popup );
127
128 a = 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." ) );
130 connect( a, SIGNAL( activated() ), this, SLOT( filterInstalledPackages() ) );
131 a->addTo( popup );
132
133 a = 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." ) );
135 connect( a, SIGNAL( activated() ), this, SLOT( filterUpgradedPackages() ) );
136 a->addTo( popup );
137
138 popup->insertSeparator();
139
140 a = new QAction( tr( "Configure" ), Resource::loadPixmap( "aqpkg/config" ), QString::null, 0, this, 0 );
141 a->setWhatsThis( tr( "Click here to configure this application." ) );
142 connect( a, SIGNAL( activated() ), this, SLOT( displaySettings() ) );
143 a->addTo( popup );
144
145 popup->insertSeparator();
146
147 a = new QAction( tr( "Help" ), Resource::loadPixmap( "help_icon" ), QString::null, 0, this, 0 );
148 a->setWhatsThis( tr( "Click here for help." ) );
149 connect( a, SIGNAL( activated() ), this, SLOT( displayHelp() ) );
150 a->addTo( popup );
151
152 a = new QAction( tr( "About" ), Resource::loadPixmap( "UtilsIcon" ), QString::null, 0, this, 0 );
153 a->setWhatsThis( tr( "Click here for software version information." ) );
154 connect( a, SIGNAL( activated() ), this, SLOT( displayAbout() ) );
155 a->addTo( popup );
156
157 mb->insertItem( tr( "View" ), popup );
158
159 // Create widget stack and add UI widgets
160 stack = new QWidgetStack( this );
161 stack->addWidget( progressWindow, 2 );
162 stack->addWidget( networkPkgWindow, 1 );
163 setCentralWidget( stack );
164 stack->raiseWidget( progressWindow );
165
166 // Delayed call to finish initialization
167 QTimer::singleShot( 100, this, SLOT( init() ) );
92} 168}
93 169
94MainWindow :: ~MainWindow() 170MainWindow :: ~MainWindow()
@@ -99,14 +175,25 @@ MainWindow :: ~MainWindow()
99void MainWindow :: init() 175void MainWindow :: init()
100{ 176{
101 stack->raiseWidget( progressWindow ); 177 stack->raiseWidget( progressWindow );
178
102 mgr = new DataManager(); 179 mgr = new DataManager();
103 connect( mgr, SIGNAL( progressSetSteps( int ) ), progressWindow, SLOT( setSteps( int ) ) ); 180 connect( mgr, SIGNAL( progressSetSteps( int ) ), progressWindow, SLOT( setSteps( int ) ) );
104 connect( mgr, SIGNAL( progressSetMessage( const QString & ) ), 181 connect( mgr, SIGNAL( progressSetMessage( const QString & ) ),
105 progressWindow, SLOT( setMessage( const QString & ) ) ); 182 progressWindow, SLOT( setMessage( const QString & ) ) );
106 connect( mgr, SIGNAL( progressUpdate( int ) ), progressWindow, SLOT( update( int ) ) ); 183 connect( mgr, SIGNAL( progressUpdate( int ) ), progressWindow, SLOT( update( int ) ) );
107 mgr->loadServers(); 184 mgr->loadServers();
185
108 networkPkgWindow->setDataManager( mgr ); 186 networkPkgWindow->setDataManager( mgr );
109 networkPkgWindow->updateData(); 187 networkPkgWindow->updateData();
188 connect( networkPkgWindow, SIGNAL( appRaiseMainWidget() ), this, SLOT( raiseMainWidget() ) );
189 connect( networkPkgWindow, SIGNAL( appRaiseProgressWidget() ), this, SLOT( raiseProgressWidget() ) );
190 connect( networkPkgWindow, SIGNAL( appEnableUpgrade( bool ) ), this, SLOT( enableUpgrade( bool ) ) );
191 connect( networkPkgWindow, SIGNAL( appEnableDownload( bool ) ), this, SLOT( enableDownload( bool ) ) );
192 connect( networkPkgWindow, SIGNAL( progressSetSteps( int ) ), progressWindow, SLOT( setSteps( int ) ) );
193 connect( networkPkgWindow, SIGNAL( progressSetMessage( const QString & ) ),
194 progressWindow, SLOT( setMessage( const QString & ) ) );
195 connect( networkPkgWindow, SIGNAL( progressUpdate( int ) ), progressWindow, SLOT( update( int ) ) );
196
110 stack->raiseWidget( networkPkgWindow ); 197 stack->raiseWidget( networkPkgWindow );
111} 198}
112 199
@@ -245,3 +332,24 @@ void MainWindow :: raiseProgressWidget()
245{ 332{
246 stack->raiseWidget( progressWindow ); 333 stack->raiseWidget( progressWindow );
247} 334}
335
336void MainWindow :: enableUpgrade( bool enabled )
337{
338 actionUpgrade->setEnabled( enabled );
339}
340
341void MainWindow :: enableDownload( bool enabled )
342{
343 if ( enabled )
344 {
345 actionDownload->setIconSet( iconDownload );
346 actionDownload->setText( tr( "Download" ) );
347 actionDownload->setWhatsThis( tr( "Click here to download the currently selected package(s)." ) );
348 }
349 else
350 {
351 actionDownload->setIconSet( iconRemove );
352 actionDownload->setText( tr( "Remove" ) );
353 actionDownload->setWhatsThis( tr( "Click here to uninstall the currently selected package(s)." ) );
354 }
355}