Diffstat (limited to 'noncore/net/wellenreiter/gui/configwindow.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/net/wellenreiter/gui/configwindow.cpp | 103 |
1 files changed, 96 insertions, 7 deletions
diff --git a/noncore/net/wellenreiter/gui/configwindow.cpp b/noncore/net/wellenreiter/gui/configwindow.cpp index f536f4e..1341d03 100644 --- a/noncore/net/wellenreiter/gui/configwindow.cpp +++ b/noncore/net/wellenreiter/gui/configwindow.cpp @@ -16,8 +16,15 @@ /* LOCAL */ #include "configwindow.h" #include "mainwindow.h" +/* OPIE */ +#include <opie2/onetwork.h> +#ifdef QWS +#include <opie2/oapplication.h> +#include <opie2/oconfig.h> +#endif + /* QT */ #include <qapplication.h> #include <qcheckbox.h> #include <qcombobox.h> @@ -25,19 +32,13 @@ #include <qlineedit.h> #include <qlayout.h> #include <qmap.h> #include <qpushbutton.h> +#include <qtabwidget.h> #include <qtoolbutton.h> #include <qspinbox.h> #include <qtextstream.h> -/* OPIE */ -#include <opie2/onetwork.h> - -#ifdef QWS -#include <opie2/oapplication.h> -#include <opie2/oconfig.h> -#endif WellenreiterConfigWindow* WellenreiterConfigWindow::_instance = 0; WellenreiterConfigWindow::WellenreiterConfigWindow( QWidget * parent, const char * name, WFlags f ) @@ -71,14 +72,20 @@ WellenreiterConfigWindow::WellenreiterConfigWindow( QWidget * parent, const char WellenreiterConfigWindow::_instance = this; connect( deviceType, SIGNAL( activated(int) ), this, SLOT( changedDeviceType(int) ) ); + connect( newNetworkAction, SIGNAL( activated(int) ), this, SLOT( changedNetworkAction(int) ) ); + connect( newClientAction, SIGNAL( activated(int) ), this, SLOT( changedClientAction(int) ) ); + connect( newStationAction, SIGNAL( activated(int) ), this, SLOT( changedStationAction(int) ) ); connect( getCaptureFileName, SIGNAL( clicked() ), this, SLOT( getCaptureFileNameClicked() ) ); // make the checkbox 'channelAll' control all other channels connect( channelAll, SIGNAL( stateChanged(int) ), this, SLOT( channelAllClicked(int) ) ); connect( autodetect, SIGNAL( clicked() ), this, SLOT( performAutodetection() ) ); + + // hide tab4 (parse) until Wellenreiter 1.2 + tab->removePage( tab_4 ); }; WellenreiterConfigWindow::~WellenreiterConfigWindow() @@ -184,8 +191,38 @@ void WellenreiterConfigWindow::changedDeviceType(int t) } +void WellenreiterConfigWindow::synchronizeActionsAndScripts() +{ + if ( newNetworkAction->currentItem() == 4 ) newNetworkScript->show(); else newNetworkScript->hide(); + if ( newClientAction->currentItem() == 4 ) newClientScript->show(); else newClientScript->hide(); + if ( newStationAction->currentItem() == 4 ) newStationScript->show(); else newStationScript->hide(); + + //newNetworkScript->setEnabled( newNetworkAction->currentItem() == 4 ); + //newClientScript->setEnabled( newClientAction->currentItem() == 4 ); + //newStationScript->setEnabled( newStationAction->currentItem() == 4 ); +} + + +void WellenreiterConfigWindow::changedNetworkAction(int t) +{ + synchronizeActionsAndScripts(); +} + + +void WellenreiterConfigWindow::changedClientAction(int t) +{ + synchronizeActionsAndScripts(); +} + + +void WellenreiterConfigWindow::changedStationAction(int t) +{ + synchronizeActionsAndScripts(); +} + + void WellenreiterConfigWindow::getCaptureFileNameClicked() { QString name = ( (WellenreiterMainWindow*) qApp->mainWidget() )->getFileName(true); qDebug( "name = %s", (const char*) name ); @@ -234,8 +271,47 @@ int WellenreiterConfigWindow::gpsPort() const return useGPS() ? gpsdPort->value() : -1; } +void WellenreiterConfigWindow::performAction( const QString& type ) +{ + int action; + QString script; + + if ( type == "network" ) + { + action = newNetworkAction->currentItem(); + script = newNetworkScript->text(); + } + else if ( type == "managed" || type == "adhoc" ) + { + action = newClientAction->currentItem(); + script = newClientScript->text(); + } + else if ( type == "station" ) + { + action = newStationAction->currentItem(); + script = newStationScript->text(); + } + else + { + qWarning( "WellenreiterConfigWindow::performAction(): unknown type '%s'", (const char*) type ); + return; + } + + qDebug( "going to perform action %d (script='%s')", action, (const char*) script ); + + /* + + if ( sound == "Ignore" ) return; + else if ( sound == "Touch" ) ODevice::inst()->touchSound(); + else if ( sound == "Key" ) ODevice::inst()->keySound(); + else if ( sound == "Alarm" ) ODevice::inst()->alarmSound(); + + */ +} + + void WellenreiterConfigWindow::load() { #ifdef Q_WS_X11 #warning Persistent Configuration not yet implemented for standalone X11 build @@ -289,8 +365,15 @@ void WellenreiterConfigWindow::load() c->setGroup( "UI" ); lookupVendor->setChecked( c->readBoolEntry( "lookupVendor", true ) ); openTree->setChecked( c->readBoolEntry( "openTree", true ) ); disablePM->setChecked( c->readBoolEntry( "disablePM", true ) ); + newNetworkAction->setCurrentItem( c->readNumEntry( "newNetworkAction", 0 ) ); + newNetworkScript->setText( c->readEntry( "newNetworkScript", "" ) ); + newClientAction->setCurrentItem( c->readNumEntry( "newClientAction", 0 ) ); + newClientScript->setText( c->readEntry( "newClientScript", "" ) ); + newStationAction->setCurrentItem( c->readNumEntry( "newStationAction", 0 ) ); + newStationScript->setText( c->readEntry( "newStationScript", "" ) ); + synchronizeActionsAndScripts(); // needed for showing/hiding the script QLineEdit on demand c->setGroup( "GPS" ); enableGPS->setChecked( c->readBoolEntry( "use", false ) ); #if QT_VERSION < 300 @@ -332,8 +415,14 @@ void WellenreiterConfigWindow::save() c->setGroup( "UI" ); c->writeEntry( "lookupVendor", lookupVendor->isChecked() ); c->writeEntry( "openTree", openTree->isChecked() ); c->writeEntry( "disablePM", disablePM->isChecked() ); + c->writeEntry( "newNetworkAction", newNetworkAction->currentItem() ); + c->writeEntry( "newNetworkScript", newNetworkScript->text() ); + c->writeEntry( "newClientAction", newClientAction->currentItem() ); + c->writeEntry( "newClientScript", newClientScript->text() ); + c->writeEntry( "newStationAction", newStationAction->currentItem() ); + c->writeEntry( "newStationScript", newStationScript->text() ); c->setGroup( "GPS" ); c->writeEntry( "use", enableGPS->isChecked() ); c->writeEntry( "host", gpsdHost->currentText() ); |