diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -16,7 +16,7 @@ include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE) include(KDECMakeSettings) -include(GenerateExportHeader) +include(ECMGenerateExportHeader) include(ECMSetupVersion) include(ECMGenerateHeaders) include(CMakePackageConfigHelpers) @@ -50,6 +50,8 @@ find_package(KF5WindowSystem ${KF5_DEP_VERSION} REQUIRED) find_package(KF5Sonnet ${KF5_DEP_VERSION} REQUIRED) +set(EXCLUDE_DEPRECATED_BEFORE_AND_AT 0 CACHE STRING "Control the range of deprecated API excluded from the build [default=0].") + option(BUILD_QCH "Build API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)" OFF) add_feature_info(QCH ${BUILD_QCH} "API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)") diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -12,8 +12,15 @@ ) add_library(KF5TextWidgets ${ktextwidgets_LIB_SRCS}) -generate_export_header(KF5TextWidgets BASE_NAME KTextWidgets) add_library(KF5::TextWidgets ALIAS KF5TextWidgets) +ecm_generate_export_header(KF5TextWidgets + BASE_NAME KTextWidgets + # 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.0 + EXCLUDE_DEPRECATED_BEFORE_AND_AT ${EXCLUDE_DEPRECATED_BEFORE_AND_AT} +) set(ktextwidgets_INCLUDES ${CMAKE_CURRENT_SOURCE_DIR}/dialogs diff --git a/src/widgets/ktextedit.h b/src/widgets/ktextedit.h --- a/src/widgets/ktextedit.h +++ b/src/widgets/ktextedit.h @@ -51,9 +51,9 @@ class KTEXTWIDGETS_EXPORT KTextEdit : public QTextEdit //krazy:exclude=qclasses { Q_OBJECT - #ifndef KTEXTWIDGETS_NO_DEPRECATED +#if KTEXTWIDGETS_BUILD_DEPRECATED_SINCE(5, 0) Q_PROPERTY(QString clickMessage READ clickMessage WRITE setClickMessage) - #endif +#endif Q_PROPERTY(bool checkSpellingEnabled READ checkSpellingEnabled WRITE setCheckSpellingEnabled) Q_PROPERTY(QString spellCheckingLanguage READ spellCheckingLanguage WRITE setSpellCheckingLanguage) @@ -187,22 +187,24 @@ */ const QString &spellCheckingLanguage() const; +#if KTEXTWIDGETS_ENABLE_DEPRECATED_SINCE(5, 0) /** * This makes the text edit display a grayed-out hinting text as long as * the user didn't enter any text. It is often used as indication about * the purpose of the text edit. * @deprecated since 5.0, use QTextEdit::setPlaceholderText instead */ -#ifndef KTEXTWIDGETS_NO_DEPRECATED - inline KTEXTWIDGETS_DEPRECATED void setClickMessage(const QString &msg) {setPlaceholderText(msg);} + KTEXTWIDGETS_DEPRECATED_VERSION(5, 0, "Use QTextEdit::setPlaceholderText(const QString&)") + inline void setClickMessage(const QString &msg) {setPlaceholderText(msg);} #endif +#if KTEXTWIDGETS_ENABLE_DEPRECATED_SINCE(5, 0) /** * @return the message set with setClickMessage * @deprecated since 5.0, use QTextEdit::placeholderText instead */ -#ifndef KTEXTWIDGETS_NO_DEPRECATED - inline KTEXTWIDGETS_DEPRECATED QString clickMessage() const {return placeholderText();} + KTEXTWIDGETS_DEPRECATED_VERSION(5, 0, "Use QTextEdit::placeholderText()") + inline QString clickMessage() const {return placeholderText();} #endif /**