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

[vidalia-svn] r3878: Fixed code to better conform to coding standards. Added code (in vidalia/branches/extension-api/src: plugins/HomePlugin plugins/WebBrowserPlugin vidalia)



Author: tyree731
Date: 2009-06-22 18:59:00 -0400 (Mon, 22 Jun 2009)
New Revision: 3878

Modified:
   vidalia/branches/extension-api/src/plugins/HomePlugin/HomePlugin.cpp
   vidalia/branches/extension-api/src/plugins/WebBrowserPlugin/WebBrowser.cpp
   vidalia/branches/extension-api/src/plugins/WebBrowserPlugin/WebBrowser.h
   vidalia/branches/extension-api/src/plugins/WebBrowserPlugin/WebBrowserPlugin.cpp
   vidalia/branches/extension-api/src/vidalia/MainWindow.cpp
   vidalia/branches/extension-api/src/vidalia/MainWindow.h
   vidalia/branches/extension-api/src/vidalia/PluginManager.cpp
   vidalia/branches/extension-api/src/vidalia/PluginManager.h
Log:
Fixed code to better conform to coding standards. Added code for returning and using plugins.


Modified: vidalia/branches/extension-api/src/plugins/HomePlugin/HomePlugin.cpp
===================================================================
--- vidalia/branches/extension-api/src/plugins/HomePlugin/HomePlugin.cpp	2009-06-22 03:39:30 UTC (rev 3877)
+++ vidalia/branches/extension-api/src/plugins/HomePlugin/HomePlugin.cpp	2009-06-22 22:59:00 UTC (rev 3878)
@@ -24,7 +24,8 @@
 {
 }
 
-QString HomePlugin::pluginHumanName() const
+QString 
+HomePlugin::pluginHumanName() const
 {
   return QString("Home Panel");
 }

Modified: vidalia/branches/extension-api/src/plugins/WebBrowserPlugin/WebBrowser.cpp
===================================================================
--- vidalia/branches/extension-api/src/plugins/WebBrowserPlugin/WebBrowser.cpp	2009-06-22 03:39:30 UTC (rev 3877)
+++ vidalia/branches/extension-api/src/plugins/WebBrowserPlugin/WebBrowser.cpp	2009-06-22 22:59:00 UTC (rev 3878)
@@ -33,17 +33,20 @@
 WebBrowser::~WebBrowser() {
 }
 
-QString WebBrowser::tabLabel() const 
+QString 
+WebBrowser::tabLabel() const 
 {
   return QString("Web Browser");
 }
 
-QIcon WebBrowser::tabIcon() const
+QIcon 
+WebBrowser::tabIcon() const
 {
   return QIcon();
 }
 
-void WebBrowser::loadURL()
+void 
+WebBrowser::loadURL()
 {
   ui.webView->load(ui.lineUrlEntry->displayText());
 }

Modified: vidalia/branches/extension-api/src/plugins/WebBrowserPlugin/WebBrowser.h
===================================================================
--- vidalia/branches/extension-api/src/plugins/WebBrowserPlugin/WebBrowser.h	2009-06-22 03:39:30 UTC (rev 3877)
+++ vidalia/branches/extension-api/src/plugins/WebBrowserPlugin/WebBrowser.h	2009-06-22 22:59:00 UTC (rev 3878)
@@ -46,12 +46,12 @@
   /** tabIcon provides a hook for the Vidalia plugin API to populate a given
    * panel's tab with an icon. */
   QIcon tabIcon() const;
+private:
+  /** Required to use Qt Designer object */
+  Ui::WebBrowser ui;
 private slots:
   /** Loads the URL inside of the URL entry box. */
   void loadURL();
-private:
-  /** Required to use Qt Designer object */
-  Ui::WebBrowser ui;
 };
 
 #endif

Modified: vidalia/branches/extension-api/src/plugins/WebBrowserPlugin/WebBrowserPlugin.cpp
===================================================================
--- vidalia/branches/extension-api/src/plugins/WebBrowserPlugin/WebBrowserPlugin.cpp	2009-06-22 03:39:30 UTC (rev 3877)
+++ vidalia/branches/extension-api/src/plugins/WebBrowserPlugin/WebBrowserPlugin.cpp	2009-06-22 22:59:00 UTC (rev 3878)
@@ -26,12 +26,14 @@
   delete _webBrowser;
 }
 
-QString WebBrowserPlugin::pluginHumanName() const
+QString 
+WebBrowserPlugin::pluginHumanName() const
 {
   return QString("Web Browser");
 }
 
-VidaliaPanel* WebBrowserPlugin::panel() const
+VidaliaPanel* 
+WebBrowserPlugin::panel() const
 {
   return _webBrowser;
 }

Modified: vidalia/branches/extension-api/src/vidalia/MainWindow.cpp
===================================================================
--- vidalia/branches/extension-api/src/vidalia/MainWindow.cpp	2009-06-22 03:39:30 UTC (rev 3877)
+++ vidalia/branches/extension-api/src/vidalia/MainWindow.cpp	2009-06-22 22:59:00 UTC (rev 3878)
@@ -140,11 +140,14 @@
   setContentsMargins(-12, -12, -12, -12);
   ui.vboxLayout->setContentsMargins(-12, -12, -12, -12);
 
-  /* Add the default panels to the tab bar */
+  /* Populate the tab bar with plugins */
+  populateTabs(_pluginManager->plugins());
+#if 0
   ui.tabMainPanel->addTab(_homePanel, tr("Home Panel"));
   ui.tabMainPanel->addTab(_dashboard, tr("Dashboard"));
   ui.tabMainPanel->addTab(_netViewer, tr("Network Viewer"));
   ui.tabMainPanel->addTab(_messageLog, tr("Message Log"));
+#endif
   ui.tabMainPanel->removeTab(0);
   ui.tabMainPanel->removeTab(0);
 
@@ -638,6 +641,18 @@
   _browserProcess->start(browserExecutable, commandLine);
 }
 
+/** Loads plugin's VidaliaPanel's into the main tab widget. */
+void
+MainWindow::populateTabs(QList<VidaliaPluginInterface*> plugins)
+{
+  foreach (VidaliaPluginInterface* plugin, plugins) {
+    if (plugin->panel()) {
+      ui.tabMainPanel->addTab(plugin->panel(), plugin->panel()->tabIcon(),
+			      plugin->panel()->tabLabel());
+    }
+  }
+}
+
 /** Starts the web browser and IM client, if appropriately configured */
 void
 MainWindow::startSubprocesses()

Modified: vidalia/branches/extension-api/src/vidalia/MainWindow.h
===================================================================
--- vidalia/branches/extension-api/src/vidalia/MainWindow.h	2009-06-22 03:39:30 UTC (rev 3877)
+++ vidalia/branches/extension-api/src/vidalia/MainWindow.h	2009-06-22 22:59:00 UTC (rev 3878)
@@ -23,7 +23,6 @@
 #include "VidaliaWindow.h"
 #include "HelperProcess.h"
 #include "TrayIcon.h"
-#include "PluginManager.h"
 #include "AboutDialog.h"
 #include "MessageLog.h"
 #include "BandwidthGraph.h"
@@ -33,6 +32,9 @@
 #include "HomePanel.h"
 #include "NetViewer.h"
 
+#include "PluginManager.h"
+#include "VidaliaPluginInterface.h"
+
 #include "TorControl.h"
 #include "BootstrapStatusEvent.h"
 
@@ -44,6 +46,7 @@
 #include "UPNPControl.h"
 #endif
 
+#include <QList>
 #include <QMainWindow>
 #include <QTimer>
 #include <QTabBar>
@@ -184,9 +187,9 @@
   TorStatus updateTorStatus(TorStatus status);
   /** Start a web browser when given the directory containing the executable and profile */
   void launchBrowserFromDirectory();
-  /** Searches for and loads plugins either compiled in statically or 
-   * dynamically linked plugins stored in the plugins/ directory. */
-  void loadPlugins();
+  /** Takes a list of plugin instances and populates the main tab widget with
+   * the plugin's VidaliaPanel if it has one. */
+  void populateTabs(QList<VidaliaPluginInterface*> plugins);
   /** Starts the web browser, if appropriately configured */
   void startSubprocesses();
   /** Starts the proxy server, if appropriately configured */

Modified: vidalia/branches/extension-api/src/vidalia/PluginManager.cpp
===================================================================
--- vidalia/branches/extension-api/src/vidalia/PluginManager.cpp	2009-06-22 03:39:30 UTC (rev 3877)
+++ vidalia/branches/extension-api/src/vidalia/PluginManager.cpp	2009-06-22 22:59:00 UTC (rev 3878)
@@ -28,18 +28,17 @@
 {
 }
 
-void PluginManager::loadPlugins(QString applicationDirectory, 
-				QString dataDirectory)
+void 
+PluginManager::loadPlugins(QString applicationDirectory, QString dataDirectory)
 {
   foreach (QObject *plugin, QPluginLoader::staticInstances()) {
     VidaliaPluginInterface* pluginInstance = 
       qobject_cast<VidaliaPluginInterface*>(plugin);
       if (pluginInstance) {
 	_pluginList.push_back(pluginInstance);
+      } else {
+	/* Invalid plugin type? */
       }
-      else {
-	/** Invalid plugin type? */
-      }
   }
 
   QDir dataPluginsDir = QDir(dataDirectory);
@@ -53,17 +52,16 @@
 #endif
   applicationPluginsDir.cd("Plugins");
 
-  /** I'll fix the copy-paste later. */
+  /* I'll fix the copy-paste later. */
   foreach (QString fileName, applicationPluginsDir.entryList(QDir::Files)) {
     QPluginLoader loader(applicationPluginsDir.absoluteFilePath(fileName));
     VidaliaPluginInterface* pluginInstance = 
       qobject_cast<VidaliaPluginInterface*>(loader.instance());
     if (pluginInstance) {
       _pluginList.push_back(pluginInstance);
+    } else {
+      /* Either not a plugin file or not a vidaliaplugininterface plugin */
     }
-    else {
-      /** Either not a plugin file or not a vidaliaplugininterface plugin */
-    }
   }
 
   foreach (QString fileName, dataPluginsDir.entryList(QDir::Files)) {
@@ -72,9 +70,15 @@
       qobject_cast<VidaliaPluginInterface*>(loader.instance());
     if (pluginInstance) {
       _pluginList.push_back(pluginInstance);
+    } else {
+      /* Either not a plugin file or not a vidaliaplugininterface plugin */
     }
-    else {
-      /** Either not a plugin file or not a vidaliaplugininterface plugin */
-    }
   }
 }
+
+
+QList<VidaliaPluginInterface*> 
+PluginManager::plugins() const
+{
+  return _pluginList;
+}

Modified: vidalia/branches/extension-api/src/vidalia/PluginManager.h
===================================================================
--- vidalia/branches/extension-api/src/vidalia/PluginManager.h	2009-06-22 03:39:30 UTC (rev 3877)
+++ vidalia/branches/extension-api/src/vidalia/PluginManager.h	2009-06-22 22:59:00 UTC (rev 3878)
@@ -33,6 +33,8 @@
   ~PluginManager();
   /** Loads all included static and dynamic plugins. */
   void loadPlugins(QString applicationDirectory, QString dataDirectory);
+  /** Returns a QList of all loaded plugin instances. */
+  QList<VidaliaPluginInterface*> plugins() const;
 private:
   QList<VidaliaPluginInterface*> _pluginList;
 };