summaryrefslogtreecommitdiff
path: root/noncore/settings/aqpkg
Unidiff
Diffstat (limited to 'noncore/settings/aqpkg') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/aqpkg/categoryfilterimpl.cpp28
-rw-r--r--noncore/settings/aqpkg/instoptionsimpl.cpp44
-rw-r--r--noncore/settings/aqpkg/mainwin.cpp176
-rw-r--r--noncore/settings/aqpkg/settingsimpl.cpp243
4 files changed, 252 insertions, 239 deletions
diff --git a/noncore/settings/aqpkg/categoryfilterimpl.cpp b/noncore/settings/aqpkg/categoryfilterimpl.cpp
index 61e1f93..217d2c9 100644
--- a/noncore/settings/aqpkg/categoryfilterimpl.cpp
+++ b/noncore/settings/aqpkg/categoryfilterimpl.cpp
@@ -24,24 +24,30 @@
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 <iostream> 30#include "categoryfilterimpl.h"
31using namespace std; 31
32/* OPIE */
33#include <qpe/qpeapplication.h>
32 34
35/* QT */
33#include <qgroupbox.h> 36#include <qgroupbox.h>
34#include <qlayout.h> 37#include <qlayout.h>
35#include <qlistbox.h> 38#include <qlistbox.h>
36#include <qstring.h> 39#include <qstring.h>
37 40
38#include "categoryfilterimpl.h" 41/* STD */
42#include <iostream>
43using namespace std;
44
39 45
40CategoryFilterImpl :: CategoryFilterImpl(const QString &categories, const QString &selectedCategories, QWidget *parent, const char *name ) 46CategoryFilterImpl :: CategoryFilterImpl(const QString &categories, const QString &selectedCategories, QWidget *parent, const char *name )
41 : QDialog( parent, name, true ) 47 : QDialog( parent, name, true )
42{ 48{
43 setCaption( tr( "Category Filter" ) ); 49 setCaption( tr( "Category Filter" ) );
44 50
45 QVBoxLayout *layout = new QVBoxLayout( this ); 51 QVBoxLayout *layout = new QVBoxLayout( this );
46 layout->setMargin( 2 ); 52 layout->setMargin( 2 );
47 layout->setSpacing( 4 ); 53 layout->setSpacing( 4 );
@@ -49,17 +55,17 @@ CategoryFilterImpl :: CategoryFilterImpl(const QString &categories, const QStrin
49 QGroupBox *grpbox = new QGroupBox( 0, Qt::Vertical, tr( "Select one or more groups" ), this ); 55 QGroupBox *grpbox = new QGroupBox( 0, Qt::Vertical, tr( "Select one or more groups" ), this );
50 grpbox->layout()->setSpacing( 2 ); 56 grpbox->layout()->setSpacing( 2 );
51 grpbox->layout()->setMargin( 4 ); 57 grpbox->layout()->setMargin( 4 );
52 layout->addWidget( grpbox ); 58 layout->addWidget( grpbox );
53 59
54 QVBoxLayout *grplayout = new QVBoxLayout( grpbox->layout() ); 60 QVBoxLayout *grplayout = new QVBoxLayout( grpbox->layout() );
55 61
56 lstCategories = new QListBox( grpbox ); 62 lstCategories = new QListBox( grpbox );
57 lstCategories->setSelectionMode( QListBox::Multi ); 63 lstCategories->setSelectionMode( QListBox::Multi );
58 grplayout->addWidget( lstCategories ); 64 grplayout->addWidget( lstCategories );
59 65
60 // Split up categories and add them to the listbox 66 // Split up categories and add them to the listbox
61 int start = 1; 67 int start = 1;
62 68
63 QString item; 69 QString item;
64 int end; 70 int end;
65 QString finditem; 71 QString finditem;
@@ -73,22 +79,22 @@ CategoryFilterImpl :: CategoryFilterImpl(const QString &categories, const QStrin
73 finditem = QString( "#%1#" ).arg( item ); 79 finditem = QString( "#%1#" ).arg( item );
74 if ( selectedCategories.find( finditem ) != -1 ) 80 if ( selectedCategories.find( finditem ) != -1 )
75 lstCategories->setSelected( lstCategories->count()-1, true ); 81 lstCategories->setSelected( lstCategories->count()-1, true );
76 } 82 }
77 83
78 start = end + 1; 84 start = end + 1;
79 } while ( start < (int)categories.length() ); 85 }
86 while ( start < (int)categories.length() );
80 87
81 lstCategories->sort( true ); 88 lstCategories->sort( true );
82 89
83 showMaximized(); 90 QPEApplication::showDialog( this );
84} 91}
85 92
86CategoryFilterImpl :: ~CategoryFilterImpl() 93CategoryFilterImpl :: ~CategoryFilterImpl()
87{ 94{}
88}
89 95
90QString CategoryFilterImpl :: getSelectedFilter() 96QString CategoryFilterImpl :: getSelectedFilter()
91{ 97{
92 // Grab cetegories from listbox 98 // Grab cetegories from listbox
93 QString ret = "#"; 99 QString ret = "#";
94 100
diff --git a/noncore/settings/aqpkg/instoptionsimpl.cpp b/noncore/settings/aqpkg/instoptionsimpl.cpp
index 9d52013..126e3b9 100644
--- a/noncore/settings/aqpkg/instoptionsimpl.cpp
+++ b/noncore/settings/aqpkg/instoptionsimpl.cpp
@@ -24,42 +24,45 @@
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 "global.h"
31#include "instoptionsimpl.h"
32#include "ipkg.h"
33
34/* OPIE */
30#ifdef QWS 35#ifdef QWS
31#include <qpe/config.h> 36#include <qpe/config.h>
32#endif 37#endif
38#include <qpe/qpeapplication.h>
33 39
40/* QT */
34#include <qcheckbox.h> 41#include <qcheckbox.h>
35#include <qcombobox.h> 42#include <qcombobox.h>
36#include <qgroupbox.h> 43#include <qgroupbox.h>
37#include <qlabel.h> 44#include <qlabel.h>
38#include <qlayout.h> 45#include <qlayout.h>
39 46
40#include "global.h"
41#include "instoptionsimpl.h"
42#include "ipkg.h"
43
44InstallOptionsDlgImpl::InstallOptionsDlgImpl( int flags, int verb, QWidget * parent, const char* name, bool modal, WFlags fl ) 47InstallOptionsDlgImpl::InstallOptionsDlgImpl( int flags, int verb, QWidget * parent, const char* name, bool modal, WFlags fl )
45 : QDialog( parent, name, modal, fl ) 48 : QDialog( parent, name, modal, fl )
46{ 49{
47 setCaption( tr( "Options" ) ); 50 setCaption( tr( "Options" ) );
48 51
49 QVBoxLayout *layout = new QVBoxLayout( this ); 52 QVBoxLayout *layout = new QVBoxLayout( this );
50 layout->setMargin( 2 ); 53 layout->setMargin( 2 );
51 layout->setSpacing( 4 ); 54 layout->setSpacing( 4 );
52 55
53 QGroupBox *grpbox = new QGroupBox( 0, Qt::Vertical, tr( "Options" ), this ); 56 QGroupBox *grpbox = new QGroupBox( 0, Qt::Vertical, tr( "Options" ), this );
54 grpbox->layout()->setSpacing( 2 ); 57 grpbox->layout()->setSpacing( 2 );
55 grpbox->layout()->setMargin( 4 ); 58 grpbox->layout()->setMargin( 4 );
56 layout->addWidget( grpbox ); 59 layout->addWidget( grpbox );
57 60
58 QVBoxLayout *grplayout = new QVBoxLayout( grpbox->layout() ); 61 QVBoxLayout *grplayout = new QVBoxLayout( grpbox->layout() );
59 62
60 forceDepends = new QCheckBox( tr( "Force Depends" ), grpbox ); 63 forceDepends = new QCheckBox( tr( "Force Depends" ), grpbox );
61 grplayout->addWidget( forceDepends ); 64 grplayout->addWidget( forceDepends );
62 65
63 forceReinstall = new QCheckBox( tr( "Force Reinstall" ), grpbox ); 66 forceReinstall = new QCheckBox( tr( "Force Reinstall" ), grpbox );
64 grplayout->addWidget( forceReinstall ); 67 grplayout->addWidget( forceReinstall );
65 68
@@ -68,43 +71,42 @@ InstallOptionsDlgImpl::InstallOptionsDlgImpl( int flags, int verb, QWidget * par
68 71
69 forceOverwrite = new QCheckBox( tr( "Force Overwrite" ), grpbox ); 72 forceOverwrite = new QCheckBox( tr( "Force Overwrite" ), grpbox );
70 grplayout->addWidget( forceOverwrite ); 73 grplayout->addWidget( forceOverwrite );
71 74
72 QLabel *l = new QLabel( tr( "Information Level" ), grpbox ); 75 QLabel *l = new QLabel( tr( "Information Level" ), grpbox );
73 grplayout->addWidget( l ); 76 grplayout->addWidget( l );
74 77
75 verboseIpkg = new QComboBox( grpbox ); 78 verboseIpkg = new QComboBox( grpbox );
76 verboseIpkg->insertItem( tr( "Errors only" ) ); 79 verboseIpkg->insertItem( tr( "Errors only" ) );
77 verboseIpkg->insertItem( tr( "Normal messages" ) ); 80 verboseIpkg->insertItem( tr( "Normal messages" ) );
78 verboseIpkg->insertItem( tr( "Informative messages" ) ); 81 verboseIpkg->insertItem( tr( "Informative messages" ) );
79 verboseIpkg->insertItem( tr( "Troubleshooting output" ) ); 82 verboseIpkg->insertItem( tr( "Troubleshooting output" ) );
80 verboseIpkg->setCurrentItem( verb ); 83 verboseIpkg->setCurrentItem( verb );
81 grplayout->addWidget( verboseIpkg ); 84 grplayout->addWidget( verboseIpkg );
82 85
83 grplayout->addItem( new QSpacerItem( 1, 1, QSizePolicy::Minimum, QSizePolicy::Expanding ) ); 86 grplayout->addItem( new QSpacerItem( 1, 1, QSizePolicy::Minimum, QSizePolicy::Expanding ) );
84 87
85 if ( flags & FORCE_DEPENDS ) 88 if ( flags & FORCE_DEPENDS )
86 forceDepends->setChecked( true ); 89 forceDepends->setChecked( true );
87 if ( flags & FORCE_REINSTALL ) 90 if ( flags & FORCE_REINSTALL )
88 forceReinstall->setChecked( true ); 91 forceReinstall->setChecked( true );
89 if ( flags & FORCE_REMOVE ) 92 if ( flags & FORCE_REMOVE )
90 forceRemove->setChecked( true ); 93 forceRemove->setChecked( true );
91 if ( flags & FORCE_OVERWRITE ) 94 if ( flags & FORCE_OVERWRITE )
92 forceOverwrite->setChecked( true ); 95 forceOverwrite->setChecked( true );
93// if ( flags & VERBOSE_WGET ) 96 // if ( flags & VERBOSE_WGET )
94 // verboseWget->setChecked( true ); 97 // verboseWget->setChecked( true );
95// if ( flags & MAKE_LINKS ) 98 // if ( flags & MAKE_LINKS )
96 // makeLinks->setChecked( true ); 99 // makeLinks->setChecked( true );
97 100
98 showMaximized(); 101 QPEApplication::showDialog( this );
99 102
100} 103}
101 104
102InstallOptionsDlgImpl::~InstallOptionsDlgImpl() 105InstallOptionsDlgImpl::~InstallOptionsDlgImpl()
103{ 106{}
104}
105 107
106 108
107int InstallOptionsDlgImpl :: getFlags() 109int InstallOptionsDlgImpl :: getFlags()
108{ 110{
109 int flags = 0; 111 int flags = 0;
110 112
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
67extern int compareVersions( const char *v1, const char *v2 ); 70extern int compareVersions( const char *v1, const char *v2 );
68 71
69MainWindow :: MainWindow( QWidget* parent, const char* name, WFlags fl ) 72MainWindow :: 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
240MainWindow :: ~MainWindow() 243MainWindow :: ~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
248void MainWindow :: initMainWidget() 251void 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 )
351void MainWindow :: displaySettings() 354void 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
363void MainWindow :: closeEvent( QCloseEvent *e ) 366void 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
594void MainWindow :: serverSelected( int index ) 597void 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
778void MainWindow :: upgradePackages() 781void 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
808void MainWindow :: downloadPackage() 811void 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
951void MainWindow :: applyChanges() 954void 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
1154void MainWindow :: letterPushed( QString t ) 1157void 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
1187void MainWindow :: slotDisplayPackage( QListViewItem *item ) 1191void 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
1194QuestionDlg::QuestionDlg( const QString &caption, const QString &text, const QString &secondbtn ) 1198QuestionDlg::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
diff --git a/noncore/settings/aqpkg/settingsimpl.cpp b/noncore/settings/aqpkg/settingsimpl.cpp
index 4887ceb..9fdf31e 100644
--- a/noncore/settings/aqpkg/settingsimpl.cpp
+++ b/noncore/settings/aqpkg/settingsimpl.cpp
@@ -21,43 +21,45 @@
21 :     =  ...= . :.=- You should have received a copy of the GNU 21 :     =  ...= . :.=- You should have received a copy of the GNU
22 -.   .:....=;==+<; General Public License along with this file; 22 -.   .:....=;==+<; General Public License along with this file;
23  -_. . .   )=.  = see the file COPYING. If not, write to the 23  -_. . .   )=.  = see the file COPYING. If not, write to the
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 <fstream> 30#include "settingsimpl.h"
31#include <algorithm> 31#include "global.h"
32using namespace std;
33 32
33/* OPIE */
34#include <opie/otabwidget.h>
35#ifdef QWS
36#include <qpe/config.h>
37#include <qpe/resource.h>
38#endif
39#include <qpe/qpeapplication.h>
40
41/* QT */
34#include <qcheckbox.h> 42#include <qcheckbox.h>
35#include <qgroupbox.h> 43#include <qgroupbox.h>
36#include <qlabel.h> 44#include <qlabel.h>
37#include <qlayout.h> 45#include <qlayout.h>
38#include <qlineedit.h> 46#include <qlineedit.h>
39#include <qlistbox.h> 47#include <qlistbox.h>
40#include <qpushbutton.h> 48#include <qpushbutton.h>
41 49
42#include <opie/otabwidget.h> 50/* STD */
43 51#include <fstream>
44#ifdef QWS 52#include <algorithm>
45#include <qpe/config.h> 53using namespace std;
46#include <qpe/resource.h>
47#endif
48
49#include "settingsimpl.h"
50
51#include "global.h"
52 54
53SettingsImpl :: SettingsImpl( DataManager *dataManager, QWidget * parent, const char* name, bool modal, WFlags fl ) 55SettingsImpl :: SettingsImpl( DataManager *dataManager, QWidget * parent, const char* name, bool modal, WFlags fl )
54 : QDialog( parent, name, modal, fl ) 56 : QDialog( parent, name, modal, fl )
55{ 57{
56 setCaption( tr( "Configuration" ) ); 58 setCaption( tr( "Configuration" ) );
57 59
58 // Setup layout to make everything pretty 60 // Setup layout to make everything pretty
59 QVBoxLayout *layout = new QVBoxLayout( this ); 61 QVBoxLayout *layout = new QVBoxLayout( this );
60 layout->setMargin( 2 ); 62 layout->setMargin( 2 );
61 layout->setSpacing( 4 ); 63 layout->setSpacing( 4 );
62 64
63 // Setup tabs for all info 65 // Setup tabs for all info
@@ -65,34 +67,31 @@ SettingsImpl :: SettingsImpl( DataManager *dataManager, QWidget * parent, const
65 layout->addWidget( tabwidget ); 67 layout->addWidget( tabwidget );
66 68
67 tabwidget->addTab( initServerTab(), "aqpkg/servertab", tr( "Servers" ) ); 69 tabwidget->addTab( initServerTab(), "aqpkg/servertab", tr( "Servers" ) );
68 tabwidget->addTab( initDestinationTab(), "aqpkg/desttab", tr( "Destinations" ) ); 70 tabwidget->addTab( initDestinationTab(), "aqpkg/desttab", tr( "Destinations" ) );
69 tabwidget->addTab( initProxyTab(), "aqpkg/proxytab", tr( "Proxies" ) ); 71 tabwidget->addTab( initProxyTab(), "aqpkg/proxytab", tr( "Proxies" ) );
70 tabwidget->setCurrentTab( tr( "Servers" ) ); 72 tabwidget->setCurrentTab( tr( "Servers" ) );
71 73
72 dataMgr = dataManager; 74 dataMgr = dataManager;
73 setupData(); 75 setupData();
74 changed = false; 76 changed = false;
75 newserver = false; 77 newserver = false;
76 newdestination = false; 78 newdestination = false;
77} 79}
78 80
79SettingsImpl :: ~SettingsImpl() 81SettingsImpl :: ~SettingsImpl()
80{ 82{
81
82} 83}
83 84
84bool SettingsImpl :: showDlg() 85bool SettingsImpl :: showDlg()
85{ 86{
86 showMaximized(); 87 QPEApplication::execDialog( this );
87 exec(); 88 if ( changed )
88 89 dataMgr->writeOutIpkgConf();
89 if ( changed )
90 dataMgr->writeOutIpkgConf();
91 90
92 return changed; 91 return changed;
93} 92}
94 93
95QWidget *SettingsImpl :: initServerTab() 94QWidget *SettingsImpl :: initServerTab()
96{ 95{
97 QWidget *control = new QWidget( this ); 96 QWidget *control = new QWidget( this );
98 97
@@ -115,41 +114,41 @@ QWidget *SettingsImpl :: initServerTab()
115 connect( servers, SIGNAL( highlighted( int ) ), this, SLOT( editServer( int ) ) ); 114 connect( servers, SIGNAL( highlighted( int ) ), this, SLOT( editServer( int ) ) );
116 layout->addMultiCellWidget( servers, 0, 0, 0, 1 ); 115 layout->addMultiCellWidget( servers, 0, 0, 0, 1 );
117 116
118 QPushButton *btn = new QPushButton( Resource::loadPixmap( "new" ), tr( "New" ), container ); 117 QPushButton *btn = new QPushButton( Resource::loadPixmap( "new" ), tr( "New" ), container );
119 connect( btn, SIGNAL( clicked() ), this, SLOT( newServer() ) ); 118 connect( btn, SIGNAL( clicked() ), this, SLOT( newServer() ) );
120 layout->addWidget( btn, 1, 0 ); 119 layout->addWidget( btn, 1, 0 );
121 120
122 btn = new QPushButton( Resource::loadPixmap( "trash" ), tr( "Delete" ), container ); 121 btn = new QPushButton( Resource::loadPixmap( "trash" ), tr( "Delete" ), container );
123 connect( btn, SIGNAL( clicked() ), this, SLOT( removeServer() ) ); 122 connect( btn, SIGNAL( clicked() ), this, SLOT( removeServer() ) );
124 layout->addWidget( btn, 1, 1 ); 123 layout->addWidget( btn, 1, 1 );
125 124
126 QGroupBox *grpbox = new QGroupBox( 0, Qt::Vertical, tr( "Server" ), container ); 125 QGroupBox *grpbox = new QGroupBox( 0, Qt::Vertical, tr( "Server" ), container );
127 grpbox->layout()->setSpacing( 2 ); 126 grpbox->layout()->setSpacing( 2 );
128 grpbox->layout()->setMargin( 4 ); 127 grpbox->layout()->setMargin( 4 );
129 layout->addMultiCellWidget( grpbox, 2, 2, 0, 1 ); 128 layout->addMultiCellWidget( grpbox, 2, 2, 0, 1 );
130 129
131 QGridLayout *grplayout = new QGridLayout( grpbox->layout() ); 130 QGridLayout *grplayout = new QGridLayout( grpbox->layout() );
132 131
133 QLabel *label = new QLabel( tr( "Name:" ), grpbox ); 132 QLabel *label = new QLabel( tr( "Name:" ), grpbox );
134 grplayout->addWidget( label, 0, 0 ); 133 grplayout->addWidget( label, 0, 0 );
135 servername = new QLineEdit( grpbox ); 134 servername = new QLineEdit( grpbox );
136 grplayout->addWidget( servername, 0, 1 ); 135 grplayout->addWidget( servername, 0, 1 );
137 136
138 label = new QLabel( tr( "Address:" ), grpbox ); 137 label = new QLabel( tr( "Address:" ), grpbox );
139 grplayout->addWidget( label, 1, 0 ); 138 grplayout->addWidget( label, 1, 0 );
140 serverurl = new QLineEdit( grpbox ); 139 serverurl = new QLineEdit( grpbox );
141 grplayout->addWidget( serverurl, 1, 1 ); 140 grplayout->addWidget( serverurl, 1, 1 );
142 141
143 active = new QCheckBox( tr( "Active Server" ), grpbox ); 142 active = new QCheckBox( tr( "Active Server" ), grpbox );
144 grplayout->addMultiCellWidget( active, 2, 2, 0, 1 ); 143 grplayout->addMultiCellWidget( active, 2, 2, 0, 1 );
145 144
146 btn = new QPushButton( Resource::loadPixmap( "edit" ), tr( "Update" ), grpbox ); 145 btn = new QPushButton( Resource::loadPixmap( "edit" ), tr( "Update" ), grpbox );
147 connect( btn, SIGNAL( clicked() ), this, SLOT( changeServerDetails() ) ); 146 connect( btn, SIGNAL( clicked() ), this, SLOT( changeServerDetails() ) );
148 grplayout->addMultiCellWidget( btn, 3, 3, 0, 1 ); 147 grplayout->addMultiCellWidget( btn, 3, 3, 0, 1 );
149 148
150 return control; 149 return control;
151} 150}
152 151
153QWidget *SettingsImpl :: initDestinationTab() 152QWidget *SettingsImpl :: initDestinationTab()
154{ 153{
155 QWidget *control = new QWidget( this ); 154 QWidget *control = new QWidget( this );
@@ -173,41 +172,41 @@ QWidget *SettingsImpl :: initDestinationTab()
173 connect( destinations, SIGNAL( highlighted( int ) ), this, SLOT( editDestination( int ) ) ); 172 connect( destinations, SIGNAL( highlighted( int ) ), this, SLOT( editDestination( int ) ) );
174 layout->addMultiCellWidget( destinations, 0, 0, 0, 1 ); 173 layout->addMultiCellWidget( destinations, 0, 0, 0, 1 );
175 174
176 QPushButton *btn = new QPushButton( Resource::loadPixmap( "new" ), tr( "New" ), container ); 175 QPushButton *btn = new QPushButton( Resource::loadPixmap( "new" ), tr( "New" ), container );
177 connect( btn, SIGNAL( clicked() ), this, SLOT( newDestination() ) ); 176 connect( btn, SIGNAL( clicked() ), this, SLOT( newDestination() ) );
178 layout->addWidget( btn, 1, 0 ); 177 layout->addWidget( btn, 1, 0 );
179 178
180 btn = new QPushButton( Resource::loadPixmap( "trash" ), tr( "Delete" ), container ); 179 btn = new QPushButton( Resource::loadPixmap( "trash" ), tr( "Delete" ), container );
181 connect( btn, SIGNAL( clicked() ), this, SLOT( removeDestination() ) ); 180 connect( btn, SIGNAL( clicked() ), this, SLOT( removeDestination() ) );
182 layout->addWidget( btn, 1, 1 ); 181 layout->addWidget( btn, 1, 1 );
183 182
184 QGroupBox *grpbox = new QGroupBox( 0, Qt::Vertical, tr( "Destination" ), container ); 183 QGroupBox *grpbox = new QGroupBox( 0, Qt::Vertical, tr( "Destination" ), container );
185 grpbox->layout()->setSpacing( 2 ); 184 grpbox->layout()->setSpacing( 2 );
186 grpbox->layout()->setMargin( 4 ); 185 grpbox->layout()->setMargin( 4 );
187 layout->addMultiCellWidget( grpbox, 2, 2, 0, 1 ); 186 layout->addMultiCellWidget( grpbox, 2, 2, 0, 1 );
188 187
189 QGridLayout *grplayout = new QGridLayout( grpbox->layout() ); 188 QGridLayout *grplayout = new QGridLayout( grpbox->layout() );
190 189
191 QLabel *label = new QLabel( tr( "Name:" ), grpbox ); 190 QLabel *label = new QLabel( tr( "Name:" ), grpbox );
192 grplayout->addWidget( label, 0, 0 ); 191 grplayout->addWidget( label, 0, 0 );
193 destinationname = new QLineEdit( grpbox ); 192 destinationname = new QLineEdit( grpbox );
194 grplayout->addWidget( destinationname, 0, 1 ); 193 grplayout->addWidget( destinationname, 0, 1 );
195 194
196 label = new QLabel( tr( "Location:" ), grpbox ); 195 label = new QLabel( tr( "Location:" ), grpbox );
197 grplayout->addWidget( label, 1, 0 ); 196 grplayout->addWidget( label, 1, 0 );
198 destinationurl = new QLineEdit( grpbox ); 197 destinationurl = new QLineEdit( grpbox );
199 grplayout->addWidget( destinationurl, 1, 1 ); 198 grplayout->addWidget( destinationurl, 1, 1 );
200 199
201 linkToRoot = new QCheckBox( tr( "Link to root" ), grpbox ); 200 linkToRoot = new QCheckBox( tr( "Link to root" ), grpbox );
202 grplayout->addMultiCellWidget( linkToRoot, 2, 2, 0, 1 ); 201 grplayout->addMultiCellWidget( linkToRoot, 2, 2, 0, 1 );
203 202
204 btn = new QPushButton( Resource::loadPixmap( "edit" ), tr( "Update" ), grpbox ); 203 btn = new QPushButton( Resource::loadPixmap( "edit" ), tr( "Update" ), grpbox );
205 connect( btn, SIGNAL( clicked() ), this, SLOT( changeDestinationDetails() ) ); 204 connect( btn, SIGNAL( clicked() ), this, SLOT( changeDestinationDetails() ) );
206 grplayout->addMultiCellWidget( btn, 3, 3, 0, 1 ); 205 grplayout->addMultiCellWidget( btn, 3, 3, 0, 1 );
207 206
208 return control; 207 return control;
209} 208}
210 209
211QWidget *SettingsImpl :: initProxyTab() 210QWidget *SettingsImpl :: initProxyTab()
212{ 211{
213 QWidget *control = new QWidget( this ); 212 QWidget *control = new QWidget( this );
@@ -232,23 +231,23 @@ QWidget *SettingsImpl :: initProxyTab()
232 layout->addMultiCellWidget( grpbox, 0, 0, 0, 1 ); 231 layout->addMultiCellWidget( grpbox, 0, 0, 0, 1 );
233 QVBoxLayout *grplayout = new QVBoxLayout( grpbox->layout() ); 232 QVBoxLayout *grplayout = new QVBoxLayout( grpbox->layout() );
234 txtHttpProxy = new QLineEdit( grpbox ); 233 txtHttpProxy = new QLineEdit( grpbox );
235 grplayout->addWidget( txtHttpProxy ); 234 grplayout->addWidget( txtHttpProxy );
236 chkHttpProxyEnabled = new QCheckBox( tr( "Enabled" ), grpbox ); 235 chkHttpProxyEnabled = new QCheckBox( tr( "Enabled" ), grpbox );
237 grplayout->addWidget( chkHttpProxyEnabled ); 236 grplayout->addWidget( chkHttpProxyEnabled );
238 237
239 grpbox = new QGroupBox( 0, Qt::Vertical, tr( "FTP Proxy" ), container ); 238 grpbox = new QGroupBox( 0, Qt::Vertical, tr( "FTP Proxy" ), container );
240 grpbox->layout()->setSpacing( 2 ); 239 grpbox->layout()->setSpacing( 2 );
241 grpbox->layout()->setMargin( 4 ); 240 grpbox->layout()->setMargin( 4 );
242 layout->addMultiCellWidget( grpbox, 1, 1, 0, 1 ); 241 layout->addMultiCellWidget( grpbox, 1, 1, 0, 1 );
243 grplayout = new QVBoxLayout( grpbox->layout() ); 242 grplayout = new QVBoxLayout( grpbox->layout() );
244 txtFtpProxy = new QLineEdit( grpbox ); 243 txtFtpProxy = new QLineEdit( grpbox );
245 grplayout->addWidget( txtFtpProxy ); 244 grplayout->addWidget( txtFtpProxy );
246 chkFtpProxyEnabled = new QCheckBox( tr( "Enabled" ), grpbox ); 245 chkFtpProxyEnabled = new QCheckBox( tr( "Enabled" ), grpbox );
247 grplayout->addWidget( chkFtpProxyEnabled ); 246 grplayout->addWidget( chkFtpProxyEnabled );
248 247
249 QLabel *label = new QLabel( tr( "Username:" ), container ); 248 QLabel *label = new QLabel( tr( "Username:" ), container );
250 layout->addWidget( label, 2, 0 ); 249 layout->addWidget( label, 2, 0 );
251 txtUsername = new QLineEdit( container ); 250 txtUsername = new QLineEdit( container );
252 layout->addWidget( txtUsername, 2, 1 ); 251 layout->addWidget( txtUsername, 2, 1 );
253 252
254 label = new QLabel( tr( "Password:" ), container ); 253 label = new QLabel( tr( "Password:" ), container );
@@ -256,36 +255,36 @@ QWidget *SettingsImpl :: initProxyTab()
256 txtPassword = new QLineEdit( container ); 255 txtPassword = new QLineEdit( container );
257 layout->addWidget( txtPassword, 3, 1 ); 256 layout->addWidget( txtPassword, 3, 1 );
258 257
259 QPushButton *btn = new QPushButton( Resource::loadPixmap( "edit" ), tr( "Update" ), container ); 258 QPushButton *btn = new QPushButton( Resource::loadPixmap( "edit" ), tr( "Update" ), container );
260 connect( btn, SIGNAL( clicked() ), this, SLOT( proxyApplyChanges() ) ); 259 connect( btn, SIGNAL( clicked() ), this, SLOT( proxyApplyChanges() ) );
261 layout->addMultiCellWidget( btn, 4, 4, 0, 1 ); 260 layout->addMultiCellWidget( btn, 4, 4, 0, 1 );
262 261
263 return control; 262 return control;
264} 263}
265 264
266void SettingsImpl :: setupData() 265void SettingsImpl :: setupData()
267{ 266{
268 // add servers 267 // add servers
269 QString serverName; 268 QString serverName;
270 QListIterator<Server> it( dataMgr->getServerList() ); 269 QListIterator<Server> it( dataMgr->getServerList() );
271 for ( ; it.current(); ++it ) 270 for ( ; it.current(); ++it )
272 { 271 {
273 serverName = it.current()->getServerName(); 272 serverName = it.current()->getServerName();
274 if ( serverName == LOCAL_SERVER || serverName == LOCAL_IPKGS ) 273 if ( serverName == LOCAL_SERVER || serverName == LOCAL_IPKGS )
275 continue; 274 continue;
276 275
277 servers->insertItem( serverName ); 276 servers->insertItem( serverName );
278 } 277 }
279 278
280 279
281 // add destinations 280 // add destinations
282 QListIterator<Destination> it2( dataMgr->getDestinationList() ); 281 QListIterator<Destination> it2( dataMgr->getDestinationList() );
283 for ( ; it2.current(); ++it2 ) 282 for ( ; it2.current(); ++it2 )
284 destinations->insertItem( it2.current()->getDestinationName() ); 283 destinations->insertItem( it2.current()->getDestinationName() );
285 284
286 // setup proxy tab 285 // setup proxy tab
287 txtHttpProxy->setText( dataMgr->getHttpProxy() ); 286 txtHttpProxy->setText( dataMgr->getHttpProxy() );
288 txtFtpProxy->setText( dataMgr->getFtpProxy() ); 287 txtFtpProxy->setText( dataMgr->getFtpProxy() );
289 txtUsername->setText( dataMgr->getProxyUsername() ); 288 txtUsername->setText( dataMgr->getProxyUsername() );
290 txtPassword->setText( dataMgr->getProxyPassword() ); 289 txtPassword->setText( dataMgr->getProxyPassword() );
291 chkHttpProxyEnabled->setChecked( dataMgr->getHttpProxyEnabled() ); 290 chkHttpProxyEnabled->setChecked( dataMgr->getHttpProxyEnabled() );
@@ -333,59 +332,59 @@ void SettingsImpl :: removeServer()
333 servers->removeItem( currentSelectedServer ); 332 servers->removeItem( currentSelectedServer );
334 } 333 }
335} 334}
336 335
337void SettingsImpl :: changeServerDetails() 336void SettingsImpl :: changeServerDetails()
338{ 337{
339 changed = true; 338 changed = true;
340 339
341 QString newName = servername->text(); 340 QString newName = servername->text();
342 341
343 // Convert any spaces to underscores 342 // Convert any spaces to underscores
344 char *tmpStr = new char[newName.length() + 1]; 343 char *tmpStr = new char[newName.length() + 1];
345 for ( unsigned int i = 0 ; i < newName.length() ; ++i ) 344 for ( unsigned int i = 0 ; i < newName.length() ; ++i )
346 { 345 {
347 if ( newName[i] == ' ' ) 346 if ( newName[i] == ' ' )
348 tmpStr[i] = '_'; 347 tmpStr[i] = '_';
349 else 348 else
350 tmpStr[i] = newName[i].latin1(); 349 tmpStr[i] = newName[i].latin1();
351 } 350 }
352 tmpStr[newName.length()] = '\0'; 351 tmpStr[newName.length()] = '\0';
353 352
354 newName = tmpStr; 353 newName = tmpStr;
355 delete tmpStr; 354 delete tmpStr;
356 355
357 if ( !newserver ) 356 if ( !newserver )
358 { 357 {
359 Server *s = dataMgr->getServer( servers->currentText() ); 358 Server *s = dataMgr->getServer( servers->currentText() );
360 if ( s ) 359 if ( s )
361 { 360 {
362 // Update url 361 // Update url
363 s->setServerUrl( serverurl->text() ); 362 s->setServerUrl( serverurl->text() );
364 s->setActive( active->isChecked() ); 363 s->setActive( active->isChecked() );
365 364
366 // Check if server name has changed, if it has then we need to replace the key in the map 365 // Check if server name has changed, if it has then we need to replace the key in the map
367 if ( serverName != newName ) 366 if ( serverName != newName )
368 { 367 {
369 // Update server name 368 // Update server name
370 s->setServerName( newName ); 369 s->setServerName( newName );
371 } 370 }
372 371
373 // Update list box 372 // Update list box
374 servers->changeItem( newName, currentSelectedServer ); 373 servers->changeItem( newName, currentSelectedServer );
375 } 374 }
376 } 375 }
377 else 376 else
378 { 377 {
379 Server s( newName, serverurl->text() ); 378 Server s( newName, serverurl->text() );
380 dataMgr->getServerList().append( new Server( newName, serverurl->text() ) ); 379 dataMgr->getServerList().append( new Server( newName, serverurl->text() ) );
381 dataMgr->getServerList().last()->setActive( active->isChecked() ); 380 dataMgr->getServerList().last()->setActive( active->isChecked() );
382 servers->insertItem( newName ); 381 servers->insertItem( newName );
383 servers->setCurrentItem( servers->count() ); 382 servers->setCurrentItem( servers->count() );
384 newserver = false; 383 newserver = false;
385 } 384 }
386} 385}
387 386
388//------------------ Destinations tab ---------------------- 387//------------------ Destinations tab ----------------------
389 388
390void SettingsImpl :: editDestination( int sel ) 389void SettingsImpl :: editDestination( int sel )
391{ 390{
@@ -406,16 +405,16 @@ void SettingsImpl :: editDestination( int sel )
406 linkToRoot->setChecked( false ); 405 linkToRoot->setChecked( false );
407 } 406 }
408} 407}
409 408
410void SettingsImpl :: newDestination() 409void SettingsImpl :: newDestination()
411{ 410{
412 newdestination = true; 411 newdestination = true;
413 destinationname->setText( "" ); 412 destinationname->setText( "" );
414 destinationurl->setText( "" ); 413 destinationurl->setText( "" );
415 destinationname->setFocus(); 414 destinationname->setFocus();
416 linkToRoot->setChecked( true ); 415 linkToRoot->setChecked( true );
417} 416}
418 417
419void SettingsImpl :: removeDestination() 418void SettingsImpl :: removeDestination()
420{ 419{
421 changed = true; 420 changed = true;
@@ -426,60 +425,62 @@ void SettingsImpl :: removeDestination()
426 destinations->removeItem( currentSelectedDestination ); 425 destinations->removeItem( currentSelectedDestination );
427 } 426 }
428} 427}
429 428
430void SettingsImpl :: changeDestinationDetails() 429void SettingsImpl :: changeDestinationDetails()
431{ 430{
432 changed = true; 431 changed = true;
433 432
434#ifdef QWS 433#ifdef QWS
435 Config cfg( "aqpkg" ); 434 Config cfg( "aqpkg" );
436 cfg.setGroup( "destinations" ); 435 cfg.setGroup( "destinations" );
437#endif 436#endif
438 437
439 QString newName = destinationname->text(); 438 QString newName = destinationname->text();
440 if ( !newdestination ) 439 if ( !newdestination )
441 { 440 {
442 Destination *d = dataMgr->getDestination( destinations->currentText() ); 441 Destination *d = dataMgr->getDestination( destinations->currentText() );
443 if ( d ) 442 if ( d )
444 { 443 {
445 // Update url 444 // Update url
446 d->setDestinationPath( destinationurl->text() ); 445 d->setDestinationPath( destinationurl->text() );
447 d->linkToRoot( linkToRoot->isChecked() ); 446 d->linkToRoot( linkToRoot->isChecked() );
448 447
449 // Check if server name has changed, if it has then we need to replace the key in the map 448 // Check if server name has changed, if it has then we need to replace the key in the map
450 if ( destinationName != newName ) 449 if ( destinationName != newName )
451 { 450 {
452 // Update server name 451 // Update server name
453 d->setDestinationName( newName ); 452 d->setDestinationName( newName );
454 453
455 // Update list box 454 // Update list box
456 destinations->changeItem( newName, currentSelectedDestination ); 455 destinations->changeItem( newName, currentSelectedDestination );
457 } 456 }
458 457
459#ifdef QWS 458#ifdef QWS
460 QString key = newName; 459 QString key = newName;
461 key += "_linkToRoot"; 460 key += "_linkToRoot";
462 int val = d->linkToRoot(); 461 int val = d->linkToRoot();
463 cfg.writeEntry( key, val ); 462 cfg.writeEntry( key, val );
464#endif 463#endif
465 } 464
466 } 465 }
467 else 466 }
468 { 467 else
469 dataMgr->getDestinationList().append( new Destination( newName, destinationurl->text() ) ); 468 {
470 destinations->insertItem( newName ); 469 dataMgr->getDestinationList().append( new Destination( newName, destinationurl->text() ) );
471 destinations->setCurrentItem( destinations->count() ); 470 destinations->insertItem( newName );
472 newdestination = false; 471 destinations->setCurrentItem( destinations->count() );
472 newdestination = false;
473 473
474#ifdef QWS 474#ifdef QWS
475 QString key = newName; 475 QString key = newName;
476 key += "_linkToRoot"; 476 key += "_linkToRoot";
477 cfg.writeEntry( key, true ); 477 cfg.writeEntry( key, true );
478#endif 478#endif
479 } 479
480 }
480} 481}
481 482
482//------------------ Proxy tab ---------------------- 483//------------------ Proxy tab ----------------------
483void SettingsImpl :: proxyApplyChanges() 484void SettingsImpl :: proxyApplyChanges()
484{ 485{
485 changed = true; 486 changed = true;