-rw-r--r-- | noncore/settings/aqpkg/aqpkg.pro | 2 | ||||
-rw-r--r-- | noncore/settings/aqpkg/doc.txt | 49 | ||||
-rw-r--r-- | noncore/settings/aqpkg/helpwindow.cpp | 95 | ||||
-rw-r--r-- | noncore/settings/aqpkg/helpwindow.h | 34 | ||||
-rw-r--r-- | noncore/settings/aqpkg/mainwin.cpp | 25 | ||||
-rw-r--r-- | noncore/settings/aqpkg/mainwin.h | 2 |
6 files changed, 0 insertions, 207 deletions
diff --git a/noncore/settings/aqpkg/aqpkg.pro b/noncore/settings/aqpkg/aqpkg.pro index 6b4fb30..e4076f5 100644 --- a/noncore/settings/aqpkg/aqpkg.pro +++ b/noncore/settings/aqpkg/aqpkg.pro @@ -1,61 +1,59 @@ TEMPLATE = app CONFIG = qt warn_on release HEADERS = global.h \ mainwin.h \ datamgr.h \ settingsimpl.h \ ipkg.h \ package.h \ installdlgimpl.h \ instoptionsimpl.h \ destination.h \ utils.h \ server.h \ - helpwindow.h \ letterpushbutton.h \ inputdlg.h \ categoryfilterimpl.h SOURCES = mainwin.cpp \ datamgr.cpp \ mem.cpp \ settingsimpl.cpp \ ipkg.cpp \ main.cpp \ package.cpp \ installdlgimpl.cpp \ instoptionsimpl.cpp \ destination.cpp \ utils.cpp \ server.cpp \ - helpwindow.cpp \ letterpushbutton.cpp \ inputdlg.cpp \ version.cpp \ categoryfilterimpl.cpp INTERFACES = TARGET = aqpkg INCLUDEPATH += $(OPIEDIR)/include DEPENDPATH += $(OPIEDIR)/include LIBS += -lqpe -lopie -lstdc++ DESTDIR = $(OPIEDIR)/bin TRANSLATIONS = ../../../i18n/de/aqpkg.ts \ ../../../i18n/xx/aqpkg.ts \ ../../../i18n/en/aqpkg.ts \ ../../../i18n/es/aqpkg.ts \ ../../../i18n/fr/aqpkg.ts \ ../../../i18n/hu/aqpkg.ts \ ../../../i18n/ja/aqpkg.ts \ ../../../i18n/ko/aqpkg.ts \ ../../../i18n/no/aqpkg.ts \ ../../../i18n/pl/aqpkg.ts \ ../../../i18n/pt/aqpkg.ts \ ../../../i18n/pt_BR/aqpkg.ts \ ../../../i18n/sl/aqpkg.ts \ ../../../i18n/zh_CN/aqpkg.ts \ ../../../i18n/zh_TW/aqpkg.ts \ ../../../i18n/it/aqpkg.ts \ ../../../i18n/da/aqpkg.ts include ( $(OPIEDIR)/include.pro ) diff --git a/noncore/settings/aqpkg/doc.txt b/noncore/settings/aqpkg/doc.txt deleted file mode 100644 index 7722c07..0000000 --- a/noncore/settings/aqpkg/doc.txt +++ b/dev/null @@ -1,49 +0,0 @@ -<qt><h1>Documentation for AQPkg</h1><p>
-AQPkg is a package manager for the Sharp Zaurus.<br>
-Basic Instructions:<br>
-On startup, you will be shown a window. The main part of the window is taken up
-by a list box showing packages. The packages shown will depend on the server selected.<br>
-The servers list contains network servers containing feeds of packages that can be downloaded
-and installed onto your Zaurus. These are held in the file /etc/ipkg.conf and can be maintained
-using AQPkg. In addition to the servers defined in ipkg.conf file, there are two other servers -
-local and local IPKGs. These are not network servers but views of yours Zaurus.<br>
-The local server shows all installed packages, and the local IPKGs server shows all ipks
-that are stored on your Zaurus.<br>
-On the local server, you can only remove packages. On the local IPKGs server you can only
-install and delete packages - removing installed packages is currently not working. On all other
-servers you can install, uninstall, upgrade and download packages.<br>
-To get the latest package list for a server (or refresh the view), select the server you
-wish to update and click the Refresh List button.<br>
-To download a package from a remote server, select the server (any except local and local IPKGs),
-then select the package(s) you wish to download (by tapping in the box next to the package
-name so that a tick appears in the box) and click the Download button. Enter the path where you
-want the package to be downloaded to and click OK to download the package.<br>
-To install, upgrade or remove a package select the packages you wish to install and click the Apply
-button. You will then be shown a dialog which allows you to select which destination you wish
-to install the package to, which packages will be installed, removed and upgraded. You can also
-set various options. (for the moment, see the documentation for IPKG for more details on these
-options). To start the process, click Start. This will perform the necessary operations and
-will show you what is happening. Once everything has completed click the Close button.<br>
-Note: Currently, the operation to perform for a package is automatically decided based on the
-following rules:<br>
-If a package isn't installed, then it will be installed.<br>
-If a package is installed and there isn't a later version available then it will be removed.<br>
-If a package is installed and a different version is available then it will be upgraded. (Note,
-I haven't yet found a way to determine if an available package is newer or older than the one
-currently installed so it is possible that a package may be downgraded).<br>
-As previously mentioned, a package can be explicitly removed by using the local server.<br><br>
-A couple of last notes, in the main window, the following may be useful:<br>
-If a package is installed then it will have (installed) after it.<br>
-If a different version is available then it will have a * after the package name.<br>
-You can view details of a package by tapping twice (quickly) on the package name (NOT the
-box next to the package name). This will show you a brief description of the package, the
-version installed (if it is installed), and the version available for download/installation
-(if a different on is available).<br><br><br>
-Well, hope you enjoy using this program. If you have any ideas/suggestions/ideas for improvements
-then please let me know at andy.qua@blueyonder.co.uk.<br><br>
-Thanks for using this.
-Andy.
-</p></qt>
-
-
-
diff --git a/noncore/settings/aqpkg/helpwindow.cpp b/noncore/settings/aqpkg/helpwindow.cpp deleted file mode 100644 index 0302b3f..0000000 --- a/noncore/settings/aqpkg/helpwindow.cpp +++ b/dev/null @@ -1,95 +0,0 @@ -/*************************************************************************** - helpwindow.cpp - description - ------------------- - begin : Sun Sep 8 2002 - copyright : (C) 2002 by Andy Qua - email : andy.qua@blueyonder.co.uk - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#include <qwidget.h> -#include <qlayout.h> -#include <qstring.h> -#include <qtextview.h> - -#include "helpwindow.h" -#include "global.h" - - -#define HELP_TEXT \ -"<qt><h1>Documentation for AQPkg</h1><p> " \ -"AQPkg is a package manager for the Sharp Zaurus.<br><br> " \ -"Basic Instructions:<br><br> " \ -"On startup, you will be shown a window. The main part of the window is taken up " \ -"by a list box showing packages. The packages shown will depend on the server selected.<br><br> " \ -"The servers list contains network servers containing feeds of packages that can be downloaded " \ -"and installed onto your Zaurus. These are held in the file /etc/ipkg.conf and can be maintained " \ -"using AQPkg. In addition to the servers defined in ipkg.conf file, there are two other servers - " \ -"local and local IPKGs. These are not network servers but views of yours Zaurus.<br><br> " \ -"The local server shows all installed packages, and the local IPKGs server shows all ipks " \ -"that are stored on your Zaurus.<br><br> " \ -"On the local server, you can only remove packages. On the local IPKGs server you can only " \ -"install and delete packages - removing installed packages is currently not working. On all other " \ -"servers you can install, uninstall, upgrade and download packages.<br><br> " \ -"To get the latest package list for a server (or refresh the view), select the server you " \ -"wish to update and click the Refresh List button.<br><br> " \ -"To download a package from a remote server, select the server (any except local and local IPKGs), " \ -"then select the package(s) you wish to download (by tapping in the box next to the package " \ -"name so that a tick appears in the box) and click the Download button. Enter the path where you " \ -"want the package to be downloaded to and click OK to download the package.<br><br> " \ -"To install, upgrade or remove a package select the packages you wish to install and click the Apply " \ -"button. You will then be shown a dialog which allows you to select which destination you wish " \ -"to install the package to, which packages will be installed, removed and upgraded. You can also " \ -"set various options. (for the moment, see the documentation for IPKG for more details on these " \ -"options). To start the process, click Start. This will perform the necessary operations and " \ -"will show you what is happening. Once everything has completed click the Close button.<br><br> " \ -"Note: Currently, the operation to perform for a package is automatically decided based on the " \ -"following rules:<br><br> " \ -" If a package isn't installed, then it will be installed.<br> " \ -" If a package is installed and there isn't a later version available then it will be removed.<br> " \ -" If a package is installed and a different version is available then it will be upgraded. (Note, " \ -"I haven't yet found a way to determine if an available package is newer or older than the one " \ -"currently installed so it is possible that a package may be downgraded).<br><br> " \ -"As previously mentioned, a package can be explicitly removed by using the local server.<br><br> " \ -"A couple of last notes, in the main window, the following may be useful:<br><br> " \ -"If a package is installed then it will have (installed) after it.<br><br> " \ -"If a different version is available then it will have a * after the package name.<br><br> " \ -"You can view details of a package by tapping twice (quickly) on the package name (NOT the " \ -"box next to the package name). This will show you a brief description of the package, the " \ -"version installed (if it is installed), and the version available for download or installation " \ -"(if a different on is available).<br><br> " \ -"Well, hope you enjoy using this program. If you have any ideas/suggestions/ideas for improvements " \ -"then please let me know at andy.qua@blueyonder.co.uk.<br><br> " \ -"Thanks for using this. " \ -"Andy. " \ -"</p></qt>" - - -HelpWindow::HelpWindow( QWidget *parent, const char *name, bool modal, WFlags flags ) - : QDialog( parent, name, modal, flags ) -{ -// resize( 230, 280 ); - - setCaption( "Help for AQPkg" ); - - QVBoxLayout *layout = new QVBoxLayout( this ); - QString text = HELP_TEXT;; - QTextView *view = new QTextView( text, 0, this, "view" ); - layout->insertSpacing( -1, 5 ); - layout->insertWidget( -1, view ); - layout->insertSpacing( -1, 5 ); - - showMaximized(); -} - -HelpWindow::~HelpWindow() -{ -} diff --git a/noncore/settings/aqpkg/helpwindow.h b/noncore/settings/aqpkg/helpwindow.h deleted file mode 100644 index edc1b6e..0000000 --- a/noncore/settings/aqpkg/helpwindow.h +++ b/dev/null @@ -1,34 +0,0 @@ -/*************************************************************************** - helpwindow.h - description - ------------------- - begin : Sun Sep 8 2002 - copyright : (C) 2002 by Andy Qua - email : andy.qua@blueyonder.co.uk - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#ifndef HELPWINDOW_H -#define HELPWINDOW_H - -#include <qdialog.h> - -/** - *@author Andy Qua - */ - -class HelpWindow : public QDialog -{ -public: - HelpWindow( QWidget *parent = 0, const char *name = 0, bool modal = true, WFlags flags = 0 ); - ~HelpWindow(); -}; - -#endif diff --git a/noncore/settings/aqpkg/mainwin.cpp b/noncore/settings/aqpkg/mainwin.cpp index 8ae5815..392d04d 100644 --- a/noncore/settings/aqpkg/mainwin.cpp +++ b/noncore/settings/aqpkg/mainwin.cpp @@ -1,496 +1,471 @@ /*************************************************************************** mainwin.cpp - description ------------------- begin : Mon Aug 26 13:32:30 BST 2002 copyright : (C) 2002 by Andy Qua email : andy.qua@blueyonder.co.uk ***************************************************************************/ /*************************************************************************** * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * ***************************************************************************/ #include <linux/limits.h> #include <unistd.h> #include <qpe/qcopenvelope_qws.h> #include <qpe/qpemenubar.h> #include <qpe/qpeapplication.h> #include <qpe/qpetoolbar.h> #include <qpe/config.h> #include <qpe/resource.h> #include <qaction.h> #include <qcombobox.h> #include <qfile.h> #include <qlabel.h> #include <qlayout.h> #include <qlineedit.h> #include <qlistview.h> #include <qmenubar.h> #include <qmessagebox.h> #include <qpopupmenu.h> #include <qprogressbar.h> #include <qtimer.h> #include <qwhatsthis.h> #include <qwidgetstack.h> #include "categoryfilterimpl.h" #include "datamgr.h" #include "global.h" -#include "helpwindow.h" #include "inputdlg.h" #include "ipkg.h" #include "installdlgimpl.h" #include "letterpushbutton.h" #include "mainwin.h" #include "settingsimpl.h" #include "utils.h" extern int compareVersions( const char *v1, const char *v2 ); MainWindow :: MainWindow() : QMainWindow( 0x0, 0x0, WStyle_ContextHelp ) { setCaption( tr( "AQPkg - Package Manager" ) ); // Create UI widgets initMainWidget(); initProgressWidget(); // 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 ); // Find toolbar findBar = new QPEToolBar( this ); addToolBar( findBar, QMainWindow::Top, true ); findBar->setHorizontalStretchable( true ); findEdit = new QLineEdit( findBar ); QWhatsThis::add( findEdit, tr( "Type the text to search for here." ) ); findBar->setStretchableWidget( findEdit ); connect( findEdit, SIGNAL( textChanged( const QString & ) ), this, SLOT( findPackage( const QString & ) ) ); // Quick jump toolbar jumpBar = new QPEToolBar( this ); addToolBar( jumpBar, QMainWindow::Top, true ); jumpBar->setHorizontalStretchable( true ); QWidget *w = new QWidget( jumpBar ); jumpBar->setStretchableWidget( w ); QGridLayout *layout = new QGridLayout( w ); char text[2]; text[1] = '\0'; for ( int i = 0 ; i < 26 ; ++i ) { text[0] = 'A' + i; LetterPushButton *b = new LetterPushButton( text, w ); connect( b, SIGNAL( released( QString ) ), this, SLOT( letterPushed( QString ) ) ); layout->addWidget( b, i / 13, i % 13); } QAction *a = new QAction( QString::null, Resource::loadPixmap( "close" ), QString::null, 0, w, 0 ); a->setWhatsThis( tr( "Click here to hide the Quick Jump toolbar." ) ); connect( a, SIGNAL( activated() ), this, SLOT( hideJumpBar() ) ); a->addTo( jumpBar ); jumpBar->hide(); // Packages menu QPopupMenu *popup = new QPopupMenu( this ); 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() ), this, 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() ), this, 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() ), this, 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() ), this, SLOT( applyChanges() ) ); a->addTo( popup ); a->addTo( bar ); mb->insertItem( tr( "Actions" ), popup ); // View menu popup = new QPopupMenu( this ); actionUninstalled = new QAction( tr( "Show packages not installed" ), QString::null, 0, this, 0 ); actionUninstalled->setToggleAction( TRUE ); actionUninstalled->setWhatsThis( tr( "Click here to show packages available which have not been installed." ) ); connect( actionUninstalled, SIGNAL( activated() ), this, SLOT( filterUninstalledPackages() ) ); actionUninstalled->addTo( popup ); actionInstalled = new QAction( tr( "Show installed packages" ), QString::null, 0, this, 0 ); actionInstalled->setToggleAction( TRUE ); actionInstalled->setWhatsThis( tr( "Click here to show packages currently installed on this device." ) ); connect( actionInstalled, SIGNAL( activated() ), this, SLOT( filterInstalledPackages() ) ); actionInstalled->addTo( popup ); actionUpdated = new QAction( tr( "Show updated packages" ), QString::null, 0, this, 0 ); actionUpdated->setToggleAction( TRUE ); actionUpdated->setWhatsThis( tr( "Click here to show packages currently installed on this device which have a newer version available." ) ); connect( actionUpdated, SIGNAL( activated() ), this, SLOT( filterUpgradedPackages() ) ); actionUpdated->addTo( popup ); popup->insertSeparator(); actionFilter = new QAction( tr( "Filter by category" ), Resource::loadPixmap( "aqpkg/filter" ), QString::null, 0, this, 0 ); actionFilter->setToggleAction( TRUE ); actionFilter->setWhatsThis( tr( "Click here to list packages belonging to one category." ) ); connect( actionFilter, SIGNAL( activated() ), this, SLOT( filterCategory() ) ); actionFilter->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 ); popup->insertSeparator(); a = new QAction( tr( "Find" ), Resource::loadPixmap( "find" ), QString::null, 0, this, 0 ); a->setWhatsThis( tr( "Click here to search for text in package names." ) ); connect( a, SIGNAL( activated() ), this, SLOT( displayFindBar() ) ); a->addTo( popup ); actionFindNext = new QAction( tr( "Find next" ), Resource::loadIconSet( "next" ), QString::null, 0, this, 0 ); actionFindNext->setEnabled( FALSE ); actionFindNext->setWhatsThis( tr( "Click here to find the next package name containing the text you are searching for." ) ); connect( actionFindNext, SIGNAL( activated() ), this, SLOT( repeatFind() ) ); actionFindNext->addTo( popup ); actionFindNext->addTo( findBar ); popup->insertSeparator(); a = new QAction( tr( "Quick Jump keypad" ), Resource::loadPixmap( "aqpkg/keyboard" ), QString::null, 0, this, 0 ); a->setWhatsThis( tr( "Click here to display/hide keypad to allow quick movement through the package list." ) ); connect( a, SIGNAL( activated() ), this, SLOT( displayJumpBar() ) ); a->addTo( popup ); mb->insertItem( tr( "View" ), popup ); // Options menu popup = new QPopupMenu( this ); 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( "Options" ), popup ); // Finish find toolbar creation a = new QAction( QString::null, Resource::loadPixmap( "close" ), QString::null, 0, this, 0 ); a->setWhatsThis( tr( "Click here to hide the find toolbar." ) ); connect( a, SIGNAL( activated() ), this, SLOT( hideFindBar() ) ); a->addTo( findBar ); findBar->hide(); // 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() { delete mgr; } void MainWindow :: initMainWidget() { networkPkgWindow = new QWidget( this ); QLabel *l = new QLabel( tr( "Servers:" ), networkPkgWindow ); serversList = new QComboBox( networkPkgWindow ); connect( serversList, SIGNAL( activated( int ) ), this, SLOT( serverSelected( int ) ) ); QWhatsThis::add( serversList, tr( "Click here to select a package feed." ) ); installedIcon = Resource::loadPixmap( "aqpkg/installed" ); updatedIcon = Resource::loadPixmap( "aqpkg/updated" ); packagesList = new QListView( networkPkgWindow ); packagesList->addColumn( tr( "Packages" ), 225 ); QWhatsThis::add( packagesList, tr( "This is a listing of all packages for the server feed selected above.\n\nA blue dot next to the package name indicates that the package is currently installed.\n\nA blue dot with a star indicates that a newer version of the package is available from the server feed.\n\nClick inside the box at the left to select a package." ) ); QVBoxLayout *vbox = new QVBoxLayout( networkPkgWindow, 0, -1 ); QHBoxLayout *hbox1 = new QHBoxLayout( vbox, -1 ); hbox1->addWidget( l ); hbox1->addWidget( serversList ); vbox->addWidget( packagesList ); downloadEnabled = TRUE; } void MainWindow :: initProgressWidget() { progressWindow = new QWidget( this ); QVBoxLayout *layout = new QVBoxLayout( progressWindow, 4, 4 ); m_status = new QLabel( progressWindow ); m_status->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) ); layout->addWidget( m_status ); m_progress = new QProgressBar( progressWindow ); layout->addWidget( m_progress ); } void MainWindow :: init() { #ifdef QWS // read download directory from config file Config cfg( "aqpkg" ); cfg.setGroup( "settings" ); currentlySelectedServer = cfg.readEntry( "selectedServer", "local" ); // showJumpTo = cfg.readBoolEntry( "showJumpTo", "true" ); #endif stack->raiseWidget( progressWindow ); mgr = new DataManager(); connect( mgr, SIGNAL( progressSetSteps( int ) ), this, SLOT( setProgressSteps( int ) ) ); connect( mgr, SIGNAL( progressSetMessage( const QString & ) ), this, SLOT( setProgressMessage( const QString & ) ) ); connect( mgr, SIGNAL( progressUpdate( int ) ), this, SLOT( updateProgress( int ) ) ); mgr->loadServers(); showUninstalledPkgs = false; showInstalledPkgs = false; showUpgradedPkgs = false; categoryFilterEnabled = false; updateData(); stack->raiseWidget( networkPkgWindow ); } /* void MainWindow :: setDocument( const QString &doc ) { // Remove path from package QString package = Utils::getPackageNameFromIpkFilename( doc ); // std::cout << "Selecting package " << package << std::endl; // First select local server for ( int i = 0 ; i < serversList->count() ; ++i ) { if ( serversList->text( i ) == LOCAL_IPKGS ) { serversList->setCurrentItem( i ); break; } } serverSelected( 0 ); // Now set the check box of the selected package for ( QCheckListItem *item = (QCheckListItem *)packagesList->firstChild(); item != 0 ; item = (QCheckListItem *)item->nextSibling() ) { if ( item->text().startsWith( package ) ) { item->setOn( true ); break; } } } */ void MainWindow :: displaySettings() { SettingsImpl *dlg = new SettingsImpl( mgr, this, "Settings", true ); if ( dlg->showDlg() ) { stack->raiseWidget( progressWindow ); updateData(); stack->raiseWidget( networkPkgWindow ); } delete dlg; } - -void MainWindow :: displayHelp() -{ - HelpWindow *dlg = new HelpWindow( this ); - dlg->exec(); - delete dlg; -} void MainWindow :: displayFindBar() { findBar->show(); findEdit->setFocus(); } void MainWindow :: displayJumpBar() { jumpBar->show(); } void MainWindow :: repeatFind() { searchForPackage( findEdit->text() ); } void MainWindow :: findPackage( const QString &text ) { actionFindNext->setEnabled( !text.isEmpty() ); searchForPackage( text ); } void MainWindow :: hideFindBar() { findBar->hide(); } void MainWindow :: hideJumpBar() { jumpBar->hide(); } -void MainWindow :: displayAbout() -{ - QMessageBox::about( this, tr( "About AQPkg" ), tr( VERSION_TEXT ) ); -} - void MainWindow :: filterUninstalledPackages() { showUninstalledPkgs = actionUninstalled->isOn(); if ( showUninstalledPkgs ) { showInstalledPkgs = FALSE; showUpgradedPkgs = FALSE; } serverSelected( -1 ); actionInstalled->setOn( FALSE ); actionUpdated->setOn( FALSE ); } void MainWindow :: filterInstalledPackages() { showInstalledPkgs = actionInstalled->isOn(); if ( showInstalledPkgs ) { showUninstalledPkgs = FALSE; showUpgradedPkgs = FALSE; } serverSelected( -1 ); actionUninstalled->setOn( FALSE ); actionUpdated->setOn( FALSE ); } void MainWindow :: filterUpgradedPackages() { showUpgradedPkgs = actionUpdated->isOn(); if ( showUpgradedPkgs ) { showUninstalledPkgs = FALSE; showInstalledPkgs = FALSE; } serverSelected( -1 ); actionUninstalled->setOn( FALSE ); actionInstalled->setOn( FALSE ); } bool MainWindow :: setFilterCategory() { // Get categories; CategoryFilterImpl dlg( DataManager::getAvailableCategories(), categoryFilter, this ); if ( dlg.exec() == QDialog::Accepted ) { categoryFilter = dlg.getSelectedFilter(); if ( categoryFilter == "" ) return false; categoryFilterEnabled = true; serverSelected( -1 ); actionFilter->setOn( TRUE ); return true; } return false; } void MainWindow :: filterCategory() { if ( !actionFilter->isOn() ) { filterByCategory( FALSE ); } else { actionFilter->setOn( filterByCategory( TRUE ) ); } } bool MainWindow :: filterByCategory( bool val ) { if ( val ) { if ( categoryFilter == "" ) { if ( !setFilterCategory() ) return false; } categoryFilterEnabled = true; serverSelected( -1 ); return true; } else { // Turn off filter categoryFilterEnabled = false; serverSelected( -1 ); return false; } } diff --git a/noncore/settings/aqpkg/mainwin.h b/noncore/settings/aqpkg/mainwin.h index db06e16..d75e5d2 100644 --- a/noncore/settings/aqpkg/mainwin.h +++ b/noncore/settings/aqpkg/mainwin.h @@ -10,129 +10,127 @@ * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * ***************************************************************************/ #ifndef MAINWIN_H #define MAINWIN_H #include <qmainwindow.h> #include <qpixmap.h> class DataManager; class InstallData; class InstallDlgImpl; class QAction; class QCheckListItem; class QComboBox; class QLabel; class QLineEdit; class QListView; class QPEToolBar; class QProgressBar; class QWidgetStack; class MainWindow :public QMainWindow { Q_OBJECT public: MainWindow(); ~MainWindow(); private: DataManager *mgr; QWidgetStack *stack; QPEToolBar *findBar; QPEToolBar *jumpBar; QLineEdit *findEdit; QAction *actionFindNext; QAction *actionFilter; QAction *actionUpgrade; QAction *actionDownload; QAction *actionUninstalled; QAction *actionInstalled; QAction *actionUpdated; QPixmap iconDownload; QPixmap iconRemove; int mnuShowUninstalledPkgsId; int mnuShowInstalledPkgsId; int mnuShowUpgradedPkgsId; int mnuFilterByCategory; int mnuSetFilterCategory; // Main package list widget QWidget *networkPkgWindow; QComboBox *serversList; QListView *packagesList; QPixmap installedIcon; QPixmap updatedIcon; QString currentlySelectedServer; QString categoryFilter; QString stickyOption; bool categoryFilterEnabled; bool showJumpTo; bool showUninstalledPkgs; bool showInstalledPkgs; bool showUpgradedPkgs; bool downloadEnabled; void initMainWidget(); void updateData(); void serverSelected( int index, bool showProgress ); void searchForPackage( const QString & ); bool filterByCategory( bool val ); void downloadSelectedPackages(); void downloadRemotePackage(); InstallData *dealWithItem( QCheckListItem *item ); // Progress widget QWidget *progressWindow; QLabel *m_status; QProgressBar *m_progress; void initProgressWidget(); public slots: // void setDocument( const QString &doc ); - void displayHelp(); void displayFindBar(); void displayJumpBar(); void repeatFind(); void findPackage( const QString & ); void hideFindBar(); void hideJumpBar(); - void displayAbout(); void displaySettings(); void filterUninstalledPackages(); void filterInstalledPackages(); void filterUpgradedPackages(); void filterCategory(); bool setFilterCategory(); void raiseMainWidget(); void raiseProgressWidget(); void enableUpgrade( bool ); void enableDownload( bool ); void reloadData( InstallDlgImpl * ); private slots: void init(); void setProgressSteps( int ); void setProgressMessage( const QString & ); void updateProgress( int ); void serverSelected( int index ); void updateServer(); void upgradePackages(); void downloadPackage(); void applyChanges(); void letterPushed( QString t ); }; #endif |