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

[vidalia-svn] r3923: Message log loads as a plugin. Help system is still being qu (in vidalia/branches/extension-api/src/vidalia: . MessageLogPlugin NetworkMapPlugin)



Author: tyree731
Date: 2009-06-29 17:19:15 -0400 (Mon, 29 Jun 2009)
New Revision: 3923

Removed:
   vidalia/branches/extension-api/src/vidalia/network/
Modified:
   vidalia/branches/extension-api/src/vidalia/MainWindow.cpp
   vidalia/branches/extension-api/src/vidalia/MessageLogPlugin/MessageLog.cpp
   vidalia/branches/extension-api/src/vidalia/MessageLogPlugin/MessageLogPlugin.cpp
   vidalia/branches/extension-api/src/vidalia/NetworkMapPlugin/NetViewer.cpp
   vidalia/branches/extension-api/src/vidalia/NetworkMapPlugin/NetViewer.h
   vidalia/branches/extension-api/src/vidalia/NetworkMapPlugin/NetworkMapPlugin.cpp
   vidalia/branches/extension-api/src/vidalia/PluginManager.cpp
   vidalia/branches/extension-api/src/vidalia/VidaliaPanel.h
   vidalia/branches/extension-api/src/vidalia/VidaliaPluginInterface.cpp
   vidalia/branches/extension-api/src/vidalia/VidaliaPluginInterface.h
Log:
Message log loads as a plugin. Help system is still being quirky (commented out for now).


Modified: vidalia/branches/extension-api/src/vidalia/MainWindow.cpp
===================================================================
--- vidalia/branches/extension-api/src/vidalia/MainWindow.cpp	2009-06-29 05:22:14 UTC (rev 3922)
+++ vidalia/branches/extension-api/src/vidalia/MainWindow.cpp	2009-06-29 21:19:15 UTC (rev 3923)
@@ -108,20 +108,14 @@
   ui.setupUi(this);
 
   /* Creates the plugin manager and load relevant plugins */
-  _pluginManager  = new PluginManager();
-  _pluginManager->loadPlugins("","");
+  _pluginManager  = new PluginManager(Vidalia::dataDirectory());
+  _pluginManager->loadPlugins("");
 
   /* Create all the dialogs of which we only want one instance */
   _bandwidthGraph = new BandwidthGraph();
   _configDialog   = new ConfigDialog();
   _menuBar        = 0;
-#if 0
-  connect(_messageLog, SIGNAL(helpRequested(QString)),
-          this, SLOT(showHelpDialog(QString)));
 
-  connect(_netViewer, SIGNAL(helpRequested(QString)),
-          this, SLOT(showHelpDialog(QString)));
-#endif
   connect(_configDialog, SIGNAL(helpRequested(QString)),
           this, SLOT(showHelpDialog(QString)));
 

Modified: vidalia/branches/extension-api/src/vidalia/MessageLogPlugin/MessageLog.cpp
===================================================================
--- vidalia/branches/extension-api/src/vidalia/MessageLogPlugin/MessageLog.cpp	2009-06-29 05:22:14 UTC (rev 3922)
+++ vidalia/branches/extension-api/src/vidalia/MessageLogPlugin/MessageLog.cpp	2009-06-29 21:19:15 UTC (rev 3923)
@@ -163,23 +163,25 @@
 void
 MessageLog::loadSettings()
 {
+  /* Acquire a settings object from the parent plugin. */
+  QSettings* settings = VidaliaPanel::_parentPlugin->settings();
   /* Set Max Count widget */
-  uint maxMsgCount = getSetting(SETTING_MAX_MSG_COUNT,
+  uint maxMsgCount = settings->value(SETTING_MAX_MSG_COUNT,
                                 DEFAULT_MAX_MSG_COUNT).toUInt();
   ui.spnbxMaxCount->setValue(maxMsgCount);
   ui.lstMessages->setMaximumMessageCount(maxMsgCount);
 
   /* Set whether or not logging to file is enabled */
-  _enableLogging = getSetting(SETTING_ENABLE_LOGFILE,
+  _enableLogging = settings->value(SETTING_ENABLE_LOGFILE,
                               DEFAULT_ENABLE_LOGFILE).toBool();
-  QString logfile = getSetting(SETTING_LOGFILE,
+  QString logfile = settings->value(SETTING_LOGFILE,
                                DEFAULT_LOGFILE).toString();
   ui.lineFile->setText(QDir::convertSeparators(logfile));
   rotateLogFile(logfile);
   ui.chkEnableLogFile->setChecked(_logFile.isOpen());
 
   /* Set the checkboxes accordingly */
-  _filter = getSetting(SETTING_MSG_FILTER, DEFAULT_MSG_FILTER).toUInt();
+  _filter = settings->value(SETTING_MSG_FILTER, DEFAULT_MSG_FILTER).toUInt();
   ui.chkTorErr->setChecked(_filter & LogEvent::Error);
   ui.chkTorWarn->setChecked(_filter & LogEvent::Warn);
   ui.chkTorNote->setChecked(_filter & LogEvent::Notice);
@@ -198,8 +200,11 @@
 void
 MessageLog::registerLogEvents()
 {
+  /* Getting a QSettings object from my parent. */
+  QSettings* settings = _parentPlugin->settings();
+
   QString errmsg;
-  _filter = getSetting(SETTING_MSG_FILTER, DEFAULT_MSG_FILTER).toUInt();
+  _filter = settings->value(SETTING_MSG_FILTER, DEFAULT_MSG_FILTER).toUInt();
   if (!_torControl->setLogEvents(_filter, this, &errmsg)) {
     VMessageBox::warning(this, tr("Error Setting Filter"),
       p(tr("Vidalia was unable to register for Tor's log events.")) + p(errmsg),
@@ -234,6 +239,8 @@
 void
 MessageLog::saveSettings()
 {
+  /* Acquire a settings object from my parent plugin. */
+  QSettings* settings = _parentPlugin->settings();
   /* Update the logging status */
   _enableLogging = ui.chkEnableLogFile->isChecked();
   if (_enableLogging && ui.lineFile->text().isEmpty()) {
@@ -245,14 +252,14 @@
     return;
   }
   if (rotateLogFile(ui.lineFile->text())) {
-    saveSetting(SETTING_LOGFILE, ui.lineFile->text());
-    saveSetting(SETTING_ENABLE_LOGFILE, _logFile.isOpen());
+    settings->setValue(SETTING_LOGFILE, ui.lineFile->text());
+    settings->setValue(SETTING_ENABLE_LOGFILE, _logFile.isOpen());
   }
   ui.lineFile->setText(QDir::convertSeparators(ui.lineFile->text()));
   ui.chkEnableLogFile->setChecked(_logFile.isOpen());
 
   /* Update the maximum displayed item count */
-  saveSetting(SETTING_MAX_MSG_COUNT, ui.spnbxMaxCount->value());
+  settings->setValue(SETTING_MAX_MSG_COUNT, ui.spnbxMaxCount->value());
   ui.lstMessages->setMaximumMessageCount(ui.spnbxMaxCount->value());
   
   /* Save message filter and refilter the list */
@@ -262,7 +269,7 @@
   ADD_TO_FILTER(filter, LogEvent::Notice, ui.chkTorNote->isChecked());
   ADD_TO_FILTER(filter, LogEvent::Info, ui.chkTorInfo->isChecked());
   ADD_TO_FILTER(filter, LogEvent::Debug, ui.chkTorDebug->isChecked());
-  saveSetting(SETTING_MSG_FILTER, filter);
+  settings->setValue(SETTING_MSG_FILTER, filter);
   registerLogEvents();
   
   /* Filter the message log */
@@ -435,6 +442,8 @@
 void
 MessageLog::help()
 {
+#if 0
   emit helpRequested("log");
+#endif
 }
 

Modified: vidalia/branches/extension-api/src/vidalia/MessageLogPlugin/MessageLogPlugin.cpp
===================================================================
--- vidalia/branches/extension-api/src/vidalia/MessageLogPlugin/MessageLogPlugin.cpp	2009-06-29 05:22:14 UTC (rev 3922)
+++ vidalia/branches/extension-api/src/vidalia/MessageLogPlugin/MessageLogPlugin.cpp	2009-06-29 21:19:15 UTC (rev 3923)
@@ -57,6 +57,9 @@
 MessageLogPlugin::setupUI()
 {
   _messageLog = new MessageLog(this);
+  /* Connect a help requested signal of the panel to the plugin. */
+  connect(_messageLog, SIGNAL(helpRequested(QString)), 
+	  this, SIGNAL(helpRequested(QString)));
 }
 
 Q_EXPORT_PLUGIN2(messagelogplugin, MessageLogPlugin)

Modified: vidalia/branches/extension-api/src/vidalia/NetworkMapPlugin/NetViewer.cpp
===================================================================
--- vidalia/branches/extension-api/src/vidalia/NetworkMapPlugin/NetViewer.cpp	2009-06-29 05:22:14 UTC (rev 3922)
+++ vidalia/branches/extension-api/src/vidalia/NetworkMapPlugin/NetViewer.cpp	2009-06-29 21:19:15 UTC (rev 3923)
@@ -39,7 +39,7 @@
 /** Constructor. Loads settings from VidaliaSettings.
  * \param parent The parent widget of this NetViewer object.\
  */
-NetViewer::NetViewer(QWidget* parent)
+NetViewer::NetViewer(VidaliaPluginInterface* parent)
   : VidaliaPanel(parent)
 {
   /* Invoke Qt Designer generated QObject setup routine */

Modified: vidalia/branches/extension-api/src/vidalia/NetworkMapPlugin/NetViewer.h
===================================================================
--- vidalia/branches/extension-api/src/vidalia/NetworkMapPlugin/NetViewer.h	2009-06-29 05:22:14 UTC (rev 3922)
+++ vidalia/branches/extension-api/src/vidalia/NetworkMapPlugin/NetViewer.h	2009-06-29 21:19:15 UTC (rev 3923)
@@ -46,7 +46,7 @@
 
 public:
   /** Default constructor */
-  NetViewer(QWidget* parent = 0);
+  NetViewer(VidaliaPluginInterface* parent);
 
 public slots:
   /** Displays the network map window. */

Modified: vidalia/branches/extension-api/src/vidalia/NetworkMapPlugin/NetworkMapPlugin.cpp
===================================================================
--- vidalia/branches/extension-api/src/vidalia/NetworkMapPlugin/NetworkMapPlugin.cpp	2009-06-29 05:22:14 UTC (rev 3922)
+++ vidalia/branches/extension-api/src/vidalia/NetworkMapPlugin/NetworkMapPlugin.cpp	2009-06-29 21:19:15 UTC (rev 3923)
@@ -30,7 +30,10 @@
 void
 NetworkMapPlugin::setupUI()
 {
-  _netViewer = new NetViewer();
+  _netViewer = new NetViewer(this);
+  /* Connect help request signal from panel to plugin. */
+  connect(_netViewer, SIGNAL(helpRequested(QString)), 
+	  this, SIGNAL(helpRequested(QString)));
 }
 
 VidaliaPanel*

Modified: vidalia/branches/extension-api/src/vidalia/PluginManager.cpp
===================================================================
--- vidalia/branches/extension-api/src/vidalia/PluginManager.cpp	2009-06-29 05:22:14 UTC (rev 3922)
+++ vidalia/branches/extension-api/src/vidalia/PluginManager.cpp	2009-06-29 21:19:15 UTC (rev 3923)
@@ -20,14 +20,14 @@
 #include <QPluginLoader>
 #include <QStringList>
 
-PluginManager::PluginManager() 
+PluginManager::PluginManager(QString dataDirectory) 
   : _dataDirectory(dataDirectory)
 {
 }
 
 PluginManager::~PluginManager() 
 {
-  foreach(VidaliaPluginInstance* plugin, _pluginList) {
+  foreach(VidaliaPluginInterface* plugin, _pluginList) {
     delete plugin;
   }
 }
@@ -92,7 +92,7 @@
 }
 
 QString
-PluginManager::dataDirectory const
+PluginManager::dataDirectory() const
 {
   return _dataDirectory;
 }

Modified: vidalia/branches/extension-api/src/vidalia/VidaliaPanel.h
===================================================================
--- vidalia/branches/extension-api/src/vidalia/VidaliaPanel.h	2009-06-29 05:22:14 UTC (rev 3922)
+++ vidalia/branches/extension-api/src/vidalia/VidaliaPanel.h	2009-06-29 21:19:15 UTC (rev 3923)
@@ -40,7 +40,9 @@
   virtual QString tabLabel() const = 0;
   /** Returns the icon to be displayed adjacent to the tabLabel. */
   virtual QIcon tabIcon() const = 0;
-private:
+signals:
+  void helpRequested(const QString& topic);
+protected:
   VidaliaPluginInterface* _parentPlugin;
 };
 

Modified: vidalia/branches/extension-api/src/vidalia/VidaliaPluginInterface.cpp
===================================================================
--- vidalia/branches/extension-api/src/vidalia/VidaliaPluginInterface.cpp	2009-06-29 05:22:14 UTC (rev 3922)
+++ vidalia/branches/extension-api/src/vidalia/VidaliaPluginInterface.cpp	2009-06-29 21:19:15 UTC (rev 3923)
@@ -16,17 +16,21 @@
 
 #include "VidaliaPluginInterface.h"
 
+VidaliaPluginInterface::VidaliaPluginInterface()
+{
+}
+
 QString 
 VidaliaPluginInterface::dataDirectory() const
 {
   QString dir = _pluginManager->dataDirectory() + id();
-  return dir;;
+  return dir;
 }
 
 QSettings*
 VidaliaPluginInterface::settings()
 {
-  QSettings* setting = new QSettings(dataDirectory, QSettings::IniFormat);
+  QSettings* setting = new QSettings(dataDirectory(), QSettings::IniFormat);
   return setting;
 }
 

Modified: vidalia/branches/extension-api/src/vidalia/VidaliaPluginInterface.h
===================================================================
--- vidalia/branches/extension-api/src/vidalia/VidaliaPluginInterface.h	2009-06-29 05:22:14 UTC (rev 3922)
+++ vidalia/branches/extension-api/src/vidalia/VidaliaPluginInterface.h	2009-06-29 21:19:15 UTC (rev 3923)
@@ -37,7 +37,10 @@
 class VidaliaPluginInterface
 {
   friend class PluginManager;
+
 public:
+  /** Superclass constructor for plugins */
+  VidaliaPluginInterface();
   /** Virtual destructor */
   virtual ~VidaliaPluginInterface() {}
   /** Virtual class to allow for display of a panel name */
@@ -63,6 +66,8 @@
   /** Returns a QSettings object for plugins to load and save configurations. 
    * Plugin is responsible for managing the QSettings object. */
   QSettings* settings();
+signals:
+  void helpRequested(const QString& topic);
 private:
   /** A singleton instance of the plugin manager. */
   PluginManager* _pluginManager;