summaryrefslogtreecommitdiff
path: root/noncore/net/wellenreiter/gui/configwindow.cpp
Side-by-side diff
Diffstat (limited to 'noncore/net/wellenreiter/gui/configwindow.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/wellenreiter/gui/configwindow.cpp52
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 );
+ }
}