-rw-r--r-- | noncore/settings/aqpkg/aqpkg.pro | 2 | ||||
-rw-r--r-- | noncore/settings/aqpkg/mainwin.cpp | 50 | ||||
-rw-r--r-- | noncore/settings/aqpkg/mainwin.h | 2 | ||||
-rw-r--r-- | noncore/settings/aqpkg/packagewin.cpp | 119 | ||||
-rw-r--r-- | noncore/settings/aqpkg/packagewin.h | 45 |
5 files changed, 180 insertions, 38 deletions
diff --git a/noncore/settings/aqpkg/aqpkg.pro b/noncore/settings/aqpkg/aqpkg.pro index 5b5d506..d241d1b 100644 --- a/noncore/settings/aqpkg/aqpkg.pro +++ b/noncore/settings/aqpkg/aqpkg.pro | |||
@@ -1,54 +1,56 @@ | |||
1 | TEMPLATE= app | 1 | TEMPLATE= app |
2 | CONFIG = qt warn_on release | 2 | CONFIG = qt warn_on release |
3 | HEADERS = global.h \ | 3 | HEADERS = global.h \ |
4 | mainwin.h \ | 4 | mainwin.h \ |
5 | datamgr.h \ | 5 | datamgr.h \ |
6 | settingsimpl.h \ | 6 | settingsimpl.h \ |
7 | ipkg.h \ | 7 | ipkg.h \ |
8 | packagewin.h \ | ||
8 | package.h \ | 9 | package.h \ |
9 | installdlgimpl.h \ | 10 | installdlgimpl.h \ |
10 | instoptionsimpl.h \ | 11 | instoptionsimpl.h \ |
11 | destination.h \ | 12 | destination.h \ |
12 | utils.h \ | 13 | utils.h \ |
13 | server.h \ | 14 | server.h \ |
14 | letterpushbutton.h \ | 15 | letterpushbutton.h \ |
15 | inputdlg.h \ | 16 | inputdlg.h \ |
16 | categoryfilterimpl.h | 17 | categoryfilterimpl.h |
17 | SOURCES = mainwin.cpp \ | 18 | SOURCES = mainwin.cpp \ |
18 | datamgr.cpp \ | 19 | datamgr.cpp \ |
19 | mem.cpp \ | 20 | mem.cpp \ |
20 | settingsimpl.cpp \ | 21 | settingsimpl.cpp \ |
21 | ipkg.cpp \ | 22 | ipkg.cpp \ |
22 | main.cpp \ | 23 | main.cpp \ |
24 | packagewin.cpp \ | ||
23 | package.cpp \ | 25 | package.cpp \ |
24 | installdlgimpl.cpp \ | 26 | installdlgimpl.cpp \ |
25 | instoptionsimpl.cpp \ | 27 | instoptionsimpl.cpp \ |
26 | destination.cpp \ | 28 | destination.cpp \ |
27 | utils.cpp \ | 29 | utils.cpp \ |
28 | server.cpp \ | 30 | server.cpp \ |
29 | letterpushbutton.cpp \ | 31 | letterpushbutton.cpp \ |
30 | inputdlg.cpp \ | 32 | inputdlg.cpp \ |
31 | version.cpp \ | 33 | version.cpp \ |
32 | categoryfilterimpl.cpp | 34 | categoryfilterimpl.cpp |
33 | INTERFACES= | 35 | INTERFACES= |
34 | TARGET = aqpkg | 36 | TARGET = aqpkg |
35 | INCLUDEPATH += $(OPIEDIR)/include | 37 | INCLUDEPATH += $(OPIEDIR)/include |
36 | DEPENDPATH += $(OPIEDIR)/include | 38 | DEPENDPATH += $(OPIEDIR)/include |
37 | LIBS += -lqpe -lopie -lstdc++ | 39 | LIBS += -lqpe -lopie -lstdc++ |
38 | DESTDIR = $(OPIEDIR)/bin | 40 | DESTDIR = $(OPIEDIR)/bin |
39 | 41 | ||
40 | TRANSLATIONS = ../../../i18n/de/aqpkg.ts \ | 42 | TRANSLATIONS = ../../../i18n/de/aqpkg.ts \ |
41 | ../../../i18n/nl/aqpkg.ts \ | 43 | ../../../i18n/nl/aqpkg.ts \ |
42 | ../../../i18n/xx/aqpkg.ts \ | 44 | ../../../i18n/xx/aqpkg.ts \ |
43 | ../../../i18n/en/aqpkg.ts \ | 45 | ../../../i18n/en/aqpkg.ts \ |
44 | ../../../i18n/es/aqpkg.ts \ | 46 | ../../../i18n/es/aqpkg.ts \ |
45 | ../../../i18n/fr/aqpkg.ts \ | 47 | ../../../i18n/fr/aqpkg.ts \ |
46 | ../../../i18n/hu/aqpkg.ts \ | 48 | ../../../i18n/hu/aqpkg.ts \ |
47 | ../../../i18n/ja/aqpkg.ts \ | 49 | ../../../i18n/ja/aqpkg.ts \ |
48 | ../../../i18n/ko/aqpkg.ts \ | 50 | ../../../i18n/ko/aqpkg.ts \ |
49 | ../../../i18n/no/aqpkg.ts \ | 51 | ../../../i18n/no/aqpkg.ts \ |
50 | ../../../i18n/pl/aqpkg.ts \ | 52 | ../../../i18n/pl/aqpkg.ts \ |
51 | ../../../i18n/pt/aqpkg.ts \ | 53 | ../../../i18n/pt/aqpkg.ts \ |
52 | ../../../i18n/pt_BR/aqpkg.ts \ | 54 | ../../../i18n/pt_BR/aqpkg.ts \ |
53 | ../../../i18n/sl/aqpkg.ts \ | 55 | ../../../i18n/sl/aqpkg.ts \ |
54 | ../../../i18n/zh_CN/aqpkg.ts \ | 56 | ../../../i18n/zh_CN/aqpkg.ts \ |
diff --git a/noncore/settings/aqpkg/mainwin.cpp b/noncore/settings/aqpkg/mainwin.cpp index fb40d52..1aec6a8 100644 --- a/noncore/settings/aqpkg/mainwin.cpp +++ b/noncore/settings/aqpkg/mainwin.cpp | |||
@@ -19,64 +19,65 @@ | |||
19 | #include <unistd.h> | 19 | #include <unistd.h> |
20 | 20 | ||
21 | #include <qpe/qcopenvelope_qws.h> | 21 | #include <qpe/qcopenvelope_qws.h> |
22 | #include <qmenubar.h> | 22 | #include <qmenubar.h> |
23 | #include <qpe/qpeapplication.h> | 23 | #include <qpe/qpeapplication.h> |
24 | #include <qtoolbar.h> | 24 | #include <qtoolbar.h> |
25 | #include <qpe/config.h> | 25 | #include <qpe/config.h> |
26 | #include <qpe/resource.h> | 26 | #include <qpe/resource.h> |
27 | 27 | ||
28 | #include <qaction.h> | 28 | #include <qaction.h> |
29 | #include <qcombobox.h> | 29 | #include <qcombobox.h> |
30 | #include <qfile.h> | 30 | #include <qfile.h> |
31 | #include <qlabel.h> | 31 | #include <qlabel.h> |
32 | #include <qlayout.h> | 32 | #include <qlayout.h> |
33 | #include <qlineedit.h> | 33 | #include <qlineedit.h> |
34 | #include <qlistview.h> | 34 | #include <qlistview.h> |
35 | #include <qmenubar.h> | 35 | #include <qmenubar.h> |
36 | #include <qmessagebox.h> | 36 | #include <qmessagebox.h> |
37 | #include <qpopupmenu.h> | 37 | #include <qpopupmenu.h> |
38 | #include <qprogressbar.h> | 38 | #include <qprogressbar.h> |
39 | #include <qtimer.h> | 39 | #include <qtimer.h> |
40 | #include <qwhatsthis.h> | 40 | #include <qwhatsthis.h> |
41 | #include <qwidgetstack.h> | 41 | #include <qwidgetstack.h> |
42 | 42 | ||
43 | #include "categoryfilterimpl.h" | 43 | #include "categoryfilterimpl.h" |
44 | #include "datamgr.h" | 44 | #include "datamgr.h" |
45 | #include "global.h" | 45 | #include "global.h" |
46 | #include "inputdlg.h" | 46 | #include "inputdlg.h" |
47 | #include "ipkg.h" | 47 | #include "ipkg.h" |
48 | #include "installdlgimpl.h" | 48 | #include "installdlgimpl.h" |
49 | #include "letterpushbutton.h" | 49 | #include "letterpushbutton.h" |
50 | #include "mainwin.h" | 50 | #include "mainwin.h" |
51 | #include "packagewin.h" | ||
51 | #include "settingsimpl.h" | 52 | #include "settingsimpl.h" |
52 | #include "utils.h" | 53 | #include "utils.h" |
53 | 54 | ||
54 | extern int compareVersions( const char *v1, const char *v2 ); | 55 | extern int compareVersions( const char *v1, const char *v2 ); |
55 | 56 | ||
56 | MainWindow :: MainWindow() | 57 | MainWindow :: MainWindow() |
57 | :QMainWindow( 0x0, 0x0, WStyle_ContextHelp ) | 58 | :QMainWindow( 0x0, 0x0, WStyle_ContextHelp ) |
58 | { | 59 | { |
59 | setCaption( tr( "AQPkg - Package Manager" ) ); | 60 | setCaption( tr( "AQPkg - Package Manager" ) ); |
60 | 61 | ||
61 | // Create UI widgets | 62 | // Create UI widgets |
62 | initMainWidget(); | 63 | initMainWidget(); |
63 | initProgressWidget(); | 64 | initProgressWidget(); |
64 | 65 | ||
65 | // Build menu and tool bars | 66 | // Build menu and tool bars |
66 | setToolBarsMovable( FALSE ); | 67 | setToolBarsMovable( FALSE ); |
67 | 68 | ||
68 | QToolBar *bar = new QToolBar( this ); | 69 | QToolBar *bar = new QToolBar( this ); |
69 | bar->setHorizontalStretchable( TRUE ); | 70 | bar->setHorizontalStretchable( TRUE ); |
70 | QMenuBar *mb = new QMenuBar( bar ); | 71 | QMenuBar *mb = new QMenuBar( bar ); |
71 | mb->setMargin( 0 ); | 72 | mb->setMargin( 0 ); |
72 | bar = new QToolBar( this ); | 73 | bar = new QToolBar( this ); |
73 | 74 | ||
74 | // Find toolbar | 75 | // Find toolbar |
75 | findBar = new QToolBar( this ); | 76 | findBar = new QToolBar( this ); |
76 | addToolBar( findBar, QMainWindow::Top, true ); | 77 | addToolBar( findBar, QMainWindow::Top, true ); |
77 | findBar->setHorizontalStretchable( true ); | 78 | findBar->setHorizontalStretchable( true ); |
78 | findEdit = new QLineEdit( findBar ); | 79 | findEdit = new QLineEdit( findBar ); |
79 | QWhatsThis::add( findEdit, tr( "Type the text to search for here." ) ); | 80 | QWhatsThis::add( findEdit, tr( "Type the text to search for here." ) ); |
80 | findBar->setStretchableWidget( findEdit ); | 81 | findBar->setStretchableWidget( findEdit ); |
81 | connect( findEdit, SIGNAL( textChanged( const QString & ) ), this, SLOT( findPackage( const QString & ) ) ); | 82 | connect( findEdit, SIGNAL( textChanged( const QString & ) ), this, SLOT( findPackage( const QString & ) ) ); |
82 | 83 | ||
@@ -201,73 +202,76 @@ MainWindow :: MainWindow() | |||
201 | mb->insertItem( tr( "View" ), popup ); | 202 | mb->insertItem( tr( "View" ), popup ); |
202 | 203 | ||
203 | // Finish find toolbar creation | 204 | // Finish find toolbar creation |
204 | a = new QAction( QString::null, Resource::loadPixmap( "close" ), QString::null, 0, this, 0 ); | 205 | a = new QAction( QString::null, Resource::loadPixmap( "close" ), QString::null, 0, this, 0 ); |
205 | a->setWhatsThis( tr( "Click here to hide the find toolbar." ) ); | 206 | a->setWhatsThis( tr( "Click here to hide the find toolbar." ) ); |
206 | connect( a, SIGNAL( activated() ), this, SLOT( hideFindBar() ) ); | 207 | connect( a, SIGNAL( activated() ), this, SLOT( hideFindBar() ) ); |
207 | a->addTo( findBar ); | 208 | a->addTo( findBar ); |
208 | findBar->hide(); | 209 | findBar->hide(); |
209 | 210 | ||
210 | // Create widget stack and add UI widgets | 211 | // Create widget stack and add UI widgets |
211 | stack = new QWidgetStack( this ); | 212 | stack = new QWidgetStack( this ); |
212 | stack->addWidget( progressWindow, 2 ); | 213 | stack->addWidget( progressWindow, 2 ); |
213 | stack->addWidget( networkPkgWindow, 1 ); | 214 | stack->addWidget( networkPkgWindow, 1 ); |
214 | setCentralWidget( stack ); | 215 | setCentralWidget( stack ); |
215 | stack->raiseWidget( progressWindow ); | 216 | stack->raiseWidget( progressWindow ); |
216 | 217 | ||
217 | // Delayed call to finish initialization | 218 | // Delayed call to finish initialization |
218 | QTimer::singleShot( 100, this, SLOT( init() ) ); | 219 | QTimer::singleShot( 100, this, SLOT( init() ) ); |
219 | } | 220 | } |
220 | 221 | ||
221 | MainWindow :: ~MainWindow() | 222 | MainWindow :: ~MainWindow() |
222 | { | 223 | { |
223 | delete mgr; | 224 | delete mgr; |
224 | } | 225 | } |
225 | 226 | ||
226 | void MainWindow :: initMainWidget() | 227 | void MainWindow :: initMainWidget() |
227 | { | 228 | { |
228 | networkPkgWindow = new QWidget( this ); | 229 | networkPkgWindow = new QWidget( this ); |
229 | 230 | ||
230 | QLabel *l = new QLabel( tr( "Servers:" ), networkPkgWindow ); | 231 | QLabel *l = new QLabel( tr( "Servers:" ), networkPkgWindow ); |
231 | 232 | ||
232 | serversList = new QComboBox( networkPkgWindow ); | 233 | serversList = new QComboBox( networkPkgWindow ); |
233 | connect( serversList, SIGNAL( activated( int ) ), this, SLOT( serverSelected( int ) ) ); | 234 | connect( serversList, SIGNAL(activated(int)), this, SLOT(serverSelected(int)) ); |
234 | QWhatsThis::add( serversList, tr( "Click here to select a package feed." ) ); | 235 | QWhatsThis::add( serversList, tr( "Click here to select a package feed." ) ); |
235 | 236 | ||
236 | installedIcon = Resource::loadPixmap( "installed" ); | 237 | installedIcon = Resource::loadPixmap( "installed" ); |
237 | updatedIcon = Resource::loadPixmap( "aqpkg/updated" ); | 238 | updatedIcon = Resource::loadPixmap( "aqpkg/updated" ); |
238 | 239 | ||
239 | packagesList = new QListView( networkPkgWindow ); | 240 | packagesList = new QListView( networkPkgWindow ); |
240 | packagesList->addColumn( tr( "Packages" ), 225 ); | 241 | packagesList->addColumn( tr( "Packages" ), 225 ); |
241 | 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." ) ); | 242 | 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." ) ); |
243 | QPEApplication::setStylusOperation( packagesList->viewport(), QPEApplication::RightOnHold ); | ||
244 | connect( packagesList, SIGNAL(rightButtonPressed(QListViewItem *,const QPoint &,int)), | ||
245 | this, SLOT(slotDisplayPackage(QListViewItem *)) ); | ||
242 | 246 | ||
243 | QVBoxLayout *vbox = new QVBoxLayout( networkPkgWindow, 0, -1 ); | 247 | QVBoxLayout *vbox = new QVBoxLayout( networkPkgWindow, 0, -1 ); |
244 | QHBoxLayout *hbox1 = new QHBoxLayout( vbox, -1 ); | 248 | QHBoxLayout *hbox1 = new QHBoxLayout( vbox, -1 ); |
245 | hbox1->addWidget( l ); | 249 | hbox1->addWidget( l ); |
246 | hbox1->addWidget( serversList ); | 250 | hbox1->addWidget( serversList ); |
247 | 251 | ||
248 | vbox->addWidget( packagesList ); | 252 | vbox->addWidget( packagesList ); |
249 | 253 | ||
250 | downloadEnabled = TRUE; | 254 | downloadEnabled = TRUE; |
251 | } | 255 | } |
252 | 256 | ||
253 | void MainWindow :: initProgressWidget() | 257 | void MainWindow :: initProgressWidget() |
254 | { | 258 | { |
255 | progressWindow = new QWidget( this ); | 259 | progressWindow = new QWidget( this ); |
256 | 260 | ||
257 | QVBoxLayout *layout = new QVBoxLayout( progressWindow, 4, 4 ); | 261 | QVBoxLayout *layout = new QVBoxLayout( progressWindow, 4, 4 ); |
258 | 262 | ||
259 | m_status = new QLabel( progressWindow ); | 263 | m_status = new QLabel( progressWindow ); |
260 | m_status->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) ); | 264 | m_status->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) ); |
261 | layout->addWidget( m_status ); | 265 | layout->addWidget( m_status ); |
262 | 266 | ||
263 | m_progress = new QProgressBar( progressWindow ); | 267 | m_progress = new QProgressBar( progressWindow ); |
264 | layout->addWidget( m_progress ); | 268 | layout->addWidget( m_progress ); |
265 | } | 269 | } |
266 | 270 | ||
267 | void MainWindow :: init() | 271 | void MainWindow :: init() |
268 | { | 272 | { |
269 | #ifdef QWS | 273 | #ifdef QWS |
270 | // read download directory from config file | 274 | // read download directory from config file |
271 | Config cfg( "aqpkg" ); | 275 | Config cfg( "aqpkg" ); |
272 | cfg.setGroup( "settings" ); | 276 | cfg.setGroup( "settings" ); |
273 | currentlySelectedServer = cfg.readEntry( "selectedServer", "local" ); | 277 | currentlySelectedServer = cfg.readEntry( "selectedServer", "local" ); |
@@ -642,107 +646,70 @@ void MainWindow :: serverSelected( int, bool raiseProgress ) | |||
642 | if ( !package->isInstalled() || !package->getNewVersionAvailable() ) | 646 | if ( !package->isInstalled() || !package->getNewVersionAvailable() ) |
643 | continue; | 647 | continue; |
644 | } | 648 | } |
645 | 649 | ||
646 | // Apply the section filter | 650 | // Apply the section filter |
647 | if ( categoryFilterEnabled && categoryFilter != "" ) | 651 | if ( categoryFilterEnabled && categoryFilter != "" ) |
648 | { | 652 | { |
649 | if ( package->getSection() == "" || categoryFilter.find( package->getSection().lower() ) == -1 ) | 653 | if ( package->getSection() == "" || categoryFilter.find( package->getSection().lower() ) == -1 ) |
650 | continue; | 654 | continue; |
651 | } | 655 | } |
652 | 656 | ||
653 | // If the local server, only display installed packages | 657 | // If the local server, only display installed packages |
654 | if ( serverName == LOCAL_SERVER && !package->isInstalled() ) | 658 | if ( serverName == LOCAL_SERVER && !package->isInstalled() ) |
655 | continue; | 659 | continue; |
656 | 660 | ||
657 | 661 | ||
658 | QCheckListItem *item = new QCheckListItem( packagesList, package->getPackageName(), | 662 | QCheckListItem *item = new QCheckListItem( packagesList, package->getPackageName(), |
659 | QCheckListItem::CheckBox ); | 663 | QCheckListItem::CheckBox ); |
660 | 664 | ||
661 | if ( package->isInstalled() ) | 665 | if ( package->isInstalled() ) |
662 | { | 666 | { |
663 | // If a different version of package is available, show update available icon | 667 | // If a different version of package is available, show update available icon |
664 | // Otherwise, show installed icon | 668 | // Otherwise, show installed icon |
665 | if ( package->getNewVersionAvailable()) | 669 | if ( package->getNewVersionAvailable()) |
666 | { | 670 | { |
667 | 671 | ||
668 | item->setPixmap( 0, updatedIcon ); | 672 | item->setPixmap( 0, updatedIcon ); |
669 | } | 673 | } |
670 | else | 674 | else |
671 | { | 675 | { |
672 | item->setPixmap( 0, installedIcon ); | 676 | item->setPixmap( 0, installedIcon ); |
673 | } | 677 | } |
674 | |||
675 | QString destName = ""; | ||
676 | if ( package->getLocalPackage() ) | ||
677 | { | ||
678 | if ( package->getLocalPackage()->getInstalledTo() ) | ||
679 | destName = package->getLocalPackage()->getInstalledTo()->getDestinationName(); | ||
680 | } | ||
681 | else | ||
682 | { | ||
683 | if ( package->getInstalledTo() ) | ||
684 | destName = package->getInstalledTo()->getDestinationName(); | ||
685 | } | ||
686 | if ( destName != "" ) | ||
687 | new QCheckListItem( item, QString( tr( "Installed To - %1" ).arg( destName ) ) ); | ||
688 | } | 678 | } |
689 | else | 679 | else |
690 | { | 680 | { |
691 | item->setPixmap( 0, nullIcon ); | 681 | item->setPixmap( 0, nullIcon ); |
692 | } | 682 | } |
693 | 683 | ||
694 | if ( !package->isPackageStoredLocally() ) | ||
695 | { | ||
696 | new QCheckListItem( item, QString( tr( "Description - %1" ).arg( package->getDescription() ) ) ); | ||
697 | new QCheckListItem( item, QString( tr( "Size - %1" ).arg( package->getPackageSize() ) ) ); | ||
698 | new QCheckListItem( item, QString( tr( "Section - %1" ).arg( package->getSection() ) ) ); | ||
699 | } | ||
700 | else | ||
701 | new QCheckListItem( item, QString( tr( "Filename - %1" ).arg( package->getFilename() ) ) ); | ||
702 | |||
703 | if ( serverName == LOCAL_SERVER ) | ||
704 | { | ||
705 | new QCheckListItem( item, QString( tr( "V. Installed - %1" ).arg( package->getVersion() ) ) ); | ||
706 | } | ||
707 | else | ||
708 | { | ||
709 | new QCheckListItem( item, QString( tr( "V. Available - %1" ).arg( package->getVersion() ) ) ); | ||
710 | if ( package->getLocalPackage() ) | ||
711 | { | ||
712 | if ( package->isInstalled() ) | ||
713 | new QCheckListItem( item, QString( tr( "V. Installed - %1" ).arg( package->getInstalledVersion() ) ) ); | ||
714 | } | ||
715 | } | ||
716 | |||
717 | packagesList->insertItem( item ); | 684 | packagesList->insertItem( item ); |
718 | } | 685 | } |
719 | 686 | ||
720 | // If the local server or the local ipkgs server disable the download button | 687 | // If the local server or the local ipkgs server disable the download button |
721 | if ( serverName == LOCAL_SERVER ) | 688 | if ( serverName == LOCAL_SERVER ) |
722 | { | 689 | { |
723 | downloadEnabled = TRUE; | 690 | downloadEnabled = TRUE; |
724 | actionUpgrade->setEnabled( FALSE ); | 691 | actionUpgrade->setEnabled( FALSE ); |
725 | } | 692 | } |
726 | else if ( serverName == LOCAL_IPKGS ) | 693 | else if ( serverName == LOCAL_IPKGS ) |
727 | { | 694 | { |
728 | downloadEnabled = FALSE; | 695 | downloadEnabled = FALSE; |
729 | actionUpgrade->setEnabled( FALSE ); | 696 | actionUpgrade->setEnabled( FALSE ); |
730 | } | 697 | } |
731 | else | 698 | else |
732 | { | 699 | { |
733 | downloadEnabled = TRUE; | 700 | downloadEnabled = TRUE; |
734 | actionUpgrade->setEnabled( TRUE ); | 701 | actionUpgrade->setEnabled( TRUE ); |
735 | } | 702 | } |
736 | enableDownload( downloadEnabled ); | 703 | enableDownload( downloadEnabled ); |
737 | 704 | ||
738 | // Display this widget once everything is done | 705 | // Display this widget once everything is done |
739 | if ( doProgress && raiseProgress ) | 706 | if ( doProgress && raiseProgress ) |
740 | { | 707 | { |
741 | stack->raiseWidget( networkPkgWindow ); | 708 | stack->raiseWidget( networkPkgWindow ); |
742 | } | 709 | } |
743 | } | 710 | } |
744 | 711 | ||
745 | void MainWindow :: searchForPackage( const QString &text ) | 712 | void MainWindow :: searchForPackage( const QString &text ) |
746 | { | 713 | { |
747 | if ( !text.isEmpty() ) | 714 | if ( !text.isEmpty() ) |
748 | { | 715 | { |
@@ -1153,32 +1120,39 @@ void MainWindow :: reloadData( InstallDlgImpl *dlg ) | |||
1153 | void MainWindow :: letterPushed( QString t ) | 1120 | void MainWindow :: letterPushed( QString t ) |
1154 | { | 1121 | { |
1155 | QCheckListItem *top = (QCheckListItem *)packagesList->firstChild(); | 1122 | QCheckListItem *top = (QCheckListItem *)packagesList->firstChild(); |
1156 | QCheckListItem *start = (QCheckListItem *)packagesList->currentItem(); | 1123 | QCheckListItem *start = (QCheckListItem *)packagesList->currentItem(); |
1157 | if ( packagesList->firstChild() == 0 ) | 1124 | if ( packagesList->firstChild() == 0 ) |
1158 | return; | 1125 | return; |
1159 | 1126 | ||
1160 | QCheckListItem *item; | 1127 | QCheckListItem *item; |
1161 | if ( start == 0 ) | 1128 | if ( start == 0 ) |
1162 | { | 1129 | { |
1163 | item = (QCheckListItem *)packagesList->firstChild(); | 1130 | item = (QCheckListItem *)packagesList->firstChild(); |
1164 | start = top; | 1131 | start = top; |
1165 | } | 1132 | } |
1166 | else | 1133 | else |
1167 | item = (QCheckListItem *)start->nextSibling(); | 1134 | item = (QCheckListItem *)start->nextSibling(); |
1168 | 1135 | ||
1169 | if ( item == 0 ) | 1136 | if ( item == 0 ) |
1170 | item = (QCheckListItem *)packagesList->firstChild(); | 1137 | item = (QCheckListItem *)packagesList->firstChild(); |
1171 | do | 1138 | do |
1172 | { | 1139 | { |
1173 | if ( item->text().lower().startsWith( t.lower() ) ) | 1140 | if ( item->text().lower().startsWith( t.lower() ) ) |
1174 | { | 1141 | { |
1175 | packagesList->setSelected( item, true ); | 1142 | packagesList->setSelected( item, true ); |
1176 | packagesList->ensureItemVisible( item ); | 1143 | packagesList->ensureItemVisible( item ); |
1177 | break; | 1144 | break; |
1178 | } | 1145 | } |
1179 | 1146 | ||
1180 | item = (QCheckListItem *)item->nextSibling(); | 1147 | item = (QCheckListItem *)item->nextSibling(); |
1181 | if ( !item ) | 1148 | if ( !item ) |
1182 | item = (QCheckListItem *)packagesList->firstChild(); | 1149 | item = (QCheckListItem *)packagesList->firstChild(); |
1183 | } while ( item != start); | 1150 | } while ( item != start); |
1184 | } | 1151 | } |
1152 | |||
1153 | void MainWindow :: slotDisplayPackage( QListViewItem *item ) | ||
1154 | { | ||
1155 | QString itemstr( ((QCheckListItem*)item)->text() ); | ||
1156 | PackageWindow *p = new PackageWindow( mgr->getServer( serversList->currentText() )->getPackage( itemstr ) ); | ||
1157 | p->showMaximized(); | ||
1158 | } | ||
diff --git a/noncore/settings/aqpkg/mainwin.h b/noncore/settings/aqpkg/mainwin.h index 4b044de..0295519 100644 --- a/noncore/settings/aqpkg/mainwin.h +++ b/noncore/settings/aqpkg/mainwin.h | |||
@@ -2,64 +2,65 @@ | |||
2 | mainwin.h - description | 2 | mainwin.h - description |
3 | ------------------- | 3 | ------------------- |
4 | begin : Mon Aug 26 13:32:30 BST 2002 | 4 | begin : Mon Aug 26 13:32:30 BST 2002 |
5 | copyright : (C) 2002 by Andy Qua | 5 | copyright : (C) 2002 by Andy Qua |
6 | email : andy.qua@blueyonder.co.uk | 6 | email : andy.qua@blueyonder.co.uk |
7 | ***************************************************************************/ | 7 | ***************************************************************************/ |
8 | 8 | ||
9 | /*************************************************************************** | 9 | /*************************************************************************** |
10 | * * | 10 | * * |
11 | * This program is free software; you can redistribute it and/or modify * | 11 | * This program is free software; you can redistribute it and/or modify * |
12 | * it under the terms of the GNU General Public License as published by * | 12 | * it under the terms of the GNU General Public License as published by * |
13 | * the Free Software Foundation; either version 2 of the License, or * | 13 | * the Free Software Foundation; either version 2 of the License, or * |
14 | * (at your option) any later version. * | 14 | * (at your option) any later version. * |
15 | * * | 15 | * * |
16 | ***************************************************************************/ | 16 | ***************************************************************************/ |
17 | 17 | ||
18 | #ifndef MAINWIN_H | 18 | #ifndef MAINWIN_H |
19 | #define MAINWIN_H | 19 | #define MAINWIN_H |
20 | 20 | ||
21 | #include <qmainwindow.h> | 21 | #include <qmainwindow.h> |
22 | #include <qpixmap.h> | 22 | #include <qpixmap.h> |
23 | 23 | ||
24 | class DataManager; | 24 | class DataManager; |
25 | class InstallData; | 25 | class InstallData; |
26 | class InstallDlgImpl; | 26 | class InstallDlgImpl; |
27 | 27 | ||
28 | class QAction; | 28 | class QAction; |
29 | class QCheckListItem; | 29 | class QCheckListItem; |
30 | class QComboBox; | 30 | class QComboBox; |
31 | class QLabel; | 31 | class QLabel; |
32 | class QLineEdit; | 32 | class QLineEdit; |
33 | class QListView; | 33 | class QListView; |
34 | class QListViewItem; | ||
34 | class QToolBar; | 35 | class QToolBar; |
35 | class QProgressBar; | 36 | class QProgressBar; |
36 | class QWidgetStack; | 37 | class QWidgetStack; |
37 | 38 | ||
38 | class MainWindow :public QMainWindow | 39 | class MainWindow :public QMainWindow |
39 | { | 40 | { |
40 | Q_OBJECT | 41 | Q_OBJECT |
41 | public: | 42 | public: |
42 | 43 | ||
43 | MainWindow(); | 44 | MainWindow(); |
44 | ~MainWindow(); | 45 | ~MainWindow(); |
45 | 46 | ||
46 | protected: | 47 | protected: |
47 | void closeEvent( QCloseEvent* e ); | 48 | void closeEvent( QCloseEvent* e ); |
48 | 49 | ||
49 | private: | 50 | private: |
50 | DataManager *mgr; | 51 | DataManager *mgr; |
51 | 52 | ||
52 | QWidgetStack *stack; | 53 | QWidgetStack *stack; |
53 | 54 | ||
54 | QToolBar *findBar; | 55 | QToolBar *findBar; |
55 | QToolBar *jumpBar; | 56 | QToolBar *jumpBar; |
56 | QLineEdit *findEdit; | 57 | QLineEdit *findEdit; |
57 | QAction *actionFindNext; | 58 | QAction *actionFindNext; |
58 | QAction *actionFilter; | 59 | QAction *actionFilter; |
59 | QAction *actionUpgrade; | 60 | QAction *actionUpgrade; |
60 | QAction *actionDownload; | 61 | QAction *actionDownload; |
61 | QAction *actionUninstalled; | 62 | QAction *actionUninstalled; |
62 | QAction *actionInstalled; | 63 | QAction *actionInstalled; |
63 | QAction *actionUpdated; | 64 | QAction *actionUpdated; |
64 | 65 | ||
65 | QPixmap iconDownload; | 66 | QPixmap iconDownload; |
@@ -106,34 +107,35 @@ private: | |||
106 | 107 | ||
107 | public slots: | 108 | public slots: |
108 | // void setDocument( const QString &doc ); | 109 | // void setDocument( const QString &doc ); |
109 | void displayFindBar(); | 110 | void displayFindBar(); |
110 | void displayJumpBar(); | 111 | void displayJumpBar(); |
111 | void repeatFind(); | 112 | void repeatFind(); |
112 | void findPackage( const QString & ); | 113 | void findPackage( const QString & ); |
113 | void hideFindBar(); | 114 | void hideFindBar(); |
114 | void hideJumpBar(); | 115 | void hideJumpBar(); |
115 | void displaySettings(); | 116 | void displaySettings(); |
116 | void filterUninstalledPackages(); | 117 | void filterUninstalledPackages(); |
117 | void filterInstalledPackages(); | 118 | void filterInstalledPackages(); |
118 | void filterUpgradedPackages(); | 119 | void filterUpgradedPackages(); |
119 | void filterCategory(); | 120 | void filterCategory(); |
120 | bool setFilterCategory(); | 121 | bool setFilterCategory(); |
121 | void raiseMainWidget(); | 122 | void raiseMainWidget(); |
122 | void raiseProgressWidget(); | 123 | void raiseProgressWidget(); |
123 | void enableUpgrade( bool ); | 124 | void enableUpgrade( bool ); |
124 | void enableDownload( bool ); | 125 | void enableDownload( bool ); |
125 | void reloadData( InstallDlgImpl * ); | 126 | void reloadData( InstallDlgImpl * ); |
126 | 127 | ||
127 | private slots: | 128 | private slots: |
128 | void init(); | 129 | void init(); |
129 | void setProgressSteps( int ); | 130 | void setProgressSteps( int ); |
130 | void setProgressMessage( const QString & ); | 131 | void setProgressMessage( const QString & ); |
131 | void updateProgress( int ); | 132 | void updateProgress( int ); |
132 | void serverSelected( int index ); | 133 | void serverSelected( int index ); |
133 | void updateServer(); | 134 | void updateServer(); |
134 | void upgradePackages(); | 135 | void upgradePackages(); |
135 | void downloadPackage(); | 136 | void downloadPackage(); |
136 | void applyChanges(); | 137 | void applyChanges(); |
137 | void letterPushed( QString t ); | 138 | void letterPushed( QString t ); |
139 | void slotDisplayPackage( QListViewItem * ); | ||
138 | }; | 140 | }; |
139 | #endif | 141 | #endif |
diff --git a/noncore/settings/aqpkg/packagewin.cpp b/noncore/settings/aqpkg/packagewin.cpp new file mode 100644 index 0000000..f00453e --- a/dev/null +++ b/noncore/settings/aqpkg/packagewin.cpp | |||
@@ -0,0 +1,119 @@ | |||
1 | /* | ||
2 | This file is part of the OPIE Project | ||
3 | =. | ||
4 | .=l. Copyright (c) 2002 OPIE team <opie@handhelds.org?> | ||
5 | .>+-= | ||
6 | _;:, .> :=|. This file is free software; you can | ||
7 | .> <`_, > . <= redistribute it and/or modify it under | ||
8 | :`=1 )Y*s>-.-- : the terms of the GNU General Public | ||
9 | .="- .-=="i, .._ License as published by the Free Software | ||
10 | - . .-<_> .<> Foundation; either version 2 of the License, | ||
11 | ._= =} : or (at your option) any later version. | ||
12 | .%`+i> _;_. | ||
13 | .i_,=:_. -<s. This file is distributed in the hope that | ||
14 | + . -:. = it will be useful, but WITHOUT ANY WARRANTY; | ||
15 | : .. .:, . . . without even the implied warranty of | ||
16 | =_ + =;=|` MERCHANTABILITY or FITNESS FOR A | ||
17 | _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU General | ||
18 | ..}^=.= = ; Public License for more details. | ||
19 | ++= -. .` .: | ||
20 | : = ...= . :.=- You should have received a copy of the GNU | ||
21 | -. .:....=;==+<; General Public License along with this file; | ||
22 | -_. . . )=. = see the file COPYING. If not, write to the | ||
23 | -- :-=` Free Software Foundation, Inc., | ||
24 | 59 Temple Place - Suite 330, | ||
25 | Boston, MA 02111-1307, USA. | ||
26 | |||
27 | */ | ||
28 | |||
29 | #include "packagewin.h" | ||
30 | #include "package.h" | ||
31 | #include "datamgr.h" | ||
32 | |||
33 | #include <qpe/resource.h> | ||
34 | |||
35 | #include <qlabel.h> | ||
36 | #include <qlayout.h> | ||
37 | #include <qpushbutton.h> | ||
38 | #include <qstring.h> | ||
39 | |||
40 | PackageWindow::PackageWindow( Package *package, const QString &server ) | ||
41 | : QWidget( 0, 0, 0 ) | ||
42 | { | ||
43 | QVBoxLayout *layout = new QVBoxLayout( this, 4, 4 ); | ||
44 | QString str; | ||
45 | if ( package ) | ||
46 | { | ||
47 | setCaption( package->getPackageName() ); | ||
48 | QString destName; | ||
49 | if ( package->getLocalPackage() ) | ||
50 | { | ||
51 | if ( package->getLocalPackage()->getInstalledTo() ) | ||
52 | destName = package->getLocalPackage()->getInstalledTo()->getDestinationName(); | ||
53 | } | ||
54 | else | ||
55 | { | ||
56 | if ( package->getInstalledTo() ) | ||
57 | destName = package->getInstalledTo()->getDestinationName(); | ||
58 | } | ||
59 | |||
60 | if ( !package->isPackageStoredLocally() ) | ||
61 | { | ||
62 | str.append( tr( "<b>Description</b> - " ) ); | ||
63 | str.append( package->getDescription() ); | ||
64 | if ( !destName.isNull() ) | ||
65 | { | ||
66 | str.append( tr( "<p><b>Installed To</b> - " ) ); | ||
67 | str.append( destName ); | ||
68 | } | ||
69 | str.append( tr( "<p><b>Size</b> - " ) ); | ||
70 | str.append( package->getPackageSize() ); | ||
71 | str.append( tr( "<p><b>Section</b> - " ) ); | ||
72 | str.append( package->getSection() ); | ||
73 | } | ||
74 | else | ||
75 | { | ||
76 | str.append( tr( "<p><b>Filename</b> - " ) ); | ||
77 | str.append( package->getFilename() ); | ||
78 | } | ||
79 | |||
80 | if ( server == LOCAL_SERVER ) | ||
81 | { | ||
82 | str.append( tr( "<p><b>Version Installed</b> - " ) ); | ||
83 | str.append( package->getVersion() ); | ||
84 | } | ||
85 | else | ||
86 | { | ||
87 | str.append( tr( "<p><b>Version Available</b> - " ) ); | ||
88 | str.append( package->getVersion() ); | ||
89 | if ( package->getLocalPackage() ) | ||
90 | { | ||
91 | if ( package->isInstalled() ) | ||
92 | { | ||
93 | str.append( tr( "<p><b>Version Installed</b> - " ) ); | ||
94 | str.append( package->getInstalledVersion() ); | ||
95 | } | ||
96 | } | ||
97 | } | ||
98 | } | ||
99 | else | ||
100 | { | ||
101 | setCaption( tr( "Package Information" ) ); | ||
102 | str = tr( "Package information is unavailable" ); | ||
103 | } | ||
104 | |||
105 | QLabel *l = new QLabel( str, this ); | ||
106 | l->setTextFormat( Qt::RichText ); | ||
107 | l->setAlignment( Qt::AlignLeft | Qt::AlignVCenter | Qt::WordBreak ); | ||
108 | layout->addWidget( l ); | ||
109 | |||
110 | QPushButton *btn = new QPushButton( Resource::loadPixmap( "enter" ), tr( "Close" ), this ); | ||
111 | layout->addWidget( btn ); | ||
112 | connect( btn, SIGNAL( clicked() ), this, SLOT( close() ) ); | ||
113 | |||
114 | } | ||
115 | |||
116 | PackageWindow::~PackageWindow() | ||
117 | { | ||
118 | } | ||
119 | |||
diff --git a/noncore/settings/aqpkg/packagewin.h b/noncore/settings/aqpkg/packagewin.h new file mode 100644 index 0000000..c1943b5 --- a/dev/null +++ b/noncore/settings/aqpkg/packagewin.h | |||
@@ -0,0 +1,45 @@ | |||
1 | /* | ||
2 | This file is part of the OPIE Project | ||
3 | =. | ||
4 | .=l. Copyright (c) 2002 OPIE team <opie@handhelds.org?> | ||
5 | .>+-= | ||
6 | _;:, .> :=|. This file is free software; you can | ||
7 | .> <`_, > . <= redistribute it and/or modify it under | ||
8 | :`=1 )Y*s>-.-- : the terms of the GNU General Public | ||
9 | .="- .-=="i, .._ License as published by the Free Software | ||
10 | - . .-<_> .<> Foundation; either version 2 of the License, | ||
11 | ._= =} : or (at your option) any later version. | ||
12 | .%`+i> _;_. | ||
13 | .i_,=:_. -<s. This file is distributed in the hope that | ||
14 | + . -:. = it will be useful, but WITHOUT ANY WARRANTY; | ||
15 | : .. .:, . . . without even the implied warranty of | ||
16 | =_ + =;=|` MERCHANTABILITY or FITNESS FOR A | ||
17 | _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU General | ||
18 | ..}^=.= = ; Public License for more details. | ||
19 | ++= -. .` .: | ||
20 | : = ...= . :.=- You should have received a copy of the GNU | ||
21 | -. .:....=;==+<; General Public License along with this file; | ||
22 | -_. . . )=. = see the file COPYING. If not, write to the | ||
23 | -- :-=` Free Software Foundation, Inc., | ||
24 | 59 Temple Place - Suite 330, | ||
25 | Boston, MA 02111-1307, USA. | ||
26 | |||
27 | */ | ||
28 | |||
29 | #ifndef PACKAGEWIN_H | ||
30 | #define PACKAGEWIN_H | ||
31 | |||
32 | #include <qwidget.h> | ||
33 | |||
34 | class Package; | ||
35 | |||
36 | class PackageWindow :public QWidget | ||
37 | { | ||
38 | Q_OBJECT | ||
39 | public: | ||
40 | |||
41 | PackageWindow( Package * = 0x0, const QString & = QString::null ); | ||
42 | ~PackageWindow(); | ||
43 | }; | ||
44 | |||
45 | #endif \ No newline at end of file | ||