1 | /* This file is part of the KDE project |
2 | Copyright (C) 2004, 2007 Dag Andersen <danders@get2net.dk> |
3 | Copyright (C) 2011, 2012 Dag Andersen <danders@get2net.dk> |
4 | |
5 | This library is free software; you can redistribute it and/or |
6 | modify it under the terms of the GNU Library General Public |
7 | License as published by the Free Software Foundation; either |
8 | version 2 of the License, or (at your option) any later version. |
9 | |
10 | This library is distributed in the hope that it will be useful, |
11 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
13 | Library General Public License for more details. |
14 | |
15 | You should have received a copy of the GNU Library General Public License |
16 | along with this library; see the file COPYING.LIB. If not, write to |
17 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
18 | * Boston, MA 02110-1301, USA. |
19 | */ |
20 | |
21 | #include "kptconfig.h" |
22 | |
23 | #include "plansettings.h" |
24 | #include "kptconfigskeleton.h" |
25 | #include "kptfactory.h" |
26 | #include "kptdebug.h" |
27 | |
28 | #include <kconfig.h> |
29 | #include <kconfiggroup.h> |
30 | #include <kdebug.h> |
31 | #include <kcomponentdata.h> |
32 | |
33 | #include <QBrush> |
34 | |
35 | |
36 | namespace KPlato |
37 | { |
38 | |
39 | Config::Config() |
40 | { |
41 | kDebug(planDbg())<<"Leader:" <<KPlatoSettings::leader(); |
42 | } |
43 | |
44 | Config::~Config() |
45 | { |
46 | } |
47 | |
48 | void Config::readConfig() |
49 | { |
50 | } |
51 | void Config::saveSettings() |
52 | { |
53 | if ( ! m_readWrite ) { |
54 | return; |
55 | } |
56 | KPlatoSettings::self()->writeConfig(); |
57 | } |
58 | |
59 | void Config::setDefaultValues( Task &task ) |
60 | { |
61 | task.setLeader( KPlatoSettings::leader() ); |
62 | task.setDescription( KPlatoSettings::description() ); |
63 | task.setConstraint( (Node::ConstraintType) KPlatoSettings::constraintType() ); |
64 | |
65 | // avoid problems with start <= end & end >= start |
66 | task.setConstraintStartTime( DateTime() ); |
67 | task.setConstraintEndTime( DateTime() ); |
68 | switch ( KPlatoSettings::startTimeUsage() ) { |
69 | case KPlatoSettings::EnumStartTimeUsage::CurrentdateTime: |
70 | task.setConstraintStartTime( DateTime( QDateTime::currentDateTime() ) ); |
71 | break; |
72 | case KPlatoSettings::EnumStartTimeUsage::CurrentDate: |
73 | task.setConstraintStartTime( DateTime( QDate::currentDate(), KPlatoSettings::constraintStartTime().time() ) ); |
74 | break; |
75 | case KPlatoSettings::EnumStartTimeUsage::SpecifiedDateTime: //fall through |
76 | default: |
77 | task.setConstraintStartTime( DateTime( KPlatoSettings::constraintStartTime() ) ); |
78 | break; |
79 | } |
80 | switch ( KPlatoSettings::endTimeUsage() ) { |
81 | case KPlatoSettings::EnumEndTimeUsage::CurrentdateTime: |
82 | task.setConstraintEndTime( DateTime( QDateTime::currentDateTime() ) ); |
83 | break; |
84 | case KPlatoSettings::EnumEndTimeUsage::CurrentDate: |
85 | task.setConstraintEndTime( DateTime( QDate::currentDate(), KPlatoSettings::constraintEndTime().time() ) ); |
86 | break; |
87 | case KPlatoSettings::EnumEndTimeUsage::SpecifiedDateTime: //fall through |
88 | default: |
89 | task.setConstraintEndTime( DateTime( KPlatoSettings::constraintEndTime() ) ); |
90 | break; |
91 | } |
92 | |
93 | task.estimate()->setType( (Estimate::Type) KPlatoSettings::estimateType() ); |
94 | task.estimate()->setUnit( (Duration::Unit) KPlatoSettings::unit() ); |
95 | task.estimate()->setExpectedEstimate( KPlatoSettings::expectedEstimate() ); |
96 | task.estimate()->setPessimisticRatio( KPlatoSettings::pessimisticRatio() ); |
97 | task.estimate()->setOptimisticRatio( KPlatoSettings::optimisticRatio() ); |
98 | } |
99 | |
100 | int Config::minimumDurationUnit() const |
101 | { |
102 | return KPlatoSettings::minimumDurationUnit(); |
103 | } |
104 | |
105 | int Config::maximumDurationUnit() const |
106 | { |
107 | return KPlatoSettings::maximumDurationUnit(); |
108 | } |
109 | |
110 | bool Config::checkForWorkPackages() const |
111 | { |
112 | return KPlatoSettings::checkForWorkPackages(); |
113 | } |
114 | |
115 | KUrl Config::retrieveUrl() const |
116 | { |
117 | return KPlatoSettings::retrieveUrl(); |
118 | } |
119 | |
120 | |
121 | QBrush Config::summaryTaskDefaultColor() const |
122 | { |
123 | QColor c = KPlatoSettings::summaryTaskDefaultColor(); |
124 | if ( KPlatoSettings::colorGradientType() == KPlatoSettings::EnumColorGradientType::Linear ) { |
125 | return gradientBrush( c ); |
126 | } |
127 | return c; |
128 | } |
129 | |
130 | bool Config::summaryTaskLevelColorsEnabled() const |
131 | { |
132 | return KPlatoSettings::summaryTaskLevelColorsEnabled(); |
133 | } |
134 | |
135 | QBrush Config::summaryTaskLevelColor_1() const |
136 | { |
137 | QColor c = KPlatoSettings::summaryTaskLevelColor_1(); |
138 | if ( KPlatoSettings::colorGradientType() == KPlatoSettings::EnumColorGradientType::Linear ) { |
139 | return gradientBrush( c ); |
140 | } |
141 | return c; |
142 | } |
143 | |
144 | QBrush Config::summaryTaskLevelColor_2() const |
145 | { |
146 | QColor c = KPlatoSettings::summaryTaskLevelColor_2(); |
147 | if ( KPlatoSettings::colorGradientType() == KPlatoSettings::EnumColorGradientType::Linear ) { |
148 | return gradientBrush( c ); |
149 | } |
150 | return c; |
151 | } |
152 | |
153 | QBrush Config::summaryTaskLevelColor_3() const |
154 | { |
155 | QColor c = KPlatoSettings::summaryTaskLevelColor_3(); |
156 | if ( KPlatoSettings::colorGradientType() == KPlatoSettings::EnumColorGradientType::Linear ) { |
157 | return gradientBrush( c ); |
158 | } |
159 | return c; |
160 | } |
161 | |
162 | QBrush Config::summaryTaskLevelColor_4() const |
163 | { |
164 | QColor c = KPlatoSettings::summaryTaskLevelColor_4(); |
165 | if ( KPlatoSettings::colorGradientType() == KPlatoSettings::EnumColorGradientType::Linear ) { |
166 | return gradientBrush( c ); |
167 | } |
168 | return c; |
169 | } |
170 | |
171 | QBrush Config::taskNormalColor() const |
172 | { |
173 | QColor c = KPlatoSettings::taskNormalColor(); |
174 | if ( KPlatoSettings::colorGradientType() == KPlatoSettings::EnumColorGradientType::Linear ) { |
175 | return gradientBrush( c ); |
176 | } |
177 | return c; |
178 | } |
179 | |
180 | QBrush Config::taskErrorColor() const |
181 | { |
182 | QColor c = KPlatoSettings::taskErrorColor(); |
183 | if ( KPlatoSettings::colorGradientType() == KPlatoSettings::EnumColorGradientType::Linear ) { |
184 | return gradientBrush( c ); |
185 | } |
186 | return c; |
187 | } |
188 | |
189 | QBrush Config::taskCriticalColor() const |
190 | { |
191 | QColor c = KPlatoSettings::taskCriticalColor(); |
192 | if ( KPlatoSettings::colorGradientType() == KPlatoSettings::EnumColorGradientType::Linear ) { |
193 | return gradientBrush( c ); |
194 | } |
195 | return c; |
196 | } |
197 | |
198 | QBrush Config::taskFinishedColor() const |
199 | { |
200 | QColor c = KPlatoSettings::taskFinishedColor(); |
201 | if ( KPlatoSettings::colorGradientType() == KPlatoSettings::EnumColorGradientType::Linear ) { |
202 | return gradientBrush( c ); |
203 | } |
204 | return c; |
205 | } |
206 | |
207 | QBrush Config::milestoneNormalColor() const |
208 | { |
209 | QColor c = KPlatoSettings::milestoneNormalColor(); |
210 | if ( KPlatoSettings::colorGradientType() == KPlatoSettings::EnumColorGradientType::Linear ) { |
211 | return gradientBrush( c ); |
212 | } |
213 | return c; |
214 | } |
215 | |
216 | QBrush Config::milestoneErrorColor() const |
217 | { |
218 | QColor c = KPlatoSettings::milestoneErrorColor(); |
219 | if ( KPlatoSettings::colorGradientType() == KPlatoSettings::EnumColorGradientType::Linear ) { |
220 | return gradientBrush( c ); |
221 | } |
222 | return c; |
223 | } |
224 | |
225 | QBrush Config::milestoneCriticalColor() const |
226 | { |
227 | QColor c = KPlatoSettings::milestoneCriticalColor(); |
228 | if ( KPlatoSettings::colorGradientType() == KPlatoSettings::EnumColorGradientType::Linear ) { |
229 | return gradientBrush( c ); |
230 | } |
231 | return c; |
232 | } |
233 | |
234 | QBrush Config::milestoneFinishedColor() const |
235 | { |
236 | QColor c = KPlatoSettings::milestoneFinishedColor(); |
237 | if ( KPlatoSettings::colorGradientType() == KPlatoSettings::EnumColorGradientType::Linear ) { |
238 | return gradientBrush( c ); |
239 | } |
240 | return c; |
241 | } |
242 | |
243 | } //KPlato namespace |
244 | |
245 | #include "kptconfig.moc" |
246 | |