[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;