Rename signal for avoiding overload signal
ClosedPublic

Authored by mlaurent on Nov 26 2019, 1:23 PM.

Details

Summary

New signal for replacing done(const QString &)

Test Plan

build

Diff Detail

Repository
R246 Sonnet
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
mlaurent created this revision.Nov 26 2019, 1:23 PM
Restricted Application added a project: Frameworks. · View Herald TranscriptNov 26 2019, 1:23 PM
Restricted Application added a subscriber: kde-frameworks-devel. · View Herald Transcript
mlaurent requested review of this revision.Nov 26 2019, 1:23 PM

Looks good to me. Friedrich, what did we conclude about deprecating signals?

kossebau added a comment.EditedNov 26 2019, 11:36 PM

Looks good to me. Friedrich, what did we conclude about deprecating signals?

From https://phabricator.kde.org/D24466#547023 & ff. I took with me that deprecating signals like methods should be fine, and will work WRT visibility and warnings at least with member-function-pointer-based connects.

For the rest looks good also to me. Happy to see that ecm_generate_export_header usage can be applied as intended by somebody else than me :)

Though one thing (which I also only fixed in later commits) is missing: instructing KApiDox & ecm_add_qch about the new deprecation macros (they need some help sadly). Cmp. e.g. R244:344565e7f6c6782b287d73373e7ce2319c80eab2 for kcoreaddons, and see also https://community.kde.org/Policies/Library_Code_Policy#Deprecation_of_API

src/ui/dialog.h
101–102
mlaurent updated this revision to Diff 70393.Nov 27 2019, 5:56 AM

Add apidox options

mlaurent updated this revision to Diff 70394.Nov 27 2019, 5:57 AM

Fix indent

kossebau added inline comments.Nov 27 2019, 10:44 AM
docs/Doxyfile.local
5

The predefined macros we want to tell doxygen about in the case of kapidox (being run in a non-build checkout, so without the generated headers/sources) are both the variants of the 3 macros for SONNETCORE and SONNETUI, not KCOREADDONS :)

In case you wonder about the differences for instructions to ecm_add_qch, kapidox processes the whole sources with both libs into one documentation module, while the ecm macro is used to create two separate QCH files, one per library.
(and ecm_add_qch also is run in a build, so with the generated headers/sources available, cmp. also the INCLUDE_DIRS arg. Sadly doxygen does not digest the __deprecated(text)__ attribute properly, so we need to help it with the very warning deprecation macro (*_DEPRECATED_VERSION) and have it resolve it itself to a void string instead of the real content. At least the *_DEPRECATED_SINCE are properly done, so no assistance needed there)

src/core/CMakeLists.txt
36

Given there is nothing yet deprecated in the core lib, you want for now to not pass any DEPRECATION_VERSIONS args (to avoid the respective generated preprocessor code).
You can still prepare the argument by just making the line a comment, like

# DEPRECATION_VERSIONS 5.x
src/ui/dialog.h
110

The @since would ideally also be move to the end of the docs.

mlaurent updated this revision to Diff 70410.Nov 27 2019, 12:07 PM

Fix some errors

dfaure accepted this revision.Nov 27 2019, 5:36 PM
This revision is now accepted and ready to land.Nov 27 2019, 5:36 PM
This revision was automatically updated to reflect the committed changes.