-rw-r--r-- | noncore/settings/aqpkg/main.cpp | 2 | ||||
-rw-r--r-- | noncore/settings/aqpkg/mainwin.cpp | 216 | ||||
-rw-r--r-- | noncore/settings/aqpkg/mainwin.h | 18 | ||||
-rw-r--r-- | noncore/settings/aqpkg/networkpkgmgr.cpp | 46 | ||||
-rw-r--r-- | noncore/settings/aqpkg/networkpkgmgr.h | 9 |
5 files changed, 194 insertions, 97 deletions
diff --git a/noncore/settings/aqpkg/main.cpp b/noncore/settings/aqpkg/main.cpp index 1f8cf42..53c392e 100644 --- a/noncore/settings/aqpkg/main.cpp +++ b/noncore/settings/aqpkg/main.cpp @@ -52,3 +52,3 @@ int main(int argc, char *argv[]) a.setMainWidget(win); - win->show(); + win->showMaximized(); 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 @@ -20,2 +20,7 @@ using namespace std; +#include <qpe/qpemenubar.h> +#include <qpe/qpetoolbar.h> +#include <qpe/resource.h> + +#include <qaction.h> #include <qmenubar.h> @@ -24,2 +29,3 @@ using namespace std; #include <qtimer.h> +#include <qwidgetstack.h> @@ -34,59 +40,129 @@ using namespace std; -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() ) ); } @@ -101,2 +177,3 @@ void MainWindow :: init() stack->raiseWidget( progressWindow ); + mgr = new DataManager(); @@ -107,4 +184,14 @@ void MainWindow :: init() 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 ); @@ -247 +334,22 @@ void MainWindow :: raiseProgressWidget() } + +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)." ) ); + } +} diff --git a/noncore/settings/aqpkg/mainwin.h b/noncore/settings/aqpkg/mainwin.h index 39799f9..028ef5b 100644 --- a/noncore/settings/aqpkg/mainwin.h +++ b/noncore/settings/aqpkg/mainwin.h @@ -21,4 +21,8 @@ #include <qmainwindow.h> -#include <qwidgetstack.h> +#include <qpixmap.h> +//#include <qwidgetstack.h> +class QWidgetStack; +class QPEToolBar; +class QAction; class ProgressWidget; @@ -32,3 +36,3 @@ public: - MainWindow( QWidget *p = 0, char *name = 0 ); + MainWindow(); ~MainWindow(); @@ -43,4 +47,8 @@ private: QPopupMenu *filter; - QWidgetStack *stack; - + QWidgetStack *stack; + QAction *actionUpgrade; + QAction *actionDownload; + QPixmap iconDownload; + QPixmap iconRemove; + NetworkPackageManager *networkPkgWindow; @@ -68,2 +76,4 @@ public slots: void raiseProgressWidget(); + void enableUpgrade( bool ); + void enableDownload( bool ); diff --git a/noncore/settings/aqpkg/networkpkgmgr.cpp b/noncore/settings/aqpkg/networkpkgmgr.cpp index ee37157..91afe02 100644 --- a/noncore/settings/aqpkg/networkpkgmgr.cpp +++ b/noncore/settings/aqpkg/networkpkgmgr.cpp @@ -67,5 +67,2 @@ NetworkPackageManager::NetworkPackageManager( QWidget *parent, const char *name initGui(); - setupConnections(); - - //updateData(); } @@ -149,7 +146,5 @@ void NetworkPackageManager :: initGui() serversList = new QComboBox( this ); + connect( serversList, SIGNAL(activated( int )), this, SLOT(serverSelected( int ))); + packagesList = new QListView( this ); - update = new QPushButton( tr( "Refresh Lists" ), this ); - download = new QPushButton( tr( "Download" ), this ); - upgrade = new QPushButton( tr( "Upgrade" ), this ); - apply = new QPushButton( tr( "Apply" ), this ); @@ -182,17 +177,4 @@ void NetworkPackageManager :: initGui() packagesList->addColumn( tr( "Packages" ) ); - - QHBoxLayout *hbox2 = new QHBoxLayout( vbox, -1 ); - hbox2->addWidget( update ); - hbox2->addWidget( download ); - hbox2->addWidget( upgrade ); - hbox2->addWidget( apply ); -} - -void NetworkPackageManager :: setupConnections() -{ - connect( serversList, SIGNAL(activated( int )), this, SLOT(serverSelected( int ))); - connect( apply, SIGNAL(released()), this, SLOT(applyChanges()) ); - connect( download, SIGNAL(released()), this, SLOT(downloadPackage()) ); - connect( upgrade, SIGNAL( released()), this, SLOT(upgradePackages()) ); - connect( update, SIGNAL(released()), this, SLOT(updateServer()) ); + + downloadEnabled = TRUE; } @@ -342,5 +324,4 @@ void NetworkPackageManager :: serverSelected( int, bool raiseProgress ) { - upgrade->setEnabled( false ); - download->setText( tr( "Download" ) ); - download->setEnabled( true ); + downloadEnabled = TRUE; + emit appEnableUpgrade( FALSE ); } @@ -348,5 +329,4 @@ void NetworkPackageManager :: serverSelected( int, bool raiseProgress ) { - upgrade->setEnabled( false ); - download->setEnabled( true ); - download->setText( tr( "Remove" ) ); + downloadEnabled = FALSE; + emit appEnableUpgrade( FALSE ); } @@ -354,6 +334,6 @@ void NetworkPackageManager :: serverSelected( int, bool raiseProgress ) { - upgrade->setEnabled( true ); - download->setEnabled( true ); - download->setText( tr( "Download" ) ); + downloadEnabled = TRUE; + emit appEnableUpgrade( TRUE ); } + emit appEnableDownload( downloadEnabled ); @@ -423,3 +403,3 @@ void NetworkPackageManager :: downloadPackage() bool doUpdate = true; - if ( download->text() == tr( "Download" ) ) + if ( downloadEnabled ) { @@ -447,3 +427,3 @@ void NetworkPackageManager :: downloadPackage() } - else if ( download->text() == tr( "Remove" ) ) + else { diff --git a/noncore/settings/aqpkg/networkpkgmgr.h b/noncore/settings/aqpkg/networkpkgmgr.h index 6b552ee..efef898 100644 --- a/noncore/settings/aqpkg/networkpkgmgr.h +++ b/noncore/settings/aqpkg/networkpkgmgr.h @@ -55,6 +55,2 @@ private: QListView *packagesList; - QPushButton *update; - QPushButton *upgrade; - QPushButton *download; - QPushButton *apply; @@ -70,4 +66,5 @@ private: + bool downloadEnabled; + void initGui(); - void setupConnections(); void showProgressDialog( char *initialText ); @@ -83,2 +80,4 @@ signals: void appRaiseProgressWidget(); + void appEnableUpgrade( bool ); + void appEnableDownload( bool ); void progressSetSteps( int ); |