diff options
-rw-r--r-- | find-modules/sip_generator.py | 16 | ||||
-rw-r--r-- | tests/GenerateSipBindings/cpplib.h | 4 |
2 files changed, 17 insertions, 3 deletions
diff --git a/find-modules/sip_generator.py b/find-modules/sip_generator.py index a67263ff..acdec86e 100644 --- a/find-modules/sip_generator.py +++ b/find-modules/sip_generator.py @@ -335,10 +335,22 @@ class SipGenerator(object): """ Skip access specifiers embedded in the Q_OBJECT macro. """ - access_specifier = self._read_source(member.extent) - if access_specifier == "Q_OBJECT": + access_specifier_text = self._read_source(member.extent) + if access_specifier_text == "Q_OBJECT": return "" pad = " " * ((level - 1) * 4) + access_specifier = "" + if (access_specifier_text in ("Q_SIGNALS:", "signals:", + "public Q_SLOTS:", "public slots:", + "protected Q_SLOTS:", "protected slots:")): + access_specifier = access_specifier_text + elif member.access_specifier == AccessSpecifier.PRIVATE: + access_specifier = "private:" + elif member.access_specifier == AccessSpecifier.PROTECTED: + access_specifier = "protected:" + elif member.access_specifier == AccessSpecifier.PUBLIC: + access_specifier = "public:" + decl = pad + access_specifier + "\n" return decl diff --git a/tests/GenerateSipBindings/cpplib.h b/tests/GenerateSipBindings/cpplib.h index ba8e9f27..81ad2038 100644 --- a/tests/GenerateSipBindings/cpplib.h +++ b/tests/GenerateSipBindings/cpplib.h @@ -5,6 +5,7 @@ #include <QtCore/QString> #include <QtCore/QStringList> #include <QtCore/QMap> +#include <QtCore/QCoreApplication> #include <functional> @@ -85,12 +86,13 @@ private: int* const mNum; }; - class NonCopyableByMacro { public: NonCopyableByMacro(); + Q_DECLARE_TR_FUNCTIONS(NonCopyableByMacro) + private: Q_DISABLE_COPY(NonCopyableByMacro) }; |