summaryrefslogtreecommitdiffabout
path: root/korganizer
Unidiff
Diffstat (limited to 'korganizer') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/koeditorgeneralevent.cpp24
-rw-r--r--korganizer/koeditorgeneralevent.h1
2 files changed, 14 insertions, 11 deletions
diff --git a/korganizer/koeditorgeneralevent.cpp b/korganizer/koeditorgeneralevent.cpp
index 42c3df1..fc5be71 100644
--- a/korganizer/koeditorgeneralevent.cpp
+++ b/korganizer/koeditorgeneralevent.cpp
@@ -5,96 +5,97 @@
5 This program is free software; you can redistribute it and/or modify 5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by 6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or 7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version. 8 (at your option) any later version.
9 9
10 This program is distributed in the hope that it will be useful, 10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details. 13 GNU General Public License for more details.
14 14
15 You should have received a copy of the GNU General Public License 15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software 16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 18
19 As a special exception, permission is given to link this program 19 As a special exception, permission is given to link this program
20 with any edition of Qt, and distribute the resulting executable, 20 with any edition of Qt, and distribute the resulting executable,
21 without including the source code for Qt in the source distribution. 21 without including the source code for Qt in the source distribution.
22*/ 22*/
23 23
24#include <qtooltip.h> 24#include <qtooltip.h>
25#include <qlayout.h> 25#include <qlayout.h>
26#include <qvbox.h> 26#include <qvbox.h>
27#include <qbuttongroup.h> 27#include <qbuttongroup.h>
28#include <qvgroupbox.h> 28#include <qvgroupbox.h>
29#include <qwidgetstack.h> 29#include <qwidgetstack.h>
30#include <qdatetime.h> 30#include <qdatetime.h>
31 31
32#include <kdebug.h> 32#include <kdebug.h>
33#include <kglobal.h> 33#include <kglobal.h>
34#include <klocale.h> 34#include <klocale.h>
35#include <kiconloader.h> 35#include <kiconloader.h>
36#include <kmessagebox.h> 36#include <kmessagebox.h>
37#include <kfiledialog.h> 37#include <kfiledialog.h>
38#include <kstandarddirs.h> 38#include <kstandarddirs.h>
39 39
40#include <libkcal/event.h> 40#include <libkcal/event.h>
41 41
42#include <libkdepim/kdateedit.h> 42#include <libkdepim/kdateedit.h>
43 43
44#include "koprefs.h" 44#include "koprefs.h"
45 45
46#include "koeditorgeneralevent.h" 46#include "koeditorgeneralevent.h"
47#include "kolocationbox.h" 47#include "kolocationbox.h"
48 48
49KOEditorGeneralEvent::KOEditorGeneralEvent(QObject* parent, 49KOEditorGeneralEvent::KOEditorGeneralEvent(QObject* parent,
50 const char* name) : 50 const char* name) :
51 KOEditorGeneral( parent, name) 51 KOEditorGeneral( parent, name)
52{ 52{
53 mTemplate = false;
53 connect(this,SIGNAL(dateTimesChanged(QDateTime,QDateTime)), 54 connect(this,SIGNAL(dateTimesChanged(QDateTime,QDateTime)),
54 SLOT(setDuration())); 55 SLOT(setDuration()));
55 connect(this,SIGNAL(dateTimesChanged(QDateTime,QDateTime)), 56 connect(this,SIGNAL(dateTimesChanged(QDateTime,QDateTime)),
56 SLOT(emitDateTimeStr())); 57 SLOT(emitDateTimeStr()));
57} 58}
58 59
59KOEditorGeneralEvent::~KOEditorGeneralEvent() 60KOEditorGeneralEvent::~KOEditorGeneralEvent()
60{ 61{
61} 62}
62 63
63void KOEditorGeneralEvent::finishSetup() 64void KOEditorGeneralEvent::finishSetup()
64{ 65{
65 66
66 //disabled 67 //disabled
67// QWidget::setTabOrder( mSummaryEdit, mLocationEdit ); 68// QWidget::setTabOrder( mSummaryEdit, mLocationEdit );
68// QWidget::setTabOrder( mLocationEdit, mStartDateEdit ); 69// QWidget::setTabOrder( mLocationEdit, mStartDateEdit );
69// QWidget::setTabOrder( mStartDateEdit, mStartTimeEdit ); 70// QWidget::setTabOrder( mStartDateEdit, mStartTimeEdit );
70// QWidget::setTabOrder( mStartTimeEdit, mEndDateEdit ); 71// QWidget::setTabOrder( mStartTimeEdit, mEndDateEdit );
71// QWidget::setTabOrder( mEndDateEdit, mEndTimeEdit ); 72// QWidget::setTabOrder( mEndDateEdit, mEndTimeEdit );
72// QWidget::setTabOrder( mEndTimeEdit, mNoTimeButton ); 73// QWidget::setTabOrder( mEndTimeEdit, mNoTimeButton );
73// QWidget::setTabOrder( mNoTimeButton, mAlarmButton ); 74// QWidget::setTabOrder( mNoTimeButton, mAlarmButton );
74// QWidget::setTabOrder( mAlarmButton, mAlarmTimeEdit ); 75// QWidget::setTabOrder( mAlarmButton, mAlarmTimeEdit );
75// QWidget::setTabOrder( mFreeTimeCombo, mCategoriesButton ); 76// QWidget::setTabOrder( mFreeTimeCombo, mCategoriesButton );
76// QWidget::setTabOrder( mCategoriesButton, mSecrecyCombo ); 77// QWidget::setTabOrder( mCategoriesButton, mSecrecyCombo );
77// QWidget::setTabOrder( mSecrecyCombo, mDescriptionEdit ); 78// QWidget::setTabOrder( mSecrecyCombo, mDescriptionEdit );
78 79
79 80
80 81
81 mSummaryEdit->load(KOLocationBox::SUMMARYEVENT); 82 mSummaryEdit->load(KOLocationBox::SUMMARYEVENT);
82 mSummaryEdit->setFocus(); 83 mSummaryEdit->setFocus();
83} 84}
84 85
85void KOEditorGeneralEvent::initTime(QWidget *parent,QBoxLayout *topLayout) 86void KOEditorGeneralEvent::initTime(QWidget *parent,QBoxLayout *topLayout)
86{ 87{
87 QBoxLayout *timeLayout = new QVBoxLayout(topLayout); 88 QBoxLayout *timeLayout = new QVBoxLayout(topLayout);
88 89
89 QGroupBox *timeGroupBox = new QGroupBox(1,QGroupBox::Horizontal, 90 QGroupBox *timeGroupBox = new QGroupBox(1,QGroupBox::Horizontal,
90 i18n("Date && Time"),parent); 91 i18n("Date && Time"),parent);
91 timeLayout->addWidget(timeGroupBox); 92 timeLayout->addWidget(timeGroupBox);
92 93
93 timeGroupBox->layout()->setSpacing( 0 ); 94 timeGroupBox->layout()->setSpacing( 0 );
94 timeGroupBox->layout()->setMargin( 5 ); 95 timeGroupBox->layout()->setMargin( 5 );
95 QFrame *timeBoxFrame = new QFrame(timeGroupBox); 96 QFrame *timeBoxFrame = new QFrame(timeGroupBox);
96 97
97 QGridLayout *layoutTimeBox = new QGridLayout(timeBoxFrame,2,3); 98 QGridLayout *layoutTimeBox = new QGridLayout(timeBoxFrame,2,3);
98 layoutTimeBox->setSpacing(topLayout->spacing()); 99 layoutTimeBox->setSpacing(topLayout->spacing());
99 100
100 mStartDateLabel = new QLabel(i18n("Start:"),timeBoxFrame); 101 mStartDateLabel = new QLabel(i18n("Start:"),timeBoxFrame);
@@ -130,190 +131,191 @@ void KOEditorGeneralEvent::initTime(QWidget *parent,QBoxLayout *topLayout)
130 mDurationLabel->setAlignment( AlignRight | AlignVCenter); 131 mDurationLabel->setAlignment( AlignRight | AlignVCenter);
131 layoutTimeBox->addMultiCellWidget( duration, 2, 2, 0, 3 ); 132 layoutTimeBox->addMultiCellWidget( duration, 2, 2, 0, 3 );
132 133
133 // time widgets are checked if they contain a valid time 134 // time widgets are checked if they contain a valid time
134 connect(mStartTimeEdit, SIGNAL(timeChanged(QTime)), 135 connect(mStartTimeEdit, SIGNAL(timeChanged(QTime)),
135 this, SLOT(startTimeChanged(QTime))); 136 this, SLOT(startTimeChanged(QTime)));
136 connect(mEndTimeEdit, SIGNAL(timeChanged(QTime)), 137 connect(mEndTimeEdit, SIGNAL(timeChanged(QTime)),
137 this, SLOT(endTimeChanged(QTime))); 138 this, SLOT(endTimeChanged(QTime)));
138 139
139 // date widgets are checked if they contain a valid date 140 // date widgets are checked if they contain a valid date
140 connect(mStartDateEdit, SIGNAL(dateChanged(QDate)), 141 connect(mStartDateEdit, SIGNAL(dateChanged(QDate)),
141 this, SLOT(startDateChanged(QDate))); 142 this, SLOT(startDateChanged(QDate)));
142 connect(mEndDateEdit, SIGNAL(dateChanged(QDate)), 143 connect(mEndDateEdit, SIGNAL(dateChanged(QDate)),
143 this, SLOT(endDateChanged(QDate))); 144 this, SLOT(endDateChanged(QDate)));
144} 145}
145 146
146void KOEditorGeneralEvent::initClass(QWidget *parent,QBoxLayout *topLayout) 147void KOEditorGeneralEvent::initClass(QWidget *parent,QBoxLayout *topLayout)
147{ 148{
148 QBoxLayout *classLayout = new QHBoxLayout(topLayout); 149 QBoxLayout *classLayout = new QHBoxLayout(topLayout);
149 150
150 QLabel *freeTimeLabel = new QLabel(i18n("Show time as:"),parent); 151 QLabel *freeTimeLabel = new QLabel(i18n("Show time as:"),parent);
151 classLayout->addWidget(freeTimeLabel); 152 classLayout->addWidget(freeTimeLabel);
152 153
153 mFreeTimeCombo = new QComboBox(false, parent); 154 mFreeTimeCombo = new QComboBox(false, parent);
154 mFreeTimeCombo->insertItem(i18n("Busy")); 155 mFreeTimeCombo->insertItem(i18n("Busy"));
155 mFreeTimeCombo->insertItem(i18n("Free")); 156 mFreeTimeCombo->insertItem(i18n("Free"));
156 classLayout->addWidget(mFreeTimeCombo); 157 classLayout->addWidget(mFreeTimeCombo);
157} 158}
158 159
159void KOEditorGeneralEvent::timeStuffDisable(bool disable) 160void KOEditorGeneralEvent::timeStuffDisable(bool disable)
160{ 161{
161 mStartTimeEdit->setEnabled( !disable ); 162 mStartTimeEdit->setEnabled( !disable );
162 mEndTimeEdit->setEnabled( !disable ); 163 mEndTimeEdit->setEnabled( !disable );
163 164
164 setDuration(); 165 setDuration();
165 emitDateTimeStr(); 166 emitDateTimeStr();
166} 167}
167 168
168void KOEditorGeneralEvent::dontAssociateTime(bool noTime) 169void KOEditorGeneralEvent::dontAssociateTime(bool noTime)
169{ 170{
170 timeStuffDisable(noTime); 171 timeStuffDisable(noTime);
171 //if(alarmButton->isChecked()) alarmStuffDisable(noTime); 172 //if(alarmButton->isChecked()) alarmStuffDisable(noTime);
172 allDayChanged(noTime); 173 allDayChanged(noTime);
173} 174}
174 175
175void KOEditorGeneralEvent::setDateTimes(QDateTime start, QDateTime end) 176void KOEditorGeneralEvent::setDateTimes(QDateTime start, QDateTime end)
176{ 177{
177// kdDebug() << "KOEditorGeneralEvent::setDateTimes(): Start DateTime: " << start.toString() << endl; 178// kdDebug() << "KOEditorGeneralEvent::setDateTimes(): Start DateTime: " << start.toString() << endl;
178 179 if ( !mTemplate )
179 mStartDateEdit->setDate(start.date()); 180 mStartDateEdit->setDate(start.date());
180 // KTimeEdit seems to emit some signals when setTime() is called. 181 // KTimeEdit seems to emit some signals when setTime() is called.
181 mStartTimeEdit->blockSignals( true ); 182 mStartTimeEdit->blockSignals( true );
182 mStartTimeEdit->setTime(start.time()); 183 mStartTimeEdit->setTime(start.time());
183 mStartTimeEdit->blockSignals( false ); 184 mStartTimeEdit->blockSignals( false );
184 mEndDateEdit->setDate(end.date()); 185 if ( !mTemplate )
186 mEndDateEdit->setDate(end.date());
185 mEndTimeEdit->setTime(end.time()); 187 mEndTimeEdit->setTime(end.time());
186 188
187 mCurrStartDateTime = start; 189 mCurrStartDateTime = start;
188 mCurrEndDateTime = end; 190 mCurrEndDateTime = end;
189 191
190 setDuration(); 192 setDuration();
191 emitDateTimeStr(); 193 emitDateTimeStr();
192} 194}
193 195
194void KOEditorGeneralEvent::startTimeChanged(QTime newtime) 196void KOEditorGeneralEvent::startTimeChanged(QTime newtime)
195{ 197{
196 kdDebug() << "KOEditorGeneralEvent::startTimeChanged() " << newtime.toString() << endl; 198 kdDebug() << "KOEditorGeneralEvent::startTimeChanged() " << newtime.toString() << endl;
197 199
198 int secsep = mCurrStartDateTime.secsTo(mCurrEndDateTime); 200 int secsep = mCurrStartDateTime.secsTo(mCurrEndDateTime);
199 201
200 mCurrStartDateTime.setTime(newtime); 202 mCurrStartDateTime.setTime(newtime);
201 203
202 // adjust end time so that the event has the same duration as before. 204 // adjust end time so that the event has the same duration as before.
203 mCurrEndDateTime = mCurrStartDateTime.addSecs(secsep); 205 mCurrEndDateTime = mCurrStartDateTime.addSecs(secsep);
204 mEndTimeEdit->setTime(mCurrEndDateTime.time()); 206 mEndTimeEdit->setTime(mCurrEndDateTime.time());
205 mEndDateEdit->setDate(mCurrEndDateTime.date()); 207 mEndDateEdit->setDate(mCurrEndDateTime.date());
206 208
207 emit dateTimesChanged(mCurrStartDateTime,mCurrEndDateTime); 209 emit dateTimesChanged(mCurrStartDateTime,mCurrEndDateTime);
208} 210}
209 211
210void KOEditorGeneralEvent::endTimeChanged(QTime newtime) 212void KOEditorGeneralEvent::endTimeChanged(QTime newtime)
211{ 213{
212// kdDebug() << "KOEditorGeneralEvent::endTimeChanged " << newtime.toString() << endl; 214// kdDebug() << "KOEditorGeneralEvent::endTimeChanged " << newtime.toString() << endl;
213 215
214 QDateTime newdt(mCurrEndDateTime.date(), newtime); 216 QDateTime newdt(mCurrEndDateTime.date(), newtime);
215 mCurrEndDateTime = newdt; 217 mCurrEndDateTime = newdt;
216 218
217 emit dateTimesChanged(mCurrStartDateTime,mCurrEndDateTime); 219 emit dateTimesChanged(mCurrStartDateTime,mCurrEndDateTime);
218} 220}
219 221
220void KOEditorGeneralEvent::startDateChanged(QDate newdate) 222void KOEditorGeneralEvent::startDateChanged(QDate newdate)
221{ 223{
222 int daysep = mCurrStartDateTime.daysTo(mCurrEndDateTime); 224 int daysep = mCurrStartDateTime.daysTo(mCurrEndDateTime);
223 225
224 mCurrStartDateTime.setDate(newdate); 226 mCurrStartDateTime.setDate(newdate);
225 227
226 // adjust end date so that the event has the same duration as before 228 // adjust end date so that the event has the same duration as before
227 mCurrEndDateTime.setDate(mCurrStartDateTime.date().addDays(daysep)); 229 mCurrEndDateTime.setDate(mCurrStartDateTime.date().addDays(daysep));
228 mEndDateEdit->setDate(mCurrEndDateTime.date()); 230 mEndDateEdit->setDate(mCurrEndDateTime.date());
229 231
230 emit dateTimesChanged(mCurrStartDateTime,mCurrEndDateTime); 232 emit dateTimesChanged(mCurrStartDateTime,mCurrEndDateTime);
231} 233}
232 234
233void KOEditorGeneralEvent::endDateChanged(QDate newdate) 235void KOEditorGeneralEvent::endDateChanged(QDate newdate)
234{ 236{
235 QDateTime newdt(newdate, mCurrEndDateTime.time()); 237 QDateTime newdt(newdate, mCurrEndDateTime.time());
236 238
237 if(newdt < mCurrStartDateTime) { 239 if(newdt < mCurrStartDateTime) {
238 // oops, we can't let that happen. 240 // oops, we can't let that happen.
239 newdt = mCurrStartDateTime; 241 newdt = mCurrStartDateTime;
240 mEndDateEdit->setDate(newdt.date()); 242 mEndDateEdit->setDate(newdt.date());
241 mEndTimeEdit->setTime(newdt.time()); 243 mEndTimeEdit->setTime(newdt.time());
242 } 244 }
243 mCurrEndDateTime = newdt; 245 mCurrEndDateTime = newdt;
244 246
245 emit dateTimesChanged(mCurrStartDateTime,mCurrEndDateTime); 247 emit dateTimesChanged(mCurrStartDateTime,mCurrEndDateTime);
246} 248}
247 249
248void KOEditorGeneralEvent::setDefaults(QDateTime from,QDateTime to,bool allDay) 250void KOEditorGeneralEvent::setDefaults(QDateTime from,QDateTime to,bool allDay)
249{ 251{
250 mSummaryEdit->load(KOLocationBox::SUMMARYEVENT); 252 mSummaryEdit->load(KOLocationBox::SUMMARYEVENT);
251 mLocationEdit->load(KOLocationBox::LOCATION); 253 mLocationEdit->load(KOLocationBox::LOCATION);
252 KOEditorGeneral::setDefaults(allDay); 254 KOEditorGeneral::setDefaults(allDay);
253 255
254 mNoTimeButton->setChecked(allDay); 256 mNoTimeButton->setChecked(allDay);
255 timeStuffDisable(allDay); 257 timeStuffDisable(allDay);
256 mFreeTimeCombo->setCurrentItem( 0 ); 258 mFreeTimeCombo->setCurrentItem( 0 );
257 setDateTimes(from,to); 259 setDateTimes(from,to);
258} 260}
259 261
260void KOEditorGeneralEvent::readEvent( Event *event, bool tmpl ) 262void KOEditorGeneralEvent::readEvent( Event *event, bool tmpl )
261{ 263{
262 QString tmpStr; 264 QString tmpStr;
263 265
264 if ( !tmpl ) { 266 mTemplate = tmpl;
265 // the rest is for the events only 267 // the rest is for the events only
266 mNoTimeButton->setChecked(event->doesFloat()); 268 mNoTimeButton->setChecked(event->doesFloat());
267 timeStuffDisable(event->doesFloat()); 269 timeStuffDisable(event->doesFloat());
268 270
269 setDateTimes(event->dtStart(),event->dtEnd()); 271 setDateTimes(event->dtStart(),event->dtEnd());
270 } 272
271 273 mTemplate = false;
272 switch( event->transparency() ) { 274 switch( event->transparency() ) {
273 case Event::Transparent: 275 case Event::Transparent:
274 mFreeTimeCombo->setCurrentItem(1); 276 mFreeTimeCombo->setCurrentItem(1);
275 break; 277 break;
276 case Event::Opaque: 278 case Event::Opaque:
277 mFreeTimeCombo->setCurrentItem(0); 279 mFreeTimeCombo->setCurrentItem(0);
278 break; 280 break;
279 } 281 }
280 282
281 mSummaryEdit->load(KOLocationBox::SUMMARYEVENT); 283 mSummaryEdit->load(KOLocationBox::SUMMARYEVENT);
282 mLocationEdit->load(KOLocationBox::LOCATION); 284 mLocationEdit->load(KOLocationBox::LOCATION);
283 readIncidence(event); 285 readIncidence(event);
284} 286}
285 287
286void KOEditorGeneralEvent::writeEvent(Event *event) 288void KOEditorGeneralEvent::writeEvent(Event *event)
287{ 289{
288// kdDebug() << "KOEditorGeneralEvent::writeEvent()" << endl; 290// kdDebug() << "KOEditorGeneralEvent::writeEvent()" << endl;
289 291
290 writeIncidence(event); 292 writeIncidence(event);
291 293
292 QDate tmpDate; 294 QDate tmpDate;
293 QTime tmpTime; 295 QTime tmpTime;
294 QDateTime tmpDT; 296 QDateTime tmpDT;
295 297
296 // temp. until something better happens. 298 // temp. until something better happens.
297 QString tmpStr; 299 QString tmpStr;
298 300
299 if (mNoTimeButton->isChecked()) { 301 if (mNoTimeButton->isChecked()) {
300 event->setFloats(true); 302 event->setFloats(true);
301 // need to change this. 303 // need to change this.
302 tmpDate = mStartDateEdit->date(); 304 tmpDate = mStartDateEdit->date();
303 tmpTime.setHMS(0,0,0); 305 tmpTime.setHMS(0,0,0);
304 tmpDT.setDate(tmpDate); 306 tmpDT.setDate(tmpDate);
305 tmpDT.setTime(tmpTime); 307 tmpDT.setTime(tmpTime);
306 event->setDtStart(tmpDT); 308 event->setDtStart(tmpDT);
307 309
308 tmpDate = mEndDateEdit->date(); 310 tmpDate = mEndDateEdit->date();
309 tmpTime.setHMS(0,0,0); 311 tmpTime.setHMS(0,0,0);
310 tmpDT.setDate(tmpDate); 312 tmpDT.setDate(tmpDate);
311 tmpDT.setTime(tmpTime); 313 tmpDT.setTime(tmpTime);
312 event->setDtEnd(tmpDT); 314 event->setDtEnd(tmpDT);
313 } else { 315 } else {
314 event->setFloats(false); 316 event->setFloats(false);
315 317
316 // set date/time end 318 // set date/time end
317 tmpDate = mEndDateEdit->date(); 319 tmpDate = mEndDateEdit->date();
318 tmpTime = mEndTimeEdit->getTime(); 320 tmpTime = mEndTimeEdit->getTime();
319 tmpDT.setDate(tmpDate); 321 tmpDT.setDate(tmpDate);
diff --git a/korganizer/koeditorgeneralevent.h b/korganizer/koeditorgeneralevent.h
index 188dc93..0174788 100644
--- a/korganizer/koeditorgeneralevent.h
+++ b/korganizer/koeditorgeneralevent.h
@@ -45,64 +45,65 @@ class KDateEdit;
45using namespace KCal; 45using namespace KCal;
46 46
47class KOEditorGeneralEvent : public KOEditorGeneral 47class KOEditorGeneralEvent : public KOEditorGeneral
48{ 48{
49 Q_OBJECT 49 Q_OBJECT
50 public: 50 public:
51 KOEditorGeneralEvent (QObject* parent=0,const char* name=0); 51 KOEditorGeneralEvent (QObject* parent=0,const char* name=0);
52 virtual ~KOEditorGeneralEvent(); 52 virtual ~KOEditorGeneralEvent();
53 53
54 void initTime(QWidget *,QBoxLayout *); 54 void initTime(QWidget *,QBoxLayout *);
55 void initClass(QWidget *,QBoxLayout *); 55 void initClass(QWidget *,QBoxLayout *);
56 56
57 void finishSetup(); 57 void finishSetup();
58 58
59 /** Set widgets to default values */ 59 /** Set widgets to default values */
60 void setDefaults(QDateTime from,QDateTime to,bool allDay); 60 void setDefaults(QDateTime from,QDateTime to,bool allDay);
61 /** 61 /**
62 Read event object and setup widgets accordingly. If templ is true, the 62 Read event object and setup widgets accordingly. If templ is true, the
63 event is read as template, i.e. the time and date information isn't set. 63 event is read as template, i.e. the time and date information isn't set.
64 */ 64 */
65 void readEvent( Event *, bool tmpl = false ); 65 void readEvent( Event *, bool tmpl = false );
66 /** Write event settings to event object */ 66 /** Write event settings to event object */
67 void writeEvent(Event *); 67 void writeEvent(Event *);
68 68
69 /** Check if the input is valid. */ 69 /** Check if the input is valid. */
70 bool validateInput(); 70 bool validateInput();
71 71
72 public slots: 72 public slots:
73 void setDateTimes(QDateTime start, QDateTime end); 73 void setDateTimes(QDateTime start, QDateTime end);
74 void setDuration(); 74 void setDuration();
75 75
76 protected slots: 76 protected slots:
77 void timeStuffDisable(bool disable); 77 void timeStuffDisable(bool disable);
78 void dontAssociateTime(bool noTime); 78 void dontAssociateTime(bool noTime);
79 79
80 void startTimeChanged(QTime); 80 void startTimeChanged(QTime);
81 void startDateChanged(QDate); 81 void startDateChanged(QDate);
82 void endTimeChanged(QTime); 82 void endTimeChanged(QTime);
83 void endDateChanged(QDate); 83 void endDateChanged(QDate);
84 84
85 void emitDateTimeStr(); 85 void emitDateTimeStr();
86 86
87 signals: 87 signals:
88 void dateTimesChanged(QDateTime start,QDateTime end); 88 void dateTimesChanged(QDateTime start,QDateTime end);
89 void allDayChanged(bool); 89 void allDayChanged(bool);
90 void dateTimeStrChanged(const QString &); 90 void dateTimeStrChanged(const QString &);
91 91
92 private: 92 private:
93 bool mTemplate;
93 QLabel *mStartDateLabel; 94 QLabel *mStartDateLabel;
94 QLabel *mEndDateLabel; 95 QLabel *mEndDateLabel;
95 KDateEdit *mStartDateEdit; 96 KDateEdit *mStartDateEdit;
96 KDateEdit *mEndDateEdit; 97 KDateEdit *mEndDateEdit;
97 KOTimeEdit *mStartTimeEdit; 98 KOTimeEdit *mStartTimeEdit;
98 KOTimeEdit *mEndTimeEdit; 99 KOTimeEdit *mEndTimeEdit;
99 QLabel *mDurationLabel; 100 QLabel *mDurationLabel;
100 QCheckBox *mNoTimeButton; 101 QCheckBox *mNoTimeButton;
101 QComboBox *mFreeTimeCombo; 102 QComboBox *mFreeTimeCombo;
102 103
103 // current start and end date and time 104 // current start and end date and time
104 QDateTime mCurrStartDateTime; 105 QDateTime mCurrStartDateTime;
105 QDateTime mCurrEndDateTime; 106 QDateTime mCurrEndDateTime;
106}; 107};
107 108
108#endif 109#endif