diff --git a/src/plugins/fakevim/fakevimoptions.ui b/src/plugins/fakevim/fakevimoptions.ui index 48590d7f6e0287f49b9d25352caa7d2a3871152c..5114db3108765a38127654c1b952bfcad8ad82e7 100644 --- a/src/plugins/fakevim/fakevimoptions.ui +++ b/src/plugins/fakevim/fakevimoptions.ui @@ -2,14 +2,6 @@ <ui version="4.0"> <class>FakeVim::Internal::FakeVimOptionPage</class> <widget class="QWidget" name="FakeVim::Internal::FakeVimOptionPage"> - <property name="geometry"> - <rect> - <x>0</x> - <y>0</y> - <width>513</width> - <height>468</height> - </rect> - </property> <layout class="QVBoxLayout" name="verticalLayout_2"> <item> <widget class="QCheckBox" name="checkBoxUseFakeVim"> @@ -23,70 +15,141 @@ <property name="title"> <string>Vim Behavior</string> </property> - <layout class="QGridLayout" name="gridLayout"> - <item row="11" column="0"> - <widget class="QLabel" name="labelIsKeyword"> - <property name="text"> - <string>Keyword characters:</string> - </property> - </widget> - </item> - <item row="12" column="0"> - <widget class="QLabel" name="labelVimRcPath"> - <property name="text"> - <string>Location of .vimrc:</string> - </property> - </widget> - </item> - <item row="7" column="2"> - <widget class="QCheckBox" name="checkBoxReadVimRc"> - <property name="text"> - <string>Read .vimrc</string> - </property> - </widget> - </item> - <item row="11" column="1" colspan="2"> - <widget class="QLineEdit" name="lineEditIsKeyword"/> - </item> - <item row="4" column="2"> - <widget class="QCheckBox" name="checkBoxWrapScan"> - <property name="text"> - <string>Use wrapscan</string> - </property> - </widget> - </item> - <item row="0" column="0" colspan="2"> - <widget class="QCheckBox" name="checkBoxAutoIndent"> - <property name="text"> - <string>Automatic indentation</string> - </property> - </widget> - </item> - <item row="13" column="0"> - <spacer name="verticalSpacer"> - <property name="orientation"> - <enum>Qt::Vertical</enum> - </property> - <property name="sizeType"> - <enum>QSizePolicy::Fixed</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>17</width> - <height>10</height> - </size> - </property> - </spacer> - </item> - <item row="1" column="2"> - <widget class="QCheckBox" name="checkBoxUseCoreSearch"> - <property name="text"> - <string>Use search dialog</string> - </property> - </widget> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <layout class="QGridLayout" name="gridLayout_3"> + <item row="6" column="0"> + <widget class="QCheckBox" name="checkBoxStartOfLine"> + <property name="text"> + <string>Start of line</string> + </property> + </widget> + </item> + <item row="4" column="0"> + <widget class="QCheckBox" name="checkBoxHlSearch"> + <property name="text"> + <string>Highlight search results</string> + </property> + </widget> + </item> + <item row="1" column="0"> + <widget class="QCheckBox" name="checkBoxSmartIndent"> + <property name="text"> + <string>Smart indentation</string> + </property> + </widget> + </item> + <item row="3" column="0"> + <widget class="QCheckBox" name="checkBoxSmartTab"> + <property name="text"> + <string>Smart tabulators</string> + </property> + </widget> + </item> + <item row="2" column="0"> + <widget class="QCheckBox" name="checkBoxExpandTab"> + <property name="text"> + <string>Expand tabulators</string> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="QCheckBox" name="checkBoxIncSearch"> + <property name="text"> + <string>Incremental search</string> + </property> + </widget> + </item> + <item row="1" column="1"> + <widget class="QCheckBox" name="checkBoxUseCoreSearch"> + <property name="text"> + <string>Use search dialog</string> + </property> + </widget> + </item> + <item row="3" column="1"> + <widget class="QCheckBox" name="checkBoxSmartCase"> + <property name="text"> + <string>Use smartcase</string> + </property> + </widget> + </item> + <item row="4" column="1"> + <widget class="QCheckBox" name="checkBoxWrapScan"> + <property name="text"> + <string>Use wrapscan</string> + </property> + </widget> + </item> + <item row="6" column="1"> + <widget class="QCheckBox" name="checkBoxPassControlKey"> + <property name="toolTip"> + <string>Pass key sequences like Ctrl-S to Qt Creator core instead of interpreting them in FakeVim. This gives easier access to Qt Creator core functionality at the price of losing some features of FakeVim.</string> + </property> + <property name="text"> + <string>Pass control key</string> + </property> + </widget> + </item> + <item row="0" column="0"> + <widget class="QCheckBox" name="checkBoxAutoIndent"> + <property name="text"> + <string>Automatic indentation</string> + </property> + </widget> + </item> + <item row="2" column="1"> + <widget class="QCheckBox" name="checkBoxIgnoreCase"> + <property name="text"> + <string>Use ignorecase</string> + </property> + </widget> + </item> + <item row="5" column="0"> + <widget class="QCheckBox" name="checkBoxShowCmd"> + <property name="text"> + <string>Show partial command</string> + </property> + </widget> + </item> + <item row="7" column="0"> + <widget class="QCheckBox" name="checkBoxPassNewLine"> + <property name="toolTip"> + <string>Let Qt Creator handle new lines so that comments or code blocks can be properly completed and expanded.</string> + </property> + <property name="text"> + <string>Pass new line</string> + </property> + </widget> + </item> + <item row="5" column="1"> + <widget class="QCheckBox" name="checkBoxShowMarks"> + <property name="text"> + <string>Show position of text marks</string> + </property> + </widget> + </item> + <item row="7" column="1"> + <widget class="QCheckBox" name="checkBoxReadVimRc"> + <property name="text"> + <string>Read .vimrc</string> + </property> + </widget> + </item> + </layout> </item> - <item row="8" column="1" colspan="2"> - <layout class="QHBoxLayout" name="horizontalLayout_2"> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_5"> + <item> + <widget class="QLabel" name="labelShiftWidth"> + <property name="text"> + <string>Shift width:</string> + </property> + <property name="buddy"> + <cstring>spinBoxShiftWidth</cstring> + </property> + </widget> + </item> <item> <widget class="QSpinBox" name="spinBoxShiftWidth"> <property name="minimum"> @@ -98,7 +161,7 @@ </widget> </item> <item> - <spacer name="horizontalSpacer_2"> + <spacer name="horizontalSpacer_3"> <property name="orientation"> <enum>Qt::Horizontal</enum> </property> @@ -110,10 +173,19 @@ </property> </spacer> </item> - </layout> - </item> - <item row="9" column="1" colspan="2"> - <layout class="QHBoxLayout" name="horizontalLayout_3"> + <item> + <widget class="QLabel" name="labelTabulator"> + <property name="toolTip"> + <string>Vim tabstop option</string> + </property> + <property name="text"> + <string>Tabulator size:</string> + </property> + <property name="buddy"> + <cstring>spinBoxTabStop</cstring> + </property> + </widget> + </item> <item> <widget class="QSpinBox" name="spinBoxTabStop"> <property name="minimum"> @@ -125,7 +197,33 @@ </widget> </item> <item> - <spacer name="horizontalSpacer_3"> + <spacer name="horizontalSpacer_4"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + <item> + <widget class="QLabel" name="labelScrollOff"> + <property name="text"> + <string>Scroll offset:</string> + </property> + <property name="buddy"> + <cstring>spinBoxScrollOff</cstring> + </property> + </widget> + </item> + <item> + <widget class="QSpinBox" name="spinBoxScrollOff"/> + </item> + <item> + <spacer name="horizontalSpacer_2"> <property name="orientation"> <enum>Qt::Horizontal</enum> </property> @@ -139,59 +237,68 @@ </item> </layout> </item> - <item row="10" column="1" colspan="2"> - <widget class="QLineEdit" name="lineEditBackspace"/> - </item> - <item row="10" column="0"> - <widget class="QLabel" name="labelBackspace"> - <property name="text"> - <string>Backspace:</string> - </property> - </widget> - </item> - <item row="8" column="0"> - <widget class="QLabel" name="labelShiftWidth"> - <property name="text"> - <string>Shift width:</string> - </property> - </widget> - </item> - <item row="9" column="0"> - <widget class="QLabel" name="labelTabulator"> - <property name="toolTip"> - <string>Vim tabstop option</string> - </property> - <property name="text"> - <string>Tabulator size:</string> - </property> - </widget> - </item> - <item row="3" column="2"> - <widget class="QCheckBox" name="checkBoxSmartCase"> - <property name="text"> - <string>Use smartcase</string> + <item> + <layout class="QFormLayout" name="formLayout"> + <property name="fieldGrowthPolicy"> + <enum>QFormLayout::AllNonFixedFieldsGrow</enum> </property> - </widget> - </item> - <item row="12" column="1" colspan="2"> - <layout class="QHBoxLayout" name="horizontalLayoutVimRcPath"> - <item> - <widget class="QLineEdit" name="lineEditVimRcPath"> - <property name="toolTip"> - <string>Keep empty to use the default path, i.e. %USERPROFILE%\_vimrc on Windows, ~/.vimrc otherwise.</string> + <item row="1" column="0"> + <widget class="QLabel" name="labelBackspace"> + <property name="text"> + <string>Backspace:</string> + </property> + <property name="buddy"> + <cstring>lineEditBackspace</cstring> </property> </widget> </item> - <item> - <widget class="QPushButton" name="pushButtonVimRcPath"> + <item row="1" column="1"> + <widget class="QLineEdit" name="lineEditBackspace"/> + </item> + <item row="2" column="0"> + <widget class="QLabel" name="labelIsKeyword"> <property name="text"> - <string>Browse...</string> + <string>Keyword characters:</string> + </property> + <property name="buddy"> + <cstring>lineEditIsKeyword</cstring> </property> </widget> </item> + <item row="2" column="1"> + <widget class="QLineEdit" name="lineEditIsKeyword"/> + </item> + <item row="3" column="0"> + <widget class="QLabel" name="labelVimRcPath"> + <property name="text"> + <string>Location of .vimrc:</string> + </property> + <property name="buddy"> + <cstring>lineEditVimRcPath</cstring> + </property> + </widget> + </item> + <item row="3" column="1"> + <layout class="QHBoxLayout" name="horizontalLayoutVimRcPath"> + <item> + <widget class="QLineEdit" name="lineEditVimRcPath"> + <property name="toolTip"> + <string>Keep empty to use the default path, i.e. %USERPROFILE%\_vimrc on Windows, ~/.vimrc otherwise.</string> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="pushButtonVimRcPath"> + <property name="text"> + <string>Browse...</string> + </property> + </widget> + </item> + </layout> + </item> </layout> </item> - <item row="14" column="0" colspan="3"> + <item> <layout class="QHBoxLayout" name="horizontalLayout"> <item> <widget class="QPushButton" name="pushButtonCopyTextEditorSettings"> @@ -229,95 +336,22 @@ </item> </layout> </item> - <item row="5" column="2"> - <widget class="QCheckBox" name="checkBoxShowMarks"> - <property name="text"> - <string>Show position of text marks</string> - </property> - </widget> - </item> - <item row="1" column="0" colspan="2"> - <widget class="QCheckBox" name="checkBoxSmartIndent"> - <property name="text"> - <string>Smart indentation</string> - </property> - </widget> - </item> - <item row="6" column="2"> - <widget class="QCheckBox" name="checkBoxPassControlKey"> - <property name="toolTip"> - <string>Pass key sequences like Ctrl-S to Qt Creator core instead of interpreting them in FakeVim. This gives easier access to Qt Creator core functionality at the price of losing some features of FakeVim.</string> - </property> - <property name="text"> - <string>Pass control key</string> - </property> - </widget> - </item> - <item row="2" column="2"> - <widget class="QCheckBox" name="checkBoxIgnoreCase"> - <property name="text"> - <string>Use ignorecase</string> - </property> - </widget> - </item> - <item row="2" column="0"> - <widget class="QCheckBox" name="checkBoxExpandTab"> - <property name="text"> - <string>Expand tabulators</string> - </property> - </widget> - </item> - <item row="3" column="0"> - <widget class="QCheckBox" name="checkBoxSmartTab"> - <property name="text"> - <string>Smart tabulators</string> - </property> - </widget> - </item> - <item row="4" column="0"> - <widget class="QCheckBox" name="checkBoxHlSearch"> - <property name="text"> - <string>Highlight search results</string> - </property> - </widget> - </item> - <item row="0" column="2"> - <widget class="QCheckBox" name="checkBoxIncSearch"> - <property name="text"> - <string>Incremental search</string> - </property> - </widget> - </item> - <item row="5" column="0"> - <widget class="QCheckBox" name="checkBoxShowCmd"> - <property name="text"> - <string>Show partial command</string> + <item> + <spacer name="verticalSpacer"> + <property name="orientation"> + <enum>Qt::Vertical</enum> </property> - </widget> - </item> - <item row="6" column="0"> - <widget class="QCheckBox" name="checkBoxStartOfLine"> - <property name="text"> - <string>Start of line</string> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>40</height> + </size> </property> - </widget> + </spacer> </item> </layout> </widget> </item> - <item> - <spacer name="verticalSpacer_2"> - <property name="orientation"> - <enum>Qt::Vertical</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>20</width> - <height>40</height> - </size> - </property> - </spacer> - </item> </layout> </widget> <tabstops> @@ -329,6 +363,7 @@ <tabstop>checkBoxHlSearch</tabstop> <tabstop>checkBoxShowCmd</tabstop> <tabstop>checkBoxStartOfLine</tabstop> + <tabstop>checkBoxPassNewLine</tabstop> <tabstop>checkBoxIncSearch</tabstop> <tabstop>checkBoxUseCoreSearch</tabstop> <tabstop>checkBoxIgnoreCase</tabstop> @@ -339,6 +374,7 @@ <tabstop>checkBoxReadVimRc</tabstop> <tabstop>spinBoxShiftWidth</tabstop> <tabstop>spinBoxTabStop</tabstop> + <tabstop>spinBoxScrollOff</tabstop> <tabstop>lineEditBackspace</tabstop> <tabstop>lineEditIsKeyword</tabstop> <tabstop>lineEditVimRcPath</tabstop> diff --git a/src/plugins/fakevim/fakevimplugin.cpp b/src/plugins/fakevim/fakevimplugin.cpp index eef79203a4bfbfa11a7ad517266ac02c908985e3..682aadf23563d7348bd4030a03100dab4d25dd79 100644 --- a/src/plugins/fakevim/fakevimplugin.cpp +++ b/src/plugins/fakevim/fakevimplugin.cpp @@ -292,8 +292,12 @@ QWidget *FakeVimOptionPage::createPage(QWidget *parent) m_ui.checkBoxSmartTab); m_group.insert(theFakeVimSetting(ConfigStartOfLine), m_ui.checkBoxStartOfLine); + m_group.insert(theFakeVimSetting(ConfigPassNewLine), + m_ui.checkBoxPassNewLine); m_group.insert(theFakeVimSetting(ConfigTabStop), m_ui.spinBoxTabStop); + m_group.insert(theFakeVimSetting(ConfigScrollOff), + m_ui.spinBoxScrollOff); m_group.insert(theFakeVimSetting(ConfigBackspace), m_ui.lineEditBackspace); m_group.insert(theFakeVimSetting(ConfigIsKeyword), @@ -348,10 +352,16 @@ QWidget *FakeVimOptionPage::createPage(QWidget *parent) << sep << m_ui.checkBoxSmartCase->text() << sep << m_ui.checkBoxShowMarks->text() << sep << m_ui.checkBoxPassControlKey->text() + << sep << m_ui.checkBoxPassNewLine->text() + << sep << m_ui.checkBoxIgnoreCase->text() + << sep << m_ui.checkBoxWrapScan->text() + << sep << m_ui.checkBoxShowCmd->text() << sep << m_ui.labelShiftWidth->text() << sep << m_ui.labelTabulator->text() << sep << m_ui.labelBackspace->text() - << sep << m_ui.labelIsKeyword->text(); + << sep << m_ui.labelIsKeyword->text() + << sep << m_ui.labelScrollOff->text() + << sep << m_ui.lineEditVimRcPath->text(); m_searchKeywords.remove(QLatin1Char('&')); } return w; @@ -381,6 +391,7 @@ void FakeVimOptionPage::setQtStyle() m_ui.checkBoxSmartIndent->setChecked(true); m_ui.checkBoxIncSearch->setChecked(true); m_ui.lineEditBackspace->setText(_("indent,eol,start")); + m_ui.checkBoxPassNewLine->setChecked(true); } void FakeVimOptionPage::setPlainStyle() @@ -393,6 +404,7 @@ void FakeVimOptionPage::setPlainStyle() m_ui.checkBoxSmartIndent->setChecked(false); m_ui.checkBoxIncSearch->setChecked(false); m_ui.lineEditBackspace->setText(QString()); + m_ui.checkBoxPassNewLine->setChecked(false); } void FakeVimOptionPage::openVimRc()