[tor-commits] [vidalia/alpha] Display Nickname and ORPort in window title if running as a relay
chiiph at torproject.org
chiiph at torproject.org
Wed Apr 11 00:04:07 UTC 2012
commit 5bc1bab418cca8c28c5d9797d89312eaefb86333
Author: Feroze Naina <ferozenaina at gmail.com>
Date: Tue Apr 10 15:29:29 2012 +0530
Display Nickname and ORPort in window title if running as a relay
---
changes/bug3634 | 3 +++
src/vidalia/MainWindow.cpp | 22 ++++++++++++++++++++++
src/vidalia/MainWindow.h | 3 +++
src/vidalia/config/ConfigDialog.cpp | 5 ++++-
src/vidalia/config/ConfigDialog.h | 2 ++
src/vidalia/config/ConfigPage.h | 3 +++
src/vidalia/config/ServerPage.cpp | 8 +++++++-
7 files changed, 44 insertions(+), 2 deletions(-)
diff --git a/changes/bug3634 b/changes/bug3634
new file mode 100644
index 0000000..6f17d8a
--- /dev/null
+++ b/changes/bug3634
@@ -0,0 +1,3 @@
+ New features:
+ o Display the relay Nickname and ORPort in the window title when
+ Vidalia is running as a relay. Fixes bug 3634.
diff --git a/src/vidalia/MainWindow.cpp b/src/vidalia/MainWindow.cpp
index 741f55e..c97ab35 100644
--- a/src/vidalia/MainWindow.cpp
+++ b/src/vidalia/MainWindow.cpp
@@ -185,6 +185,7 @@ MainWindow::createGUI()
createMenuBar();
createToolBar();
createTrayIcon();
+ updateTitle();
// We need to create this tab at the beggining
// and we must specify the statusBar
@@ -497,6 +498,25 @@ MainWindow::createConnections()
this, SLOT(addTab(VidaliaTab *)));
}
+/* Sets window title to "Nickname ORPort" if running as relay */
+void
+MainWindow::updateTitle()
+{
+ ServerSettings settings(_torControl);
+
+ QString baseTitle = tr("Vidalia Control Panel");
+
+ if (settings.isServerEnabled()) {
+ QString Nickname = settings.getNickname();
+ QString ORPort = QString::number(settings.getORPort());
+ setWindowTitle(QString("%1 - %2 %3").arg(baseTitle)
+ .arg(Nickname)
+ .arg(ORPort));
+ } else {
+ setWindowTitle(baseTitle);
+ }
+}
+
/** Called when the application is closing, by selecting "Exit" from the tray
* menu. If we're running a Tor server, then ask if we want to kill Tor now,
* or do a delayed shutdown. */
@@ -1778,6 +1798,8 @@ MainWindow::showConfigDialog(ConfigDialog::Page page)
this, SLOT(showHelpDialog(QString)));
connect(configDialog, SIGNAL(restartTor()),
this, SLOT(restart()));
+ connect(configDialog, SIGNAL(configChanged()),
+ this, SLOT(updateTitle()));
configDialog->showWindow(page);
}
diff --git a/src/vidalia/MainWindow.h b/src/vidalia/MainWindow.h
index 4a34ee3..50a84c0 100644
--- a/src/vidalia/MainWindow.h
+++ b/src/vidalia/MainWindow.h
@@ -171,6 +171,9 @@ private slots:
/** Called when the Panic! button is pressed */
void panic();
+ /** Called when server configuration is changed */
+ void updateTitle();
+
#if defined(USE_AUTOUPDATE)
/** Called when the user clicks the 'Check Now' button in the General
* settings page. */
diff --git a/src/vidalia/config/ConfigDialog.cpp b/src/vidalia/config/ConfigDialog.cpp
index 1724814..f87e1ab 100644
--- a/src/vidalia/config/ConfigDialog.cpp
+++ b/src/vidalia/config/ConfigDialog.cpp
@@ -66,6 +66,8 @@ ConfigDialog::ConfigDialog(QWidget* parent)
/* Used to connect restartTor signals */
AdvancedPage *advancedPage;
+ /* Used to connect configChanged signals */
+ ServerPage *serverPage;
/* Create the config pages and actions */
QActionGroup *grp = new QActionGroup(this);
GeneralPage *generalPage = new GeneralPage(ui.stackPages);
@@ -79,7 +81,7 @@ ConfigDialog::ConfigDialog(QWidget* parent)
createPageAction(QIcon(IMAGE_NETWORK),
tr("Network"), "Network", grp));
- ui.stackPages->add(new ServerPage(ui.stackPages),
+ ui.stackPages->add(serverPage = new ServerPage(ui.stackPages),
createPageAction(QIcon(IMAGE_SERVER),
tr("Sharing"), "Sharing", grp));
@@ -92,6 +94,7 @@ ConfigDialog::ConfigDialog(QWidget* parent)
tr("Advanced"), "Advanced", grp));
connect(advancedPage, SIGNAL(restartTor()), this, SIGNAL(restartTor()));
+ connect(serverPage, SIGNAL(configChanged()), this, SIGNAL(configChanged()));
foreach (ConfigPage *page, ui.stackPages->pages()) {
connect(page, SIGNAL(helpRequested(QString)),
diff --git a/src/vidalia/config/ConfigDialog.h b/src/vidalia/config/ConfigDialog.h
index 441a85d..3369200 100644
--- a/src/vidalia/config/ConfigDialog.h
+++ b/src/vidalia/config/ConfigDialog.h
@@ -51,6 +51,8 @@ signals:
void checkForUpdates();
/** Emitted when the user changes torrc file to restart Tor */
void restartTor();
+ /** Emitted when user changes server configuration */
+ void configChanged();
protected:
/** Called when the user changes the UI translation. */
diff --git a/src/vidalia/config/ConfigPage.h b/src/vidalia/config/ConfigPage.h
index d939302..3e1e4dc 100644
--- a/src/vidalia/config/ConfigPage.h
+++ b/src/vidalia/config/ConfigPage.h
@@ -65,6 +65,9 @@ signals:
/** Emitted when all the settings need to be reloaded */
void reloadAll();
+ /** Emitted when user changes server configuration */
+ void configChanged();
+
private:
QString _title; /**< Title of this configuration page. */
};
diff --git a/src/vidalia/config/ServerPage.cpp b/src/vidalia/config/ServerPage.cpp
index 52d311a..31660a4 100644
--- a/src/vidalia/config/ServerPage.cpp
+++ b/src/vidalia/config/ServerPage.cpp
@@ -284,7 +284,13 @@ ServerPage::changedSinceLastApply()
bool
ServerPage::apply(QString &errmsg)
{
- return _settings->apply(&errmsg);
+ if (_settings->apply(&errmsg)) {
+ /* Emits signal used to set Vidalia window title in MainWindow */
+ emit configChanged();
+ return true;
+ }
+
+ return false;
}
/** Returns true if the user has changed their server settings since the
More information about the tor-commits
mailing list