[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[vidalia-svn] r3940: Message log no longer has resize thingy. Status bar api appe (in vidalia/branches/extension-api/src/vidalia: . MessageLogPlugin)
Author: tyree731
Date: 2009-07-06 16:45:37 -0400 (Mon, 06 Jul 2009)
New Revision: 3940
Modified:
vidalia/branches/extension-api/src/vidalia/MainWindow.cpp
vidalia/branches/extension-api/src/vidalia/MainWindow.h
vidalia/branches/extension-api/src/vidalia/MessageLogPlugin/MessageLog.cpp
vidalia/branches/extension-api/src/vidalia/MessageLogPlugin/MessageLog.h
vidalia/branches/extension-api/src/vidalia/MessageLogPlugin/MessageLog.ui
Log:
Message log no longer has resize thingy. Status bar api appears to be working.
Modified: vidalia/branches/extension-api/src/vidalia/MainWindow.cpp
===================================================================
--- vidalia/branches/extension-api/src/vidalia/MainWindow.cpp 2009-07-06 20:16:32 UTC (rev 3939)
+++ vidalia/branches/extension-api/src/vidalia/MainWindow.cpp 2009-07-06 20:45:37 UTC (rev 3940)
@@ -599,6 +599,9 @@
void
MainWindow::createStatusBar()
{
+ /* Set the current status widget to empty */
+ _currentStatusWidget = 0;
+
/* Create the status bar */
_statusBar = new QStatusBar(this);
_statusBar->setMaximumHeight(20);
@@ -1284,6 +1287,8 @@
}
}
+/** If a panel has a statusbar widget, replace the current status widget with
+ * it. */
void
MainWindow::updateStatusControl(int index)
{
@@ -1291,7 +1296,13 @@
(ui.tabMainPanel->widget(index));
if (selectedPanel) {
QWidget* statusWidget = selectedPanel->statusWidget();
- /* Do something! */
+ if (statusWidget) {
+ if (_currentStatusWidget) {
+ _statusBar->removeWidget(_currentStatusWidget);
+ }
+ _statusBar->addWidget(statusWidget);
+ _currentStatusWidget = statusWidget;
+ }
}
}
Modified: vidalia/branches/extension-api/src/vidalia/MainWindow.h
===================================================================
--- vidalia/branches/extension-api/src/vidalia/MainWindow.h 2009-07-06 20:16:32 UTC (rev 3939)
+++ vidalia/branches/extension-api/src/vidalia/MainWindow.h 2009-07-06 20:45:37 UTC (rev 3940)
@@ -281,6 +281,7 @@
QLabel *_lblStartupProgress;
QLabel *_lblTorStatusImg;
QLabel *_lblTorStatus;
+ QWidget *_currentStatusWidget;
/** Defines the actions for the tray menu */
QAction* _controlPanelAct;
Modified: vidalia/branches/extension-api/src/vidalia/MessageLogPlugin/MessageLog.cpp
===================================================================
--- vidalia/branches/extension-api/src/vidalia/MessageLogPlugin/MessageLog.cpp 2009-07-06 20:16:32 UTC (rev 3939)
+++ vidalia/branches/extension-api/src/vidalia/MessageLogPlugin/MessageLog.cpp 2009-07-06 20:45:37 UTC (rev 3940)
@@ -55,7 +55,8 @@
* \param flags Any desired window creation flags.
*/
MessageLog::MessageLog(MessageLogPlugin *parent)
-: VidaliaPanel(parent)
+: VidaliaPanel(parent),
+ _statusWidget(new QLabel("",this))
{
/* Invoke Qt Designer generated QObject setup routine */
ui.setupUi(this);
@@ -97,6 +98,12 @@
return QIcon(":/images/32x32/format-justify-fill.png");
}
+QWidget*
+MessageLog::statusWidget() const
+{
+ return _statusWidget;
+}
+
/** Binds events (signals) to actions (slots). */
void
MessageLog::createActions()
@@ -418,10 +425,10 @@
/* This is a workaround to force Qt to update the statusbar text (if any
* is currently displayed) to reflect the new message added. */
- QString currStatusTip = ui.statusbar->currentMessage();
+ QString currStatusTip = _statusWidget->text();
if (!currStatusTip.isEmpty()) {
currStatusTip = ui.lstMessages->statusTip();
- ui.statusbar->showMessage(currStatusTip);
+ _statusWidget->setText(currStatusTip);
}
/* If we're saving log messages to a file, go ahead and do that now */
Modified: vidalia/branches/extension-api/src/vidalia/MessageLogPlugin/MessageLog.h
===================================================================
--- vidalia/branches/extension-api/src/vidalia/MessageLogPlugin/MessageLog.h 2009-07-06 20:16:32 UTC (rev 3939)
+++ vidalia/branches/extension-api/src/vidalia/MessageLogPlugin/MessageLog.h 2009-07-06 20:45:37 UTC (rev 3940)
@@ -45,6 +45,8 @@
QString tabLabel() const;
/** Hook for Vidalia API to display text in the Message Log Panel's tab. */
QIcon tabIcon() const;
+ /** Hook for Vidalia API to update status bar with message log status' */
+ QWidget* statusWidget() const;
protected:
/** Called to deliver custom event types */
@@ -98,6 +100,8 @@
bool _enableLogging;
/* The log file used to store log messages. */
LogFile _logFile;
+ /* Statusbar widget for the display of statusbar messages */
+ QLabel* _statusWidget;
/** Qt Designer generatated QObject **/
Ui::MessageLog ui;
Modified: vidalia/branches/extension-api/src/vidalia/MessageLogPlugin/MessageLog.ui
===================================================================
--- vidalia/branches/extension-api/src/vidalia/MessageLogPlugin/MessageLog.ui 2009-07-06 20:16:32 UTC (rev 3939)
+++ vidalia/branches/extension-api/src/vidalia/MessageLogPlugin/MessageLog.ui 2009-07-06 20:45:37 UTC (rev 3940)
@@ -409,16 +409,6 @@
</item>
</layout>
</widget>
- <widget class="QStatusBar" name="statusbar" >
- <property name="geometry" >
- <rect>
- <x>0</x>
- <y>603</y>
- <width>698</width>
- <height>22</height>
- </rect>
- </property>
- </widget>
<widget class="QToolBar" name="toolBar" >
<property name="contextMenuPolicy" >
<enum>Qt::NoContextMenu</enum>
@@ -605,22 +595,6 @@
</resources>
<connections>
<connection>
- <sender>actionClose</sender>
- <signal>triggered()</signal>
- <receiver>MessageLog</receiver>
- <slot>close()</slot>
- <hints>
- <hint type="sourcelabel" >
- <x>-1</x>
- <y>-1</y>
- </hint>
- <hint type="destinationlabel" >
- <x>407</x>
- <y>378</y>
- </hint>
- </hints>
- </connection>
- <connection>
<sender>actionClear</sender>
<signal>triggered()</signal>
<receiver>lstMessages</receiver>