summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorhjk <hjk121@nokiamail.com>2013-06-25 13:54:31 +0200
committerEike Ziller <eike.ziller@digia.com>2013-06-25 14:53:34 +0200
commit78dc4ee112c8c7c82b1c603c6ec399fd66536b0c (patch)
tree5c31cf6d0b60d685748f7b0639022f18786deb53 /src
parent14cca9e94ea0105af03ad2bfab7b9f3858cffdbd (diff)
downloadqt-creator-78dc4ee112c8c7c82b1c603c6ec399fd66536b0c.tar.gz
Debugger: Add view menu to toolbar
Change-Id: I8783ce66d28626e9a484d6aa729fccd07bbda0b8 Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Diffstat (limited to 'src')
-rw-r--r--src/plugins/debugger/debuggermainwindow.cpp18
-rw-r--r--src/plugins/debugger/debuggermainwindow.h3
-rw-r--r--src/plugins/debugger/debuggerplugin.cpp1
3 files changed, 22 insertions, 0 deletions
diff --git a/src/plugins/debugger/debuggermainwindow.cpp b/src/plugins/debugger/debuggermainwindow.cpp
index 5e7f805926..4158b313d9 100644
--- a/src/plugins/debugger/debuggermainwindow.cpp
+++ b/src/plugins/debugger/debuggermainwindow.cpp
@@ -57,6 +57,7 @@
#include <QDockWidget>
#include <QVBoxLayout>
+#include <QToolButton>
using namespace Core;
using namespace ProjectExplorer;
@@ -113,6 +114,7 @@ public:
DebuggerLanguages m_supportedLanguages;
QWidget *m_debugToolBar;
+ QToolButton *m_viewButton;
QHBoxLayout *m_debugToolBarLayout;
QHash<DebuggerLanguage, Context> m_contextsForLanguage;
@@ -500,6 +502,12 @@ QWidget *DebuggerMainWindow::createContents(IMode *mode)
documentAndRightPane->setStretchFactor(0, 1);
documentAndRightPane->setStretchFactor(1, 0);
+ d->m_viewButton = new QToolButton();
+ // FIXME: Use real thing after string freeze.
+ QString hackyName = QCoreApplication::translate("Core::Internal::MainWindow", "&Views");
+ hackyName.replace(QLatin1Char('&'), QString());
+ d->m_viewButton->setText(hackyName);
+
Utils::StyledBar *debugToolBar = new Utils::StyledBar;
debugToolBar->setProperty("topBorder", true);
QHBoxLayout *debugToolBarLayout = new QHBoxLayout(debugToolBar);
@@ -507,6 +515,9 @@ QWidget *DebuggerMainWindow::createContents(IMode *mode)
debugToolBarLayout->setSpacing(0);
debugToolBarLayout->addWidget(d->m_debugToolBar);
debugToolBarLayout->addWidget(new Utils::StyledSeparator);
+ debugToolBarLayout->addWidget(d->m_viewButton);
+
+ connect(d->m_viewButton, SIGNAL(clicked()), this, SLOT(showViewsMenu()));
QDockWidget *dock = new QDockWidget(DebuggerMainWindowPrivate::tr("Debugger Toolbar"));
dock->setObjectName(QLatin1String("Debugger Toolbar"));
@@ -569,6 +580,13 @@ void DebuggerMainWindow::writeSettings() const
settings->endGroup();
}
+void DebuggerMainWindow::showViewsMenu()
+{
+ QMenu *menu = createPopupMenu();
+ menu->exec(d->m_viewButton->mapToGlobal(QPoint()));
+ delete menu;
+}
+
void DebuggerMainWindow::readSettings()
{
QSettings *settings = ICore::settings();
diff --git a/src/plugins/debugger/debuggermainwindow.h b/src/plugins/debugger/debuggermainwindow.h
index 39aaff810d..75bad457e9 100644
--- a/src/plugins/debugger/debuggermainwindow.h
+++ b/src/plugins/debugger/debuggermainwindow.h
@@ -95,6 +95,9 @@ public:
void readSettings();
void writeSettings() const;
+private slots:
+ void showViewsMenu();
+
private:
friend class Internal::DebuggerMainWindowPrivate;
Internal::DebuggerMainWindowPrivate *d;
diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp
index 4fa1a67cd7..a0a269fcaf 100644
--- a/src/plugins/debugger/debuggerplugin.cpp
+++ b/src/plugins/debugger/debuggerplugin.cpp
@@ -1253,6 +1253,7 @@ public:
QIcon m_locationMarkIcon;
StatusLabel *m_statusLabel;
+ QMenu *m_viewMenu;
QComboBox *m_threadBox;
BaseWindow *m_breakWindow;