diff --git a/src/libs/utils/pathchooser.cpp b/src/libs/utils/pathchooser.cpp index 26fa60294ec7ca7c33ad2f428fc53e02734a35af..b769ea755890194b98a737b4c50ce57fbdb43bb3 100644 --- a/src/libs/utils/pathchooser.cpp +++ b/src/libs/utils/pathchooser.cpp @@ -138,8 +138,7 @@ QString PathChooser::path() const void PathChooser::setPath(const QString &path) { - const QString defaultPath = path.isEmpty() ? homePath() : path; - m_d->m_lineEdit->setText(QDir::toNativeSeparators(defaultPath)); + m_d->m_lineEdit->setText(QDir::toNativeSeparators(path)); } void PathChooser::slotBrowse() diff --git a/src/plugins/debugger/startexternaldialog.cpp b/src/plugins/debugger/startexternaldialog.cpp index b8a5a59691f71bcebd52a11937fbe3cabd1afe2f..ba88f5f74c2a32bfc87f4e9a0192baf6b22ab42a 100644 --- a/src/plugins/debugger/startexternaldialog.cpp +++ b/src/plugins/debugger/startexternaldialog.cpp @@ -42,6 +42,8 @@ StartExternalDialog::StartExternalDialog(QWidget *parent) : QDialog(parent) { setupUi(this); + execFile->setExpectedKind(Core::Utils::PathChooser::File); + execFile->setPromptDialogTitle(tr("Select Executable")); buttonBox->button(QDialogButtonBox::Ok)->setDefault(true); //execLabel->setHidden(false); @@ -53,14 +55,11 @@ StartExternalDialog::StartExternalDialog(QWidget *parent) connect(buttonBox, SIGNAL(accepted()), this, SLOT(accept())); connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject())); - - connect(browseButton, SIGNAL(clicked()), - this, SLOT(onBrowseButton())); } void StartExternalDialog::setExecutableFile(const QString &str) { - execEdit->setText(str); + execFile->setPath(str); } void StartExternalDialog::setExecutableArguments(const QString &str) @@ -70,7 +69,7 @@ void StartExternalDialog::setExecutableArguments(const QString &str) QString StartExternalDialog::executableFile() const { - return execEdit->text(); + return execFile->path(); } QString StartExternalDialog::executableArguments() const @@ -116,10 +115,3 @@ QString StartExternalDialog::executableArguments() const return result; */ } - -void StartExternalDialog::onBrowseButton() -{ - QString fileName = QFileDialog::getOpenFileName(this, tr("Select Executable"), - execEdit->text()); - execEdit->setText(fileName); -} diff --git a/src/plugins/debugger/startexternaldialog.h b/src/plugins/debugger/startexternaldialog.h index 3cfe4c542069297b188426dc7d3d406fc61f9503..0707252774d26a5aab1e0ff7341cf97c997644d2 100644 --- a/src/plugins/debugger/startexternaldialog.h +++ b/src/plugins/debugger/startexternaldialog.h @@ -53,9 +53,6 @@ public: QString executableFile() const; QString executableArguments() const; - -private slots: - void onBrowseButton(); }; } // namespace Debugger diff --git a/src/plugins/debugger/startexternaldialog.ui b/src/plugins/debugger/startexternaldialog.ui index 7888db2a3e67023c0bb98ad12295c5a632a6e974..1b93356584c4d587e1c5c7c2fd360d3ae09bb6e2 100644 --- a/src/plugins/debugger/startexternaldialog.ui +++ b/src/plugins/debugger/startexternaldialog.ui @@ -1,7 +1,8 @@ -<ui version="4.0" > +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> <class>StartExternalDialog</class> - <widget class="QDialog" name="StartExternalDialog" > - <property name="geometry" > + <widget class="QDialog" name="StartExternalDialog"> + <property name="geometry"> <rect> <x>0</x> <y>0</y> @@ -9,59 +10,52 @@ <height>127</height> </rect> </property> - <property name="windowTitle" > + <property name="windowTitle"> <string>Start Debugger</string> </property> - <layout class="QVBoxLayout" > - <property name="spacing" > + <layout class="QVBoxLayout"> + <property name="spacing"> <number>6</number> </property> - <property name="margin" > + <property name="margin"> <number>9</number> </property> <item> - <layout class="QGridLayout" > - <property name="margin" > + <layout class="QGridLayout"> + <property name="margin"> <number>0</number> </property> - <property name="spacing" > + <property name="spacing"> <number>6</number> </property> - <item row="1" column="1" > - <widget class="QLineEdit" name="argsEdit" /> - </item> - <item row="0" column="1" > - <widget class="QLineEdit" name="execEdit" /> - </item> - <item row="0" column="0" > - <widget class="QLabel" name="execLabel" > - <property name="text" > + <item row="0" column="0"> + <widget class="QLabel" name="execLabel"> + <property name="text"> <string>Executable:</string> </property> </widget> </item> - <item row="0" column="2" > - <widget class="QToolButton" name="browseButton" > - <property name="text" > - <string>...</string> - </property> - </widget> - </item> - <item row="1" column="0" > - <widget class="QLabel" name="argLabel" > - <property name="text" > + <item row="1" column="0"> + <widget class="QLabel" name="argLabel"> + <property name="text"> <string>Arguments:</string> </property> </widget> </item> + <item row="1" column="1"> + <widget class="QLineEdit" name="argsEdit"/> + </item> + <item row="0" column="1"> + <widget class="Core::Utils::PathChooser" name="execFile" native="true"/> + </item> </layout> </item> <item> <spacer> - <property name="orientation" > + <property name="orientation"> <enum>Qt::Vertical</enum> </property> - <property name="sizeHint" stdset="0" > + <property name="sizeHint" stdset="0"> <size> <width>407</width> <height>16</height> @@ -70,24 +64,32 @@ </spacer> </item> <item> - <widget class="Line" name="line" > - <property name="orientation" > + <widget class="Line" name="line"> + <property name="orientation"> <enum>Qt::Horizontal</enum> </property> </widget> </item> <item> - <widget class="QDialogButtonBox" name="buttonBox" > - <property name="orientation" > + <widget class="QDialogButtonBox" name="buttonBox"> + <property name="orientation"> <enum>Qt::Horizontal</enum> </property> - <property name="standardButtons" > + <property name="standardButtons"> <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set> </property> </widget> </item> </layout> </widget> + <customwidgets> + <customwidget> + <class>Core::Utils::PathChooser</class> + <extends>QWidget</extends> + <header location="global">utils/pathchooser.h</header> + <container>1</container> + </customwidget> + </customwidgets> <resources/> <connections/> </ui>