Index: autotests/src/katedocument_test.cpp =================================================================== --- autotests/src/katedocument_test.cpp +++ autotests/src/katedocument_test.cpp @@ -623,7 +623,7 @@ { KTextEditor::DocumentPrivate doc; auto view = static_cast(doc.createView(nullptr)); - view->config()->setBackspaceRemoveComposed(true); + view->config()->setValue(KateViewConfig::BackspaceRemoveComposedCharacters, true); doc.setText(QString::fromUtf8("व्यक्तियों")); doc.del(view, Cursor(0, 0)); Index: autotests/src/vimode/base.cpp =================================================================== --- autotests/src/vimode/base.cpp +++ autotests/src/vimode/base.cpp @@ -108,7 +108,7 @@ Q_ASSERT(vi_global); kate_document->config()->setShowSpaces(KateDocumentConfig::Trailing); // Flush out some issues in the KateRenderer when rendering spaces. kate_view->config()->setScrollBarMiniMap(false); - kate_view->config()->setScrollBarPreview(false); + kate_view->config()->setValue(KateViewConfig::ShowScrollBarPreview, false); connect(kate_document, &KTextEditor::DocumentPrivate::textInserted, this, &BaseTest::textInserted); Index: src/dialogs/katedialogs.cpp =================================================================== --- src/dialogs/katedialogs.cpp +++ src/dialogs/katedialogs.cpp @@ -424,8 +424,7 @@ KateViewConfig::global()->setPersistentSelection(ui->cbTextSelectionMode->currentIndex() == 1); KateViewConfig::global()->setScrollPastEnd(ui->chkScrollPastEnd->isChecked()); - - KateViewConfig::global()->setBackspaceRemoveComposed(ui->chkBackspaceRemoveComposed->isChecked()); + KateViewConfig::global()->setValue(KateViewConfig::BackspaceRemoveComposedCharacters, ui->chkBackspaceRemoveComposed->isChecked()); KateDocumentConfig::global()->configEnd(); KateViewConfig::global()->configEnd(); @@ -724,16 +723,16 @@ KateRendererConfig::global()->configStart(); KateViewConfig::global()->setDynWordWrap(textareaUi->gbWordWrap->isChecked()); - KateViewConfig::global()->setDynWrapAtStaticMarker(textareaUi->chkDynWrapAtStaticMarker->isChecked()); - KateViewConfig::global()->setDynWordWrapIndicators(textareaUi->cmbDynamicWordWrapIndicator->currentIndex()); - KateViewConfig::global()->setDynWordWrapAlignIndent(textareaUi->sbDynamicWordWrapDepth->value()); + KateViewConfig::global()->setValue(KateViewConfig::DynWrapAtStaticMarker, textareaUi->chkDynWrapAtStaticMarker->isChecked()); + KateViewConfig::global()->setValue(KateViewConfig::DynWordWrapIndicators, textareaUi->cmbDynamicWordWrapIndicator->currentIndex()); + KateViewConfig::global()->setValue(KateViewConfig::DynWordWrapAlignIndent, textareaUi->sbDynamicWordWrapDepth->value()); KateDocumentConfig::global()->setShowTabs(textareaUi->chkShowTabs->isChecked()); KateDocumentConfig::global()->setShowSpaces(KateDocumentConfig::WhitespaceRendering(textareaUi->spacesComboBox->currentIndex())); KateDocumentConfig::global()->setMarkerSize(textareaUi->sliSetMarkerSize->value()); - KateViewConfig::global()->setLineNumbers(bordersUi->chkLineNumbers->isChecked()); + KateViewConfig::global()->setValue(KateViewConfig::ShowLineNumbers, bordersUi->chkLineNumbers->isChecked()); KateViewConfig::global()->setIconBar(bordersUi->chkIconBorder->isChecked()); - KateViewConfig::global()->setScrollBarMarks(bordersUi->chkScrollbarMarks->isChecked()); - KateViewConfig::global()->setScrollBarPreview(bordersUi->chkScrollbarPreview->isChecked()); + KateViewConfig::global()->setValue(KateViewConfig::ShowScrollBarMarks, bordersUi->chkScrollbarMarks->isChecked()); + KateViewConfig::global()->setValue(KateViewConfig::ShowScrollBarPreview, bordersUi->chkScrollbarPreview->isChecked()); KateViewConfig::global()->setScrollBarMiniMap(bordersUi->chkScrollbarMiniMap->isChecked()); KateViewConfig::global()->setScrollBarMiniMapAll(bordersUi->chkScrollbarMiniMapAll->isChecked()); KateViewConfig::global()->setScrollBarMiniMapWidth(bordersUi->spBoxMiniMapWidth->value()); Index: src/document/katedocument.cpp =================================================================== --- src/document/katedocument.cpp +++ src/document/katedocument.cpp @@ -4880,7 +4880,7 @@ } //else if ( var = "dynamic-word-wrap-indicators" ) else if (var == QLatin1String("line-numbers") && checkBoolValue(val, &state)) { - v->config()->setLineNumbers(state); + v->config()->setValue(KateViewConfig::ShowLineNumbers, state); } else if (var == QLatin1String("icon-border") && checkBoolValue(val, &state)) { v->config()->setIconBar(state); } else if (var == QLatin1String("folding-markers") && checkBoolValue(val, &state)) { @@ -4894,7 +4894,7 @@ } else if (var == QLatin1String("scrollbar-minimap") && checkBoolValue(val, &state)) { v->config()->setScrollBarMiniMap(state); } else if (var == QLatin1String("scrollbar-preview") && checkBoolValue(val, &state)) { - v->config()->setScrollBarPreview(state); + v->config()->setValue(KateViewConfig::ShowScrollBarPreview, state); } // RENDERER else if (var == QLatin1String("background-color") && checkColorValue(val, c)) { Index: src/search/katesearchbar.cpp =================================================================== --- src/search/katesearchbar.cpp +++ src/search/katesearchbar.cpp @@ -183,7 +183,7 @@ setMinimumWidth(100); // Copy global to local config backup - const long searchFlags = m_config->searchFlags(); + const auto searchFlags = m_config->searchFlags(); m_incHighlightAll = (searchFlags & KateViewConfig::IncHighlightAll) != 0; m_incFromCursor = (searchFlags & KateViewConfig::IncFromCursor) != 0; m_incMatchCase = (searchFlags & KateViewConfig::IncMatchCase) != 0; @@ -740,15 +740,15 @@ void KateSearchBar::sendConfig() { - const long pastFlags = m_config->searchFlags(); - long futureFlags = pastFlags; + const auto pastFlags = m_config->searchFlags(); + auto futureFlags = pastFlags; if (m_powerUi != nullptr) { const bool OF_POWER = true; backupConfig(OF_POWER); // Update power search flags only - const long incFlagsOnly = pastFlags + const auto incFlagsOnly = pastFlags & (KateViewConfig::IncHighlightAll | KateViewConfig::IncFromCursor | KateViewConfig::IncMatchCase); @@ -770,7 +770,7 @@ backupConfig(OF_INCREMENTAL); // Update incremental search flags only - const long powerFlagsOnly = pastFlags + const auto powerFlagsOnly = pastFlags & (KateViewConfig::PowerMatchCase | KateViewConfig::PowerFromCursor | KateViewConfig::PowerHighlightAll Index: src/utils/kateconfig.h =================================================================== --- src/utils/kateconfig.h +++ src/utils/kateconfig.h @@ -51,27 +51,27 @@ /** * Base Class for the Kate Config Classes + * Current childs are KateDocumentConfig/KateDocumentConfig/KateDocumentConfig */ class KTEXTEDITOR_EXPORT KateConfig { public: /** - * start some config changes - * this method is needed to init some kind of transaction - * for config changes, update will only be done once, at - * configEnd() call + * Start some config changes. + * This method is needed to init some kind of transaction for config changes, + * update will only be done once, at configEnd() call. */ void configStart(); /** - * end a config change transaction, update the concerned - * documents/views/renderers + * End a config change transaction, update the concerned + * KateDocumentConfig/KateDocumentConfig/KateDocumentConfig */ void configEnd(); /** - * global config? - * @return global config object? + * Is this a global config object? + * @return true when this is a global config object */ bool isGlobal() const { @@ -101,24 +101,23 @@ * Might not alter the value if given value fails validation. * @param key config key, aka enum from KateConfig* classes * @param value value to set - * @return value set? + * @return true on success */ bool setValue(const int key, const QVariant &value); /** * Get a config value for the string key. * @param key config key, aka commandName from KateConfig* classes - * @return value for the wanted key, will return invalid variant if key invalid + * @return value for the wanted key, will return invalid variant if key is not known */ QVariant value(const QString &key) const; /** * Set a config value. - * Will ignore set if key not valid - * Might not alter the value if given value fails validation. + * Will do nothing if key is not known or the given value fails validation. * @param key config key, aka commandName from KateConfig* classes * @param value value to set - * @return value set? + * @return true on success */ bool setValue(const QString &key, const QVariant &value); @@ -175,30 +174,31 @@ const QString commandName; /** - * Default value if nothing configured + * Default value if nothing special was configured */ const QVariant defaultValue; /** - * concrete value, per default == defaultValue + * The concrete value, per default == defaultValue */ QVariant value; /** - * a validator function, only if this returns true we accept a value for the entry - * is ignored if not set + * An optional validator function, only when these returns true + * we accept a given new value. + * Is no validator set, we accept any value. */ std::function validator; }; /** - * Read all config entries from given config group + * Read all config entries from given config group. * @param config config group to read from */ void readConfigEntries(const KConfigGroup &config); /** - * Write all config entries to given config group + * Write all config entries to given config group. * @param config config group to write to */ void writeConfigEntries(KConfigGroup &config) const; @@ -931,12 +931,12 @@ public: /** - * Construct a DocumentConfig + * Construct a ViewConfig */ explicit KateViewConfig(KTextEditor::ViewPrivate *view); /** - * Cu DocumentConfig + * Cu ViewConfig */ ~KateViewConfig() override; @@ -946,10 +946,22 @@ } /** - * Known config entries + * All known config keys + * Keep them sorted alphabetic for our convenience */ enum ConfigEntryTypes { - CharsToEncloseSelection + BackspaceRemoveComposedCharacters, + CharsToEncloseSelection, + DynWordWrapAlignIndent, + DynWordWrapIndicators, + DynWrapAtStaticMarker, + DynamicWordWrap, + MaxHistorySize, + SearchFlags, + ShowLineNumbers, + ShowScrollBarMarks, + ShowScrollBarPreview, + ShowWordCount, }; public: @@ -967,30 +979,44 @@ void updateConfig() override; public: - bool dynWordWrapSet() const + bool dynWordWrap() const + { + return value(DynamicWordWrap).toBool(); + } + void setDynWordWrap(bool on) { - return m_dynWordWrapSet; + setValue(DynamicWordWrap, on); } - bool dynWordWrap() const; - void setDynWordWrap(bool wrap); - bool dynWrapAtStaticMarker() const; - void setDynWrapAtStaticMarker(bool on); + bool dynWrapAtStaticMarker() const + { + return value(DynWrapAtStaticMarker).toBool(); + } - int dynWordWrapIndicators() const; - void setDynWordWrapIndicators(int mode); + int dynWordWrapIndicators() const + { + return value(DynWordWrapIndicators).toInt(); + } - int dynWordWrapAlignIndent() const; - void setDynWordWrapAlignIndent(int indent); + int dynWordWrapAlignIndent() const + { + return value(DynWordWrapAlignIndent).toInt(); + } - bool lineNumbers() const; - void setLineNumbers(bool on); + bool lineNumbers() const + { + return value(ShowLineNumbers).toBool(); + } - bool scrollBarMarks() const; - void setScrollBarMarks(bool on); + bool scrollBarMarks() const + { + return value(ShowScrollBarMarks).toBool(); + } - bool scrollBarPreview() const; - void setScrollBarPreview(bool on); + bool scrollBarPreview() const + { + return value(ShowScrollBarPreview).toBool(); + } bool scrollBarMiniMap() const; void setScrollBarMiniMap(bool on); @@ -1044,10 +1070,19 @@ PowerUsePlaceholders = 1 << 11 }; - long searchFlags() const; - void setSearchFlags(long flags); + uint searchFlags() const + { + return value(SearchFlags).toUInt(); + } + void setSearchFlags(uint flags) + { + setValue(SearchFlags, flags); + } - int maxHistorySize() const; + int maxHistorySize() const + { + return value(MaxHistorySize).toInt(); + } uint defaultMarkType() const; void setDefaultMarkType(uint type); @@ -1104,8 +1139,14 @@ bool foldFirstLine() const; void setFoldFirstLine(bool on); - bool showWordCount() const; - void setShowWordCount(bool on); + bool showWordCount() const + { + return value(ShowWordCount).toBool(); + } + void setShowWordCount(bool on) + { + setValue(ShowWordCount, on); + } bool showLineCount() const; void setShowLineCount(bool on); @@ -1122,17 +1163,12 @@ return value(CharsToEncloseSelection).toString(); } - bool backspaceRemoveComposed() const; - void setBackspaceRemoveComposed(bool on); + bool backspaceRemoveComposed() const + { + return value(BackspaceRemoveComposedCharacters).toBool(); + } private: - bool m_dynWordWrap; - bool m_dynWrapAtStaticMarker; - int m_dynWordWrapIndicators; - int m_dynWordWrapAlignIndent; - bool m_lineNumbers; - bool m_scrollBarMarks; - bool m_scrollBarPreview; bool m_scrollBarMiniMap; bool m_scrollBarMiniMapAll; int m_scrollBarMiniMapWidth; @@ -1143,8 +1179,6 @@ bool m_lineModification; int m_bookmarkSort; int m_autoCenterLines; - long m_searchFlags; - int m_maxHistorySize; uint m_defaultMarkType; bool m_persistentSelection; KTextEditor::View::InputMode m_inputMode; @@ -1159,18 +1193,10 @@ bool m_mousePasteAtCursorPosition = false; bool m_scrollPastEnd; bool m_foldFirstLine; - bool m_showWordCount = false; bool m_showLineCount = false; bool m_autoBrackets; bool m_backspaceRemoveComposed; - bool m_dynWordWrapSet : 1; - bool m_dynWrapAtStaticMarkerSet : 1; - bool m_dynWordWrapIndicatorsSet : 1; - bool m_dynWordWrapAlignIndentSet : 1; - bool m_lineNumbersSet : 1; - bool m_scrollBarMarksSet : 1; - bool m_scrollBarPreviewSet : 1; bool m_scrollBarMiniMapSet : 1; bool m_scrollBarMiniMapAllSet : 1; bool m_scrollBarMiniMapWidthSet : 1; @@ -1181,7 +1207,6 @@ bool m_lineModificationSet : 1; bool m_bookmarkSortSet : 1; bool m_autoCenterLinesSet : 1; - bool m_searchFlagsSet : 1; bool m_defaultMarkTypeSet : 1; bool m_persistentSelectionSet : 1; bool m_inputModeSet : 1; @@ -1197,10 +1222,8 @@ bool m_allowMarkMenu : 1; bool m_wordCompletionRemoveTailSet : 1; bool m_foldFirstLineSet : 1; - bool m_showWordCountSet : 1; bool m_showLineCountSet : 1; bool m_autoBracketsSet : 1; - bool m_backspaceRemoveComposedSet : 1; private: static KateViewConfig *s_global; @@ -1219,12 +1242,12 @@ public: /** - * Construct a DocumentConfig + * Construct a RendererConfig */ explicit KateRendererConfig(KateRenderer *renderer); /** - * Cu DocumentConfig + * Cu RendererConfig */ ~KateRendererConfig() override; Index: src/utils/kateconfig.cpp =================================================================== --- src/utils/kateconfig.cpp +++ src/utils/kateconfig.cpp @@ -231,7 +231,7 @@ //END -//BEGIN KateDocumentConfig +//BEGIN HelperFunctions KateGlobalConfig *KateGlobalConfig::s_global = nullptr; KateDocumentConfig *KateDocumentConfig::s_global = nullptr; KateViewConfig *KateViewConfig::s_global = nullptr; @@ -249,6 +249,14 @@ return found && codec; } +static bool inBounds(const int min, const QVariant &value, const int max) +{ + const int val = value.toInt(); + return (val >= min) && (val <= max); +} +//END + +//BEGIN KateGlobalConfig KateGlobalConfig::KateGlobalConfig() { /** @@ -324,7 +332,9 @@ */ return KCharsets::charsets()->codecForName(encoding); } +//END +//BEGIN KateDocumentConfig KateDocumentConfig::KateDocumentConfig() { /** @@ -493,13 +503,7 @@ //BEGIN KateViewConfig KateViewConfig::KateViewConfig() - : m_dynWordWrapSet(false), - m_dynWrapAtStaticMarkerSet(false), - m_dynWordWrapIndicatorsSet(false), - m_dynWordWrapAlignIndentSet(false), - m_lineNumbersSet(false), - m_scrollBarMarksSet(false), - m_scrollBarPreviewSet(false), + : m_scrollBarMiniMapSet(false), m_scrollBarMiniMapAllSet(false), m_scrollBarMiniMapWidthSet(false), @@ -510,7 +514,6 @@ m_lineModificationSet(false), m_bookmarkSortSet(false), m_autoCenterLinesSet(false), - m_searchFlagsSet(false), m_defaultMarkTypeSet(false), m_persistentSelectionSet(false), m_inputModeSet(false), @@ -526,36 +529,37 @@ m_allowMarkMenu(true), m_wordCompletionRemoveTailSet(false), m_foldFirstLineSet(false), - m_showWordCountSet(false), m_showLineCountSet(false), - m_autoBracketsSet(false), - m_backspaceRemoveComposedSet(false) - + m_autoBracketsSet(false) { s_global = this; // Init all known config entries // NOTE: Ensure to keep the same order as listed in enum ConfigEntryTypes or it will later assert! // addConfigEntry(ConfigEntry(, , , , [])) +// addConfigEntry(ConfigEntry(, "", QString(), QString())); +// addConfigEntry(ConfigEntry(, "", QStringLiteral(""), true)); +// addConfigEntry(ConfigEntry(, "", QString(), true)); + addConfigEntry(ConfigEntry(BackspaceRemoveComposedCharacters, "Backspace Remove Composed Characters", QString(), false)); addConfigEntry(ConfigEntry(CharsToEncloseSelection, "Chars To Enclose Selection", QString(), QString())); + addConfigEntry(ConfigEntry(DynWordWrapAlignIndent, "Dynamic Word Wrap Align Indent", QString(), 80, [](const QVariant &value) { return inBounds(1, value, 100); })); + addConfigEntry(ConfigEntry(DynWordWrapIndicators, "Dynamic Word Wrap Indicators", QString(), 1, [](const QVariant &value) { return inBounds(1, value, 3); })); + addConfigEntry(ConfigEntry(DynWrapAtStaticMarker, "Dynamic Word Wrap At Static Marker", QString(), false)); + addConfigEntry(ConfigEntry(DynamicWordWrap, "Dynamic Word Wrap", QStringLiteral("dynamic-word-wrap"), true)); + addConfigEntry(ConfigEntry(MaxHistorySize, "Maximum Search History Size", QString(), 100, [](const QVariant &value) { return inBounds(0, value, 999); })); + addConfigEntry(ConfigEntry(SearchFlags, "Search/Replace Flags", QString(), IncFromCursor | PowerMatchCase | PowerModePlainText)); + addConfigEntry(ConfigEntry(ShowLineNumbers, "Line Numbers", QStringLiteral("line-numbers"), false)); + addConfigEntry(ConfigEntry(ShowScrollBarMarks, "Scroll Bar Marks", QString(), false)); + addConfigEntry(ConfigEntry(ShowScrollBarPreview, "Scroll Bar Preview", QStringLiteral("scrollbar-preview"), true)); + addConfigEntry(ConfigEntry(ShowWordCount, "Show Word Count", QString(), false)); // init with defaults from config or really hardcoded ones KConfigGroup config(KTextEditor::EditorPrivate::config(), "KTextEditor View"); readConfig(config); } KateViewConfig::KateViewConfig(KTextEditor::ViewPrivate *view) : KateConfig(s_global), - m_searchFlags(PowerModePlainText), - m_maxHistorySize(100), - m_showWordCount(false), - m_dynWordWrapSet(false), - m_dynWrapAtStaticMarkerSet(false), - m_dynWordWrapIndicatorsSet(false), - m_dynWordWrapAlignIndentSet(false), - m_lineNumbersSet(false), - m_scrollBarMarksSet(false), - m_scrollBarPreviewSet(false), m_scrollBarMiniMapSet(false), m_scrollBarMiniMapAllSet(false), m_scrollBarMiniMapWidthSet(false), @@ -566,7 +570,6 @@ m_lineModificationSet(false), m_bookmarkSortSet(false), m_autoCenterLinesSet(false), - m_searchFlagsSet(false), m_defaultMarkTypeSet(false), m_persistentSelectionSet(false), m_inputModeSet(false), @@ -582,10 +585,8 @@ m_allowMarkMenu(true), m_wordCompletionRemoveTailSet(false), m_foldFirstLineSet(false), - m_showWordCountSet(false), m_showLineCountSet(false), m_autoBracketsSet(false), - m_backspaceRemoveComposedSet(false), m_view(view) { } @@ -596,14 +597,6 @@ namespace { -const char KEY_SEARCH_REPLACE_FLAGS[] = "Search/Replace Flags"; -const char KEY_DYN_WORD_WRAP[] = "Dynamic Word Wrap"; -const char KEY_DYN_WORD_WRAP_AT_STATIC_MARKER[] = "Dynamic Word Wrap At Static Marker"; -const char KEY_DYN_WORD_WRAP_INDICATORS[] = "Dynamic Word Wrap Indicators"; -const char KEY_DYN_WORD_WRAP_ALIGN_INDENT[] = "Dynamic Word Wrap Align Indent"; -const char KEY_LINE_NUMBERS[] = "Line Numbers"; -const char KEY_SCROLL_BAR_MARKS[] = "Scroll Bar Marks"; -const char KEY_SCROLL_BAR_PREVIEW[] = "Scroll Bar Preview"; const char KEY_SCROLL_BAR_MINI_MAP[] = "Scroll Bar MiniMap"; const char KEY_SCROLL_BAR_MINI_MAP_ALL[] = "Scroll Bar Mini Map All"; const char KEY_SCROLL_BAR_MINI_MAP_WIDTH[] = "Scroll Bar Mini Map Width"; @@ -614,7 +607,6 @@ const char KEY_LINE_MODIFICATION[] = "Line Modification"; const char KEY_BOOKMARK_SORT[] = "Bookmark Menu Sorting"; const char KEY_AUTO_CENTER_LINES[] = "Auto Center Lines"; -const char KEY_MAX_HISTORY_SIZE[] = "Maximum Search History Size"; const char KEY_DEFAULT_MARK_TYPE[] = "Default Mark Type"; const char KEY_ALLOW_MARK_MENU[] = "Allow Mark Menu"; const char KEY_PERSISTENT_SELECTION[] = "Persistent Selection"; @@ -631,9 +623,7 @@ const char KEY_SCROLL_PAST_END[] = "Scroll Past End"; const char KEY_FOLD_FIRST_LINE[] = "Fold First Line"; const char KEY_SHOW_LINE_COUNT[] = "Show Line Count"; -const char KEY_SHOW_WORD_COUNT[] = "Show Word Count"; const char KEY_AUTO_BRACKETS[] = "Auto Brackets"; -const char KEY_BACKSPACE_REMOVE_COMPOSED[] = "Backspace Remove Composed Characters"; } void KateViewConfig::readConfig(const KConfigGroup &config) @@ -644,17 +634,6 @@ readConfigEntries(config); // default on - setDynWordWrap(config.readEntry(KEY_DYN_WORD_WRAP, true)); - setDynWrapAtStaticMarker(config.readEntry(KEY_DYN_WORD_WRAP_AT_STATIC_MARKER, false)); - setDynWordWrapIndicators(config.readEntry(KEY_DYN_WORD_WRAP_INDICATORS, 1)); - setDynWordWrapAlignIndent(config.readEntry(KEY_DYN_WORD_WRAP_ALIGN_INDENT, 80)); - - setLineNumbers(config.readEntry(KEY_LINE_NUMBERS, false)); - - setScrollBarMarks(config.readEntry(KEY_SCROLL_BAR_MARKS, false)); - - setScrollBarPreview(config.readEntry(KEY_SCROLL_BAR_PREVIEW, true)); - setScrollBarMiniMap(config.readEntry(KEY_SCROLL_BAR_MINI_MAP, true)); setScrollBarMiniMapAll(config.readEntry(KEY_SCROLL_BAR_MINI_MAP_ALL, false)); @@ -675,11 +654,6 @@ setAutoCenterLines(config.readEntry(KEY_AUTO_CENTER_LINES, 0)); - setSearchFlags(config.readEntry(KEY_SEARCH_REPLACE_FLAGS, - IncFromCursor | PowerMatchCase | PowerModePlainText)); - - m_maxHistorySize = config.readEntry(KEY_MAX_HISTORY_SIZE, 100); - setDefaultMarkType(config.readEntry(KEY_DEFAULT_MARK_TYPE, int(KTextEditor::MarkInterface::markType01))); setAllowMarkMenu(config.readEntry(KEY_ALLOW_MARK_MENU, true)); @@ -699,30 +673,16 @@ setScrollPastEnd(config.readEntry(KEY_SCROLL_PAST_END, false)); setFoldFirstLine(config.readEntry(KEY_FOLD_FIRST_LINE, false)); setShowLineCount(config.readEntry(KEY_SHOW_LINE_COUNT, false)); - setShowWordCount(config.readEntry(KEY_SHOW_WORD_COUNT, false)); setAutoBrackets(config.readEntry(KEY_AUTO_BRACKETS, false)); - setBackspaceRemoveComposed(config.readEntry(KEY_BACKSPACE_REMOVE_COMPOSED, false)); - configEnd(); } void KateViewConfig::writeConfig(KConfigGroup &config) { // write generic entries writeConfigEntries(config); - config.writeEntry(KEY_DYN_WORD_WRAP, dynWordWrap()); - config.writeEntry(KEY_DYN_WORD_WRAP_AT_STATIC_MARKER, dynWrapAtStaticMarker()); - config.writeEntry(KEY_DYN_WORD_WRAP_INDICATORS, dynWordWrapIndicators()); - config.writeEntry(KEY_DYN_WORD_WRAP_ALIGN_INDENT, dynWordWrapAlignIndent()); - - config.writeEntry(KEY_LINE_NUMBERS, lineNumbers()); - - config.writeEntry(KEY_SCROLL_BAR_MARKS, scrollBarMarks()); - - config.writeEntry(KEY_SCROLL_BAR_PREVIEW, scrollBarPreview()); - config.writeEntry(KEY_SCROLL_BAR_MINI_MAP, scrollBarMiniMap()); config.writeEntry(KEY_SCROLL_BAR_MINI_MAP_ALL, scrollBarMiniMapAll()); @@ -743,10 +703,6 @@ config.writeEntry(KEY_AUTO_CENTER_LINES, autoCenterLines()); - config.writeEntry(KEY_SEARCH_REPLACE_FLAGS, int(searchFlags())); - - config.writeEntry(KEY_MAX_HISTORY_SIZE, m_maxHistorySize); - config.writeEntry(KEY_DEFAULT_MARK_TYPE, defaultMarkType()); config.writeEntry(KEY_ALLOW_MARK_MENU, allowMarkMenu()); @@ -769,10 +725,7 @@ config.writeEntry(KEY_VI_RELATIVE_LINE_NUMBERS, viRelativeLineNumbers()); config.writeEntry(KEY_SHOW_LINE_COUNT, showLineCount()); - config.writeEntry(KEY_SHOW_WORD_COUNT, showWordCount()); config.writeEntry(KEY_AUTO_BRACKETS, autoBrackets()); - - config.writeEntry(KEY_BACKSPACE_REMOVE_COMPOSED, backspaceRemoveComposed()); } void KateViewConfig::updateConfig() @@ -794,167 +747,6 @@ } } -bool KateViewConfig::dynWordWrap() const -{ - if (m_dynWordWrapSet || isGlobal()) { - return m_dynWordWrap; - } - - return s_global->dynWordWrap(); -} - -void KateViewConfig::setDynWordWrap(bool wrap) -{ - if (m_dynWordWrapSet && m_dynWordWrap == wrap) { - return; - } - - configStart(); - - m_dynWordWrapSet = true; - m_dynWordWrap = wrap; - - configEnd(); -} - -bool KateViewConfig::dynWrapAtStaticMarker() const -{ - if (m_dynWrapAtStaticMarkerSet || isGlobal()) { - return m_dynWrapAtStaticMarker; - } - - return s_global->dynWrapAtStaticMarker(); -} - -void KateViewConfig::setDynWrapAtStaticMarker(bool on) -{ - if (m_dynWrapAtStaticMarkerSet && m_dynWrapAtStaticMarker == on) { - return; - } - - configStart(); - - m_dynWrapAtStaticMarkerSet = true; - m_dynWrapAtStaticMarker = on; - - configEnd(); -} - -int KateViewConfig::dynWordWrapIndicators() const -{ - if (m_dynWordWrapIndicatorsSet || isGlobal()) { - return m_dynWordWrapIndicators; - } - - return s_global->dynWordWrapIndicators(); -} - -void KateViewConfig::setDynWordWrapIndicators(int mode) -{ - if (m_dynWordWrapIndicatorsSet && m_dynWordWrapIndicators == mode) { - return; - } - - configStart(); - - m_dynWordWrapIndicatorsSet = true; - m_dynWordWrapIndicators = qBound(0, mode, 80); - - configEnd(); -} - -int KateViewConfig::dynWordWrapAlignIndent() const -{ - if (m_dynWordWrapAlignIndentSet || isGlobal()) { - return m_dynWordWrapAlignIndent; - } - - return s_global->dynWordWrapAlignIndent(); -} - -void KateViewConfig::setDynWordWrapAlignIndent(int indent) -{ - if (m_dynWordWrapAlignIndentSet && m_dynWordWrapAlignIndent == indent) { - return; - } - - configStart(); - - m_dynWordWrapAlignIndentSet = true; - m_dynWordWrapAlignIndent = indent; - - configEnd(); -} - -bool KateViewConfig::lineNumbers() const -{ - if (m_lineNumbersSet || isGlobal()) { - return m_lineNumbers; - } - - return s_global->lineNumbers(); -} - -void KateViewConfig::setLineNumbers(bool on) -{ - if (m_lineNumbersSet && m_lineNumbers == on) { - return; - } - - configStart(); - - m_lineNumbersSet = true; - m_lineNumbers = on; - - configEnd(); -} - -bool KateViewConfig::scrollBarMarks() const -{ - if (m_scrollBarMarksSet || isGlobal()) { - return m_scrollBarMarks; - } - - return s_global->scrollBarMarks(); -} - -void KateViewConfig::setScrollBarMarks(bool on) -{ - if (m_scrollBarMarksSet && m_scrollBarMarks == on) { - return; - } - - configStart(); - - m_scrollBarMarksSet = true; - m_scrollBarMarks = on; - - configEnd(); -} - -bool KateViewConfig::scrollBarPreview() const -{ - if (m_scrollBarPreviewSet || isGlobal()) { - return m_scrollBarPreview; - } - - return s_global->scrollBarPreview(); -} - -void KateViewConfig::setScrollBarPreview(bool on) -{ - if (m_scrollBarPreviewSet && m_scrollBarPreview == on) { - return; - } - - configStart(); - - m_scrollBarPreviewSet = true; - m_scrollBarPreview = on; - - configEnd(); -} - bool KateViewConfig::scrollBarMiniMap() const { if (m_scrollBarMiniMapSet || isGlobal()) { @@ -1212,34 +1004,6 @@ configEnd(); } -long KateViewConfig::searchFlags() const -{ - if (m_searchFlagsSet || isGlobal()) { - return m_searchFlags; - } - - return s_global->searchFlags(); -} - -void KateViewConfig::setSearchFlags(long flags) -{ - if (m_searchFlagsSet && m_searchFlags == flags) { - return; - } - - configStart(); - - m_searchFlagsSet = true; - m_searchFlags = flags; - - configEnd(); -} - -int KateViewConfig::maxHistorySize() const -{ - return m_maxHistorySize; -} - uint KateViewConfig::defaultMarkType() const { if (m_defaultMarkTypeSet || isGlobal()) { @@ -1561,27 +1325,6 @@ configEnd(); } -bool KateViewConfig::showWordCount() const -{ - if (m_showWordCountSet || isGlobal()) { - return m_showWordCount; - } - - return s_global->showWordCount(); -} - -void KateViewConfig::setShowWordCount(bool on) -{ - if (m_showWordCountSet && m_showWordCount == on) { - return; - } - - configStart(); - m_showWordCountSet = true; - m_showWordCount = on; - configEnd(); -} - bool KateViewConfig::showLineCount() const { if (m_showLineCountSet || isGlobal()) { @@ -1603,29 +1346,6 @@ configEnd(); } -bool KateViewConfig::backspaceRemoveComposed() const -{ - if (m_backspaceRemoveComposedSet || isGlobal()) { - return m_backspaceRemoveComposed; - } - - return s_global->backspaceRemoveComposed(); -} - -void KateViewConfig::setBackspaceRemoveComposed(bool on) -{ - if (m_backspaceRemoveComposedSet && m_backspaceRemoveComposed == on) { - return; - } - - configStart(); - - m_backspaceRemoveComposedSet = true; - m_backspaceRemoveComposed = on; - - configEnd(); -} - //END //BEGIN KateRendererConfig Index: src/view/kateview.cpp =================================================================== --- src/view/kateview.cpp +++ src/view/kateview.cpp @@ -1459,7 +1459,7 @@ void KTextEditor::ViewPrivate::setDynWrapIndicators(int mode) { - config()->setDynWordWrapIndicators(mode); + config()->setValue(KateViewConfig::DynWordWrapIndicators, mode); } bool KTextEditor::ViewPrivate::isOverwriteMode() const @@ -1610,10 +1610,7 @@ // cursor position setCursorPositionInternal(KTextEditor::Cursor(config.readEntry("CursorLine", 0), config.readEntry("CursorColumn", 0))); - // restore dyn word wrap if set for this view - if (config.hasKey("Dynamic Word Wrap")) { - m_config->setDynWordWrap(config.readEntry("Dynamic Word Wrap", false)); - } + m_config->setDynWordWrap(config.readEntry("Dynamic Word Wrap", false)); // restore text folding m_savedFoldingState = QJsonDocument::fromJson(config.readEntry("TextFolding", QByteArray())); @@ -1632,10 +1629,7 @@ config.writeEntry("CursorLine", cursorPosition().line()); config.writeEntry("CursorColumn", cursorPosition().column()); - // save dyn word wrap if set for this view - if (m_config->dynWordWrapSet()) { - config.writeEntry("Dynamic Word Wrap", m_config->dynWordWrap()); - } + config.writeEntry("Dynamic Word Wrap", m_config->dynWordWrap()); // save text folding state saveFoldingState(); @@ -1694,22 +1688,22 @@ void KTextEditor::ViewPrivate::setLineNumbersOn(bool enable) { - config()->setLineNumbers(enable); + config()->setValue(KateViewConfig::ShowLineNumbers, enable); } void KTextEditor::ViewPrivate::toggleLineNumbersOn() { - config()->setLineNumbers(!config()->lineNumbers()); + config()->setValue(KateViewConfig::ShowLineNumbers, !config()->lineNumbers()); } void KTextEditor::ViewPrivate::setScrollBarMarks(bool enable) { - config()->setScrollBarMarks(enable); + config()->setValue(KateViewConfig::ShowScrollBarMarks, enable); } void KTextEditor::ViewPrivate::toggleScrollBarMarks() { - config()->setScrollBarMarks(!config()->scrollBarMarks()); + config()->setValue(KateViewConfig::ShowScrollBarMarks, !config()->scrollBarMarks()); } void KTextEditor::ViewPrivate::setScrollBarMiniMap(bool enable) @@ -3331,7 +3325,7 @@ if (key == QLatin1String("icon-bar")) { config()->setIconBar(value.toBool()); } else if (key == QLatin1String("line-numbers")) { - config()->setLineNumbers(value.toBool()); + config()->setValue(KateViewConfig::ShowLineNumbers, value.toBool()); } else if (key == QLatin1String("dynamic-word-wrap")) { config()->setDynWordWrap(value.toBool()); } else if (key == QLatin1String("allow-mark-menu")) { @@ -3349,7 +3343,7 @@ } else if (key == QLatin1String("scrollbar-minimap")) { config()->setScrollBarMiniMap(value.toBool()); } else if (key == QLatin1String("scrollbar-preview")) { - config()->setScrollBarPreview(value.toBool()); + config()->setValue(KateViewConfig::ShowScrollBarPreview, value.toBool()); } } else if (value.canConvert(QVariant::UInt)) {