summaryrefslogtreecommitdiff
path: root/noncore/settings/aqpkg/settingsimpl.cpp
Side-by-side diff
Diffstat (limited to 'noncore/settings/aqpkg/settingsimpl.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/aqpkg/settingsimpl.cpp47
1 files changed, 39 insertions, 8 deletions
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
@@ -19,12 +19,17 @@
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 )
@@ -80,20 +85,22 @@ 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() );
@@ -109,53 +116,59 @@ void SettingsImpl :: changeServerDetails()
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
{
- dataMgr->getServerList().push_back( Server( newName, serverurl->text() ) );
+ 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() );
@@ -164,32 +177,50 @@ void SettingsImpl :: removeDestination()
}
void SettingsImpl :: changeDestinationDetails()
{
changed = true;
- QString newName = destinationname->text();
+#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
}
}