Diffstat (limited to 'noncore/settings/aqpkg/mainwin.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/settings/aqpkg/mainwin.cpp | 176 |
1 files changed, 90 insertions, 86 deletions
diff --git a/noncore/settings/aqpkg/mainwin.cpp b/noncore/settings/aqpkg/mainwin.cpp index dbe694e..6f5c712 100644 --- a/noncore/settings/aqpkg/mainwin.cpp +++ b/noncore/settings/aqpkg/mainwin.cpp | |||
@@ -1,9 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | This file is part of the OPIE Project | 2 | This file is part of the OPIE Project |
3 | 3 | ||
4 | =. Copyright (c) 2002 Andy Qua <andy.qua@blueyonder.co.uk> | 4 | =. Copyright (c) 2002 Andy Qua <andy.qua@blueyonder.co.uk> |
5 | .=l. Dan Williams <drw@handhelds.org> | 5 | .=l. Dan Williams <drw@handhelds.org> |
6 | .>+-= | 6 | .>+-= |
7 | _;:, .> :=|. This file is free software; you can | 7 | _;:, .> :=|. This file is free software; you can |
8 | .> <`_, > . <= redistribute it and/or modify it under | 8 | .> <`_, > . <= redistribute it and/or modify it under |
9 | :`=1 )Y*s>-.-- : the terms of the GNU General Public | 9 | :`=1 )Y*s>-.-- : the terms of the GNU General Public |
@@ -24,22 +24,33 @@ | |||
24 | -- :-=` Free Software Foundation, Inc., | 24 | -- :-=` Free Software Foundation, Inc., |
25 | 59 Temple Place - Suite 330, | 25 | 59 Temple Place - Suite 330, |
26 | Boston, MA 02111-1307, USA. | 26 | Boston, MA 02111-1307, USA. |
27 | 27 | ||
28 | */ | 28 | */ |
29 | 29 | ||
30 | #include <linux/limits.h> | 30 | #include "categoryfilterimpl.h" |
31 | #include <unistd.h> | 31 | #include "datamgr.h" |
32 | #include "global.h" | ||
33 | #include "inputdlg.h" | ||
34 | #include "ipkg.h" | ||
35 | #include "installdlgimpl.h" | ||
36 | #include "letterpushbutton.h" | ||
37 | #include "mainwin.h" | ||
38 | #include "packagewin.h" | ||
39 | #include "settingsimpl.h" | ||
40 | #include "utils.h" | ||
32 | 41 | ||
42 | /* OPIE */ | ||
33 | #include <qpe/qcopenvelope_qws.h> | 43 | #include <qpe/qcopenvelope_qws.h> |
34 | #include <qmenubar.h> | ||
35 | #include <qpe/qpeapplication.h> | 44 | #include <qpe/qpeapplication.h> |
36 | #include <qtoolbar.h> | ||
37 | #include <qpe/config.h> | 45 | #include <qpe/config.h> |
38 | #include <qpe/resource.h> | 46 | #include <qpe/resource.h> |
39 | 47 | ||
48 | /* QT */ | ||
49 | #include <qmenubar.h> | ||
50 | #include <qtoolbar.h> | ||
40 | #include <qaction.h> | 51 | #include <qaction.h> |
41 | #include <qcombobox.h> | 52 | #include <qcombobox.h> |
42 | #include <qfile.h> | 53 | #include <qfile.h> |
43 | #include <qlabel.h> | 54 | #include <qlabel.h> |
44 | #include <qlayout.h> | 55 | #include <qlayout.h> |
45 | #include <qlineedit.h> | 56 | #include <qlineedit.h> |
@@ -49,28 +60,20 @@ | |||
49 | #include <qpopupmenu.h> | 60 | #include <qpopupmenu.h> |
50 | #include <qprogressbar.h> | 61 | #include <qprogressbar.h> |
51 | #include <qtimer.h> | 62 | #include <qtimer.h> |
52 | #include <qwhatsthis.h> | 63 | #include <qwhatsthis.h> |
53 | #include <qwidgetstack.h> | 64 | #include <qwidgetstack.h> |
54 | 65 | ||
55 | #include "categoryfilterimpl.h" | 66 | /* STD */ |
56 | #include "datamgr.h" | 67 | #include <linux/limits.h> |
57 | #include "global.h" | 68 | #include <unistd.h> |
58 | #include "inputdlg.h" | ||
59 | #include "ipkg.h" | ||
60 | #include "installdlgimpl.h" | ||
61 | #include "letterpushbutton.h" | ||
62 | #include "mainwin.h" | ||
63 | #include "packagewin.h" | ||
64 | #include "settingsimpl.h" | ||
65 | #include "utils.h" | ||
66 | 69 | ||
67 | extern int compareVersions( const char *v1, const char *v2 ); | 70 | extern int compareVersions( const char *v1, const char *v2 ); |
68 | 71 | ||
69 | MainWindow :: MainWindow( QWidget* parent, const char* name, WFlags fl ) | 72 | MainWindow :: MainWindow( QWidget* parent, const char* name, WFlags fl ) |
70 | :QMainWindow( parent, name, fl || WStyle_ContextHelp ) | 73 | :QMainWindow( parent, name, fl || WStyle_ContextHelp ) |
71 | { | 74 | { |
72 | // Disable suspend mode | 75 | // Disable suspend mode |
73 | QCopEnvelope( "QPE/System", "setScreenSaverMode(int)" ) << QPEApplication::DisableSuspend; | 76 | QCopEnvelope( "QPE/System", "setScreenSaverMode(int)" ) << QPEApplication::DisableSuspend; |
74 | 77 | ||
75 | LOCAL_SERVER = QObject::tr( "Installed packages" ); | 78 | LOCAL_SERVER = QObject::tr( "Installed packages" ); |
76 | LOCAL_IPKGS = QObject::tr( "Local packages" ); | 79 | LOCAL_IPKGS = QObject::tr( "Local packages" ); |
@@ -236,13 +239,13 @@ MainWindow :: MainWindow( QWidget* parent, const char* name, WFlags fl ) | |||
236 | // Delayed call to finish initialization | 239 | // Delayed call to finish initialization |
237 | QTimer::singleShot( 100, this, SLOT( init() ) ); | 240 | QTimer::singleShot( 100, this, SLOT( init() ) ); |
238 | } | 241 | } |
239 | 242 | ||
240 | MainWindow :: ~MainWindow() | 243 | MainWindow :: ~MainWindow() |
241 | { | 244 | { |
242 | delete mgr; | 245 | delete mgr; |
243 | 246 | ||
244 | // Reenable suspend mode | 247 | // Reenable suspend mode |
245 | QCopEnvelope( "QPE/System", "setScreenSaverMode(int)" ) << QPEApplication::Enable; | 248 | QCopEnvelope( "QPE/System", "setScreenSaverMode(int)" ) << QPEApplication::Enable; |
246 | } | 249 | } |
247 | 250 | ||
248 | void MainWindow :: initMainWidget() | 251 | void MainWindow :: initMainWidget() |
@@ -293,13 +296,13 @@ void MainWindow :: init() | |||
293 | { | 296 | { |
294 | #ifdef QWS | 297 | #ifdef QWS |
295 | // read download directory from config file | 298 | // read download directory from config file |
296 | Config cfg( "aqpkg" ); | 299 | Config cfg( "aqpkg" ); |
297 | cfg.setGroup( "settings" ); | 300 | cfg.setGroup( "settings" ); |
298 | currentlySelectedServer = cfg.readEntry( "selectedServer", "local" ); | 301 | currentlySelectedServer = cfg.readEntry( "selectedServer", "local" ); |
299 | // showJumpTo = cfg.readBoolEntry( "showJumpTo", "true" ); | 302 | // showJumpTo = cfg.readBoolEntry( "showJumpTo", "true" ); |
300 | 303 | ||
301 | #endif | 304 | #endif |
302 | 305 | ||
303 | stack->raiseWidget( progressWindow ); | 306 | stack->raiseWidget( progressWindow ); |
304 | 307 | ||
305 | mgr = new DataManager(); | 308 | mgr = new DataManager(); |
@@ -334,14 +337,14 @@ void MainWindow :: setDocument( const QString &doc ) | |||
334 | } | 337 | } |
335 | } | 338 | } |
336 | serverSelected( 0 ); | 339 | serverSelected( 0 ); |
337 | 340 | ||
338 | // Now set the check box of the selected package | 341 | // Now set the check box of the selected package |
339 | for ( QCheckListItem *item = (QCheckListItem *)packagesList->firstChild(); | 342 | for ( QCheckListItem *item = (QCheckListItem *)packagesList->firstChild(); |
340 | item != 0 ; | 343 | item != 0 ; |
341 | item = (QCheckListItem *)item->nextSibling() ) | 344 | item = (QCheckListItem *)item->nextSibling() ) |
342 | { | 345 | { |
343 | if ( item->text().startsWith( package ) ) | 346 | if ( item->text().startsWith( package ) ) |
344 | { | 347 | { |
345 | item->setOn( true ); | 348 | item->setOn( true ); |
346 | break; | 349 | break; |
347 | } | 350 | } |
@@ -351,13 +354,13 @@ void MainWindow :: setDocument( const QString &doc ) | |||
351 | void MainWindow :: displaySettings() | 354 | void MainWindow :: displaySettings() |
352 | { | 355 | { |
353 | SettingsImpl *dlg = new SettingsImpl( mgr, this, "Settings", true ); | 356 | SettingsImpl *dlg = new SettingsImpl( mgr, this, "Settings", true ); |
354 | if ( dlg->showDlg() ) | 357 | if ( dlg->showDlg() ) |
355 | { | 358 | { |
356 | stack->raiseWidget( progressWindow ); | 359 | stack->raiseWidget( progressWindow ); |
357 | updateData(); | 360 | updateData(); |
358 | stack->raiseWidget( networkPkgWindow ); | 361 | stack->raiseWidget( networkPkgWindow ); |
359 | } | 362 | } |
360 | delete dlg; | 363 | delete dlg; |
361 | } | 364 | } |
362 | 365 | ||
363 | void MainWindow :: closeEvent( QCloseEvent *e ) | 366 | void MainWindow :: closeEvent( QCloseEvent *e ) |
@@ -579,18 +582,18 @@ void MainWindow :: updateData() | |||
579 | i--; | 582 | i--; |
580 | continue; | 583 | continue; |
581 | } | 584 | } |
582 | 585 | ||
583 | serversList->insertItem( serverName ); | 586 | serversList->insertItem( serverName ); |
584 | if ( serverName == currentlySelectedServer ) | 587 | if ( serverName == currentlySelectedServer ) |
585 | activeItem = i; | 588 | activeItem = i; |
586 | } | 589 | } |
587 | 590 | ||
588 | // set selected server to be active server | 591 | // set selected server to be active server |
589 | if ( activeItem != -1 ) | 592 | if ( activeItem != -1 ) |
590 | serversList->setCurrentItem( activeItem ); | 593 | serversList->setCurrentItem( activeItem ); |
591 | serverSelected( 0, FALSE ); | 594 | serverSelected( 0, FALSE ); |
592 | } | 595 | } |
593 | 596 | ||
594 | void MainWindow :: serverSelected( int index ) | 597 | void MainWindow :: serverSelected( int index ) |
595 | { | 598 | { |
596 | serverSelected( index, TRUE ); | 599 | serverSelected( index, TRUE ); |
@@ -622,16 +625,16 @@ void MainWindow :: serverSelected( int, bool raiseProgress ) | |||
622 | m_status->setText( tr( "Building package list for:\n\t%1" ).arg( serverName ) ); | 625 | m_status->setText( tr( "Building package list for:\n\t%1" ).arg( serverName ) ); |
623 | } | 626 | } |
624 | 627 | ||
625 | packagesList->clear(); | 628 | packagesList->clear(); |
626 | 629 | ||
627 | #ifdef QWS | 630 | #ifdef QWS |
628 | // read download directory from config file | 631 | // read download directory from config file |
629 | Config cfg( "aqpkg" ); | 632 | Config cfg( "aqpkg" ); |
630 | cfg.setGroup( "settings" ); | 633 | cfg.setGroup( "settings" ); |
631 | cfg.writeEntry( "selectedServer", currentlySelectedServer ); | 634 | cfg.writeEntry( "selectedServer", currentlySelectedServer ); |
632 | #endif | 635 | #endif |
633 | 636 | ||
634 | int i = 0; | 637 | int i = 0; |
635 | Package *package; | 638 | Package *package; |
636 | for ( ; it.current(); ++it ) | 639 | for ( ; it.current(); ++it ) |
637 | { | 640 | { |
@@ -675,13 +678,13 @@ void MainWindow :: serverSelected( int, bool raiseProgress ) | |||
675 | // If the local server, only display installed packages | 678 | // If the local server, only display installed packages |
676 | if ( serverName == LOCAL_SERVER && !package->isInstalled() ) | 679 | if ( serverName == LOCAL_SERVER && !package->isInstalled() ) |
677 | continue; | 680 | continue; |
678 | 681 | ||
679 | 682 | ||
680 | QCheckListItem *item = new QCheckListItem( packagesList, package->getPackageName(), | 683 | QCheckListItem *item = new QCheckListItem( packagesList, package->getPackageName(), |
681 | QCheckListItem::CheckBox ); | 684 | QCheckListItem::CheckBox ); |
682 | 685 | ||
683 | if ( package->isInstalled() ) | 686 | if ( package->isInstalled() ) |
684 | { | 687 | { |
685 | // If a different version of package is available, show update available icon | 688 | // If a different version of package is available, show update available icon |
686 | // Otherwise, show installed icon | 689 | // Otherwise, show installed icon |
687 | if ( package->getNewVersionAvailable()) | 690 | if ( package->getNewVersionAvailable()) |
@@ -735,13 +738,13 @@ void MainWindow :: searchForPackage( const QString &text ) | |||
735 | QCheckListItem *start = (QCheckListItem *)packagesList->currentItem(); | 738 | QCheckListItem *start = (QCheckListItem *)packagesList->currentItem(); |
736 | 739 | ||
737 | if ( start == 0 ) | 740 | if ( start == 0 ) |
738 | start = (QCheckListItem *)packagesList->firstChild(); | 741 | start = (QCheckListItem *)packagesList->firstChild(); |
739 | 742 | ||
740 | for ( QCheckListItem *item = start; item != 0 ; | 743 | for ( QCheckListItem *item = start; item != 0 ; |
741 | item = (QCheckListItem *)item->nextSibling() ) | 744 | item = (QCheckListItem *)item->nextSibling() ) |
742 | { | 745 | { |
743 | if ( item->text().lower().find( text ) != -1 ) | 746 | if ( item->text().lower().find( text ) != -1 ) |
744 | { | 747 | { |
745 | packagesList->ensureItemVisible( item ); | 748 | packagesList->ensureItemVisible( item ); |
746 | packagesList->setCurrentItem( item ); | 749 | packagesList->setCurrentItem( item ); |
747 | break; | 750 | break; |
@@ -763,46 +766,46 @@ void MainWindow :: updateServer() | |||
763 | mgr->writeOutIpkgConf(); | 766 | mgr->writeOutIpkgConf(); |
764 | 767 | ||
765 | Ipkg *ipkg = new Ipkg; | 768 | Ipkg *ipkg = new Ipkg; |
766 | ipkg->setOption( "update" ); | 769 | ipkg->setOption( "update" ); |
767 | 770 | ||
768 | InstallDlgImpl *dlg = new InstallDlgImpl( ipkg, tr( "Refreshing server package lists" ), | 771 | InstallDlgImpl *dlg = new InstallDlgImpl( ipkg, tr( "Refreshing server package lists" ), |
769 | tr( "Update lists" ) ); | 772 | tr( "Update lists" ) ); |
770 | connect( dlg, SIGNAL( reloadData( InstallDlgImpl * ) ), this, SLOT( reloadData( InstallDlgImpl * ) ) ); | 773 | connect( dlg, SIGNAL( reloadData( InstallDlgImpl * ) ), this, SLOT( reloadData( InstallDlgImpl * ) ) ); |
771 | reloadDocuments = FALSE; | 774 | reloadDocuments = FALSE; |
772 | stack->addWidget( dlg, 3 ); | 775 | stack->addWidget( dlg, 3 ); |
773 | stack->raiseWidget( dlg ); | 776 | stack->raiseWidget( dlg ); |
774 | 777 | ||
775 | // delete progDlg; | 778 | // delete progDlg; |
776 | } | 779 | } |
777 | 780 | ||
778 | void MainWindow :: upgradePackages() | 781 | void MainWindow :: upgradePackages() |
779 | { | 782 | { |
780 | // We're gonna do an upgrade of all packages | 783 | // We're gonna do an upgrade of all packages |
781 | // First warn user that this isn't recommended | 784 | // First warn user that this isn't recommended |
782 | // TODO - ODevice???? | 785 | // TODO - ODevice???? |
783 | QString text = tr( "WARNING: Upgrading while\nOpie/Qtopia is running\nis NOT recommended!\n\nAre you sure?\n" ); | 786 | QString text = tr( "WARNING: Upgrading while\nOpie/Qtopia is running\nis NOT recommended!\n\nAre you sure?\n" ); |
784 | QMessageBox warn( tr( "Warning" ), text, QMessageBox::Warning, | 787 | QMessageBox warn( tr( "Warning" ), text, QMessageBox::Warning, |
785 | QMessageBox::Yes, | 788 | QMessageBox::Yes, |
786 | QMessageBox::No | QMessageBox::Escape | QMessageBox::Default , | 789 | QMessageBox::No | QMessageBox::Escape | QMessageBox::Default , |
787 | 0, this ); | 790 | 0, this ); |
788 | warn.adjustSize(); | 791 | warn.adjustSize(); |
789 | 792 | ||
790 | if ( warn.exec() == QMessageBox::Yes ) | 793 | if ( warn.exec() == QMessageBox::Yes ) |
791 | { | 794 | { |
792 | // First, write out ipkg_conf file so that ipkg can use it | 795 | // First, write out ipkg_conf file so that ipkg can use it |
793 | mgr->writeOutIpkgConf(); | 796 | mgr->writeOutIpkgConf(); |
794 | 797 | ||
795 | // Now run upgrade | 798 | // Now run upgrade |
796 | Ipkg *ipkg = new Ipkg; | 799 | Ipkg *ipkg = new Ipkg; |
797 | ipkg->setOption( "upgrade" ); | 800 | ipkg->setOption( "upgrade" ); |
798 | 801 | ||
799 | InstallDlgImpl *dlg = new InstallDlgImpl( ipkg, tr( "Upgrading installed packages" ), | 802 | InstallDlgImpl *dlg = new InstallDlgImpl( ipkg, tr( "Upgrading installed packages" ), |
800 | tr ( "Upgrade" ) ); | 803 | tr ( "Upgrade" ) ); |
801 | connect( dlg, SIGNAL( reloadData( InstallDlgImpl * ) ), this, SLOT( reloadData( InstallDlgImpl * ) ) ); | 804 | connect( dlg, SIGNAL( reloadData( InstallDlgImpl * ) ), this, SLOT( reloadData( InstallDlgImpl * ) ) ); |
802 | reloadDocuments = TRUE; | 805 | reloadDocuments = TRUE; |
803 | stack->addWidget( dlg, 3 ); | 806 | stack->addWidget( dlg, 3 ); |
804 | stack->raiseWidget( dlg ); | 807 | stack->raiseWidget( dlg ); |
805 | } | 808 | } |
806 | } | 809 | } |
807 | 810 | ||
808 | void MainWindow :: downloadPackage() | 811 | void MainWindow :: downloadPackage() |
@@ -812,14 +815,14 @@ void MainWindow :: downloadPackage() | |||
812 | { | 815 | { |
813 | // See if any packages are selected | 816 | // See if any packages are selected |
814 | bool found = false; | 817 | bool found = false; |
815 | if ( serversList->currentText() != LOCAL_SERVER ) | 818 | if ( serversList->currentText() != LOCAL_SERVER ) |
816 | { | 819 | { |
817 | for ( QCheckListItem *item = (QCheckListItem *)packagesList->firstChild(); | 820 | for ( QCheckListItem *item = (QCheckListItem *)packagesList->firstChild(); |
818 | item != 0 && !found; | 821 | item != 0 && !found; |
819 | item = (QCheckListItem *)item->nextSibling() ) | 822 | item = (QCheckListItem *)item->nextSibling() ) |
820 | { | 823 | { |
821 | if ( item->isOn() ) | 824 | if ( item->isOn() ) |
822 | found = true; | 825 | found = true; |
823 | } | 826 | } |
824 | } | 827 | } |
825 | 828 | ||
@@ -833,14 +836,14 @@ void MainWindow :: downloadPackage() | |||
833 | 836 | ||
834 | } | 837 | } |
835 | else | 838 | else |
836 | { | 839 | { |
837 | doUpdate = false; | 840 | doUpdate = false; |
838 | for ( QCheckListItem *item = (QCheckListItem *)packagesList->firstChild(); | 841 | for ( QCheckListItem *item = (QCheckListItem *)packagesList->firstChild(); |
839 | item != 0 ; | 842 | item != 0 ; |
840 | item = (QCheckListItem *)item->nextSibling() ) | 843 | item = (QCheckListItem *)item->nextSibling() ) |
841 | { | 844 | { |
842 | if ( item->isOn() ) | 845 | if ( item->isOn() ) |
843 | { | 846 | { |
844 | QString name = item->text(); | 847 | QString name = item->text(); |
845 | int pos = name.find( "*" ); | 848 | int pos = name.find( "*" ); |
846 | name.truncate( pos ); | 849 | name.truncate( pos ); |
@@ -852,13 +855,13 @@ void MainWindow :: downloadPackage() | |||
852 | 855 | ||
853 | Package *p = mgr->getServer( serversList->currentText() )->getPackage( name ); | 856 | Package *p = mgr->getServer( serversList->currentText() )->getPackage( name ); |
854 | 857 | ||
855 | QString msgtext; | 858 | QString msgtext; |
856 | msgtext = tr( "Are you sure you wish to delete\n%1?" ).arg( (const char *)p->getPackageName() ); | 859 | msgtext = tr( "Are you sure you wish to delete\n%1?" ).arg( (const char *)p->getPackageName() ); |
857 | if ( QMessageBox::information( this, tr( "Are you sure?" ), | 860 | if ( QMessageBox::information( this, tr( "Are you sure?" ), |
858 | msgtext, tr( "No" ), tr( "Yes" ) ) == 1 ) | 861 | msgtext, tr( "No" ), tr( "Yes" ) ) == 1 ) |
859 | { | 862 | { |
860 | doUpdate = true; | 863 | doUpdate = true; |
861 | QFile f( p->getFilename() ); | 864 | QFile f( p->getFilename() ); |
862 | f.remove(); | 865 | f.remove(); |
863 | } | 866 | } |
864 | } | 867 | } |
@@ -905,14 +908,14 @@ void MainWindow :: downloadSelectedPackages() | |||
905 | Ipkg ipkg; | 908 | Ipkg ipkg; |
906 | connect( &ipkg, SIGNAL(outputText(const QString &)), this, SLOT(displayText(const QString &))); | 909 | connect( &ipkg, SIGNAL(outputText(const QString &)), this, SLOT(displayText(const QString &))); |
907 | 910 | ||
908 | ipkg.setOption( "download" ); | 911 | ipkg.setOption( "download" ); |
909 | ipkg.setRuntimeDirectory( dir ); | 912 | ipkg.setRuntimeDirectory( dir ); |
910 | for ( QCheckListItem *item = (QCheckListItem *)packagesList->firstChild(); | 913 | for ( QCheckListItem *item = (QCheckListItem *)packagesList->firstChild(); |
911 | item != 0 ; | 914 | item != 0 ; |
912 | item = (QCheckListItem *)item->nextSibling() ) | 915 | item = (QCheckListItem *)item->nextSibling() ) |
913 | { | 916 | { |
914 | if ( item->isOn() ) | 917 | if ( item->isOn() ) |
915 | { | 918 | { |
916 | ipkg.setPackage( item->text() ); | 919 | ipkg.setPackage( item->text() ); |
917 | ipkg.runIpkg( ); | 920 | ipkg.runIpkg( ); |
918 | } | 921 | } |
@@ -923,29 +926,29 @@ void MainWindow :: downloadRemotePackage() | |||
923 | { | 926 | { |
924 | // Display dialog | 927 | // Display dialog |
925 | bool ok; | 928 | bool ok; |
926 | QString package = InputDialog::getText( tr( "Install Remote Package" ), tr( "Enter package location" ), "http://", &ok, this ); | 929 | QString package = InputDialog::getText( tr( "Install Remote Package" ), tr( "Enter package location" ), "http://", &ok, this ); |
927 | if ( !ok || package.isEmpty() ) | 930 | if ( !ok || package.isEmpty() ) |
928 | return; | 931 | return; |
929 | // DownloadRemoteDlgImpl dlg( this, "Install", true ); | 932 | // DownloadRemoteDlgImpl dlg( this, "Install", true ); |
930 | // if ( dlg.exec() == QDialog::Rejected ) | 933 | // if ( dlg.exec() == QDialog::Rejected ) |
931 | // return; | 934 | // return; |
932 | 935 | ||
933 | // grab details from dialog | 936 | // grab details from dialog |
934 | // QString package = dlg.getPackageLocation(); | 937 | // QString package = dlg.getPackageLocation(); |
935 | 938 | ||
936 | InstallData *item = new InstallData(); | 939 | InstallData *item = new InstallData(); |
937 | item->option = "I"; | 940 | item->option = "I"; |
938 | item->packageName = package; | 941 | item->packageName = package; |
939 | QList<InstallData> workingPackages; | 942 | QList<InstallData> workingPackages; |
940 | workingPackages.setAutoDelete( TRUE ); | 943 | workingPackages.setAutoDelete( TRUE ); |
941 | workingPackages.append( item ); | 944 | workingPackages.append( item ); |
942 | 945 | ||
943 | InstallDlgImpl *dlg = new InstallDlgImpl( workingPackages, mgr, tr( "Download" ) ); | 946 | InstallDlgImpl *dlg = new InstallDlgImpl( workingPackages, mgr, tr( "Download" ) ); |
944 | connect( dlg, SIGNAL( reloadData( InstallDlgImpl * ) ), this, SLOT( reloadData( InstallDlgImpl * ) ) ); | 947 | connect( dlg, SIGNAL( reloadData( InstallDlgImpl * ) ), this, SLOT( reloadData( InstallDlgImpl * ) ) ); |
945 | reloadDocuments = TRUE; | 948 | reloadDocuments = TRUE; |
946 | stack->addWidget( dlg, 3 ); | 949 | stack->addWidget( dlg, 3 ); |
947 | stack->raiseWidget( dlg ); | 950 | stack->raiseWidget( dlg ); |
948 | } | 951 | } |
949 | 952 | ||
950 | 953 | ||
951 | void MainWindow :: applyChanges() | 954 | void MainWindow :: applyChanges() |
@@ -958,38 +961,38 @@ void MainWindow :: applyChanges() | |||
958 | // Now for each selected item | 961 | // Now for each selected item |
959 | // deal with it | 962 | // deal with it |
960 | 963 | ||
961 | QList<InstallData> workingPackages; | 964 | QList<InstallData> workingPackages; |
962 | workingPackages.setAutoDelete( TRUE ); | 965 | workingPackages.setAutoDelete( TRUE ); |
963 | for ( QCheckListItem *item = (QCheckListItem *)packagesList->firstChild(); | 966 | for ( QCheckListItem *item = (QCheckListItem *)packagesList->firstChild(); |
964 | item != 0 ; | 967 | item != 0 ; |
965 | item = (QCheckListItem *)item->nextSibling() ) | 968 | item = (QCheckListItem *)item->nextSibling() ) |
966 | { | 969 | { |
967 | if ( item->isOn() ) | 970 | if ( item->isOn() ) |
968 | { | 971 | { |
969 | InstallData *instdata = dealWithItem( item ); | 972 | InstallData *instdata = dealWithItem( item ); |
970 | if ( instdata ) | 973 | if ( instdata ) |
971 | workingPackages.append( instdata ); | 974 | workingPackages.append( instdata ); |
972 | else | 975 | else |
973 | return; | 976 | return; |
974 | } | 977 | } |
975 | } | 978 | } |
976 | 979 | ||
977 | if ( workingPackages.count() == 0 ) | 980 | if ( workingPackages.count() == 0 ) |
978 | { | 981 | { |
979 | // Nothing to do | 982 | // Nothing to do |
980 | QMessageBox::information( this, tr( "Nothing to do" ), | 983 | QMessageBox::information( this, tr( "Nothing to do" ), |
981 | tr( "No packages selected" ), tr( "OK" ) ); | 984 | tr( "No packages selected" ), tr( "OK" ) ); |
982 | 985 | ||
983 | return; | 986 | return; |
984 | } | 987 | } |
985 | 988 | ||
986 | // do the stuff | 989 | // do the stuff |
987 | InstallDlgImpl *dlg = new InstallDlgImpl( workingPackages, mgr, tr( "Apply changes" ) ); | 990 | InstallDlgImpl *dlg = new InstallDlgImpl( workingPackages, mgr, tr( "Apply changes" ) ); |
988 | connect( dlg, SIGNAL( reloadData( InstallDlgImpl * ) ), this, SLOT( reloadData( InstallDlgImpl * ) ) ); | 991 | connect( dlg, SIGNAL( reloadData( InstallDlgImpl * ) ), this, SLOT( reloadData( InstallDlgImpl * ) ) ); |
989 | reloadDocuments = TRUE; | 992 | reloadDocuments = TRUE; |
990 | stack->addWidget( dlg, 3 ); | 993 | stack->addWidget( dlg, 3 ); |
991 | stack->raiseWidget( dlg ); | 994 | stack->raiseWidget( dlg ); |
992 | } | 995 | } |
993 | 996 | ||
994 | // decide what to do - either remove, upgrade or install | 997 | // decide what to do - either remove, upgrade or install |
995 | // Current rules: | 998 | // Current rules: |
@@ -1021,13 +1024,13 @@ InstallData *MainWindow :: dealWithItem( QCheckListItem *item ) | |||
1021 | { | 1024 | { |
1022 | InstallData *newitem = new InstallData(); | 1025 | InstallData *newitem = new InstallData(); |
1023 | newitem->option = "D"; | 1026 | newitem->option = "D"; |
1024 | // If local file, remove using package name, not filename | 1027 | // If local file, remove using package name, not filename |
1025 | if ( p->isPackageStoredLocally() ) | 1028 | if ( p->isPackageStoredLocally() ) |
1026 | name = item->text(); | 1029 | name = item->text(); |
1027 | 1030 | ||
1028 | if ( !p->isPackageStoredLocally() ) | 1031 | if ( !p->isPackageStoredLocally() ) |
1029 | newitem->packageName = p->getInstalledPackageName(); | 1032 | newitem->packageName = p->getInstalledPackageName(); |
1030 | else | 1033 | else |
1031 | newitem->packageName = name; | 1034 | newitem->packageName = name; |
1032 | 1035 | ||
1033 | if ( p->getInstalledTo() ) | 1036 | if ( p->getInstalledTo() ) |
@@ -1087,39 +1090,39 @@ InstallData *MainWindow :: dealWithItem( QCheckListItem *item ) | |||
1087 | { | 1090 | { |
1088 | QString msgtext; | 1091 | QString msgtext; |
1089 | msgtext = caption.arg( ( const char * )name ); | 1092 | msgtext = caption.arg( ( const char * )name ); |
1090 | QuestionDlg dlg( text, msgtext, secondButton ); | 1093 | QuestionDlg dlg( text, msgtext, secondButton ); |
1091 | switch( dlg.exec() ) | 1094 | switch( dlg.exec() ) |
1092 | { | 1095 | { |
1093 | case 0: // Cancel | 1096 | case 0: // Cancel |
1094 | delete newitem; | 1097 | delete newitem; |
1095 | return 0x0; | 1098 | return 0x0; |
1096 | break; | 1099 | break; |
1097 | case 1: // Remove | 1100 | case 1: // Remove |
1098 | newitem->option = "D"; | 1101 | newitem->option = "D"; |
1099 | // If local file, remove using package name, not filename | 1102 | // If local file, remove using package name, not filename |
1100 | if ( p->isPackageStoredLocally() ) | 1103 | if ( p->isPackageStoredLocally() ) |
1101 | name = item->text(); | 1104 | name = item->text(); |
1102 | break; | 1105 | break; |
1103 | case 2: // Reinstall or Upgrade | 1106 | case 2: // Reinstall or Upgrade |
1104 | newitem->option = secondOption; | 1107 | newitem->option = secondOption; |
1105 | break; | 1108 | break; |
1106 | } | 1109 | } |
1107 | } | 1110 | } |
1108 | else | 1111 | else |
1109 | { | 1112 | { |
1110 | // newitem->option = stickyOption; | 1113 | // newitem->option = stickyOption; |
1111 | } | 1114 | } |
1112 | } | 1115 | } |
1113 | 1116 | ||
1114 | 1117 | ||
1115 | // Check if we are reinstalling the same version | 1118 | // Check if we are reinstalling the same version |
1116 | if ( newitem->option != "R" ) | 1119 | if ( newitem->option != "R" ) |
1117 | newitem->recreateLinks = true; | 1120 | newitem->recreateLinks = true; |
1118 | else | 1121 | else |
1119 | newitem->recreateLinks = false; | 1122 | newitem->recreateLinks = false; |
1120 | 1123 | ||
1121 | // User hit cancel (on dlg - assume remove) | 1124 | // User hit cancel (on dlg - assume remove) |
1122 | return newitem; | 1125 | return newitem; |
1123 | } | 1126 | } |
1124 | } | 1127 | } |
1125 | 1128 | ||
@@ -1135,20 +1138,20 @@ void MainWindow :: reloadData( InstallDlgImpl *dlg ) | |||
1135 | 1138 | ||
1136 | mgr->reloadServerData(); | 1139 | mgr->reloadServerData(); |
1137 | serverSelected( -1, FALSE ); | 1140 | serverSelected( -1, FALSE ); |
1138 | 1141 | ||
1139 | #ifdef QWS | 1142 | #ifdef QWS |
1140 | if ( reloadDocuments ) | 1143 | if ( reloadDocuments ) |
1141 | { | 1144 | { |
1142 | m_status->setText( tr( "Updating Launcher..." ) ); | 1145 | m_status->setText( tr( "Updating Launcher..." ) ); |
1143 | 1146 | ||
1144 | // Finally let the main system update itself | 1147 | // Finally let the main system update itself |
1145 | QCopEnvelope e("QPE/System", "linkChanged(QString)"); | 1148 | QCopEnvelope e("QPE/System", "linkChanged(QString)"); |
1146 | QString lf = QString::null; | 1149 | QString lf = QString::null; |
1147 | e << lf; | 1150 | e << lf; |
1148 | } | 1151 | } |
1149 | #endif | 1152 | #endif |
1150 | 1153 | ||
1151 | stack->raiseWidget( networkPkgWindow ); | 1154 | stack->raiseWidget( networkPkgWindow ); |
1152 | } | 1155 | } |
1153 | 1156 | ||
1154 | void MainWindow :: letterPushed( QString t ) | 1157 | void MainWindow :: letterPushed( QString t ) |
@@ -1178,24 +1181,25 @@ void MainWindow :: letterPushed( QString t ) | |||
1178 | break; | 1181 | break; |
1179 | } | 1182 | } |
1180 | 1183 | ||
1181 | item = (QCheckListItem *)item->nextSibling(); | 1184 | item = (QCheckListItem *)item->nextSibling(); |
1182 | if ( !item ) | 1185 | if ( !item ) |
1183 | item = (QCheckListItem *)packagesList->firstChild(); | 1186 | item = (QCheckListItem *)packagesList->firstChild(); |
1184 | } while ( item != start); | 1187 | } |
1188 | while ( item != start); | ||
1185 | } | 1189 | } |
1186 | 1190 | ||
1187 | void MainWindow :: slotDisplayPackage( QListViewItem *item ) | 1191 | void MainWindow :: slotDisplayPackage( QListViewItem *item ) |
1188 | { | 1192 | { |
1189 | QString itemstr( ((QCheckListItem*)item)->text() ); | 1193 | QString itemstr( ((QCheckListItem*)item)->text() ); |
1190 | PackageWindow *p = new PackageWindow( mgr->getServer( serversList->currentText() )->getPackage( itemstr ) ); | 1194 | PackageWindow *p = new PackageWindow( mgr->getServer( serversList->currentText() )->getPackage( itemstr ) ); |
1191 | p->showMaximized(); | 1195 | QPEApplication::showWidget( p ); |
1192 | } | 1196 | } |
1193 | 1197 | ||
1194 | QuestionDlg::QuestionDlg( const QString &caption, const QString &text, const QString &secondbtn ) | 1198 | QuestionDlg::QuestionDlg( const QString &caption, const QString &text, const QString &secondbtn ) |
1195 | : QWidget( 0x0, 0x0, WType_Modal | WType_TopLevel | WStyle_Dialog ) | 1199 | : QWidget( 0x0, 0x0, WType_Modal | WType_TopLevel | WStyle_Dialog ) |
1196 | { | 1200 | { |
1197 | setCaption( caption ); | 1201 | setCaption( caption ); |
1198 | resize( 175, 100 ); | 1202 | resize( 175, 100 ); |
1199 | 1203 | ||
1200 | QGridLayout *layout = new QGridLayout( this ); | 1204 | QGridLayout *layout = new QGridLayout( this ); |
1201 | 1205 | ||