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