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

[vidalia-svn] r4014: Plugin manager sent plugins directory to load from. Finds pl (in vidalia/branches/extension-api/src: plugins plugins/TorBrowserBundlePlugin vidalia vidalia/config)



Author: tyree731
Date: 2009-08-05 21:17:42 -0400 (Wed, 05 Aug 2009)
New Revision: 4014

Modified:
   vidalia/branches/extension-api/src/plugins/PluginManager.cpp
   vidalia/branches/extension-api/src/plugins/TorBrowserBundlePlugin/TorBrowserBundlePlugin.cpp
   vidalia/branches/extension-api/src/vidalia/MainWindow.cpp
   vidalia/branches/extension-api/src/vidalia/config/VidaliaSettings.cpp
   vidalia/branches/extension-api/src/vidalia/config/VidaliaSettings.h
Log:
Plugin manager sent plugins directory to load from. Finds plugins, but doesn't load them. :(

Modified: vidalia/branches/extension-api/src/plugins/PluginManager.cpp
===================================================================
--- vidalia/branches/extension-api/src/plugins/PluginManager.cpp	2009-08-06 00:42:54 UTC (rev 4013)
+++ vidalia/branches/extension-api/src/plugins/PluginManager.cpp	2009-08-06 01:17:42 UTC (rev 4014)
@@ -40,8 +40,9 @@
 }
 
 void 
-PluginManager::loadPlugins(const QString& applicationDirectory)
+PluginManager::loadPlugins(const QString& pluginsDirectory)
 {
+  /* Load all static plugins */
   foreach (QObject *plugin, QPluginLoader::staticInstances()) {
     VidaliaPluginInterface* pluginInstance = 
       qobject_cast<VidaliaPluginInterface*>(plugin);
@@ -52,19 +53,10 @@
       /* Invalid plugin type? */
     }
   }
-#if 0
-  QDir dataPluginsDir = QDir(dataDirectory);
-  QDir applicationPluginsDir = QDir(applicationDirectory);
-#if defined(Q_OS_WIN)
-#elif defined(Q_OS_OSX)
-  applicationPluginsDir.cdup();
-  applicationPluginsDir.cd("Resources");
-#else
-  // *nix's
-#endif
-  applicationPluginsDir.cd("Plugins");
 
-  /* I'll fix the copy-paste later. */
+  /* Load all dynamic plugins */
+  QDir applicationPluginsDir = QDir(pluginsDirectory);
+
   foreach (QString fileName, applicationPluginsDir.entryList(QDir::Files)) {
     QPluginLoader loader(applicationPluginsDir.absoluteFilePath(fileName));
     VidaliaPluginInterface* pluginInstance = 
@@ -77,18 +69,6 @@
     }
   }
 
-  foreach (QString fileName, dataPluginsDir.entryList(QDir::Files)) {
-    QPluginLoader loader(dataPluginsDir.absoluteFilePath(fileName));
-    VidaliaPluginInterface* pluginInstance =
-      qobject_cast<VidaliaPluginInterface*>(loader.instance());
-    if (pluginInstance) {
-      pluginInstance->setPluginManager(this);
-      _pluginList.push_back(pluginInstance);
-    } else {
-      /* Either not a plugin file or not a vidaliaplugininterface plugin */
-    }
-  }
-#endif
 }
 
 

Modified: vidalia/branches/extension-api/src/plugins/TorBrowserBundlePlugin/TorBrowserBundlePlugin.cpp
===================================================================
--- vidalia/branches/extension-api/src/plugins/TorBrowserBundlePlugin/TorBrowserBundlePlugin.cpp	2009-08-06 00:42:54 UTC (rev 4013)
+++ vidalia/branches/extension-api/src/plugins/TorBrowserBundlePlugin/TorBrowserBundlePlugin.cpp	2009-08-06 01:17:42 UTC (rev 4014)
@@ -22,7 +22,7 @@
 
 TorBrowserBundlePlugin::TorBrowserBundlePlugin()
 {
-  qDebug() << "TBB IS ALIVE!\n";
+  qDebug() << "TBB: It works!";
 
   /* Listen for the TorStarted() signal to begin TBB */
   connect(_pluginManager, SIGNAL(torStarted()), this, SLOT(start()));

Modified: vidalia/branches/extension-api/src/vidalia/MainWindow.cpp
===================================================================
--- vidalia/branches/extension-api/src/vidalia/MainWindow.cpp	2009-08-06 00:42:54 UTC (rev 4013)
+++ vidalia/branches/extension-api/src/vidalia/MainWindow.cpp	2009-08-06 01:17:42 UTC (rev 4014)
@@ -145,7 +145,7 @@
 
   /* Creates the plugin manager and load relevant plugins */
   _pluginManager  = new PluginManager(_torControl, Vidalia::dataDirectory());
-  _pluginManager->loadPlugins("");
+  _pluginManager->loadPlugins(settings.getPluginDirectory());
 
   /* Connect help dialog requests to the help dialog. */
   connect(_configDialog, SIGNAL(helpRequested(QString)),

Modified: vidalia/branches/extension-api/src/vidalia/config/VidaliaSettings.cpp
===================================================================
--- vidalia/branches/extension-api/src/vidalia/config/VidaliaSettings.cpp	2009-08-06 00:42:54 UTC (rev 4013)
+++ vidalia/branches/extension-api/src/vidalia/config/VidaliaSettings.cpp	2009-08-06 01:17:42 UTC (rev 4014)
@@ -34,6 +34,7 @@
 #define SETTING_BROWSER_DIRECTORY   "BrowserDirectory"
 #define SETTING_IM_EXECUTABLE       "IMExecutable"
 #define SETTING_RUN_PROXY_AT_START  "RunProxyAtStart"
+#define SETTING_PLUGIN_DIRECTORY    "PluginDirectory"
 #define SETTING_PROXY_EXECUTABLE    "ProxyExecutable"
 #define SETTING_PROXY_EXECUTABLE_ARGUMENTS  "ProxyExecutableArguments"
 #define SETTING_CHECK_FOR_UPDATES   "CheckForUpdates"
@@ -238,6 +239,20 @@
   setValue(SETTING_RUN_PROXY_AT_START, run);
 }
 
+QString
+VidaliaSettings::getPluginDirectory() const
+{
+  QString defaultPluginsDirectory = Vidalia::dataDirectory();
+#if defined(Q_OS_WIN)
+  defaultPluginsDirectory += "\";
+#else
+  defaultPluginsDirectory += "/";
+#endif
+  defaultPluginsDirectory += "plugins";
+
+  return value(SETTING_PLUGIN_DIRECTORY, defaultPluginsDirectory).toString();
+}
+
 /** Returns a fully-qualified path to the proxy server, including the
  * executable name. */
 QString

Modified: vidalia/branches/extension-api/src/vidalia/config/VidaliaSettings.h
===================================================================
--- vidalia/branches/extension-api/src/vidalia/config/VidaliaSettings.h	2009-08-06 00:42:54 UTC (rev 4013)
+++ vidalia/branches/extension-api/src/vidalia/config/VidaliaSettings.h	2009-08-06 01:17:42 UTC (rev 4014)
@@ -90,6 +90,9 @@
   /** Set whether to run a proxy application when Vidalia starts. */
   void setRunProxyAtStart(bool run);
 
+  /** Returns the directory where dynamic plugins will be loaded from */
+  QString getPluginDirectory() const;
+
   /** Returns a fully-qualified path to the proxy server, including the
    * executable name. */
   QString getProxyExecutable() const;