aboutsummaryrefslogtreecommitdiff
path: root/src/gui
diff options
context:
space:
mode:
authorFriedrich W. H. Kossebau <kossebau@kde.org>2019-10-08 15:22:49 +0200
committerFriedrich W. H. Kossebau <kossebau@kde.org>2019-10-18 21:23:32 +0200
commitfb37084b3e7c396cd10bf4d3253fee730320988a (patch)
tree3c58974a533b9ec963d315481d38671ba8f10613 /src/gui
parent3f68be12f87e83b67f9270eb139d894bf65ebef1 (diff)
downloadkconfig-fb37084b3e7c396cd10bf4d3253fee730320988a.tar.gz
kconfig-fb37084b3e7c396cd10bf4d3253fee730320988a.tar.bz2
Use ECMGenerateExportHeader to manage deprecated API better
Summary: Allows * projects linking to KConfigCore/Gui to hide deprecated API up to a given version or silence deprecation warnings after a given version, using * -DKCONFIGCORE_DISABLE_DEPRECATED_BEFORE_AND_AT * -DKCONFIGCORE_NO_DEPRECATED * -DKCONFIGCORE_DEPRECATED_WARNINGS_SINCE * -DKCONFIGCORE_NO_DEPRECATED_WARNINGS * -DKCONFIGGUI_DISABLE_DEPRECATED_BEFORE_AND_AT * -DKCONFIGGUI_NO_DEPRECATED * -DKCONFIGGUI_DEPRECATED_WARNINGS_SINCE * -DKCONFIGGUI_NO_DEPRECATED_WARNINGS or * -DKF_DISABLE_DEPRECATED_BEFORE_AND_AT * -DKF_NO_DEPRECATED * -DKF_DEPRECATED_WARNINGS_SINCE * -DKF_NO_DEPRECATED_WARNINGS * to build KConfigCore/Gui optionally with deprecated API excluded from the build, using "EXCLUDE_DEPRECATED_BEFORE_AND_AT" cmake argument. Test Plan: Builds with EXCLUDE_DEPRECATED_BEFORE_AND_AT set to 0, 4.0.0, 5.0.0, 5.11.0, 5.24.0, 5.39.0, 5.42.0, CURRENT. Reviewers: #frameworks, mlaurent Reviewed By: mlaurent Subscribers: mlaurent, kde-frameworks-devel Tags: #frameworks Differential Revision: https://phabricator.kde.org/D24496
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/CMakeLists.txt9
-rw-r--r--src/gui/kconfiggui.cpp2
-rw-r--r--src/gui/kconfiggui.h5
-rw-r--r--src/gui/kconfigloader.cpp4
-rw-r--r--src/gui/kconfigloader.h4
-rw-r--r--src/gui/kstandardshortcut.cpp5
-rw-r--r--src/gui/kstandardshortcut.h4
7 files changed, 29 insertions, 4 deletions
diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt
index 6ae7729c..58afe38a 100644
--- a/src/gui/CMakeLists.txt
+++ b/src/gui/CMakeLists.txt
@@ -9,8 +9,15 @@ set(libkconfiggui_SRCS
ecm_create_qm_loader(libkconfiggui_SRCS kconfig5_qt)
add_library(KF5ConfigGui ${libkconfiggui_SRCS})
-generate_export_header(KF5ConfigGui BASE_NAME KConfigGui)
add_library(KF5::ConfigGui ALIAS KF5ConfigGui)
+ecm_generate_export_header(KF5ConfigGui
+ BASE_NAME KConfigGui
+ # GROUP_BASE_NAME KF <- enable once all of KF modules use ecm_generate_export_header
+ VERSION ${KF5_VERSION}
+ DEPRECATED_BASE_VERSION 0
+ DEPRECATION_VERSIONS 5.11 5.39
+ EXCLUDE_DEPRECATED_BEFORE_AND_AT ${EXCLUDE_DEPRECATED_BEFORE_AND_AT}
+)
target_include_directories(KF5ConfigGui INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF5}/KConfigGui>")
diff --git a/src/gui/kconfiggui.cpp b/src/gui/kconfiggui.cpp
index 6948b968..f65bba59 100644
--- a/src/gui/kconfiggui.cpp
+++ b/src/gui/kconfiggui.cpp
@@ -67,7 +67,7 @@ bool KConfigGui::hasSessionConfig()
return s_sessionConfig != nullptr;
}
-#ifndef KDE_NO_DEPRECATED
+#if KCONFIGGUI_BUILD_DEPRECATED_SINCE(5, 11)
QString KConfigGui::sessionConfigName()
{
return sessionConfig()->name();
diff --git a/src/gui/kconfiggui.h b/src/gui/kconfiggui.h
index 12644658..b9d9cadb 100644
--- a/src/gui/kconfiggui.h
+++ b/src/gui/kconfiggui.h
@@ -60,14 +60,15 @@ KCONFIGGUI_EXPORT void setSessionConfig(const QString &id, const QString &key);
*/
KCONFIGGUI_EXPORT bool hasSessionConfig();
+#if KCONFIGGUI_ENABLE_DEPRECATED_SINCE(5, 11)
/**
* Returns the name of the application session
*
* @return the application session name
* @deprecated since 5.11, use sessionConfig()->name()
*/
-#ifndef KDE_NO_DEPRECATED
-KCONFIGGUI_DEPRECATED_EXPORT QString sessionConfigName();
+KCONFIGGUI_DEPRECATED_VERSION(5, 11, "Use KConfigGui::sessionConfig()->name()")
+KCONFIGGUI_EXPORT QString sessionConfigName();
#endif
}
diff --git a/src/gui/kconfigloader.cpp b/src/gui/kconfigloader.cpp
index 63d3ff6e..760b1500 100644
--- a/src/gui/kconfigloader.cpp
+++ b/src/gui/kconfigloader.cpp
@@ -425,7 +425,11 @@ QStringList KConfigLoader::groupList() const
return d->groups;
}
+#if KCONFIGCORE_BUILD_DEPRECATED_SINCE(5, 0)
bool KConfigLoader::usrWriteConfig()
+#else
+bool KConfigLoader::usrSave()
+#endif
{
if (d->saveDefaults) {
const auto listItems = items();
diff --git a/src/gui/kconfigloader.h b/src/gui/kconfigloader.h
index 3eb3879d..e46e4c6e 100644
--- a/src/gui/kconfigloader.h
+++ b/src/gui/kconfigloader.h
@@ -166,10 +166,14 @@ public:
QStringList groupList() const;
protected:
+#if KCONFIGCORE_BUILD_DEPRECATED_SINCE(5, 0)
/**
* Hack used to force writing when no default exists in config file.
*/
bool usrWriteConfig() override;
+#else
+ bool usrSave() override;
+#endif
private:
ConfigLoaderPrivate *const d;
diff --git a/src/gui/kstandardshortcut.cpp b/src/gui/kstandardshortcut.cpp
index a8215138..4506be7d 100644
--- a/src/gui/kstandardshortcut.cpp
+++ b/src/gui/kstandardshortcut.cpp
@@ -154,7 +154,12 @@ static KStandardShortcutInfo g_infoStandardShortcut[] = {
{ Spelling, "Spelling", QT_TRANSLATE_NOOP3("KStandardShortcut", "Spelling", "@action"), 0, 0, QList<QKeySequence>(), false },
{ ShowToolbar, "ShowToolbar", QT_TRANSLATE_NOOP3("KStandardShortcut", "Show Toolbar", "@action"), 0, 0, QList<QKeySequence>(), false },
{ ShowStatusbar, "ShowStatusbar", QT_TRANSLATE_NOOP3("KStandardShortcut", "Show Statusbar", "@action"), 0, 0, QList<QKeySequence>(), false },
+#if KCONFIGGUI_BUILD_DEPRECATED_SINCE(5, 39)
{ SaveOptions, "SaveOptions", QT_TRANSLATE_NOOP3("KStandardShortcut", "Save Options", "@action"), 0, 0, QList<QKeySequence>(), false },
+#else
+ // dummy entry
+ { SaveOptions_DEPRECATED_DO_NOT_USE, nullptr, {nullptr, nullptr}, 0, 0, QList<QKeySequence>(), false },
+#endif
{ KeyBindings, "KeyBindings", QT_TRANSLATE_NOOP3("KStandardShortcut", "Key Bindings", "@action"), 0, 0, QList<QKeySequence>(), false },
{ Preferences, "Preferences", QT_TRANSLATE_NOOP3("KStandardShortcut", "Configure Application", "@action"), CTRLSHIFT(Comma), 0, QList<QKeySequence>(), false },
{ ConfigureToolbars, "ConfigureToolbars", QT_TRANSLATE_NOOP3("KStandardShortcut", "Configure Toolbars", "@action"), 0, 0, QList<QKeySequence>(), false },
diff --git a/src/gui/kstandardshortcut.h b/src/gui/kstandardshortcut.h
index 15cdc1b9..6f673272 100644
--- a/src/gui/kstandardshortcut.h
+++ b/src/gui/kstandardshortcut.h
@@ -134,7 +134,11 @@ enum StandardShortcut {
Spelling, ///< Pop up the spell checker.
ShowToolbar, ///< Show/Hide the toolbar.
ShowStatusbar, ///< Show/Hide the statusbar.
+#if KCONFIGGUI_ENABLE_DEPRECATED_SINCE(5, 39)
SaveOptions, ///< @deprecated since 5.39
+#else
+ SaveOptions_DEPRECATED_DO_NOT_USE,
+#endif
KeyBindings, ///< Display the configure key bindings dialog.
Preferences, ///< Display the preferences/options dialog.
ConfigureToolbars, ///< Display the toolbar configuration dialog.