diff --git a/src/plugins/fakevim/fakevimoptions.ui b/src/plugins/fakevim/fakevimoptions.ui index aa14acedb47..11a789283e1 100644 --- a/src/plugins/fakevim/fakevimoptions.ui +++ b/src/plugins/fakevim/fakevimoptions.ui @@ -287,25 +287,7 @@ - - - - - Keep empty to use the default path, i.e. %USERPROFILE%\_vimrc on Windows, ~/.vimrc otherwise. - - - - - - - - - - Browse... - - - - + @@ -365,6 +347,14 @@ + + + Utils::PathChooser + QWidget +
utils/pathchooser.h
+ 1 +
+
checkBoxUseFakeVim checkBoxAutoIndent @@ -389,8 +379,7 @@ lineEditBackspace lineEditIsKeyword checkBoxReadVimRc - lineEditVimRcPath - pushButtonVimRcPath + pathChooserVimRcPath pushButtonCopyTextEditorSettings pushButtonSetQtStyle pushButtonSetPlainStyle diff --git a/src/plugins/fakevim/fakevimplugin.cpp b/src/plugins/fakevim/fakevimplugin.cpp index 7f2d9efaa19..c10e43ad36e 100644 --- a/src/plugins/fakevim/fakevimplugin.cpp +++ b/src/plugins/fakevim/fakevimplugin.cpp @@ -71,8 +71,10 @@ #include #include +#include #include #include +#include #include #include #include @@ -386,7 +388,6 @@ private slots: void copyTextEditorSettings(); void setQtStyle(); void setPlainStyle(); - void openVimRc(); void updateVimRcWidgets(); private: @@ -403,7 +404,10 @@ QWidget *FakeVimOptionPage::widget() m_ui.setupUi(m_widget); const QString vimrcDefault = Utils::HostOsInfo::isAnyUnixHost() ? QLatin1String("$HOME/.vimrc") : QLatin1String("%USERPROFILE%\\_vimrc"); - m_ui.lineEditVimRcPath->setPlaceholderText(tr("Default: %1").arg(vimrcDefault)); + m_ui.pathChooserVimRcPath->setExpectedKind(Utils::PathChooser::File); + m_ui.pathChooserVimRcPath->lineEdit()->setToolTip(tr("Keep empty to use the default path, i.e. " + "%USERPROFILE%\\_vimrc on Windows, ~/.vimrc otherwise.")); + m_ui.pathChooserVimRcPath->lineEdit()->setPlaceholderText(tr("Default: %1").arg(vimrcDefault)); m_group.clear(); m_group.insert(theFakeVimSetting(ConfigUseFakeVim), @@ -411,7 +415,7 @@ QWidget *FakeVimOptionPage::widget() m_group.insert(theFakeVimSetting(ConfigReadVimRc), m_ui.checkBoxReadVimRc); m_group.insert(theFakeVimSetting(ConfigVimRcPath), - m_ui.lineEditVimRcPath); + m_ui.pathChooserVimRcPath); m_group.insert(theFakeVimSetting(ConfigExpandTab), m_ui.checkBoxExpandTab); @@ -467,8 +471,6 @@ QWidget *FakeVimOptionPage::widget() SLOT(setQtStyle())); connect(m_ui.pushButtonSetPlainStyle, SIGNAL(clicked()), SLOT(setPlainStyle())); - connect(m_ui.pushButtonVimRcPath, SIGNAL(clicked()), - SLOT(openVimRc())); connect(m_ui.checkBoxReadVimRc, SIGNAL(stateChanged(int)), SLOT(updateVimRcWidgets())); updateVimRcWidgets(); @@ -528,18 +530,9 @@ void FakeVimOptionPage::setPlainStyle() m_ui.checkBoxPassKeys->setChecked(false); } -void FakeVimOptionPage::openVimRc() -{ - const QString fileName = QFileDialog::getOpenFileName(Core::ICore::dialogParent()); - if (!fileName.isNull()) - m_ui.lineEditVimRcPath->setText(fileName); -} - void FakeVimOptionPage::updateVimRcWidgets() { - bool enabled = m_ui.checkBoxReadVimRc->isChecked(); - m_ui.lineEditVimRcPath->setEnabled(enabled); - m_ui.pushButtonVimRcPath->setEnabled(enabled); + m_ui.pathChooserVimRcPath->setEnabled(m_ui.checkBoxReadVimRc->isChecked()); } //const char *FAKEVIM_CONTEXT = "FakeVim";