summaryrefslogtreecommitdiff
path: root/src/plugins/projectexplorer/targetselector.cpp
diff options
context:
space:
mode:
authorTobias Hunger <tobias.hunger@nokia.com>2010-06-29 12:56:08 +0200
committerTobias Hunger <tobias.hunger@nokia.com>2010-06-29 12:58:43 +0200
commitedfe3fec1c96962106d20a1792567472219af129 (patch)
treed6c9160b6c6835bdccd0d39bbe3c8a653acef373 /src/plugins/projectexplorer/targetselector.cpp
parentd8ad6aa275ce4ab7e0827aa342d75c6a2f5c3f5c (diff)
downloadqt-creator-edfe3fec1c96962106d20a1792567472219af129.tar.gz
Use popup menu when selecting new targets
Use a popup menu when adding new targets in projects mode. Task-number: QTCREATORBUG-1763
Diffstat (limited to 'src/plugins/projectexplorer/targetselector.cpp')
-rw-r--r--src/plugins/projectexplorer/targetselector.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/plugins/projectexplorer/targetselector.cpp b/src/plugins/projectexplorer/targetselector.cpp
index dd920ec46e..c17433feba 100644
--- a/src/plugins/projectexplorer/targetselector.cpp
+++ b/src/plugins/projectexplorer/targetselector.cpp
@@ -4,6 +4,7 @@
#include <utils/stylehelper.h>
#include <QtGui/QPainter>
+#include <QtGui/QMenu>
#include <QtGui/QMouseEvent>
#include <QtGui/QFontMetrics>
@@ -23,7 +24,8 @@ TargetSelector::TargetSelector(QWidget *parent) :
m_targetremovebuttondisabled(QLatin1String(":/projectexplorer/images/targetremovebutton_disabled.png")),
m_currentTargetIndex(-1),
m_addButtonEnabled(true),
- m_removeButtonEnabled(false)
+ m_removeButtonEnabled(false),
+ m_addButtonMenu(0)
{
QFont f = font();
f.setPixelSize(10);
@@ -94,6 +96,11 @@ void TargetSelector::setRemoveButtonEnabled(bool enabled)
m_removeButtonEnabled = enabled;
}
+void TargetSelector::setAddButtonMenu(QMenu *menu)
+{
+ m_addButtonMenu = menu;
+}
+
void TargetSelector::setCurrentSubIndex(int subindex)
{
if (subindex < 0 ||
@@ -148,8 +155,8 @@ void TargetSelector::mousePressEvent(QMouseEvent *event)
} else if (event->x() > ADDBUTTON_WIDTH + (targetWidth() + 1) * m_targets.size()) {
// check for add button
event->accept();
- if (m_addButtonEnabled)
- emit addButtonClicked();
+ if (m_addButtonEnabled && m_addButtonMenu)
+ m_addButtonMenu->popup(mapToGlobal(event->pos()));
} else {
// find the clicked target button
int x = ADDBUTTON_WIDTH;