[or-cvs] r15048: Starting the IM client is now in Vidalia trunk (in torbrowser/trunk/src: archived-patches current-patches)

sjm217 at seul.org sjm217 at seul.org
Sun Jun 8 22:44:08 UTC 2008


Author: sjm217
Date: 2008-06-08 18:44:08 -0400 (Sun, 08 Jun 2008)
New Revision: 15048

Added:
   torbrowser/trunk/src/archived-patches/vidalia-startim.patch
Removed:
   torbrowser/trunk/src/current-patches/vidalia-startim.patch
Log:
Starting the IM client is now in Vidalia trunk

Copied: torbrowser/trunk/src/archived-patches/vidalia-startim.patch (from rev 15041, torbrowser/trunk/src/current-patches/vidalia-startim.patch)
===================================================================
--- torbrowser/trunk/src/archived-patches/vidalia-startim.patch	                        (rev 0)
+++ torbrowser/trunk/src/archived-patches/vidalia-startim.patch	2008-06-08 22:44:08 UTC (rev 15048)
@@ -0,0 +1,257 @@
+Index: src/vidalia/config/vidaliasettings.cpp
+===================================================================
+--- src/vidalia/config/vidaliasettings.cpp	(revision 2665)
++++ src/vidalia/config/vidaliasettings.cpp	(working copy)
+@@ -32,6 +32,7 @@
+ #define SETTING_DATA_DIRECTORY      "DataDirectory"
+ #define SETTING_SHOW_MAINWINDOW_AT_START  "ShowMainWindowAtStart"
+ #define SETTING_BROWSER_EXECUTABLE  "BrowserExecutable"
++#define SETTING_IM_EXECUTABLE       "IMExecutable"
+ #define SETTING_RUN_PROXY_AT_START  "RunProxyAtStart"
+ #define SETTING_PROXY_EXECUTABLE    "ProxyExecutable"
+ #define SETTING_PROXY_EXECUTABLE_ARGUMENTS  "ProxyExecutableArguments"
+@@ -66,6 +67,7 @@
+   setDefault(SETTING_RUN_TOR_AT_START, true);
+   setDefault(SETTING_SHOW_MAINWINDOW_AT_START, true);
+   setDefault(SETTING_BROWSER_EXECUTABLE, "");
++  setDefault(SETTING_IM_EXECUTABLE, "");
+   setDefault(SETTING_RUN_PROXY_AT_START, false);
+   setDefault(SETTING_PROXY_EXECUTABLE, "");
+   setDefault(SETTING_PROXY_EXECUTABLE_ARGUMENTS, QStringList());
+@@ -181,6 +183,22 @@
+   setValue(SETTING_BROWSER_EXECUTABLE, browserExecutable);
+ }
+ 
++/** Returns a fully-qualified path to the IM client, including the
++ * executable name. */
++QString
++VidaliaSettings::getIMExecutable() const
++{
++  return QDir::convertSeparators(value(SETTING_IM_EXECUTABLE).toString());
++}
++
++/** Sets the location and name of the IM client executable to the given string.
++ * If set to the empty string, the client will not be started. */
++void
++VidaliaSettings::setIMExecutable(const QString &IMExecutable)
++{
++  setValue(SETTING_IM_EXECUTABLE, IMExecutable);
++}
++
+ /** Returns true if Vidalia should start a proxy application when it
+  * starts. */
+ bool
+Index: src/vidalia/config/vidaliasettings.h
+===================================================================
+--- src/vidalia/config/vidaliasettings.h	(revision 2665)
++++ src/vidalia/config/vidaliasettings.h	(working copy)
+@@ -68,6 +68,13 @@
+    * string. If set to the empty string, the browser will not be started. */
+   void setBrowserExecutable(const QString &browserExecutable);
+ 
++  /** Returns a fully-qualified path to the IM client, including the
++   * executable name. */
++  QString getIMExecutable() const;
++  /** Sets the location and name of the IM client executable to the given
++   * string. If set to the empty string, the client will not be started. */
++  void setIMExecutable(const QString &IMExecutable);
++
+   /** Returns true if Vidalia should start a proxy application when it
+    * starts. */
+   bool runProxyAtStart();
+Index: src/vidalia/helperprocess.cpp
+===================================================================
+--- src/vidalia/helperprocess.cpp	(revision 2665)
++++ src/vidalia/helperprocess.cpp	(working copy)
+@@ -50,6 +50,12 @@
+   // Call error handling routine on errors
+   QObject::connect(this, SIGNAL(error(QProcess::ProcessError)),
+                    this, SLOT(onError(QProcess::ProcessError)));
++  // Call started handler on successful startup
++  QObject::connect(this, SIGNAL(started()),
++                   this, SLOT(onStart()));
++
++  // Mark as not having started
++  _okStart = false;
+ }
+ 
+ /** Start the specified application. */
+@@ -70,4 +76,16 @@
+   }
+ }
+ 
++/** Invoked when underlying QProcess starts. */
++void
++HelperProcess::onStart()
++{
++  _okStart = true;
++}
+ 
++/** Returns true iff process is not running. */
++bool
++HelperProcess::isDone() const
++{
++  return state() == NotRunning;
++}
+Index: src/vidalia/helperprocess.h
+===================================================================
+--- src/vidalia/helperprocess.h	(revision 2665)
++++ src/vidalia/helperprocess.h	(working copy)
+@@ -53,10 +53,18 @@
+   HelperProcess(QObject *parent = 0);
+   /** Start the specified application. */
+   void start(const QString &app, const QStringList &args);
++  /** Returns true iff process is not running. */
++  bool isDone() const;
+ 
++private:
++  /** True iff the underlying QProcess has sucessfully started */
++  bool _okStart;
++
+ private slots:
+   /** Invoked when underlying QProcess fails. */
+   void onError(QProcess::ProcessError error);
++  /** Invoked when underlying QProcess starts. */
++  void onStart();
+ 
+ signals:
+   /** Invoked when start() fails. */
+Index: src/vidalia/mainwindow.cpp
+===================================================================
+--- src/vidalia/mainwindow.cpp	(revision 2665)
++++ src/vidalia/mainwindow.cpp	(working copy)
+@@ -128,10 +128,17 @@
+   /* Create a new HelperProcess object, used to start the web browser */
+   _browserProcess = new HelperProcess(this);
+   connect(_browserProcess, SIGNAL(finished(int, QProcess::ExitStatus)),
+-           this, SLOT(onBrowserFinished(int, QProcess::ExitStatus)));
++           this, SLOT(onSubprocessFinished(int, QProcess::ExitStatus)));
+   connect(_browserProcess, SIGNAL(startFailed(QString)),
+            this, SLOT(onBrowserFailed(QString)));
+ 
++  /* Create a new HelperProcess object, used to start the web browser */
++  _imProcess = new HelperProcess(this);
++  connect(_imProcess, SIGNAL(finished(int, QProcess::ExitStatus)),
++           this, SLOT(onSubprocessFinished(int, QProcess::ExitStatus)));
++  connect(_imProcess, SIGNAL(startFailed(QString)),
++           this, SLOT(onIMFailed(QString)));
++
+   /* Create a new HelperProcess object, used to start the proxy server */
+   _proxyProcess = new HelperProcess(this);
+   connect(_proxyProcess, SIGNAL(startFailed(QString)),
+@@ -409,26 +416,43 @@
+ #endif
+ }
+ 
+-/** Starts the web browser, if appropriately configured */
+-void MainWindow::startBrowser()
++/** Starts the web browser and IM client, if appropriately configured */
++void MainWindow::startSubprocesses()
+ {
+   VidaliaSettings settings;
+   QString executable = settings.getBrowserExecutable();
+   
+   if (!executable.isEmpty())
+     _browserProcess->start(executable, QStringList());
++
++  executable = settings.getIMExecutable();
++
++  if (!executable.isEmpty())
++    _imProcess->start(executable, QStringList());
++  
+ }
+ 
+-/** Called when browser has exited */
+-void MainWindow::onBrowserFinished(int exitCode, QProcess::ExitStatus exitStatus)
++/** Called when browser or IM client have exited */
++void MainWindow::onSubprocessFinished(int exitCode, QProcess::ExitStatus exitStatus)
+ {
+   Q_UNUSED(exitCode)
+   Q_UNUSED(exitStatus)
+ 
+-  shutdown();
++  /* Get path to browser and IM client */
++  VidaliaSettings settings;
++  QString browserExecutable = settings.getBrowserExecutable();
++  QString imExecutable = settings.getIMExecutable();
++
++  /* A subprocess is finished if it successfully exited or was never asked to start */
++  bool browserDone = browserExecutable.isEmpty() || _browserProcess->isDone();
++  bool imDone = imExecutable.isEmpty() || _imProcess->isDone();
++
++  /* Exit if both subprocesses are finished */
++  if (browserDone && imDone)
++    shutdown();
+ }
+ 
+-/** Called when the web browser, for example, because the path
++/** Called when the web browser failed to start, for example, because the path
+  * specified to the web browser executable didn't lead to an executable. */
+ void
+ MainWindow::onBrowserFailed(QString errmsg)
+@@ -441,6 +465,19 @@
+               VMessageBox::Ok|VMessageBox::Default|VMessageBox::Escape);
+ }
+ 
++/** Called when the IM client failed to start, for example, because the path
++ * specified to the IM client executable didn't lead to an executable. */
++void
++MainWindow::onIMFailed(QString errmsg)
++{
++  Q_UNUSED(errmsg);
++ 
++  /* Display an error message and see if the user wants some help */
++  VMessageBox::warning(this, tr("Error starting IM client"),
++              tr("Vidalia was unable to start the configured IM client"),
++              VMessageBox::Ok|VMessageBox::Default|VMessageBox::Escape);
++}
++
+ /** Starts the proxy server, if appropriately configured */
+ void MainWindow::startProxy()
+ {
+@@ -1032,7 +1069,7 @@
+ MainWindow::circuitEstablished()
+ {
+   updateTorStatus(CircuitEstablished);
+-  startBrowser();
++  startSubprocesses();
+ }
+ 
+ /** Checks the status of the current version of Tor to see if it's old,
+Index: src/vidalia/mainwindow.h
+===================================================================
+--- src/vidalia/mainwindow.h	(revision 2665)
++++ src/vidalia/mainwindow.h	(working copy)
+@@ -101,10 +101,12 @@
+   void showServerConfigDialog();
+   /** Called when the "show on startup" checkbox is toggled. */
+   void toggleShowOnStartup(bool checked);
+-  /** Called when the web browser has stopped */
+-  void onBrowserFinished(int exitCode, QProcess::ExitStatus exitStatus);
++  /** Called when the web browser or IM client have stopped */
++  void onSubprocessFinished(int exitCode, QProcess::ExitStatus exitStatus);
+   /** Called web the web browser failed to start */
+   void onBrowserFailed(QString errmsg);
++  /** Called web the IM client failed to start */
++  void onIMFailed(QString errmsg);
+   /** Called when the proxy server fails to start */
+   void onProxyFailed(QString errmsg);
+ 
+@@ -137,7 +139,7 @@
+    * previously set TorStatus value. */
+   TorStatus updateTorStatus(TorStatus status);
+   /** Starts the web browser, if appropriately configured */
+-  void startBrowser();
++  void startSubprocesses();
+   /** Starts the proxy server, if appropriately configured */
+   void startProxy();
+   /** Converts a TorStatus enum value to a string for debug logging purposes. */
+@@ -179,6 +181,8 @@
+   TorControl* _torControl;
+   /** A HelperProcess object that manages the web browser */
+   HelperProcess* _browserProcess;
++  /** A HelperProcess object that manages the IM client */
++  HelperProcess* _imProcess;
+   /** A HelperProcess object that manages the proxy server */
+   HelperProcess* _proxyProcess;
+   /** Remembers the control password between when we start Tor with a hash of

Deleted: torbrowser/trunk/src/current-patches/vidalia-startim.patch
===================================================================
--- torbrowser/trunk/src/current-patches/vidalia-startim.patch	2008-06-08 22:41:07 UTC (rev 15047)
+++ torbrowser/trunk/src/current-patches/vidalia-startim.patch	2008-06-08 22:44:08 UTC (rev 15048)
@@ -1,257 +0,0 @@
-Index: src/vidalia/config/vidaliasettings.cpp
-===================================================================
---- src/vidalia/config/vidaliasettings.cpp	(revision 2665)
-+++ src/vidalia/config/vidaliasettings.cpp	(working copy)
-@@ -32,6 +32,7 @@
- #define SETTING_DATA_DIRECTORY      "DataDirectory"
- #define SETTING_SHOW_MAINWINDOW_AT_START  "ShowMainWindowAtStart"
- #define SETTING_BROWSER_EXECUTABLE  "BrowserExecutable"
-+#define SETTING_IM_EXECUTABLE       "IMExecutable"
- #define SETTING_RUN_PROXY_AT_START  "RunProxyAtStart"
- #define SETTING_PROXY_EXECUTABLE    "ProxyExecutable"
- #define SETTING_PROXY_EXECUTABLE_ARGUMENTS  "ProxyExecutableArguments"
-@@ -66,6 +67,7 @@
-   setDefault(SETTING_RUN_TOR_AT_START, true);
-   setDefault(SETTING_SHOW_MAINWINDOW_AT_START, true);
-   setDefault(SETTING_BROWSER_EXECUTABLE, "");
-+  setDefault(SETTING_IM_EXECUTABLE, "");
-   setDefault(SETTING_RUN_PROXY_AT_START, false);
-   setDefault(SETTING_PROXY_EXECUTABLE, "");
-   setDefault(SETTING_PROXY_EXECUTABLE_ARGUMENTS, QStringList());
-@@ -181,6 +183,22 @@
-   setValue(SETTING_BROWSER_EXECUTABLE, browserExecutable);
- }
- 
-+/** Returns a fully-qualified path to the IM client, including the
-+ * executable name. */
-+QString
-+VidaliaSettings::getIMExecutable() const
-+{
-+  return QDir::convertSeparators(value(SETTING_IM_EXECUTABLE).toString());
-+}
-+
-+/** Sets the location and name of the IM client executable to the given string.
-+ * If set to the empty string, the client will not be started. */
-+void
-+VidaliaSettings::setIMExecutable(const QString &IMExecutable)
-+{
-+  setValue(SETTING_IM_EXECUTABLE, IMExecutable);
-+}
-+
- /** Returns true if Vidalia should start a proxy application when it
-  * starts. */
- bool
-Index: src/vidalia/config/vidaliasettings.h
-===================================================================
---- src/vidalia/config/vidaliasettings.h	(revision 2665)
-+++ src/vidalia/config/vidaliasettings.h	(working copy)
-@@ -68,6 +68,13 @@
-    * string. If set to the empty string, the browser will not be started. */
-   void setBrowserExecutable(const QString &browserExecutable);
- 
-+  /** Returns a fully-qualified path to the IM client, including the
-+   * executable name. */
-+  QString getIMExecutable() const;
-+  /** Sets the location and name of the IM client executable to the given
-+   * string. If set to the empty string, the client will not be started. */
-+  void setIMExecutable(const QString &IMExecutable);
-+
-   /** Returns true if Vidalia should start a proxy application when it
-    * starts. */
-   bool runProxyAtStart();
-Index: src/vidalia/helperprocess.cpp
-===================================================================
---- src/vidalia/helperprocess.cpp	(revision 2665)
-+++ src/vidalia/helperprocess.cpp	(working copy)
-@@ -50,6 +50,12 @@
-   // Call error handling routine on errors
-   QObject::connect(this, SIGNAL(error(QProcess::ProcessError)),
-                    this, SLOT(onError(QProcess::ProcessError)));
-+  // Call started handler on successful startup
-+  QObject::connect(this, SIGNAL(started()),
-+                   this, SLOT(onStart()));
-+
-+  // Mark as not having started
-+  _okStart = false;
- }
- 
- /** Start the specified application. */
-@@ -70,4 +76,16 @@
-   }
- }
- 
-+/** Invoked when underlying QProcess starts. */
-+void
-+HelperProcess::onStart()
-+{
-+  _okStart = true;
-+}
- 
-+/** Returns true iff process is not running. */
-+bool
-+HelperProcess::isDone() const
-+{
-+  return state() == NotRunning;
-+}
-Index: src/vidalia/helperprocess.h
-===================================================================
---- src/vidalia/helperprocess.h	(revision 2665)
-+++ src/vidalia/helperprocess.h	(working copy)
-@@ -53,10 +53,18 @@
-   HelperProcess(QObject *parent = 0);
-   /** Start the specified application. */
-   void start(const QString &app, const QStringList &args);
-+  /** Returns true iff process is not running. */
-+  bool isDone() const;
- 
-+private:
-+  /** True iff the underlying QProcess has sucessfully started */
-+  bool _okStart;
-+
- private slots:
-   /** Invoked when underlying QProcess fails. */
-   void onError(QProcess::ProcessError error);
-+  /** Invoked when underlying QProcess starts. */
-+  void onStart();
- 
- signals:
-   /** Invoked when start() fails. */
-Index: src/vidalia/mainwindow.cpp
-===================================================================
---- src/vidalia/mainwindow.cpp	(revision 2665)
-+++ src/vidalia/mainwindow.cpp	(working copy)
-@@ -128,10 +128,17 @@
-   /* Create a new HelperProcess object, used to start the web browser */
-   _browserProcess = new HelperProcess(this);
-   connect(_browserProcess, SIGNAL(finished(int, QProcess::ExitStatus)),
--           this, SLOT(onBrowserFinished(int, QProcess::ExitStatus)));
-+           this, SLOT(onSubprocessFinished(int, QProcess::ExitStatus)));
-   connect(_browserProcess, SIGNAL(startFailed(QString)),
-            this, SLOT(onBrowserFailed(QString)));
- 
-+  /* Create a new HelperProcess object, used to start the web browser */
-+  _imProcess = new HelperProcess(this);
-+  connect(_imProcess, SIGNAL(finished(int, QProcess::ExitStatus)),
-+           this, SLOT(onSubprocessFinished(int, QProcess::ExitStatus)));
-+  connect(_imProcess, SIGNAL(startFailed(QString)),
-+           this, SLOT(onIMFailed(QString)));
-+
-   /* Create a new HelperProcess object, used to start the proxy server */
-   _proxyProcess = new HelperProcess(this);
-   connect(_proxyProcess, SIGNAL(startFailed(QString)),
-@@ -409,26 +416,43 @@
- #endif
- }
- 
--/** Starts the web browser, if appropriately configured */
--void MainWindow::startBrowser()
-+/** Starts the web browser and IM client, if appropriately configured */
-+void MainWindow::startSubprocesses()
- {
-   VidaliaSettings settings;
-   QString executable = settings.getBrowserExecutable();
-   
-   if (!executable.isEmpty())
-     _browserProcess->start(executable, QStringList());
-+
-+  executable = settings.getIMExecutable();
-+
-+  if (!executable.isEmpty())
-+    _imProcess->start(executable, QStringList());
-+  
- }
- 
--/** Called when browser has exited */
--void MainWindow::onBrowserFinished(int exitCode, QProcess::ExitStatus exitStatus)
-+/** Called when browser or IM client have exited */
-+void MainWindow::onSubprocessFinished(int exitCode, QProcess::ExitStatus exitStatus)
- {
-   Q_UNUSED(exitCode)
-   Q_UNUSED(exitStatus)
- 
--  shutdown();
-+  /* Get path to browser and IM client */
-+  VidaliaSettings settings;
-+  QString browserExecutable = settings.getBrowserExecutable();
-+  QString imExecutable = settings.getIMExecutable();
-+
-+  /* A subprocess is finished if it successfully exited or was never asked to start */
-+  bool browserDone = browserExecutable.isEmpty() || _browserProcess->isDone();
-+  bool imDone = imExecutable.isEmpty() || _imProcess->isDone();
-+
-+  /* Exit if both subprocesses are finished */
-+  if (browserDone && imDone)
-+    shutdown();
- }
- 
--/** Called when the web browser, for example, because the path
-+/** Called when the web browser failed to start, for example, because the path
-  * specified to the web browser executable didn't lead to an executable. */
- void
- MainWindow::onBrowserFailed(QString errmsg)
-@@ -441,6 +465,19 @@
-               VMessageBox::Ok|VMessageBox::Default|VMessageBox::Escape);
- }
- 
-+/** Called when the IM client failed to start, for example, because the path
-+ * specified to the IM client executable didn't lead to an executable. */
-+void
-+MainWindow::onIMFailed(QString errmsg)
-+{
-+  Q_UNUSED(errmsg);
-+ 
-+  /* Display an error message and see if the user wants some help */
-+  VMessageBox::warning(this, tr("Error starting IM client"),
-+              tr("Vidalia was unable to start the configured IM client"),
-+              VMessageBox::Ok|VMessageBox::Default|VMessageBox::Escape);
-+}
-+
- /** Starts the proxy server, if appropriately configured */
- void MainWindow::startProxy()
- {
-@@ -1032,7 +1069,7 @@
- MainWindow::circuitEstablished()
- {
-   updateTorStatus(CircuitEstablished);
--  startBrowser();
-+  startSubprocesses();
- }
- 
- /** Checks the status of the current version of Tor to see if it's old,
-Index: src/vidalia/mainwindow.h
-===================================================================
---- src/vidalia/mainwindow.h	(revision 2665)
-+++ src/vidalia/mainwindow.h	(working copy)
-@@ -101,10 +101,12 @@
-   void showServerConfigDialog();
-   /** Called when the "show on startup" checkbox is toggled. */
-   void toggleShowOnStartup(bool checked);
--  /** Called when the web browser has stopped */
--  void onBrowserFinished(int exitCode, QProcess::ExitStatus exitStatus);
-+  /** Called when the web browser or IM client have stopped */
-+  void onSubprocessFinished(int exitCode, QProcess::ExitStatus exitStatus);
-   /** Called web the web browser failed to start */
-   void onBrowserFailed(QString errmsg);
-+  /** Called web the IM client failed to start */
-+  void onIMFailed(QString errmsg);
-   /** Called when the proxy server fails to start */
-   void onProxyFailed(QString errmsg);
- 
-@@ -137,7 +139,7 @@
-    * previously set TorStatus value. */
-   TorStatus updateTorStatus(TorStatus status);
-   /** Starts the web browser, if appropriately configured */
--  void startBrowser();
-+  void startSubprocesses();
-   /** Starts the proxy server, if appropriately configured */
-   void startProxy();
-   /** Converts a TorStatus enum value to a string for debug logging purposes. */
-@@ -179,6 +181,8 @@
-   TorControl* _torControl;
-   /** A HelperProcess object that manages the web browser */
-   HelperProcess* _browserProcess;
-+  /** A HelperProcess object that manages the IM client */
-+  HelperProcess* _imProcess;
-   /** A HelperProcess object that manages the proxy server */
-   HelperProcess* _proxyProcess;
-   /** Remembers the control password between when we start Tor with a hash of



More information about the tor-commits mailing list