diff --git a/src/plugins/debugger/debuggerdialogs.cpp b/src/plugins/debugger/debuggerdialogs.cpp index d5087ff4a03e72289d44ba6217611fd11ee095c4..7d63f1825e77566afb9852a53e4e3828bfbd1db1 100644 --- a/src/plugins/debugger/debuggerdialogs.cpp +++ b/src/plugins/debugger/debuggerdialogs.cpp @@ -42,6 +42,7 @@ #include <coreplugin/icore.h> #include <utils/synchronousprocess.h> +#include <utils/historycompleter.h> #include <QtCore/QDebug> #include <QtCore/QProcess> @@ -55,6 +56,8 @@ #include <QtGui/QProxyModel> #include <QtGui/QSortFilterProxyModel> +using namespace Utils; + namespace Debugger { namespace Internal { @@ -71,7 +74,7 @@ public: QString processIdAt(const QModelIndex &index) const; QString executableForPid(const QString& pid) const; - void populate(QList<ProcData> processes, const QString &excludePid = QString()); + void populate(QList<ProcData> processes, const QString &excludePid); private: enum { ProcessImageRole = Qt::UserRole, ProcessNameRole }; @@ -131,7 +134,8 @@ QString ProcessListFilterModel::executableForPid(const QString &pid) const return QString(); } -void ProcessListFilterModel::populate(QList<ProcData> processes, const QString &excludePid) +void ProcessListFilterModel::populate + (QList<ProcData> processes, const QString &excludePid) { qStableSort(processes); @@ -167,10 +171,10 @@ AttachCoreDialog::AttachCoreDialog(QWidget *parent) { m_ui->setupUi(this); - m_ui->execFileName->setExpectedKind(Utils::PathChooser::File); + m_ui->execFileName->setExpectedKind(PathChooser::File); m_ui->execFileName->setPromptDialogTitle(tr("Select Executable")); - m_ui->coreFileName->setExpectedKind(Utils::PathChooser::File); + m_ui->coreFileName->setExpectedKind(PathChooser::File); m_ui->coreFileName->setPromptDialogTitle(tr("Select Core File")); m_ui->buttonBox->button(QDialogButtonBox::Ok)->setDefault(true); @@ -238,7 +242,7 @@ static QList<ProcData> unixProcessListPS() if (!psProcess.waitForStarted()) return rc; QByteArray output; - if (!Utils::SynchronousProcess::readDataFromProcess(psProcess, 30000, &output, 0, false)) + if (!SynchronousProcess::readDataFromProcess(psProcess, 30000, &output, 0, false)) return rc; // Split "457 S+ /Users/foo.app" const QStringList lines = QString::fromLocal8Bit(output).split(QLatin1Char('\n')); @@ -433,7 +437,7 @@ AttachTcfDialog::AttachTcfDialog(QWidget *parent) { m_ui->setupUi(this); m_ui->buttonBox->button(QDialogButtonBox::Ok)->setDefault(true); - m_ui->serverStartScript->setExpectedKind(Utils::PathChooser::File); + m_ui->serverStartScript->setExpectedKind(PathChooser::File); m_ui->serverStartScript->setPromptDialogTitle(tr("Select Executable")); connect(m_ui->useServerStartScriptCheckBox, SIGNAL(toggled(bool)), @@ -520,18 +524,23 @@ StartExternalDialog::StartExternalDialog(QWidget *parent) : QDialog(parent), m_ui(new Ui::StartExternalDialog) { m_ui->setupUi(this); - m_ui->execFile->setExpectedKind(Utils::PathChooser::File); + m_ui->execFile->setExpectedKind(PathChooser::File); m_ui->execFile->setPromptDialogTitle(tr("Select Executable")); + m_ui->execFile->lineEdit()->setCompleter( + new HistoryCompleter(m_ui->execFile->lineEdit())); m_ui->buttonBox->button(QDialogButtonBox::Ok)->setDefault(true); - m_ui->workingDirectory->setExpectedKind(Utils::PathChooser::Directory); + m_ui->workingDirectory->setExpectedKind(PathChooser::Directory); m_ui->workingDirectory->setPromptDialogTitle(tr("Select Working Directory")); + m_ui->workingDirectory->lineEdit()->setCompleter( + new HistoryCompleter(m_ui->workingDirectory->lineEdit())); //execLabel->setHidden(false); //execEdit->setHidden(false); //browseButton->setHidden(false); m_ui->execLabel->setText(tr("Executable:")); - m_ui->argLabel->setText(tr("Arguments:")); + m_ui->argsLabel->setText(tr("Arguments:")); + m_ui->argsEdit->setCompleter(new HistoryCompleter(m_ui->argsEdit)); connect(m_ui->buttonBox, SIGNAL(accepted()), this, SLOT(accept())); connect(m_ui->buttonBox, SIGNAL(rejected()), this, SLOT(reject())); @@ -589,12 +598,12 @@ StartRemoteDialog::StartRemoteDialog(QWidget *parent) { m_ui->setupUi(this); m_ui->buttonBox->button(QDialogButtonBox::Ok)->setDefault(true); - m_ui->debuggerPathChooser->setExpectedKind(Utils::PathChooser::File); + m_ui->debuggerPathChooser->setExpectedKind(PathChooser::File); m_ui->debuggerPathChooser->setPromptDialogTitle(tr("Select Debugger")); - m_ui->executablePathChooser->setExpectedKind(Utils::PathChooser::File); + m_ui->executablePathChooser->setExpectedKind(PathChooser::File); m_ui->executablePathChooser->setPromptDialogTitle(tr("Select Executable")); m_ui->sysrootPathChooser->setPromptDialogTitle(tr("Select Sysroot")); - m_ui->serverStartScript->setExpectedKind(Utils::PathChooser::File); + m_ui->serverStartScript->setExpectedKind(PathChooser::File); m_ui->serverStartScript->setPromptDialogTitle(tr("Select Start Script")); connect(m_ui->useServerStartScriptCheckBox, SIGNAL(toggled(bool)), diff --git a/src/plugins/debugger/startexternaldialog.ui b/src/plugins/debugger/startexternaldialog.ui index c3408136a4bedf4fe11fb3aa7ecc5fa753fe0711..4d7b19cb2201bbeba0dde21aeffa3ac56b0d1a44 100644 --- a/src/plugins/debugger/startexternaldialog.ui +++ b/src/plugins/debugger/startexternaldialog.ui @@ -7,7 +7,7 @@ <x>0</x> <y>0</y> <width>425</width> - <height>127</height> + <height>151</height> </rect> </property> <property name="windowTitle"> @@ -52,7 +52,7 @@ <widget class="Utils::PathChooser" name="execFile" native="true"/> </item> <item row="1" column="0"> - <widget class="QLabel" name="argLabel"> + <widget class="QLabel" name="argsLabel"> <property name="text"> <string>Arguments:</string> </property>