1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
commit e84645d1694bdad7f179cd41babce723fe07aa63
Author: Kevin Funk <kfunk@kde.org>
Date: Mon Dec 5 15:20:53 2016 +0100
Hotfix for restoring build with newer KConfig
https://phabricator.kde.org/D3386 is a SIC change, handle that
diff --git a/project/projectconfigskeleton.cpp b/project/projectconfigskeleton.cpp
index 0e06149..c4c9767 100644
--- a/project/projectconfigskeleton.cpp
+++ b/project/projectconfigskeleton.cpp
@@ -46,6 +46,10 @@ ProjectConfigSkeleton::ProjectConfigSkeleton( const QString & configname )
ProjectConfigSkeleton::ProjectConfigSkeleton( KSharedConfigPtr config )
: KConfigSkeleton( config ), d( new ProjectConfigSkeletonPrivate )
{
+ // FIXME: Check if that does the right thing.
+ // https://phabricator.kde.org/D3386 broke source compat in kconfig, thus requiring us to make this ctor public
+ Q_ASSERT(config);
+ d->m_developerTempFile = config->name();
}
void ProjectConfigSkeleton::setDeveloperTempFile( const QString& cfg )
diff --git a/project/projectconfigskeleton.h b/project/projectconfigskeleton.h
index ed17ed0..c8314df 100644
--- a/project/projectconfigskeleton.h
+++ b/project/projectconfigskeleton.h
@@ -55,16 +55,12 @@ public:
Path projectFile() const;
Path developerFile() const;
+
+protected:
+ explicit ProjectConfigSkeleton( KSharedConfigPtr config );
+
private:
- /**
- * There's no way in KDE4 API to find out the file that the config object
- * was created from, so we can't apply defaults when using this
- * constructors. Thus I'm making this private, so we can find out when
- * this constructor is used and see if we need to add appropriate API to
- * kdelibs
- */
- explicit ProjectConfigSkeleton( KSharedConfigPtr config );
- struct ProjectConfigSkeletonPrivate * const d;
+ struct ProjectConfigSkeletonPrivate * const d;
};
}
commit 3fc389e64b2955cd7347d6798202b2bf22ab5643
Author: Kevin Funk <kfunk@kde.org>
Date: Fri Dec 9 12:00:49 2016 +0100
ProjectConfigSkeleton: Remove FIXME
Code works as expected, just verified. Also fix the visibility of the
other ctor
diff --git a/project/projectconfigskeleton.cpp b/project/projectconfigskeleton.cpp
index c4c9767..9d37a54 100644
--- a/project/projectconfigskeleton.cpp
+++ b/project/projectconfigskeleton.cpp
@@ -46,8 +46,6 @@ ProjectConfigSkeleton::ProjectConfigSkeleton( const QString & configname )
ProjectConfigSkeleton::ProjectConfigSkeleton( KSharedConfigPtr config )
: KConfigSkeleton( config ), d( new ProjectConfigSkeletonPrivate )
{
- // FIXME: Check if that does the right thing.
- // https://phabricator.kde.org/D3386 broke source compat in kconfig, thus requiring us to make this ctor public
Q_ASSERT(config);
d->m_developerTempFile = config->name();
}
diff --git a/project/projectconfigskeleton.h b/project/projectconfigskeleton.h
index c8314df..ad3c063 100644
--- a/project/projectconfigskeleton.h
+++ b/project/projectconfigskeleton.h
@@ -32,17 +32,8 @@ class Path;
class KDEVPLATFORMPROJECT_EXPORT ProjectConfigSkeleton: public KConfigSkeleton
{
Q_OBJECT
-public:
-
- /**
- * Constructs a new skeleton, the skeleton will write to the developer
- * configuration file, which is by default located in projectdir/.kdev4
- * The defaults will be set from the project file, which is in the projectdir
- *
- * @param configname The absolute filename of the developer configuration file
- */
- explicit ProjectConfigSkeleton( const QString & configname );
+public:
~ProjectConfigSkeleton() override;
void setDeveloperTempFile( const QString& );
@@ -58,6 +49,14 @@ public:
protected:
explicit ProjectConfigSkeleton( KSharedConfigPtr config );
+ /**
+ * Constructs a new skeleton, the skeleton will write to the developer
+ * configuration file, which is by default located in projectdir/.kdev4
+ * The defaults will be set from the project file, which is in the projectdir
+ *
+ * @param configname The absolute filename of the developer configuration file
+ */
+ explicit ProjectConfigSkeleton( const QString & configname );
private:
struct ProjectConfigSkeletonPrivate * const d;
|