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) (side-by-side diff)
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 @@
#include <iostream>
using namespace std;
+#include <qpe/qpemenubar.h>
+#include <qpe/qpetoolbar.h>
+#include <qpe/resource.h>
+
+#include <qaction.h>
#include <qmenubar.h>
#include <qmessagebox.h>
#include <qpopupmenu.h>
#include <qtimer.h>
+#include <qwidgetstack.h>
#include "mainwin.h"
#include "progresswidget.h"
@@ -32,63 +38,133 @@ using namespace std;
#include "utils.h"
#include "global.h"
-MainWindow :: MainWindow( QWidget *p, char *name )
- : QMainWindow( p, name )
+MainWindow :: MainWindow()
+ : QMainWindow( 0x0, 0x0, WStyle_ContextHelp )
{
-#ifdef QWS
- showMaximized();
-#endif
-
setCaption( tr( "AQPkg - Package Manager" ) );
- // Create our menu
- help = new QPopupMenu( this );
- help->insertItem( tr( "General" ), this, SLOT(displayHelp()) );
- help->insertItem( tr( "About" ), this, SLOT(displayAbout()) );
-
- settings = new QPopupMenu( this );
- settings->insertItem( tr( "Settings" ), this, SLOT(displaySettings()) );
-
- edit = new QPopupMenu( this );
- edit->insertItem( tr( "Find" ), this, SLOT(searchForPackage()) );
- edit->insertItem( tr( "Find Next" ), this, SLOT(repeatSearchForPackage()) );
-
- filter = new QPopupMenu( this );
- mnuShowUninstalledPkgsId = filter->insertItem( tr( "Show Non-Installed Packages" ), this, SLOT(filterUninstalledPackages()) );
- mnuShowInstalledPkgsId = filter->insertItem( tr( "Show Installed Packages" ), this, SLOT(filterInstalledPackages()) );
- mnuShowUpgradedPkgsId = filter->insertItem( tr( "Show Updated Packages" ), this, SLOT(filterUpgradedPackages()) );
- filter->insertSeparator();
- mnuFilterByCategory = filter->insertItem( tr( "Filter By Category" ), this, SLOT(filterCategory()) );
- mnuSetFilterCategory = filter->insertItem( tr( "Set Filter Category" ), this, SLOT(setFilterCategory()) );
-
- // Create the main menu
- menu = menuBar(); //new QMenuBar( this );
- menu->insertItem( tr( "Settings" ), settings );
- menu->insertItem( tr( "Edit" ), edit );
- menu->insertItem( tr( "Filter" ), filter );
- menu->insertItem( tr( "Help" ), help );
-
- // Create UI widgets
- stack = new QWidgetStack( this );
-
- progressWindow = new ProgressWidget( stack );
- stack->addWidget( progressWindow, 2 );
-
- networkPkgWindow = new NetworkPackageManager( stack );
- connect( networkPkgWindow, SIGNAL( appRaiseMainWidget() ), this, SLOT( raiseMainWidget() ) );
- connect( networkPkgWindow, SIGNAL( appRaiseProgressWidget() ), this, SLOT( raiseProgressWidget() ) );
- connect( networkPkgWindow, SIGNAL( progressSetSteps( int ) ), progressWindow, SLOT( setSteps( int ) ) );
- connect( networkPkgWindow, SIGNAL( progressSetMessage( const QString & ) ),
- progressWindow, SLOT( setMessage( const QString & ) ) );
- connect( networkPkgWindow, SIGNAL( progressUpdate( int ) ), progressWindow, SLOT( update( int ) ) );
- stack->addWidget( networkPkgWindow, 1 );
-
- setCentralWidget( stack );
- stack->raiseWidget( progressWindow );
-
- // Delayed call to finish initialization
- QTimer::singleShot( 100, this, SLOT( init() ) );
-
+ // Create UI widgets
+ progressWindow = new ProgressWidget( this );
+ networkPkgWindow = new NetworkPackageManager( this );
+
+ // Build menu and tool bars
+ setToolBarsMovable( FALSE );
+
+ QPEToolBar *bar = new QPEToolBar( this );
+ bar->setHorizontalStretchable( TRUE );
+ QPEMenuBar *mb = new QPEMenuBar( bar );
+ mb->setMargin( 0 );
+ bar = new QPEToolBar( this );
+
+ // Packages menu
+ QPopupMenu *popup = new QPopupMenu( this );
+
+ QAction *a = new QAction( tr( "Update lists" ), Resource::loadPixmap( "aqpkg/update" ), QString::null, 0, this, 0 );
+ a->setWhatsThis( tr( "Click here to update package lists from servers." ) );
+ connect( a, SIGNAL( activated() ), networkPkgWindow, SLOT( updateServer() ) );
+ a->addTo( popup );
+ a->addTo( bar );
+
+ actionUpgrade = new QAction( tr( "Upgrade" ), Resource::loadPixmap( "aqpkg/upgrade" ), QString::null, 0, this, 0 );
+ actionUpgrade->setWhatsThis( tr( "Click here to upgrade all installed packages if a newer version is available." ) );
+ connect( actionUpgrade, SIGNAL( activated() ), networkPkgWindow, SLOT( upgradePackages() ) );
+ actionUpgrade->addTo( popup );
+ actionUpgrade->addTo( bar );
+
+ iconDownload = Resource::loadPixmap( "aqpkg/download" );
+ iconRemove = Resource::loadPixmap( "aqpkg/remove" );
+ actionDownload = new QAction( tr( "Download" ), iconDownload, QString::null, 0, this, 0 );
+ actionDownload->setWhatsThis( tr( "Click here to download the currently selected package(s)." ) );
+ connect( actionDownload, SIGNAL( activated() ), networkPkgWindow, SLOT( downloadPackage() ) );
+ actionDownload->addTo( popup );
+ actionDownload->addTo( bar );
+
+ a = new QAction( tr( "Apply changes" ), Resource::loadPixmap( "aqpkg/apply" ), QString::null, 0, this, 0 );
+ a->setWhatsThis( tr( "Click here to install, remove or upgrade currently selected package(s)." ) );
+ connect( a, SIGNAL( activated() ), networkPkgWindow, SLOT( applyChanges() ) );
+ a->addTo( popup );
+ a->addTo( bar );
+
+ mb->insertItem( tr( "Packages" ), popup );
+
+ // Search menu
+ popup = new QPopupMenu( this );
+
+ a = new QAction( tr( "Find" ), Resource::loadPixmap( "find" ), QString::null, 0, this, 0 );
+ a->setWhatsThis( tr( "Click here to search for a specific package." ) );
+ connect( a, SIGNAL( activated() ), this, SLOT( searchForPackage() ) );
+ a->addTo( popup );
+
+ a = new QAction( tr( "Find next" ), Resource::loadPixmap( "next" ), QString::null, 0, this, 0 );
+ a->setWhatsThis( tr( "Click here to search for the next package." ) );
+ connect( a, SIGNAL( activated() ), this, SLOT( repeatSearchForPackage() ) );
+ a->addTo( popup );
+
+ // Show 'quick jump' keypad?
+
+ popup->insertSeparator();
+
+ a = new QAction( tr( "Filter by category" ), Resource::loadPixmap( "aqpkg/filter" ), QString::null, 0, this, 0 );
+ a->setWhatsThis( tr( "Click here to list packages belonging to one category." ) );
+ connect( a, SIGNAL( activated() ), this, SLOT( filterCategory() ) );
+ a->addTo( popup );
+
+ a = new QAction( tr( "Set filter category" ), QString::null, 0, this, 0 );
+ a->setWhatsThis( tr( "Click here to change package category to used filter." ) );
+ connect( a, SIGNAL( activated() ), this, SLOT( setFilterCategory() ) );
+ a->addTo( popup );
+
+ mb->insertItem( tr( "Search" ), popup );
+
+
+ // View menu
+ popup = new QPopupMenu( this );
+
+ a = new QAction( tr( "Show packages not installed" ), QString::null, 0, this, 0 );
+ a->setWhatsThis( tr( "Click here to show packages available which have not been installed." ) );
+ connect( a, SIGNAL( activated() ), this, SLOT( filterUninstalledPackages() ) );
+ a->addTo( popup );
+
+ a = new QAction( tr( "Show installed packages" ), QString::null, 0, this, 0 );
+ a->setWhatsThis( tr( "Click here to show packages currently installed on this device." ) );
+ connect( a, SIGNAL( activated() ), this, SLOT( filterInstalledPackages() ) );
+ a->addTo( popup );
+
+ a = new QAction( tr( "Show updated packages" ), QString::null, 0, this, 0 );
+ a->setWhatsThis( tr( "Click here to show packages currently installed on this device which have a newer version available." ) );
+ connect( a, SIGNAL( activated() ), this, SLOT( filterUpgradedPackages() ) );
+ a->addTo( popup );
+
+ popup->insertSeparator();
+
+ a = new QAction( tr( "Configure" ), Resource::loadPixmap( "aqpkg/config" ), QString::null, 0, this, 0 );
+ a->setWhatsThis( tr( "Click here to configure this application." ) );
+ connect( a, SIGNAL( activated() ), this, SLOT( displaySettings() ) );
+ a->addTo( popup );
+
+ popup->insertSeparator();
+
+ a = new QAction( tr( "Help" ), Resource::loadPixmap( "help_icon" ), QString::null, 0, this, 0 );
+ a->setWhatsThis( tr( "Click here for help." ) );
+ connect( a, SIGNAL( activated() ), this, SLOT( displayHelp() ) );
+ a->addTo( popup );
+
+ a = new QAction( tr( "About" ), Resource::loadPixmap( "UtilsIcon" ), QString::null, 0, this, 0 );
+ a->setWhatsThis( tr( "Click here for software version information." ) );
+ connect( a, SIGNAL( activated() ), this, SLOT( displayAbout() ) );
+ a->addTo( popup );
+
+ mb->insertItem( tr( "View" ), popup );
+
+ // Create widget stack and add UI widgets
+ stack = new QWidgetStack( this );
+ stack->addWidget( progressWindow, 2 );
+ stack->addWidget( networkPkgWindow, 1 );
+ setCentralWidget( stack );
+ stack->raiseWidget( progressWindow );
+
+ // Delayed call to finish initialization
+ QTimer::singleShot( 100, this, SLOT( init() ) );
}
MainWindow :: ~MainWindow()
@@ -99,14 +175,25 @@ MainWindow :: ~MainWindow()
void MainWindow :: init()
{
stack->raiseWidget( progressWindow );
+
mgr = new DataManager();
connect( mgr, SIGNAL( progressSetSteps( int ) ), progressWindow, SLOT( setSteps( int ) ) );
connect( mgr, SIGNAL( progressSetMessage( const QString & ) ),
progressWindow, SLOT( setMessage( const QString & ) ) );
connect( mgr, SIGNAL( progressUpdate( int ) ), progressWindow, SLOT( update( int ) ) );
mgr->loadServers();
+
networkPkgWindow->setDataManager( mgr );
networkPkgWindow->updateData();
+ connect( networkPkgWindow, SIGNAL( appRaiseMainWidget() ), this, SLOT( raiseMainWidget() ) );
+ connect( networkPkgWindow, SIGNAL( appRaiseProgressWidget() ), this, SLOT( raiseProgressWidget() ) );
+ connect( networkPkgWindow, SIGNAL( appEnableUpgrade( bool ) ), this, SLOT( enableUpgrade( bool ) ) );
+ connect( networkPkgWindow, SIGNAL( appEnableDownload( bool ) ), this, SLOT( enableDownload( bool ) ) );
+ connect( networkPkgWindow, SIGNAL( progressSetSteps( int ) ), progressWindow, SLOT( setSteps( int ) ) );
+ connect( networkPkgWindow, SIGNAL( progressSetMessage( const QString & ) ),
+ progressWindow, SLOT( setMessage( const QString & ) ) );
+ connect( networkPkgWindow, SIGNAL( progressUpdate( int ) ), progressWindow, SLOT( update( int ) ) );
+
stack->raiseWidget( networkPkgWindow );
}
@@ -245,3 +332,24 @@ void MainWindow :: raiseProgressWidget()
{
stack->raiseWidget( progressWindow );
}
+
+void MainWindow :: enableUpgrade( bool enabled )
+{
+ actionUpgrade->setEnabled( enabled );
+}
+
+void MainWindow :: enableDownload( bool enabled )
+{
+ if ( enabled )
+ {
+ actionDownload->setIconSet( iconDownload );
+ actionDownload->setText( tr( "Download" ) );
+ actionDownload->setWhatsThis( tr( "Click here to download the currently selected package(s)." ) );
+ }
+ else
+ {
+ actionDownload->setIconSet( iconRemove );
+ actionDownload->setText( tr( "Remove" ) );
+ actionDownload->setWhatsThis( tr( "Click here to uninstall the currently selected package(s)." ) );
+ }
+}