From cd4e6504dfbdface00037625f0cedda511e6d839 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Gr=C3=A4=C3=9Flin?= Date: Wed, 16 Nov 2016 14:59:28 +0100 Subject: Generate an instance with KSharedConfig::Ptr for singleton and arg Summary: In case a kcfg with arg="true" was used and singleton the static instance method only accepted a QString config name. This made it impossible to combine a singleton config with an already existing and open KSharedConfig::Ptr. With this change an overloaded instance method is added which takes a KSharedConfig::Ptr as argument. The private ctor, though, only takes a KSharedConfig::Ptr and the instance method taking a QString argument uses KSharedConfig::openConfig on the config file name. This provides full API compatibility and at the same time allows to use KSharedConfig in addition to the arg name based variant. Test Plan: kconfigcompiler tests still pass and a config with singleton and arg="true" generates the code as I need it Reviewers: #frameworks Differential Revision: https://phabricator.kde.org/D3386 --- autotests/kconfig_compiler/test8c.h.ref | 70 +++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 autotests/kconfig_compiler/test8c.h.ref (limited to 'autotests/kconfig_compiler/test8c.h.ref') diff --git a/autotests/kconfig_compiler/test8c.h.ref b/autotests/kconfig_compiler/test8c.h.ref new file mode 100644 index 00000000..95464e5a --- /dev/null +++ b/autotests/kconfig_compiler/test8c.h.ref @@ -0,0 +1,70 @@ +// This file is generated by kconfig_compiler_kf5 from test8a.kcfg. +// All changes you do to this file will be lost. +#ifndef TEST8C_H +#define TEST8C_H + +#include +#include +#include + +class Test8c : public KConfigSkeleton +{ + public: + + static Test8c *self(); + static void instance(const QString& cfgfilename); + static void instance(KSharedConfig::Ptr config); + ~Test8c(); + + /** + Set Font + */ + static + void setFont( const QFont & v ) + { + if (!self()->isImmutable( QStringLiteral( "Font" ) )) + self()->mFont = v; + } + + /** + Get Font + */ + static + QFont font() + { + return self()->mFont; + } + + /** + Set TitleFont + */ + static + void setTitleFont( const QFont & v ) + { + if (!self()->isImmutable( QStringLiteral( "TitleFont" ) )) + self()->mTitleFont = v; + } + + /** + Get TitleFont + */ + static + QFont titleFont() + { + return self()->mTitleFont; + } + + protected: + Test8c(KSharedConfig::Ptr config); + friend class Test8cHelper; + + + // Group + QFont mFont; + QFont mTitleFont; + + private: +}; + +#endif + -- cgit v1.2.1