diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,7 +6,7 @@ set(PROJECT_VERSION_MAJOR 5) set(QT_MIN_VERSION "5.12.0") -set(KF5_MIN_VERSION "5.66.0") +set(KF5_MIN_VERSION "5.69.0") find_package(ECM ${KF5_MIN_VERSION} REQUIRED NO_MODULE) set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules) diff --git a/kcms/spellchecking/spellchecking.cpp b/kcms/spellchecking/spellchecking.cpp --- a/kcms/spellchecking/spellchecking.cpp +++ b/kcms/spellchecking/spellchecking.cpp @@ -53,22 +53,34 @@ bool unmanagedDefaultState = true; QStringList refIgnoreList(m_skeleton->ignoreList()); + refIgnoreList.removeDuplicates(); + refIgnoreList.sort(); + QStringList currentIgnoreList(m_configWidget->ignoreList()); + currentIgnoreList.removeDuplicates(); + currentIgnoreList.sort(); + QStringList defaultIgnoreList(Sonnet::Settings::defaultIgnoreList()); - QSet refIgnoreSet(refIgnoreList.begin(), refIgnoreList.end()); - QSet currentIgnoreSet(currentIgnoreList.begin(), currentIgnoreList.end()); - QSet defaultIgnoreSet(defaultIgnoreList.begin(), defaultIgnoreList.end()); - unmanagedChangeState |= currentIgnoreSet != refIgnoreSet; - unmanagedDefaultState &= currentIgnoreSet == defaultIgnoreSet; + defaultIgnoreList.removeDuplicates(); + defaultIgnoreList.sort(); + + unmanagedChangeState |= currentIgnoreList != refIgnoreList; + unmanagedDefaultState &= currentIgnoreList == defaultIgnoreList; QStringList refPreferredLanguagesList(m_skeleton->preferredLanguages()); + refPreferredLanguagesList.removeDuplicates(); + refPreferredLanguagesList.sort(); + QStringList currentPreferredLanguagesList(m_configWidget->preferredLanguages()); + currentPreferredLanguagesList.removeDuplicates(); + currentPreferredLanguagesList.sort(); + QStringList defaultPreferredLanguagesList(Sonnet::Settings::defaultPreferredLanguages()); - QSet refPreferredLanguages(refPreferredLanguagesList.begin(), refPreferredLanguagesList.end()); - QSet currentPreferredLanguages(currentPreferredLanguagesList.begin(), currentPreferredLanguagesList.end()); - QSet defaultPreferredLanguages(defaultPreferredLanguagesList.begin(), defaultPreferredLanguagesList.end()); - unmanagedChangeState |= currentPreferredLanguages != refPreferredLanguages; - unmanagedDefaultState &= currentPreferredLanguages == defaultPreferredLanguages; + defaultPreferredLanguagesList.removeDuplicates(); + defaultPreferredLanguagesList.sort(); + + unmanagedChangeState |= currentPreferredLanguagesList != refPreferredLanguagesList; + unmanagedDefaultState &= currentPreferredLanguagesList == defaultPreferredLanguagesList; unmanagedChangeState |= m_skeleton->defaultLanguage() != m_configWidget->language(); unmanagedDefaultState &= m_configWidget->language() == Sonnet::Settings::defaultDefaultLanguage();