diff --git a/src/plugins/fakevim/fakevimactions.cpp b/src/plugins/fakevim/fakevimactions.cpp index 25adb4af720..c3d9475f837 100644 --- a/src/plugins/fakevim/fakevimactions.cpp +++ b/src/plugins/fakevim/fakevimactions.cpp @@ -167,6 +167,14 @@ FakeVimSettings *theFakeVimSettings() item->setCheckable(true); instance->insertItem(ConfigAutoIndent, item, QLatin1String("autoindent"), QLatin1String("ai")); + item = new SavedAction(instance); + item->setDefaultValue(false); + item->setValue(false); + item->setSettingsKey(group, QLatin1String("SmartIndent")); + item->setValue(false); + item->setCheckable(true); + instance->insertItem(ConfigSmartIndent, item, QLatin1String("smartindent"), QLatin1String("si")); + item = new SavedAction(instance); item->setDefaultValue(true); item->setValue(true); diff --git a/src/plugins/fakevim/fakevimactions.h b/src/plugins/fakevim/fakevimactions.h index 2a5a5e4cbee..1154c468f40 100644 --- a/src/plugins/fakevim/fakevimactions.h +++ b/src/plugins/fakevim/fakevimactions.h @@ -49,6 +49,7 @@ enum FakeVimSettingsCode ConfigShiftWidth, ConfigExpandTab, ConfigAutoIndent, + ConfigSmartIndent, ConfigIncSearch, // indent allow backspacing over autoindent diff --git a/src/plugins/fakevim/fakevimoptions.ui b/src/plugins/fakevim/fakevimoptions.ui index 7ce297d46ce..06be203625e 100644 --- a/src/plugins/fakevim/fakevimoptions.ui +++ b/src/plugins/fakevim/fakevimoptions.ui @@ -22,7 +22,7 @@ - + VIM's "autoindent" option @@ -32,14 +32,14 @@ - + - + vim's "expandtab" option @@ -49,80 +49,80 @@ - + - + Highlight search results: - + - + Incremental search: - + - + Shift width: - + - + Smart tabulators: - + - + Start of line: - + - + vim's "tabstop" option @@ -132,19 +132,29 @@ - + - + Backspace: - + + + + + Smart indentation: + + + + + + diff --git a/src/plugins/fakevim/fakevimplugin.cpp b/src/plugins/fakevim/fakevimplugin.cpp index ed0bdd3fc05..1b63815b20e 100644 --- a/src/plugins/fakevim/fakevimplugin.cpp +++ b/src/plugins/fakevim/fakevimplugin.cpp @@ -162,6 +162,8 @@ QWidget *FakeVimOptionPage::createPage(QWidget *parent) m_group.insert(theFakeVimSetting(ConfigAutoIndent), m_ui.checkBoxAutoIndent); + m_group.insert(theFakeVimSetting(ConfigSmartIndent), + m_ui.checkBoxSmartIndent); m_group.insert(theFakeVimSetting(ConfigIncSearch), m_ui.checkBoxIncSearch); @@ -174,6 +176,7 @@ QWidget *FakeVimOptionPage::createPage(QWidget *parent) if (m_searchKeywords.isEmpty()) { QTextStream(&m_searchKeywords) << ' ' << m_ui.labelAutoIndent->text() << ' ' << m_ui.labelExpandTab->text() + << ' ' << m_ui.labelSmartIndent->text() << ' ' << m_ui.labelExpandTab->text() << ' ' << m_ui.labelHlSearch->text() << ' ' << m_ui.labelIncSearch->text() << ' ' << m_ui.labelShiftWidth->text() << ' ' << m_ui.labelSmartTab->text() << ' ' << m_ui.labelStartOfLine->text() << ' ' << m_ui.tabulatorLabel->text() @@ -192,7 +195,8 @@ void FakeVimOptionPage::copyTextEditorSettings() m_ui.lineEditTabStop->setText(QString::number(ts.m_tabSize)); m_ui.lineEditShiftWidth->setText(QString::number(ts.m_indentSize)); m_ui.checkBoxSmartTab->setChecked(ts.m_smartBackspace); - m_ui.checkBoxAutoIndent->setChecked(ts.m_autoIndent); + m_ui.checkBoxAutoIndent->setChecked(true); + m_ui.checkBoxSmartIndent->setChecked(ts.m_autoIndent); // FIXME: Not present in core //m_ui.checkBoxIncSearch->setChecked(ts.m_incSearch); } @@ -205,6 +209,7 @@ void FakeVimOptionPage::setQtStyle() m_ui.lineEditShiftWidth->setText(four); m_ui.checkBoxSmartTab->setChecked(true); m_ui.checkBoxAutoIndent->setChecked(true); + m_ui.checkBoxSmartIndent->setChecked(true); m_ui.checkBoxIncSearch->setChecked(true); m_ui.lineEditBackspace->setText(QLatin1String("indent,eol,start")); } @@ -217,6 +222,7 @@ void FakeVimOptionPage::setPlainStyle() m_ui.lineEditShiftWidth->setText(eight); m_ui.checkBoxSmartTab->setChecked(false); m_ui.checkBoxAutoIndent->setChecked(false); + m_ui.checkBoxSmartIndent->setChecked(false); m_ui.checkBoxIncSearch->setChecked(false); m_ui.lineEditBackspace->setText(QString()); }