Diffstat (limited to 'noncore/net/wellenreiter/gui/configwindow.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/net/wellenreiter/gui/configwindow.cpp | 52 |
1 files changed, 42 insertions, 10 deletions
diff --git a/noncore/net/wellenreiter/gui/configwindow.cpp b/noncore/net/wellenreiter/gui/configwindow.cpp index 1341d03..7f39230 100644 --- a/noncore/net/wellenreiter/gui/configwindow.cpp +++ b/noncore/net/wellenreiter/gui/configwindow.cpp @@ -24,2 +24,4 @@ #include <opie2/oconfig.h> +#include <opie/odevice.h> +using namespace Opie; #endif @@ -40,2 +42,4 @@ +/* POSIX */ +#include <assert.h> @@ -274,3 +278,9 @@ int WellenreiterConfigWindow::gpsPort() const -void WellenreiterConfigWindow::performAction( const QString& type ) +void WellenreiterConfigWindow::performAction( const QString& type, + const QString& essid, + const QString& mac, + bool wep, + int channel, + int signal + /* , const GpsLocation& loc */ ) { @@ -296,3 +306,3 @@ void WellenreiterConfigWindow::performAction( const QString& type ) { - qWarning( "WellenreiterConfigWindow::performAction(): unknown type '%s'", (const char*) type ); + qWarning( "WellenreiterConfigWindow::performAction(): unknown type '%s'", (const char*) type ); return; @@ -302,10 +312,32 @@ void WellenreiterConfigWindow::performAction( const QString& type ) - /* - - 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(); - - */ + switch( action ) + { + case 0: /* Ignore */ return; + case 1: /* Play Alarm */ ODevice::inst()->alarmSound(); return; + case 2: /* Play Click */ ODevice::inst()->touchSound(); return; + case 3: /* Blink LED */ break; //FIXME: Implement this + case 4: /* Run Script */ + { + /** + * + * Script Substitution Information: + * + * $SSID = SSID + * $MAC = MAC + * $WEP = Wep + * $CHAN = Channel + * + **/ + script = script.replace( QRegExp( "$SSID" ), essid ); + script = script.replace( QRegExp( "$MAC" ), mac ); + script = script.replace( QRegExp( "$WEP" ), wep ? QString( "true" ) : QString( "false" ) ); + script = script.replace( QRegExp( "$CHAN" ), QString::number( channel ) ); + + qDebug( "going to call script '%s'", (const char*) script ); + ::system( script ); + qDebug( "script returned." ); + return; + } + default: assert( false ); + } } |