From 294f0a9b5e5678a6eba1fb77943201fac804049f Mon Sep 17 00:00:00 2001 From: drw Date: Tue, 04 Feb 2003 17:52:14 +0000 Subject: Updates to configure dialog --- (limited to 'noncore/settings') diff --git a/noncore/settings/aqpkg/.cvsignore b/noncore/settings/aqpkg/.cvsignore index 751040e..12658fc 100644 --- a/noncore/settings/aqpkg/.cvsignore +++ b/noncore/settings/aqpkg/.cvsignore @@ -2,7 +2,5 @@ Makefile* instoptions.cpp instoptions.h moc* -settings.cpp -settings.h categoryfilter.cpp categoryfilter.h diff --git a/noncore/settings/aqpkg/aqpkg.pro b/noncore/settings/aqpkg/aqpkg.pro index d3f898b..f66fd95 100644 --- a/noncore/settings/aqpkg/aqpkg.pro +++ b/noncore/settings/aqpkg/aqpkg.pro @@ -32,8 +32,7 @@ SOURCES = mainwin.cpp \ inputdlg.cpp \ version.cpp \ categoryfilterimpl.cpp -INTERFACES = settings.ui \ - instoptions.ui \ +INTERFACES = instoptions.ui \ categoryfilter.ui TARGET = aqpkg INCLUDEPATH += $(OPIEDIR)/include diff --git a/noncore/settings/aqpkg/mainwin.cpp b/noncore/settings/aqpkg/mainwin.cpp index 947aace..361946c 100644 --- a/noncore/settings/aqpkg/mainwin.cpp +++ b/noncore/settings/aqpkg/mainwin.cpp @@ -345,7 +345,7 @@ void MainWindow :: setDocument( const QString &doc ) void MainWindow :: displaySettings() { SettingsImpl *dlg = new SettingsImpl( mgr, this, "Settings", true ); - if ( dlg->showDlg( 0 ) ) + if ( dlg->showDlg() ) { stack->raiseWidget( progressWindow ); updateData(); diff --git a/noncore/settings/aqpkg/settings.ui b/noncore/settings/aqpkg/settings.ui deleted file mode 100644 index 2db0768..0000000 --- a/noncore/settings/aqpkg/settings.ui +++ b/dev/null @@ -1,872 +0,0 @@ - -SettingsBase - - QDialog - - name - Settings - - - geometry - - 0 - 0 - 238 - 353 - - - - caption - Configuration - - - layoutMargin - - - layoutSpacing - - - - margin - 11 - - - spacing - 6 - - - QTabWidget - - name - TabWidget - - - enabled - true - - - layoutMargin - - - layoutSpacing - - - QWidget - - name - tab - - - title - Servers - - - - margin - 11 - - - spacing - 6 - - - QLayoutWidget - - name - Layout2 - - - - margin - 0 - - - spacing - 6 - - - QLabel - - name - Servers - - - text - Servers - - - - - name - Spacer2 - - - orientation - Horizontal - - - sizeType - Expanding - - - sizeHint - - 20 - 20 - - - - - - - QLayoutWidget - - name - Layout8 - - - - margin - 0 - - - spacing - 6 - - - QListBox - - name - servers - - - selectionMode - Extended - - - - QLayoutWidget - - name - Layout6 - - - - margin - 0 - - - spacing - 6 - - - QCheckBox - - name - active - - - text - Active Server - - - - QLabel - - name - TextLabel1_3 - - - text - Name: - - - - QLabel - - name - TextLabel2_3 - - - text - URL: - - - - QLineEdit - - name - servername - - - - QLineEdit - - name - serverurl - - - - QPushButton - - name - btnChangeServer - - - text - Change - - - - - - QPushButton - - name - removeserver - - - enabled - true - - - text - Remove - - - autoDefault - false - - - - QPushButton - - name - newserver - - - enabled - true - - - text - New - - - autoDefault - false - - - - - - - - QWidget - - name - tab - - - title - Destinations - - - - margin - 11 - - - spacing - 6 - - - QLayoutWidget - - name - Layout3 - - - - margin - 0 - - - spacing - 6 - - - QLabel - - name - Destinations - - - text - Destinations - - - - - name - Spacer2_2 - - - orientation - Horizontal - - - sizeType - Expanding - - - sizeHint - - 20 - 20 - - - - - - - QLayoutWidget - - name - Layout5 - - - - margin - 0 - - - spacing - 6 - - - QPushButton - - name - newdestination - - - enabled - true - - - text - New - - - autoDefault - false - - - - QPushButton - - name - removedestination - - - enabled - true - - - text - Remove - - - autoDefault - false - - - - - - - name - Spacer3 - - - orientation - Horizontal - - - sizeType - Expanding - - - sizeHint - - 20 - 20 - - - - - QListBox - - name - destinations - - - selectionMode - Single - - - - QLayoutWidget - - name - Layout13 - - - - margin - 0 - - - spacing - 6 - - - QLabel - - name - TextLabel1_3_2_2 - - - text - URL: - - - - QPushButton - - name - btnChangeDest - - - text - Change - - - - QLineEdit - - name - destinationname - - - - QLabel - - name - TextLabel1_3_2 - - - text - Name: - - - - QCheckBox - - name - linkToRoot - - - text - Link To Root - - - checked - true - - - - QLineEdit - - name - destinationurl - - - - - - - - QWidget - - name - tab - - - title - Proxies - - - QLabel - - name - TextLabel1_2 - - - geometry - - 1 - 19 - 67 - 22 - - - - text - HTTP Proxy - - - - QLineEdit - - name - txtFtpProxy - - - geometry - - 74 - 72 - 110 - 22 - - - - - QLineEdit - - name - txtHttpProxy - - - geometry - - 74 - 19 - 110 - 22 - - - - - QLabel - - name - TextLabel4 - - - geometry - - 1 - 153 - 67 - 22 - - - - text - Password - - - - QLineEdit - - name - txtUsername - - - geometry - - 74 - 125 - 110 - 22 - - - - - QLineEdit - - name - txtPassword - - - geometry - - 74 - 153 - 110 - 22 - - - - - QCheckBox - - name - chkFtpProxyEnabled - - - geometry - - 74 - 100 - 110 - 19 - - - - text - Enabled - - - - QLabel - - name - TextLabel2 - - - geometry - - 1 - 72 - 67 - 22 - - - - text - FTP Proxy - - - - QLabel - - name - TextLabel3 - - - geometry - - 1 - 125 - 67 - 22 - - - - text - Username - - - - QCheckBox - - name - chkHttpProxyEnabled - - - geometry - - 74 - 47 - 110 - 19 - - - - text - Enabled - - - - QPushButton - - name - btnProxyApply - - - geometry - - 74 - 181 - 110 - 28 - - - - text - &Apply - - - - - QWidget - - name - tab - - - title - General - - - QLabel - - name - TextLabel1 - - - geometry - - 20 - 30 - 150 - 20 - - - - text - (Will take effect on restart) - - - - QCheckBox - - name - jumpTo - - - geometry - - 17 - 14 - 150 - 20 - - - - text - Show Jump To Letters - - - - - - - - - newserver - clicked() - Settings - newServer() - - - removeserver - clicked() - Settings - removeServer() - - - newdestination - clicked() - Settings - newDestination() - - - removedestination - clicked() - Settings - removeDestination() - - - servers - highlighted(int) - Settings - editServer(int) - - - destinations - highlighted(int) - Settings - editDestination(int) - - - btnChangeServer - clicked() - Settings - changeServerDetails() - - - btnChangeDest - clicked() - Settings - changeDestinationDetails() - - - jumpTo - toggled(bool) - Settings - toggleJumpTo(bool) - - - btnProxyApply - clicked() - Settings - proxyApplyChanges() - - activeServerChanged() - changeDestinationDetails() - changeServerDetails() - createLinksToDest() - destNameChanged(const QString&) - destUrlChanged(const QString&) - editDestination(int) - editServer(int) - installationSettingChange(int) - installationSettingSetName(const QString &) - linkEnabled(bool) - newDestination() - newInstallationSetting() - newServer() - proxyApplyChanges() - removeDestination() - removeInstallationSetting() - removeLinksToDest() - removeServer() - renameInstallationSetting() - serverNameChanged(const QString&) - serverUrlChanged(const QString&) - toggleJumpTo(bool) - - - servers - newserver - removeserver - servername - serverurl - active - btnChangeServer - TabWidget - destinations - newdestination - removedestination - destinationname - destinationurl - linkToRoot - btnChangeDest - jumpTo - - diff --git a/noncore/settings/aqpkg/settingsimpl.cpp b/noncore/settings/aqpkg/settingsimpl.cpp index 4bb928a..c5a55d2 100644 --- a/noncore/settings/aqpkg/settingsimpl.cpp +++ b/noncore/settings/aqpkg/settingsimpl.cpp @@ -19,14 +19,19 @@ #include using namespace std; -#include +#include +#include +#include +#include #include +#include #include -#include -#include + +#include #ifdef QWS #include +#include #endif #include "settingsimpl.h" @@ -34,10 +39,25 @@ using namespace std; #include "global.h" SettingsImpl :: SettingsImpl( DataManager *dataManager, QWidget * parent, const char* name, bool modal, WFlags fl ) - : SettingsBase( parent, name, modal, fl ) + : QDialog( parent, name, modal, fl ) { + setCaption( tr( "Configuration" ) ); + + // Setup layout to make everything pretty + QVBoxLayout *layout = new QVBoxLayout( this ); + layout->setMargin( 2 ); + layout->setSpacing( 4 ); + + // Setup tabs for all info + OTabWidget *tabwidget = new OTabWidget( this ); + layout->addWidget( tabwidget ); + + tabwidget->addTab( initServerTab(), "aqpkg/servertab", tr( "Servers" ) ); + tabwidget->addTab( initDestinationTab(), "aqpkg/desttab", tr( "Destinations" ) ); + tabwidget->addTab( initProxyTab(), "aqpkg/proxytab", tr( "Proxies" ) ); + tabwidget->setCurrentTab( tr( "Servers" ) ); + dataMgr = dataManager; - setupData(); changed = false; newserver = false; @@ -49,9 +69,8 @@ SettingsImpl :: ~SettingsImpl() } -bool SettingsImpl :: showDlg( int i ) +bool SettingsImpl :: showDlg() { - TabWidget->setCurrentPage( i ); showMaximized(); exec(); @@ -61,6 +80,177 @@ bool SettingsImpl :: showDlg( int i ) return changed; } +QWidget *SettingsImpl :: initServerTab() +{ + QWidget *control = new QWidget( this ); + + QVBoxLayout *vb = new QVBoxLayout( control ); + + QScrollView *sv = new QScrollView( control ); + vb->addWidget( sv, 0, 0 ); + sv->setResizePolicy( QScrollView::AutoOneFit ); + sv->setFrameStyle( QFrame::NoFrame ); + + QWidget *container = new QWidget( sv->viewport() ); + sv->addChild( container ); + + QGridLayout *layout = new QGridLayout( container ); + layout->setSpacing( 2 ); + layout->setMargin( 4 ); + + servers = new QListBox( container ); + servers->setSizePolicy( QSizePolicy( QSizePolicy::Preferred, QSizePolicy::Preferred ) ); + connect( servers, SIGNAL( highlighted( int ) ), this, SLOT( editServer( int ) ) ); + layout->addMultiCellWidget( servers, 0, 0, 0, 1 ); + + QPushButton *btn = new QPushButton( Resource::loadPixmap( "new" ), tr( "New" ), container ); + connect( btn, SIGNAL( clicked() ), this, SLOT( newServer() ) ); + layout->addWidget( btn, 1, 0 ); + + btn = new QPushButton( Resource::loadPixmap( "trash" ), tr( "Delete" ), container ); + connect( btn, SIGNAL( clicked() ), this, SLOT( removeServer() ) ); + layout->addWidget( btn, 1, 1 ); + + QGroupBox *grpbox = new QGroupBox( 0, Qt::Vertical, tr( "Server" ), container ); + grpbox->layout()->setSpacing( 2 ); + grpbox->layout()->setMargin( 4 ); + layout->addMultiCellWidget( grpbox, 2, 2, 0, 1 ); + + QGridLayout *grplayout = new QGridLayout( grpbox->layout() ); + + QLabel *label = new QLabel( tr( "Name:" ), grpbox ); + grplayout->addWidget( label, 0, 0 ); + servername = new QLineEdit( grpbox ); + grplayout->addWidget( servername, 0, 1 ); + + label = new QLabel( tr( "Address:" ), grpbox ); + grplayout->addWidget( label, 1, 0 ); + serverurl = new QLineEdit( grpbox ); + grplayout->addWidget( serverurl, 1, 1 ); + + active = new QCheckBox( tr( "Active Server" ), grpbox ); + grplayout->addMultiCellWidget( active, 2, 2, 0, 1 ); + + btn = new QPushButton( Resource::loadPixmap( "edit" ), tr( "Update" ), grpbox ); + connect( btn, SIGNAL( clicked() ), this, SLOT( changeServerDetails() ) ); + grplayout->addMultiCellWidget( btn, 3, 3, 0, 1 ); + + return control; +} + +QWidget *SettingsImpl :: initDestinationTab() +{ + QWidget *control = new QWidget( this ); + + QVBoxLayout *vb = new QVBoxLayout( control ); + + QScrollView *sv = new QScrollView( control ); + vb->addWidget( sv, 0, 0 ); + sv->setResizePolicy( QScrollView::AutoOneFit ); + sv->setFrameStyle( QFrame::NoFrame ); + + QWidget *container = new QWidget( sv->viewport() ); + sv->addChild( container ); + + QGridLayout *layout = new QGridLayout( container ); + layout->setSpacing( 2 ); + layout->setMargin( 4 ); + + destinations = new QListBox( container ); + destinations->setSizePolicy( QSizePolicy( QSizePolicy::Preferred, QSizePolicy::Preferred ) ); + connect( destinations, SIGNAL( highlighted( int ) ), this, SLOT( editDestination( int ) ) ); + layout->addMultiCellWidget( destinations, 0, 0, 0, 1 ); + + QPushButton *btn = new QPushButton( Resource::loadPixmap( "new" ), tr( "New" ), container ); + connect( btn, SIGNAL( clicked() ), this, SLOT( newDestination() ) ); + layout->addWidget( btn, 1, 0 ); + + btn = new QPushButton( Resource::loadPixmap( "trash" ), tr( "Delete" ), container ); + connect( btn, SIGNAL( clicked() ), this, SLOT( removeDestination() ) ); + layout->addWidget( btn, 1, 1 ); + + QGroupBox *grpbox = new QGroupBox( 0, Qt::Vertical, tr( "Destination" ), container ); + grpbox->layout()->setSpacing( 2 ); + grpbox->layout()->setMargin( 4 ); + layout->addMultiCellWidget( grpbox, 2, 2, 0, 1 ); + + QGridLayout *grplayout = new QGridLayout( grpbox->layout() ); + + QLabel *label = new QLabel( tr( "Name:" ), grpbox ); + grplayout->addWidget( label, 0, 0 ); + destinationname = new QLineEdit( grpbox ); + grplayout->addWidget( destinationname, 0, 1 ); + + label = new QLabel( tr( "Location:" ), grpbox ); + grplayout->addWidget( label, 1, 0 ); + destinationurl = new QLineEdit( grpbox ); + grplayout->addWidget( destinationurl, 1, 1 ); + + linkToRoot = new QCheckBox( tr( "Link to root" ), grpbox ); + grplayout->addMultiCellWidget( linkToRoot, 2, 2, 0, 1 ); + + btn = new QPushButton( Resource::loadPixmap( "edit" ), tr( "Update" ), grpbox ); + connect( btn, SIGNAL( clicked() ), this, SLOT( changeDestinationDetails() ) ); + grplayout->addMultiCellWidget( btn, 3, 3, 0, 1 ); + + return control; +} + +QWidget *SettingsImpl :: initProxyTab() +{ + QWidget *control = new QWidget( this ); + + QVBoxLayout *vb = new QVBoxLayout( control ); + + QScrollView *sv = new QScrollView( control ); + vb->addWidget( sv, 0, 0 ); + sv->setResizePolicy( QScrollView::AutoOneFit ); + sv->setFrameStyle( QFrame::NoFrame ); + + QWidget *container = new QWidget( sv->viewport() ); + sv->addChild( container ); + + QGridLayout *layout = new QGridLayout( container ); + layout->setSpacing( 2 ); + layout->setMargin( 4 ); + + QGroupBox *grpbox = new QGroupBox( 0, Qt::Vertical, tr( "HTTP Proxy" ), container ); + grpbox->layout()->setSpacing( 2 ); + grpbox->layout()->setMargin( 4 ); + layout->addMultiCellWidget( grpbox, 0, 0, 0, 1 ); + QVBoxLayout *grplayout = new QVBoxLayout( grpbox->layout() ); + txtHttpProxy = new QLineEdit( grpbox ); + grplayout->addWidget( txtHttpProxy ); + chkHttpProxyEnabled = new QCheckBox( tr( "Enabled" ), grpbox ); + grplayout->addWidget( chkHttpProxyEnabled ); + + grpbox = new QGroupBox( 0, Qt::Vertical, tr( "FTP Proxy" ), container ); + grpbox->layout()->setSpacing( 2 ); + grpbox->layout()->setMargin( 4 ); + layout->addMultiCellWidget( grpbox, 1, 1, 0, 1 ); + grplayout = new QVBoxLayout( grpbox->layout() ); + txtFtpProxy = new QLineEdit( grpbox ); + grplayout->addWidget( txtFtpProxy ); + chkFtpProxyEnabled = new QCheckBox( tr( "Enabled" ), grpbox ); + grplayout->addWidget( chkFtpProxyEnabled ); + + QLabel *label = new QLabel( tr( "Username:" ), container ); + layout->addWidget( label, 2, 0 ); + txtUsername = new QLineEdit( container ); + layout->addWidget( txtUsername, 2, 1 ); + + label = new QLabel( tr( "Password:" ), container ); + layout->addWidget( label, 3, 0 ); + txtPassword = new QLineEdit( container ); + layout->addWidget( txtPassword, 3, 1 ); + + QPushButton *btn = new QPushButton( Resource::loadPixmap( "edit" ), tr( "Update" ), container ); + connect( btn, SIGNAL( clicked() ), this, SLOT( proxyApplyChanges() ) ); + layout->addMultiCellWidget( btn, 4, 4, 0, 1 ); + + return control; +} + void SettingsImpl :: setupData() { // add servers @@ -73,20 +263,12 @@ void SettingsImpl :: setupData() servers->insertItem( it->getServerName() ); } + // add destinations vector::iterator it2; for ( it2 = dataMgr->getDestinationList().begin() ; it2 != dataMgr->getDestinationList().end() ; ++it2 ) destinations->insertItem( it2->getDestinationName() ); - - // setup general tab -#ifdef QWS - Config cfg( "aqpkg" ); - cfg.setGroup( "settings" ); - jumpTo->setChecked( cfg.readBoolEntry( "showJumpTo", "true" ) ); -#else - jumpTo->setChecked( true ); -#endif - + // setup proxy tab txtHttpProxy->setText( dataMgr->getHttpProxy() ); txtFtpProxy->setText( dataMgr->getFtpProxy() ); @@ -100,7 +282,7 @@ void SettingsImpl :: setupData() void SettingsImpl :: editServer( int sel ) { - currentSelectedServer = sel; + currentSelectedServer = sel; vector::iterator s = dataMgr->getServer( servers->currentText() ); serverName = s->getServerName(); servername->setText( s->getServerName() ); @@ -110,10 +292,10 @@ void SettingsImpl :: editServer( int sel ) void SettingsImpl :: newServer() { - newserver = true; - servername->setText( "" ); - serverurl->setText( "" ); - servername->setFocus(); + newserver = true; + servername->setText( "" ); + serverurl->setText( "" ); + servername->setFocus(); active->setChecked( true ); } @@ -242,17 +424,6 @@ void SettingsImpl :: changeDestinationDetails() } } -//------------------ General tab ---------------------- - -void SettingsImpl :: toggleJumpTo( bool val ) -{ -#ifdef QWS - Config cfg( "aqpkg" ); - cfg.setGroup( "settings" ); - cfg.writeEntry( "showJumpTo", val ); -#endif -} - //------------------ Proxy tab ---------------------- void SettingsImpl :: proxyApplyChanges() { diff --git a/noncore/settings/aqpkg/settingsimpl.h b/noncore/settings/aqpkg/settingsimpl.h index bb027dc..9ffc259 100644 --- a/noncore/settings/aqpkg/settingsimpl.h +++ b/noncore/settings/aqpkg/settingsimpl.h @@ -15,19 +15,39 @@ * * ***************************************************************************/ -#include "settings.h" - #include "datamgr.h" -class SettingsImpl : public SettingsBase +#include + +class QCheckBox; +class QLineEdit; +class QListBox; + +class SettingsImpl : public QDialog { + Q_OBJECT public: SettingsImpl( DataManager *dataManager, QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 ); ~SettingsImpl(); - bool showDlg( int i ); + bool showDlg(); private: + QListBox *servers; + QLineEdit *servername; + QLineEdit *serverurl; + QCheckBox *active; + QListBox *destinations; + QLineEdit *destinationname; + QLineEdit *destinationurl; + QCheckBox *linkToRoot; + QLineEdit *txtHttpProxy; + QCheckBox *chkHttpProxyEnabled; + QLineEdit *txtFtpProxy; + QCheckBox *chkFtpProxyEnabled; + QLineEdit *txtUsername; + QLineEdit *txtPassword; + DataManager *dataMgr; QString serverName; QString destinationName; @@ -37,20 +57,21 @@ private: bool newserver; bool newdestination; + QWidget *initServerTab(); + QWidget *initDestinationTab(); + QWidget *initProxyTab(); + void setupConnections(); void setupData(); +public slots: void editServer( int s ); void changeServerDetails(); - void newServer(); - void removeServer(); - + void newServer(); + void removeServer(); void editDestination( int s ); void changeDestinationDetails(); - void newDestination(); - void removeDestination(); - - void toggleJumpTo( bool val ); - + void newDestination(); + void removeDestination(); void proxyApplyChanges(); }; -- cgit v0.9.0.2