diff --git a/languages/plugins/custom-definesandincludes/compilerprovider/widget/compilerswidget.h b/languages/plugins/custom-definesandincludes/compilerprovider/widget/compilerswidget.h --- a/languages/plugins/custom-definesandincludes/compilerprovider/widget/compilerswidget.h +++ b/languages/plugins/custom-definesandincludes/compilerprovider/widget/compilerswidget.h @@ -68,7 +68,6 @@ void addCompiler(const QString& factoryName); void compilerSelected(const QModelIndex& index); void compilerEdited(); - void selectCompilerPathDialog(); signals: void compilerChanged(); diff --git a/languages/plugins/custom-definesandincludes/compilerprovider/widget/compilerswidget.cpp b/languages/plugins/custom-definesandincludes/compilerprovider/widget/compilerswidget.cpp --- a/languages/plugins/custom-definesandincludes/compilerprovider/widget/compilerswidget.cpp +++ b/languages/plugins/custom-definesandincludes/compilerprovider/widget/compilerswidget.cpp @@ -25,7 +25,6 @@ #include #include -#include #include #include #include @@ -49,6 +48,7 @@ m_ui->addButton->setIcon(QIcon::fromTheme(QStringLiteral("list-add"))); m_ui->removeButton->setIcon(QIcon::fromTheme(QStringLiteral("list-remove"))); + m_ui->compilerPath->setWindowTitle(i18n("Select Compiler Executable")); m_addMenu = new QMenu(m_ui->addButton); m_mapper = new QSignalMapper(m_addMenu); @@ -78,10 +78,8 @@ connect(m_ui->compilers->selectionModel(), &QItemSelectionModel::currentChanged, this, &CompilersWidget::compilerSelected); - connect(m_ui->compilerName, &QLineEdit::editingFinished, this, &CompilersWidget::compilerEdited); - connect(m_ui->compilerPath, &QLineEdit::editingFinished, this, &CompilersWidget::compilerEdited); - - connect(m_ui->compilerSelector, &QPushButton::clicked, this, &CompilersWidget::selectCompilerPathDialog); + connect(m_ui->compilerName, &QLineEdit::textEdited, this, &CompilersWidget::compilerEdited); + connect(m_ui->compilerPath, &KUrlRequester::textEdited, this, &CompilersWidget::compilerEdited); connect(m_compilersModel, &CompilersModel::compilerChanged, this, &CompilersWidget::compilerChanged); @@ -95,6 +93,7 @@ void CompilersWidget::setCompilers(const QVector< CompilerPointer >& compilers) { m_compilersModel->setCompilers(compilers); + m_ui->compilers->expandAll(); } void CompilersWidget::clear() @@ -132,6 +131,8 @@ m_ui->compilers->selectionModel()->select(compilerIndex, QItemSelectionModel::Clear | QItemSelectionModel::SelectCurrent | QItemSelectionModel::Rows); compilerSelected(compilerIndex); + m_ui->compilers->scrollTo(compilerIndex); + m_ui->compilerName->setFocus(Qt::OtherFocusReason); break; } } @@ -174,21 +175,10 @@ emit changed(); } -void CompilersWidget::selectCompilerPathDialog() -{ - const QString compilerPath = QFileDialog::getOpenFileName(this, tr("Select path to compiler")); - if (compilerPath.isEmpty()) - return; - - m_ui->compilerPath->setText(compilerPath); - compilerEdited(); -} - void CompilersWidget::enableItems(bool enable) { m_ui->compilerName->setEnabled(enable); m_ui->compilerPath->setEnabled(enable); - m_ui->compilerSelector->setEnabled(enable); if(!enable) { m_ui->compilerName->clear(); diff --git a/languages/plugins/custom-definesandincludes/compilerprovider/widget/compilerswidget.ui b/languages/plugins/custom-definesandincludes/compilerprovider/widget/compilerswidget.ui --- a/languages/plugins/custom-definesandincludes/compilerprovider/widget/compilerswidget.ui +++ b/languages/plugins/custom-definesandincludes/compilerprovider/widget/compilerswidget.ui @@ -67,35 +67,25 @@ - Compiler path: + Compiler executable: - - - - - - - - - 30 - 16777215 - - - - ... - - - - + + + + KUrlRequester + QWidget +
kurlrequester.h
+
+