commit 82c3d4b3856d2897b93b4a34a2994ffe9863c3ca
Author: Tomás Touceda <chiiph(a)torproject.org>
Date: Tue Jul 3 19:59:54 2012 -0300
Hide mainwindow with shortcut Ctrl+W if systray is available
---
changes/bug5495 | 2 ++
src/vidalia/MainWindow.cpp | 7 +++++++
src/vidalia/MainWindow.h | 3 ++-
3 files changed, 11 insertions(+), 1 deletions(-)
diff --git a/changes/bug5495 b/changes/bug5495
new file mode 100644
index 0000000..5d50307
--- /dev/null
+++ b/changes/bug5495
@@ -0,0 +1,2 @@
+ New features:
+ o Hide window with Ctrl+W shortcut. Resolves ticket 5495.
diff --git a/src/vidalia/MainWindow.cpp b/src/vidalia/MainWindow.cpp
index 3ddfb35..2ea816e 100644
--- a/src/vidalia/MainWindow.cpp
+++ b/src/vidalia/MainWindow.cpp
@@ -217,6 +217,10 @@ MainWindow::createActions()
_actionExit = new QAction(QIcon(IMG_EXIT), tr("Exit"), this);
_actionDebugDialog = new QAction(tr("Debug output"), this);
_actionPanic = new QAction(QIcon(IMG_EXIT), tr("Panic!"), this);
+ _actionHide = new QAction(tr("Hide"), this);
+ if (QSystemTrayIcon::isSystemTrayAvailable()) {
+ _actionHide->setShortcut(QKeySequence(tr("Ctrl+W")));
+ }
}
/** Creates the menu bar */
@@ -235,6 +239,7 @@ MainWindow::createMenuBar()
torMenu->addAction(_actionReloadConfig);
#endif
torMenu->addSeparator();
+ torMenu->addAction(_actionHide);
torMenu->addAction(_actionExit);
QMenu *actionsMenu = menu->addMenu(tr("Actions"));
@@ -446,6 +451,8 @@ MainWindow::createConnections()
connect(_actionPanic, SIGNAL(triggered()), this, SLOT(panic()));
+ connect(_actionHide, SIGNAL(triggered()), this, SLOT(hide()));
+
/* Catch signals when the application is running or shutting down */
connect(vApp, SIGNAL(running()), this, SLOT(running()));
connect(vApp, SIGNAL(aboutToQuit()), this, SLOT(aboutToQuit()));
diff --git a/src/vidalia/MainWindow.h b/src/vidalia/MainWindow.h
index 50a84c0..4bb3ef8 100644
--- a/src/vidalia/MainWindow.h
+++ b/src/vidalia/MainWindow.h
@@ -56,7 +56,7 @@ public:
public slots:
/** Shows or hides this window. **/
- virtual void setVisible(bool visible);
+ virtual void setVisible(bool visible = false);
/** Display a message in the application system tray icon */
void trayMessage(const QString &title, const QString &msg,
QSystemTrayIcon::MessageIcon icon = QSystemTrayIcon::Information,
@@ -307,6 +307,7 @@ private:
QAction *_actionExit;
QAction *_actionDebugDialog;
QAction *_actionPanic;
+ QAction *_actionHide;
QMenu _reattachMenu; /**< Menu used to handle tab re-attaching */
QAction *_dummy; /**< Dummy action to display when there are no more tabs */