summaryrefslogtreecommitdiff
path: root/noncore
Side-by-side diff
Diffstat (limited to 'noncore') (more/less context) (show whitespace changes)
-rw-r--r--noncore/settings/aqpkg/main.cpp2
-rw-r--r--noncore/settings/aqpkg/mainwin.cpp198
-rw-r--r--noncore/settings/aqpkg/mainwin.h14
-rw-r--r--noncore/settings/aqpkg/networkpkgmgr.cpp44
-rw-r--r--noncore/settings/aqpkg/networkpkgmgr.h9
5 files changed, 182 insertions, 85 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
@@ -50,7 +50,7 @@ int main(int argc, char *argv[])
MainWindow *win = new MainWindow();
a.setMainWidget(win);
- win->show();
+ win->showMaximized();
a.exec();
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( this );
+ networkPkgWindow = new NetworkPackageManager( this );
- progressWindow = new ProgressWidget( stack );
- stack->addWidget( progressWindow, 2 );
+ // Build menu and tool bars
+ setToolBarsMovable( FALSE );
- 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 );
+ 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)." ) );
+ }
+}
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
@@ -19,8 +19,12 @@
#define MAINWIN_H
#include <qmainwindow.h>
-#include <qwidgetstack.h>
+#include <qpixmap.h>
+//#include <qwidgetstack.h>
+class QWidgetStack;
+class QPEToolBar;
+class QAction;
class ProgressWidget;
class NetworkPackageManager;
class DataManager;
@@ -30,7 +34,7 @@ class MainWindow :public QMainWindow
Q_OBJECT
public:
- MainWindow( QWidget *p = 0, char *name = 0 );
+ MainWindow();
~MainWindow();
private:
@@ -42,6 +46,10 @@ private:
QPopupMenu *edit;
QPopupMenu *filter;
QWidgetStack *stack;
+ QAction *actionUpgrade;
+ QAction *actionDownload;
+ QPixmap iconDownload;
+ QPixmap iconRemove;
NetworkPackageManager *networkPkgWindow;
ProgressWidget *progressWindow;
@@ -66,6 +74,8 @@ public slots:
void setFilterCategory();
void raiseMainWidget();
void raiseProgressWidget();
+ void enableUpgrade( bool );
+ void enableDownload( bool );
private slots:
void init();
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
@@ -65,9 +65,6 @@ NetworkPackageManager::NetworkPackageManager( QWidget *parent, const char *name
categoryFilterEnabled = false;
initGui();
- setupConnections();
-
- //updateData();
}
NetworkPackageManager::~NetworkPackageManager()
@@ -147,11 +144,9 @@ void NetworkPackageManager :: initGui()
{
QLabel *l = new QLabel( tr( "Servers" ), this );
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 );
QVBoxLayout *vbox = new QVBoxLayout( this, 0, -1 );
QHBoxLayout *hbox1 = new QHBoxLayout( vbox, -1 );
@@ -181,20 +176,7 @@ void NetworkPackageManager :: initGui()
vbox->addWidget( packagesList );
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;
}
void NetworkPackageManager :: serverSelected( int index )
@@ -340,22 +322,20 @@ void NetworkPackageManager :: serverSelected( int, bool raiseProgress )
// If the local server or the local ipkgs server disable the download button
if ( serverName == LOCAL_SERVER )
{
- upgrade->setEnabled( false );
- download->setText( tr( "Download" ) );
- download->setEnabled( true );
+ downloadEnabled = TRUE;
+ emit appEnableUpgrade( FALSE );
}
else if ( serverName == LOCAL_IPKGS )
{
- upgrade->setEnabled( false );
- download->setEnabled( true );
- download->setText( tr( "Remove" ) );
+ downloadEnabled = FALSE;
+ emit appEnableUpgrade( FALSE );
}
else
{
- upgrade->setEnabled( true );
- download->setEnabled( true );
- download->setText( tr( "Download" ) );
+ downloadEnabled = TRUE;
+ emit appEnableUpgrade( TRUE );
}
+ emit appEnableDownload( downloadEnabled );
// Display this widget once everything is done
if ( doProgress && raiseProgress )
@@ -421,7 +401,7 @@ void NetworkPackageManager :: upgradePackages()
void NetworkPackageManager :: downloadPackage()
{
bool doUpdate = true;
- if ( download->text() == tr( "Download" ) )
+ if ( downloadEnabled )
{
// See if any packages are selected
bool found = false;
@@ -445,7 +425,7 @@ void NetworkPackageManager :: downloadPackage()
downloadRemotePackage();
}
- else if ( download->text() == tr( "Remove" ) )
+ else
{
doUpdate = false;
for ( QCheckListItem *item = (QCheckListItem *)packagesList->firstChild();
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
@@ -53,10 +53,6 @@ private:
QComboBox *serversList;
QListView *packagesList;
- QPushButton *update;
- QPushButton *upgrade;
- QPushButton *download;
- QPushButton *apply;
QString currentlySelectedServer;
QString lastSearchText;
@@ -68,8 +64,9 @@ private:
bool showInstalledPkgs;
bool showUpgradedPkgs;
+ bool downloadEnabled;
+
void initGui();
- void setupConnections();
void showProgressDialog( char *initialText );
void downloadSelectedPackages();
void downloadRemotePackage();
@@ -81,6 +78,8 @@ private:
signals:
void appRaiseMainWidget();
void appRaiseProgressWidget();
+ void appEnableUpgrade( bool );
+ void appEnableDownload( bool );
void progressSetSteps( int );
void progressSetMessage( const QString & );
void progressUpdate( int );