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
36namespace KPlato
37{
38
39Config::Config()
40{
41 kDebug(planDbg())<<"Leader:"<<KPlatoSettings::leader();
42}
43
44Config::~Config()
45{
46}
47
48void Config::readConfig()
49{
50}
51void Config::saveSettings()
52{
53 if ( ! m_readWrite ) {
54 return;
55 }
56 KPlatoSettings::self()->writeConfig();
57}
58
59void 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
100int Config::minimumDurationUnit() const
101{
102 return KPlatoSettings::minimumDurationUnit();
103}
104
105int Config::maximumDurationUnit() const
106{
107 return KPlatoSettings::maximumDurationUnit();
108}
109
110bool Config::checkForWorkPackages() const
111{
112 return KPlatoSettings::checkForWorkPackages();
113}
114
115KUrl Config::retrieveUrl() const
116{
117 return KPlatoSettings::retrieveUrl();
118}
119
120
121QBrush 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
130bool Config::summaryTaskLevelColorsEnabled() const
131{
132 return KPlatoSettings::summaryTaskLevelColorsEnabled();
133}
134
135QBrush 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
144QBrush 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
153QBrush 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
162QBrush 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
171QBrush 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
180QBrush 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
189QBrush 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
198QBrush 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
207QBrush 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
216QBrush 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
225QBrush 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
234QBrush 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