-rw-r--r-- | noncore/settings/aqpkg/settings.ui | 169 | ||||
-rw-r--r-- | noncore/settings/aqpkg/settingsimpl.cpp | 43 |
2 files changed, 143 insertions, 69 deletions
diff --git a/noncore/settings/aqpkg/settings.ui b/noncore/settings/aqpkg/settings.ui index eb99cf7..6b3cfd4 100644 --- a/noncore/settings/aqpkg/settings.ui +++ b/noncore/settings/aqpkg/settings.ui @@ -1,531 +1,574 @@ <!DOCTYPE UI><UI>
<class>SettingsBase</class>
<widget>
<class>QDialog</class>
<property stdset="1">
<name>name</name>
<cstring>Settings</cstring>
</property>
<property stdset="1">
<name>geometry</name>
<rect>
<x>0</x>
<y>0</y>
- <width>331</width>
- <height>456</height>
+ <width>247</width> + <height>390</height> </rect>
</property>
<property stdset="1">
<name>caption</name>
<string>Package Servers</string>
</property>
<property>
<name>layoutMargin</name>
</property>
<property>
<name>layoutSpacing</name>
</property>
<grid>
<property stdset="1">
<name>margin</name>
<number>11</number>
</property>
<property stdset="1">
<name>spacing</name>
<number>6</number>
</property>
<widget row="0" column="0" >
<class>QTabWidget</class>
<property stdset="1">
<name>name</name>
<cstring>TabWidget</cstring>
</property>
<property stdset="1">
<name>enabled</name>
<bool>true</bool>
</property>
<property>
<name>layoutMargin</name>
</property>
<property>
<name>layoutSpacing</name>
</property>
<widget>
<class>QWidget</class>
<property stdset="1">
<name>name</name>
<cstring>tab</cstring>
</property>
<attribute>
<name>title</name>
<string>Servers</string>
</attribute>
<grid>
<property stdset="1">
<name>margin</name>
<number>11</number>
</property>
<property stdset="1">
<name>spacing</name>
<number>6</number>
</property>
- <widget row="0" column="0" rowspan="1" colspan="2" >
+ <widget row="0" column="0" > <class>QLayoutWidget</class>
<property stdset="1">
<name>name</name>
<cstring>Layout2</cstring>
</property>
<hbox>
<property stdset="1">
<name>margin</name>
<number>0</number>
</property>
<property stdset="1">
<name>spacing</name>
<number>6</number>
</property>
<widget>
<class>QLabel</class>
<property stdset="1">
<name>name</name>
<cstring>Servers</cstring>
</property>
<property stdset="1">
<name>text</name>
<string>Servers</string>
</property>
</widget>
<spacer>
<property>
<name>name</name>
<cstring>Spacer2</cstring>
</property>
<property stdset="1">
<name>orientation</name>
<enum>Horizontal</enum>
</property>
<property stdset="1">
<name>sizeType</name>
<enum>Expanding</enum>
</property>
<property>
<name>sizeHint</name>
<size>
<width>20</width>
<height>20</height>
</size>
</property>
</spacer>
</hbox>
</widget>
- <widget row="1" column="0" rowspan="1" colspan="2" >
+ <widget row="1" column="0" > + <class>QLayoutWidget</class> + <property stdset="1"> + <name>name</name> + <cstring>Layout8</cstring> + </property> + <grid> + <property stdset="1"> + <name>margin</name> + <number>0</number> + </property> + <property stdset="1"> + <name>spacing</name> + <number>6</number> + </property> + <widget row="0" column="0" rowspan="1" colspan="2" > <class>QListBox</class>
<property stdset="1">
<name>name</name>
<cstring>servers</cstring>
</property>
<property stdset="1">
<name>selectionMode</name>
<enum>Extended</enum>
</property>
</widget>
- <widget row="2" column="1" >
- <class>QPushButton</class>
+ <widget row="2" column="0" rowspan="1" colspan="2" > + <class>QLayoutWidget</class> <property stdset="1">
<name>name</name>
- <cstring>removeserver</cstring>
- </property>
- <property stdset="1">
- <name>enabled</name>
- <bool>true</bool>
+ <cstring>Layout6</cstring> </property>
+ <grid> <property stdset="1">
- <name>text</name>
- <string>Remove</string>
+ <name>margin</name> + <number>0</number> </property>
<property stdset="1">
- <name>autoDefault</name>
- <bool>false</bool>
+ <name>spacing</name> + <number>6</number> </property>
- </widget>
- <widget row="2" column="0" >
- <class>QPushButton</class>
+ <widget row="2" column="1" > + <class>QCheckBox</class> <property stdset="1">
<name>name</name>
- <cstring>newserver</cstring>
+ <cstring>active</cstring> </property>
<property stdset="1">
- <name>enabled</name>
- <bool>true</bool>
+ <name>text</name> + <string>Active Server</string> </property>
+ </widget> + <widget row="0" column="0" > + <class>QLabel</class> <property stdset="1">
- <name>text</name>
- <string>New</string>
+ <name>name</name> + <cstring>TextLabel1_3</cstring> </property>
<property stdset="1">
- <name>autoDefault</name>
- <bool>false</bool>
+ <name>text</name> + <string>Name:</string> </property>
</widget>
- <widget row="3" column="0" rowspan="1" colspan="2" >
- <class>QLayoutWidget</class>
+ <widget row="1" column="0" > + <class>QLabel</class> <property stdset="1">
<name>name</name>
- <cstring>Layout10</cstring>
+ <cstring>TextLabel2_3</cstring> </property>
- <grid>
<property stdset="1">
- <name>margin</name>
- <number>0</number>
+ <name>text</name> + <string>URL:</string> </property>
+ </widget> + <widget row="0" column="1" > + <class>QLineEdit</class> <property stdset="1">
- <name>spacing</name>
- <number>6</number>
+ <name>name</name> + <cstring>servername</cstring> </property>
+ </widget> <widget row="1" column="1" >
<class>QLineEdit</class>
<property stdset="1">
<name>name</name>
<cstring>serverurl</cstring>
</property>
</widget>
- <widget row="1" column="0" >
- <class>QLabel</class>
+ <widget row="3" column="1" > + <class>QPushButton</class> <property stdset="1">
<name>name</name>
- <cstring>TextLabel2_3</cstring>
+ <cstring>btnChangeServer</cstring> </property>
<property stdset="1">
<name>text</name>
- <string>URL:</string>
+ <string>Change</string> </property>
</widget>
- <widget row="0" column="1" >
- <class>QLineEdit</class>
+ </grid> + </widget> + <widget row="1" column="1" > + <class>QPushButton</class> <property stdset="1">
<name>name</name>
- <cstring>servername</cstring>
+ <cstring>removeserver</cstring> </property>
- </widget>
- <widget row="0" column="0" >
- <class>QLabel</class>
<property stdset="1">
- <name>name</name>
- <cstring>TextLabel1_3</cstring>
+ <name>enabled</name> + <bool>true</bool> </property>
<property stdset="1">
<name>text</name>
- <string>Name:</string>
+ <string>Remove</string> + </property> + <property stdset="1"> + <name>autoDefault</name> + <bool>false</bool> </property>
</widget>
- <widget row="2" column="1" >
+ <widget row="1" column="0" > <class>QPushButton</class>
<property stdset="1">
<name>name</name>
- <cstring>btnChangeServer</cstring>
+ <cstring>newserver</cstring> + </property> + <property stdset="1"> + <name>enabled</name> + <bool>true</bool> </property>
<property stdset="1">
<name>text</name>
- <string>Change</string>
+ <string>New</string> + </property> + <property stdset="1"> + <name>autoDefault</name> + <bool>false</bool> </property>
</widget>
</grid>
</widget>
</grid>
</widget>
<widget>
<class>QWidget</class>
<property stdset="1">
<name>name</name>
<cstring>tab</cstring>
</property>
<attribute>
<name>title</name>
<string>Destinations</string>
</attribute>
<grid>
<property stdset="1">
<name>margin</name>
<number>11</number>
</property>
<property stdset="1">
<name>spacing</name>
<number>6</number>
</property>
<widget row="0" column="0" >
<class>QLayoutWidget</class>
<property stdset="1">
<name>name</name>
<cstring>Layout3</cstring>
</property>
<hbox>
<property stdset="1">
<name>margin</name>
<number>0</number>
</property>
<property stdset="1">
<name>spacing</name>
<number>6</number>
</property>
<widget>
<class>QLabel</class>
<property stdset="1">
<name>name</name>
<cstring>Destinations</cstring>
</property>
<property stdset="1">
<name>text</name>
<string>Destinations</string>
</property>
</widget>
<spacer>
<property>
<name>name</name>
<cstring>Spacer2_2</cstring>
</property>
<property stdset="1">
<name>orientation</name>
<enum>Horizontal</enum>
</property>
<property stdset="1">
<name>sizeType</name>
<enum>Expanding</enum>
</property>
<property>
<name>sizeHint</name>
<size>
<width>20</width>
<height>20</height>
</size>
</property>
</spacer>
</hbox>
</widget>
<widget row="2" column="0" >
<class>QLayoutWidget</class>
<property stdset="1">
<name>name</name>
<cstring>Layout5</cstring>
</property>
<hbox>
<property stdset="1">
<name>margin</name>
<number>0</number>
</property>
<property stdset="1">
<name>spacing</name>
<number>6</number>
</property>
<widget>
<class>QPushButton</class>
<property stdset="1">
<name>name</name>
<cstring>newdestination</cstring>
</property>
<property stdset="1">
<name>enabled</name>
<bool>true</bool>
</property>
<property stdset="1">
<name>text</name>
<string>New</string>
</property>
<property stdset="1">
<name>autoDefault</name>
<bool>false</bool>
</property>
</widget>
<widget>
<class>QPushButton</class>
<property stdset="1">
<name>name</name>
<cstring>removedestination</cstring>
</property>
<property stdset="1">
<name>enabled</name>
<bool>true</bool>
</property>
<property stdset="1">
<name>text</name>
<string>Remove</string>
</property>
<property stdset="1">
<name>autoDefault</name>
<bool>false</bool>
</property>
</widget>
</hbox>
</widget>
<spacer row="0" column="0" >
<property>
<name>name</name>
<cstring>Spacer3</cstring>
</property>
<property stdset="1">
<name>orientation</name>
<enum>Horizontal</enum>
</property>
<property stdset="1">
<name>sizeType</name>
<enum>Expanding</enum>
</property>
<property>
<name>sizeHint</name>
<size>
<width>20</width>
<height>20</height>
</size>
</property>
</spacer>
<widget row="1" column="0" >
<class>QListBox</class>
<property stdset="1">
<name>name</name>
<cstring>destinations</cstring>
</property>
<property stdset="1">
<name>selectionMode</name>
<enum>Single</enum>
</property>
</widget>
<widget row="3" column="0" >
<class>QLayoutWidget</class>
<property stdset="1">
<name>name</name>
- <cstring>Layout8</cstring>
+ <cstring>Layout13</cstring> </property>
<grid>
<property stdset="1">
<name>margin</name>
<number>0</number>
</property>
<property stdset="1">
<name>spacing</name>
<number>6</number>
</property>
- <widget row="0" column="1" >
- <class>QLineEdit</class>
+ <widget row="1" column="0" > + <class>QLabel</class> <property stdset="1">
<name>name</name>
- <cstring>destinationname</cstring>
+ <cstring>TextLabel1_3_2_2</cstring> </property>
- </widget>
- <widget row="1" column="1" >
- <class>QLineEdit</class>
<property stdset="1">
- <name>name</name>
- <cstring>destinationurl</cstring>
+ <name>text</name> + <string>URL:</string> </property>
</widget>
- <widget row="2" column="1" >
+ <widget row="3" column="1" > <class>QPushButton</class>
<property stdset="1">
<name>name</name>
<cstring>btnChangeDest</cstring>
</property>
<property stdset="1">
<name>text</name>
<string>Change</string>
</property>
</widget>
+ <widget row="0" column="1" > + <class>QLineEdit</class> + <property stdset="1"> + <name>name</name> + <cstring>destinationname</cstring> + </property> + </widget> <widget row="0" column="0" >
<class>QLabel</class>
<property stdset="1">
<name>name</name>
<cstring>TextLabel1_3_2</cstring>
</property>
<property stdset="1">
<name>text</name>
<string>Name:</string>
</property>
</widget>
- <widget row="1" column="0" >
- <class>QLabel</class>
+ <widget row="2" column="1" > + <class>QCheckBox</class> <property stdset="1">
<name>name</name>
- <cstring>TextLabel1_3_2_2</cstring>
+ <cstring>linkToRoot</cstring> </property>
<property stdset="1">
<name>text</name>
- <string>URL:</string>
+ <string>LinkToRoot</string> + </property> + <property stdset="1"> + <name>checked</name> + <bool>true</bool> + </property> + </widget> + <widget row="1" column="1" > + <class>QLineEdit</class> + <property stdset="1"> + <name>name</name> + <cstring>destinationurl</cstring> </property>
</widget>
</grid>
</widget>
</grid>
</widget>
</widget>
</grid>
</widget>
<connections>
<connection>
<sender>newserver</sender>
<signal>clicked()</signal>
<receiver>Settings</receiver>
<slot>newServer()</slot>
</connection>
<connection>
<sender>removeserver</sender>
<signal>clicked()</signal>
<receiver>Settings</receiver>
<slot>removeServer()</slot>
</connection>
<connection>
<sender>newdestination</sender>
<signal>clicked()</signal>
<receiver>Settings</receiver>
<slot>newDestination()</slot>
</connection>
<connection>
<sender>removedestination</sender>
<signal>clicked()</signal>
<receiver>Settings</receiver>
<slot>removeDestination()</slot>
</connection>
<connection>
<sender>servers</sender>
<signal>highlighted(int)</signal>
<receiver>Settings</receiver>
<slot>editServer(int)</slot>
</connection>
<connection>
<sender>destinations</sender>
<signal>highlighted(int)</signal>
<receiver>Settings</receiver>
<slot>editDestination(int)</slot>
</connection>
<connection>
<sender>btnChangeServer</sender>
<signal>clicked()</signal>
<receiver>Settings</receiver>
<slot>changeServerDetails()</slot>
</connection>
<connection>
<sender>btnChangeDest</sender>
<signal>clicked()</signal>
<receiver>Settings</receiver>
<slot>changeDestinationDetails()</slot>
</connection>
<slot access="public">activeServerChanged()</slot>
<slot access="public">changeServerDetails()</slot>
<slot access="public">createLinksToDest()</slot>
<slot access="public">destNameChanged(const QString&)</slot>
<slot access="public">destUrlChanged(const QString&)</slot>
<slot access="public">editDestination(int)</slot>
<slot access="public">editServer(int)</slot>
<slot access="public">installationSettingChange(int)</slot>
<slot access="public">installationSettingSetName(const QString &)</slot>
<slot access="public">linkEnabled(bool)</slot>
<slot access="public">newDestination()</slot>
<slot access="public">newInstallationSetting()</slot>
<slot access="public">newServer()</slot>
<slot access="public">changeDestinationDetails()</slot>
<slot access="public">removeDestination()</slot>
<slot access="public">removeInstallationSetting()</slot>
<slot access="public">removeLinksToDest()</slot>
<slot access="public">removeServer()</slot>
<slot access="public">renameInstallationSetting()</slot>
<slot access="public">serverNameChanged(const QString&)</slot>
<slot access="public">serverUrlChanged(const QString&)</slot>
</connections>
</UI>
diff --git a/noncore/settings/aqpkg/settingsimpl.cpp b/noncore/settings/aqpkg/settingsimpl.cpp index 81e89ed..9ee3a33 100644 --- a/noncore/settings/aqpkg/settingsimpl.cpp +++ b/noncore/settings/aqpkg/settingsimpl.cpp @@ -1,195 +1,226 @@ /*************************************************************************** settingsimpl.cpp - description ------------------- begin : Thu Aug 29 2002 copyright : (C) 2002 by Andy Qua email : andy.qua@blueyonder.co.uk ***************************************************************************/ /*************************************************************************** * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * ***************************************************************************/ #include <fstream> using namespace std; #include <qlistbox.h> #include <qlineedit.h> #include <qpushbutton.h> #include <qtabwidget.h> +#include <qcheckbox.h> + +#ifdef QWS +#include <qpe/config.h> +#endif #include "settingsimpl.h" #include "global.h" SettingsImpl :: SettingsImpl( DataManager *dataManager, QWidget * parent, const char* name, bool modal, WFlags fl ) : SettingsBase( parent, name, modal, fl ) { dataMgr = dataManager; setupData(); changed = false; newserver = false; newdestination = false; } SettingsImpl :: ~SettingsImpl() { } bool SettingsImpl :: showDlg( int i ) { TabWidget->setCurrentPage( i ); showMaximized(); exec(); if ( changed ) dataMgr->writeOutIpkgConf(); return changed; } void SettingsImpl :: setupData() { // add servers vector<Server>::iterator it; for ( it = dataMgr->getServerList().begin() ; it != dataMgr->getServerList().end() ; ++it ) { if ( it->getServerName() == LOCAL_SERVER || it->getServerName() == LOCAL_IPKGS ) continue; servers->insertItem( it->getServerName() ); } // add destinations vector<Destination>::iterator it2; for ( it2 = dataMgr->getDestinationList().begin() ; it2 != dataMgr->getDestinationList().end() ; ++it2 ) destinations->insertItem( it2->getDestinationName() ); } //------------------ Servers tab ---------------------- void SettingsImpl :: editServer( int sel ) { currentSelectedServer = sel; Server *s = dataMgr->getServer( servers->currentText() ); serverName = s->getServerName(); servername->setText( s->getServerName() ); serverurl->setText( s->getServerUrl() ); + active->setChecked( s->isServerActive() ); } void SettingsImpl :: newServer() { newserver = true; servername->setText( "" ); serverurl->setText( "" ); servername->setFocus(); + active->setChecked( true ); } void SettingsImpl :: removeServer() { changed = true; Server *s = dataMgr->getServer( servers->currentText() ); dataMgr->getServerList().erase( s ); servers->removeItem( currentSelectedServer ); } void SettingsImpl :: changeServerDetails() { changed = true; QString newName = servername->text(); if ( !newserver ) { Server *s = dataMgr->getServer( serverName ); // Update url s->setServerUrl( serverurl->text() ); + s->setActive( active->isChecked() ); + // Check if server name has changed, if it has then we need to replace the key in the map if ( serverName != newName ) { // Update server name s->setServerName( newName ); // See if this server is the active server - if ( dataMgr->getActiveServer() == serverName ) - dataMgr->setActiveServer( newName ); +// if ( dataMgr->getActiveServer() == serverName ) +// dataMgr->setActiveServer( newName ); // Update list box servers->changeItem( newName, currentSelectedServer ); } } else { + Server s( newName, serverurl->text() ); dataMgr->getServerList().push_back( Server( newName, serverurl->text() ) ); + dataMgr->getServerList().end()->setActive( active->isChecked() ); servers->insertItem( newName ); servers->setCurrentItem( servers->count() ); newserver = false; } } //------------------ Destinations tab ---------------------- void SettingsImpl :: editDestination( int sel ) { currentSelectedDestination = sel; - Destination *s = dataMgr->getDestination( destinations->currentText() ); - destinationName = s->getDestinationName(); - destinationname->setText( s->getDestinationName() ); - destinationurl->setText( s->getDestinationPath() ); + Destination *d = dataMgr->getDestination( destinations->currentText() ); + destinationName = d->getDestinationName(); + destinationname->setText( d->getDestinationName() ); + destinationurl->setText( d->getDestinationPath() ); + linkToRoot->setChecked( d->linkToRoot() ); } void SettingsImpl :: newDestination() { newdestination = true; destinationname->setText( "" ); destinationurl->setText( "" ); destinationname->setFocus(); + linkToRoot->setChecked( true ); } void SettingsImpl :: removeDestination() { changed = true; Destination *d = dataMgr->getDestination( destinations->currentText() ); dataMgr->getDestinationList().erase( d ); destinations->removeItem( currentSelectedDestination ); } void SettingsImpl :: changeDestinationDetails() { changed = true; +#ifdef QWS + Config cfg( "aqpkg" ); + cfg.setGroup( "destinations" ); +#endif + QString newName = destinationname->text(); if ( !newdestination ) { Destination *d = dataMgr->getDestination( destinationName ); // Update url d->setDestinationPath( destinationurl->text() ); + d->linkToRoot( linkToRoot->isChecked() ); // Check if server name has changed, if it has then we need to replace the key in the map if ( destinationName != newName ) { // Update server name d->setDestinationName( newName ); // Update list box destinations->changeItem( newName, currentSelectedDestination ); } +#ifdef QWS + QString key = newName; + key += "_linkToRoot"; + int val = d->linkToRoot(); + cfg.writeEntry( key, val ); +#endif } else { dataMgr->getDestinationList().push_back( Destination( newName, destinationurl->text() ) ); destinations->insertItem( newName ); destinations->setCurrentItem( destinations->count() ); newdestination = false; + +#ifdef QWS + QString key = newName; + key += "_linkToRoot"; + cfg.writeEntry( key, true ); +#endif } } |