summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/aqpkg/aqpkg.pro2
-rw-r--r--noncore/settings/aqpkg/doc.txt49
-rw-r--r--noncore/settings/aqpkg/helpwindow.cpp95
-rw-r--r--noncore/settings/aqpkg/helpwindow.h34
-rw-r--r--noncore/settings/aqpkg/mainwin.cpp25
-rw-r--r--noncore/settings/aqpkg/mainwin.h2
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