Debugger: More visible buttons, less clicks in DebuggerKitConfigWidget

Change-Id: If19c3640d40b1af8df6316b9bcb17e99020bee15
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
This commit is contained in:
hjk
2013-02-20 14:15:42 +01:00
parent c6bf98c0d6
commit 12428b8536
2 changed files with 20 additions and 14 deletions

View File

@@ -30,6 +30,8 @@
#include "debuggerkitconfigwidget.h" #include "debuggerkitconfigwidget.h"
#include "debuggerkitinformation.h" #include "debuggerkitinformation.h"
#include <coreplugin/icore.h>
#include <projectexplorer/abi.h> #include <projectexplorer/abi.h>
#include <projectexplorer/kitinformation.h> #include <projectexplorer/kitinformation.h>
@@ -65,17 +67,19 @@ static const char debuggingToolsWikiLinkC[] = "http://qt-project.org/wiki/Qt_Cre
DebuggerKitConfigWidget::DebuggerKitConfigWidget(ProjectExplorer::Kit *workingCopy) DebuggerKitConfigWidget::DebuggerKitConfigWidget(ProjectExplorer::Kit *workingCopy)
: KitConfigWidget(workingCopy), : KitConfigWidget(workingCopy),
m_label(new Utils::ElidingLabel), m_main(new QWidget),
m_button(new QPushButton(tr("Manage..."))) m_label(new Utils::ElidingLabel(m_main)),
m_autoDetectButton(new QPushButton(tr("Auto-detect"))),
m_editButton(new QPushButton(tr("Edit...")))
{ {
// ToolButton with Menu, defaulting to 'Autodetect'. QHBoxLayout *mainLayout = new QHBoxLayout(m_main);
QMenu *buttonMenu = new QMenu(m_button); mainLayout->addWidget(m_label);
QAction *autoDetectAction = buttonMenu->addAction(tr("Auto-detect")); mainLayout->addStretch();
connect(autoDetectAction, SIGNAL(triggered()), this, SLOT(autoDetectDebugger())); mainLayout->addWidget(m_autoDetectButton);
QAction *changeAction = buttonMenu->addAction(tr("Edit...")); m_label->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Preferred);
connect(changeAction, SIGNAL(triggered()), this, SLOT(showDialog()));
m_button->setMenu(buttonMenu);
connect(m_autoDetectButton, SIGNAL(pressed()), SLOT(autoDetectDebugger()));
connect(m_editButton, SIGNAL(pressed()), SLOT(showDialog()));
refresh(); refresh();
} }
@@ -86,12 +90,12 @@ QString DebuggerKitConfigWidget::toolTip() const
QWidget *DebuggerKitConfigWidget::mainWidget() const QWidget *DebuggerKitConfigWidget::mainWidget() const
{ {
return m_label; return m_main;
} }
QWidget *DebuggerKitConfigWidget::buttonWidget() const QWidget *DebuggerKitConfigWidget::buttonWidget() const
{ {
return m_button; return m_editButton;
} }
QString DebuggerKitConfigWidget::displayName() const QString DebuggerKitConfigWidget::displayName() const
@@ -101,7 +105,7 @@ QString DebuggerKitConfigWidget::displayName() const
void DebuggerKitConfigWidget::makeReadOnly() void DebuggerKitConfigWidget::makeReadOnly()
{ {
m_button->setEnabled(false); m_editButton->setEnabled(false);
} }
void DebuggerKitConfigWidget::refresh() void DebuggerKitConfigWidget::refresh()
@@ -116,7 +120,7 @@ void DebuggerKitConfigWidget::autoDetectDebugger()
void DebuggerKitConfigWidget::showDialog() void DebuggerKitConfigWidget::showDialog()
{ {
DebuggerKitConfigDialog dialog; DebuggerKitConfigDialog dialog(Core::ICore::mainWindow());
dialog.setWindowTitle(tr("Debugger for \"%1\"").arg(m_kit->displayName())); dialog.setWindowTitle(tr("Debugger for \"%1\"").arg(m_kit->displayName()));
dialog.setDebuggerItem(DebuggerKitInformation::debuggerItem(m_kit)); dialog.setDebuggerItem(DebuggerKitInformation::debuggerItem(m_kit));
if (dialog.exec() == QDialog::Accepted) if (dialog.exec() == QDialog::Accepted)

View File

@@ -78,8 +78,10 @@ private slots:
void showDialog(); void showDialog();
private: private:
QWidget *m_main;
QLabel *m_label; QLabel *m_label;
QPushButton *m_button; QPushButton *m_autoDetectButton;
QPushButton *m_editButton;
}; };
class DebuggerKitConfigDialog : public QDialog class DebuggerKitConfigDialog : public QDialog