[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[or-cvs] r13247: Test code for terminating a process from Qt (torbrowser/trunk/src/processtest)



Author: sjm217
Date: 2008-01-23 20:06:42 -0500 (Wed, 23 Jan 2008)
New Revision: 13247

Modified:
   torbrowser/trunk/src/processtest/processtest.cpp
   torbrowser/trunk/src/processtest/processtest.h
Log:
Test code for terminating a process from Qt

Modified: torbrowser/trunk/src/processtest/processtest.cpp
===================================================================
--- torbrowser/trunk/src/processtest/processtest.cpp	2008-01-23 19:08:53 UTC (rev 13246)
+++ torbrowser/trunk/src/processtest/processtest.cpp	2008-01-24 01:06:42 UTC (rev 13247)
@@ -48,6 +48,7 @@
 
     // Initialize the process handler
     _browser = new BrowserProcess();
+    _isRunning = false;
  
     // Connect up the button
     QObject::connect(_button, SIGNAL(clicked()), this, SLOT(onClicked()));
@@ -60,25 +61,37 @@
 
 void ProcessTest::onClicked()
 {
-    // Start the application
-    _button->setText(tr("Starting...") + _cmd);
-    _browser->start(_cmd, QStringList());
+    if (isRunning)
+    {
+        // Application is running: kill it
+        _button->setText(tr("Terminating..."));
+        _browser->terminate();
+    }
+    else
+    {
+        // Application is not running: start it
+        _button->setText(tr("Starting...") + _cmd);
+        _browser->start(_cmd, QStringList());
+    }
 }
 
 void ProcessTest::onStarted()
 {
     // Application has started
     _button->setText(tr("Running..."));
+    _isRunning = true;
 }
 
 void ProcessTest::onFinished()
 {
     // Application has finished
     _button->setText(tr("Stopped"));
+    _isRunning = false;
 }
 
 void ProcessTest::onFailed()
 {
     // Application failed to start
     _button->setText(tr("Failed"));
+    _isRunning = false;
 }

Modified: torbrowser/trunk/src/processtest/processtest.h
===================================================================
--- torbrowser/trunk/src/processtest/processtest.h	2008-01-23 19:08:53 UTC (rev 13246)
+++ torbrowser/trunk/src/processtest/processtest.h	2008-01-24 01:06:42 UTC (rev 13247)
@@ -56,6 +56,8 @@
     BrowserProcess *_browser;
     // Command line to start
     QString _cmd;
+    // Is the application running
+    bool _isRunning;
 };
 
 #endif