summaryrefslogtreecommitdiffabout
path: root/korganizer/koeditorgeneraltodo.cpp
authorzautrix <zautrix>2005-04-14 17:48:58 (UTC)
committer zautrix <zautrix>2005-04-14 17:48:58 (UTC)
commitbbdca90c599aaea557d31552c6bc33fc15e397cd (patch) (unidiff)
treee41b5eb16239664d2217e5436db61610099b60ef /korganizer/koeditorgeneraltodo.cpp
parent5ea16ef9058a21016402dd5affc0a7f82857e606 (diff)
downloadkdepimpi-bbdca90c599aaea557d31552c6bc33fc15e397cd.zip
kdepimpi-bbdca90c599aaea557d31552c6bc33fc15e397cd.tar.gz
kdepimpi-bbdca90c599aaea557d31552c6bc33fc15e397cd.tar.bz2
today added
Diffstat (limited to 'korganizer/koeditorgeneraltodo.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/koeditorgeneraltodo.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/korganizer/koeditorgeneraltodo.cpp b/korganizer/koeditorgeneraltodo.cpp
index a03ec52..4a1576a 100644
--- a/korganizer/koeditorgeneraltodo.cpp
+++ b/korganizer/koeditorgeneraltodo.cpp
@@ -31,232 +31,235 @@
31#include <qdatetime.h> 31#include <qdatetime.h>
32#include <qapplication.h> 32#include <qapplication.h>
33 33
34#include <kglobal.h> 34#include <kglobal.h>
35#include <klocale.h> 35#include <klocale.h>
36#include <kiconloader.h> 36#include <kiconloader.h>
37#include <kmessagebox.h> 37#include <kmessagebox.h>
38#include <kdebug.h> 38#include <kdebug.h>
39#include <krestrictedline.h> 39#include <krestrictedline.h>
40#include <kstandarddirs.h> 40#include <kstandarddirs.h>
41#include <kfiledialog.h> 41#include <kfiledialog.h>
42 42
43#include <libkcal/todo.h> 43#include <libkcal/todo.h>
44 44
45#include <libkdepim/kdateedit.h> 45#include <libkdepim/kdateedit.h>
46 46
47#include "koprefs.h" 47#include "koprefs.h"
48#include "ktimeedit.h" 48#include "ktimeedit.h"
49 49
50#include "koeditorgeneraltodo.h" 50#include "koeditorgeneraltodo.h"
51#include "kolocationbox.h" 51#include "kolocationbox.h"
52 52
53KOEditorGeneralTodo::KOEditorGeneralTodo(QObject* parent, 53KOEditorGeneralTodo::KOEditorGeneralTodo(QObject* parent,
54 const char* name) 54 const char* name)
55 : KOEditorGeneral( parent, name) 55 : KOEditorGeneral( parent, name)
56{ 56{
57} 57}
58 58
59KOEditorGeneralTodo::~KOEditorGeneralTodo() 59KOEditorGeneralTodo::~KOEditorGeneralTodo()
60{ 60{
61} 61}
62 62
63void KOEditorGeneralTodo::finishSetup() 63void KOEditorGeneralTodo::finishSetup()
64{ 64{
65 65
66// QWidget::setTabOrder(mSummaryEdit, mLocationEdit); 66// QWidget::setTabOrder(mSummaryEdit, mLocationEdit);
67// QWidget::setTabOrder(mLocationEdit, mDueCheck); 67// QWidget::setTabOrder(mLocationEdit, mDueCheck);
68// QWidget::setTabOrder(mDueCheck, mDueDateEdit); 68// QWidget::setTabOrder(mDueCheck, mDueDateEdit);
69// QWidget::setTabOrder(mDueDateEdit, mDueTimeEdit); 69// QWidget::setTabOrder(mDueDateEdit, mDueTimeEdit);
70// QWidget::setTabOrder(mDueTimeEdit, mStartCheck); 70// QWidget::setTabOrder(mDueTimeEdit, mStartCheck);
71// QWidget::setTabOrder(mStartCheck, mStartDateEdit); 71// QWidget::setTabOrder(mStartCheck, mStartDateEdit);
72// QWidget::setTabOrder(mStartDateEdit, mStartTimeEdit); 72// QWidget::setTabOrder(mStartDateEdit, mStartTimeEdit);
73// QWidget::setTabOrder(mStartTimeEdit, mTimeButton); 73// QWidget::setTabOrder(mStartTimeEdit, mTimeButton);
74// QWidget::setTabOrder(mTimeButton, mCompletedCombo); 74// QWidget::setTabOrder(mTimeButton, mCompletedCombo);
75// QWidget::setTabOrder(mCompletedCombo, mPriorityCombo); 75// QWidget::setTabOrder(mCompletedCombo, mPriorityCombo);
76// QWidget::setTabOrder(mPriorityCombo, mAlarmButton); 76// QWidget::setTabOrder(mPriorityCombo, mAlarmButton);
77// QWidget::setTabOrder(mAlarmButton, mCategoriesButton); 77// QWidget::setTabOrder(mAlarmButton, mCategoriesButton);
78// QWidget::setTabOrder(mCategoriesButton, mSecrecyCombo); 78// QWidget::setTabOrder(mCategoriesButton, mSecrecyCombo);
79// QWidget::setTabOrder(mSecrecyCombo, mDescriptionEdit); 79// QWidget::setTabOrder(mSecrecyCombo, mDescriptionEdit);
80 mSummaryEdit->load(KOLocationBox::SUMMARYTODO); 80 mSummaryEdit->load(KOLocationBox::SUMMARYTODO);
81 mSummaryEdit->setFocus(); 81 mSummaryEdit->setFocus();
82} 82}
83 83
84void KOEditorGeneralTodo::initTime(QWidget *parent,QBoxLayout *topLayout) 84void KOEditorGeneralTodo::initTime(QWidget *parent,QBoxLayout *topLayout)
85{ 85{
86 QBoxLayout *timeLayout = new QVBoxLayout(topLayout); 86 QBoxLayout *timeLayout = new QVBoxLayout(topLayout);
87 87
88 QGroupBox *timeGroupBox = new QGroupBox(1,QGroupBox::Horizontal, 88 QGroupBox *timeGroupBox = new QGroupBox(1,QGroupBox::Horizontal,
89 i18n("Date && Time"),parent); 89 i18n("Date && Time"),parent);
90 timeLayout->addWidget(timeGroupBox); 90 timeLayout->addWidget(timeGroupBox);
91 timeGroupBox->layout()->setSpacing( 0 ); 91 timeGroupBox->layout()->setSpacing( 0 );
92 timeGroupBox->layout()->setMargin( 5 ); 92 timeGroupBox->layout()->setMargin( 5 );
93 QFrame *timeBoxFrame = new QFrame(timeGroupBox); 93 QFrame *timeBoxFrame = new QFrame(timeGroupBox);
94 94
95 QGridLayout *layoutTimeBox = new QGridLayout(timeBoxFrame,3,3); 95 QGridLayout *layoutTimeBox = new QGridLayout(timeBoxFrame,3,3);
96 layoutTimeBox->setSpacing(topLayout->spacing()); 96 layoutTimeBox->setSpacing(topLayout->spacing());
97 layoutTimeBox->setColStretch( 1, 1 ); 97 layoutTimeBox->setColStretch( 1, 1 );
98 98
99 mDueCheck = new QCheckBox(i18n("Due:"),timeBoxFrame); 99 mDueCheck = new QCheckBox(i18n("Due:"),timeBoxFrame);
100 layoutTimeBox->addWidget(mDueCheck,0,0); 100 layoutTimeBox->addWidget(mDueCheck,0,0);
101 connect(mDueCheck,SIGNAL(toggled(bool)),SLOT(enableDueEdit(bool))); 101 connect(mDueCheck,SIGNAL(toggled(bool)),SLOT(enableDueEdit(bool)));
102 connect(mDueCheck,SIGNAL(toggled(bool)),SLOT(showAlarm())); 102 connect(mDueCheck,SIGNAL(toggled(bool)),SLOT(showAlarm()));
103 103
104 104
105 mDueDateEdit = new KDateEdit(timeBoxFrame); 105 mDueDateEdit = new KDateEdit(timeBoxFrame);
106 layoutTimeBox->addWidget(mDueDateEdit,0,1); 106 layoutTimeBox->addWidget(mDueDateEdit,0,1);
107 107
108 mDueTimeEdit = new KOTimeEdit(timeBoxFrame); 108 mDueTimeEdit = new KOTimeEdit(timeBoxFrame);
109 layoutTimeBox->addWidget(mDueTimeEdit,0,2); 109 layoutTimeBox->addWidget(mDueTimeEdit,0,2);
110 110
111 111
112 mStartCheck = new QCheckBox(i18n("Start:"),timeBoxFrame); 112 mStartCheck = new QCheckBox(i18n("Start:"),timeBoxFrame);
113 layoutTimeBox->addWidget(mStartCheck,1,0); 113 layoutTimeBox->addWidget(mStartCheck,1,0);
114 connect(mStartCheck,SIGNAL(toggled(bool)),SLOT(enableStartEdit(bool))); 114 connect(mStartCheck,SIGNAL(toggled(bool)),SLOT(enableStartEdit(bool)));
115 115
116 mStartDateEdit = new KDateEdit(timeBoxFrame); 116 mStartDateEdit = new KDateEdit(timeBoxFrame);
117 layoutTimeBox->addWidget(mStartDateEdit,1,1); 117 layoutTimeBox->addWidget(mStartDateEdit,1,1);
118 118
119 mStartTimeEdit = new KOTimeEdit(timeBoxFrame); 119 mStartTimeEdit = new KOTimeEdit(timeBoxFrame);
120 layoutTimeBox->addWidget(mStartTimeEdit,1,2); 120 layoutTimeBox->addWidget(mStartTimeEdit,1,2);
121 121
122 122
123 mTimeButton = new QCheckBox(i18n("Time associated"),timeBoxFrame); 123 mTimeButton = new QCheckBox(i18n("Time associated"),timeBoxFrame);
124 layoutTimeBox->addMultiCellWidget(mTimeButton,2,2,0,1); 124 layoutTimeBox->addMultiCellWidget(mTimeButton,2,2,0,1);
125 125
126 connect(mTimeButton,SIGNAL(toggled(bool)),SLOT(enableTimeEdits(bool))); 126 connect(mTimeButton,SIGNAL(toggled(bool)),SLOT(enableTimeEdits(bool)));
127 connect(mDueDateEdit,SIGNAL(setTimeTo(QTime)),mDueTimeEdit,SLOT(setTime(QTime)));
128 connect(mStartDateEdit,SIGNAL(setTimeTo(QTime)),mStartTimeEdit,SLOT(setTime(QTime)));
127 129
128 // some more layouting 130 // some more layouting
129 //layoutTimeBox->setColStretch(3,1); 131 //layoutTimeBox->setColStretch(3,1);
130} 132}
131 133
132 134
133void KOEditorGeneralTodo::initCompletion(QWidget *parent, QBoxLayout *topLayout) 135void KOEditorGeneralTodo::initCompletion(QWidget *parent, QBoxLayout *topLayout)
134{ 136{
135 mCompletedCombo = new QComboBox(parent); 137 mCompletedCombo = new QComboBox(parent);
136 // xgettext:no-c-format 138 // xgettext:no-c-format
137 mCompletedCombo->insertItem(i18n(" 0 %")); 139 mCompletedCombo->insertItem(i18n(" 0 %"));
138 // xgettext:no-c-format 140 // xgettext:no-c-format
139 mCompletedCombo->insertItem(i18n(" 20 %")); 141 mCompletedCombo->insertItem(i18n(" 20 %"));
140 // xgettext:no-c-format 142 // xgettext:no-c-format
141 mCompletedCombo->insertItem(i18n(" 40 %")); 143 mCompletedCombo->insertItem(i18n(" 40 %"));
142 // xgettext:no-c-format 144 // xgettext:no-c-format
143 mCompletedCombo->insertItem(i18n(" 60 %")); 145 mCompletedCombo->insertItem(i18n(" 60 %"));
144 // xgettext:no-c-format 146 // xgettext:no-c-format
145 mCompletedCombo->insertItem(i18n(" 80 %")); 147 mCompletedCombo->insertItem(i18n(" 80 %"));
146 // xgettext:no-c-format 148 // xgettext:no-c-format
147 mCompletedCombo->insertItem(i18n("100 %")); 149 mCompletedCombo->insertItem(i18n("100 %"));
148 connect(mCompletedCombo,SIGNAL(activated(int)),SLOT(completedChanged(int))); 150 connect(mCompletedCombo,SIGNAL(activated(int)),SLOT(completedChanged(int)));
149 topLayout->addWidget(mCompletedCombo); 151 topLayout->addWidget(mCompletedCombo);
150 152
151 mCompletedLabel = new QLabel(i18n("completed"),parent); 153 mCompletedLabel = new QLabel(i18n("completed"),parent);
152 topLayout->addWidget(mCompletedLabel); 154 topLayout->addWidget(mCompletedLabel);
153 155
154 mCompleteDateEdit = new KDateEdit(parent); 156 mCompleteDateEdit = new KDateEdit(parent);
155 topLayout->addWidget(mCompleteDateEdit ); 157 topLayout->addWidget(mCompleteDateEdit );
156 158
157 mCompleteTimeEdit = new KOTimeEdit(parent); 159 mCompleteTimeEdit = new KOTimeEdit(parent);
158 topLayout->addWidget( mCompleteTimeEdit); 160 topLayout->addWidget( mCompleteTimeEdit);
159 161
160 mCompletedCombo->setSizePolicy( QSizePolicy( QSizePolicy::Preferred,QSizePolicy::Preferred) ); 162 mCompletedCombo->setSizePolicy( QSizePolicy( QSizePolicy::Preferred,QSizePolicy::Preferred) );
161 mCompletedLabel->setSizePolicy( QSizePolicy( QSizePolicy::Expanding,QSizePolicy::Preferred) ); 163 mCompletedLabel->setSizePolicy( QSizePolicy( QSizePolicy::Expanding,QSizePolicy::Preferred) );
164 connect(mCompleteDateEdit,SIGNAL(setTimeTo(QTime)),mCompleteTimeEdit,SLOT(setTime(QTime)));
162 165
163 if ( QApplication::desktop()->width() <= 480 ) { 166 if ( QApplication::desktop()->width() <= 480 ) {
164 if ( QApplication::desktop()->width() < 320 ) 167 if ( QApplication::desktop()->width() < 320 )
165 mCompleteDateEdit->setMaximumWidth( 85 ); 168 mCompleteDateEdit->setMaximumWidth( 85 );
166 else 169 else
167 mCompleteDateEdit->setMaximumWidth( 140 ); 170 mCompleteDateEdit->setMaximumWidth( 140 );
168 topLayout->setSpacing( 0 ); 171 topLayout->setSpacing( 0 );
169 } 172 }
170} 173}
171 174
172void KOEditorGeneralTodo::initPriority(QWidget *parent, QBoxLayout *topLayout) 175void KOEditorGeneralTodo::initPriority(QWidget *parent, QBoxLayout *topLayout)
173{ 176{
174 177
175 QHBox* h = new QHBox ( parent ); 178 QHBox* h = new QHBox ( parent );
176 topLayout->addWidget( h ); 179 topLayout->addWidget( h );
177 QLabel *priorityLabel = new QLabel(i18n("Priority:"), h); 180 QLabel *priorityLabel = new QLabel(i18n("Priority:"), h);
178 // topLayout->addWidget(priorityLabel); 181 // topLayout->addWidget(priorityLabel);
179 mPriorityCombo = new QComboBox( h ); 182 mPriorityCombo = new QComboBox( h );
180 mPriorityCombo->insertItem(i18n("1 (high)")); 183 mPriorityCombo->insertItem(i18n("1 (high)"));
181 mPriorityCombo->insertItem(i18n("2")); 184 mPriorityCombo->insertItem(i18n("2"));
182 mPriorityCombo->insertItem(i18n("3")); 185 mPriorityCombo->insertItem(i18n("3"));
183 mPriorityCombo->insertItem(i18n("4")); 186 mPriorityCombo->insertItem(i18n("4"));
184 mPriorityCombo->insertItem(i18n("5 (low)")); 187 mPriorityCombo->insertItem(i18n("5 (low)"));
185 //topLayout->addWidget(mPriorityCombo); 188 //topLayout->addWidget(mPriorityCombo);
186} 189}
187 190
188void KOEditorGeneralTodo::initStatus(QWidget *parent,QBoxLayout *topLayout) 191void KOEditorGeneralTodo::initStatus(QWidget *parent,QBoxLayout *topLayout)
189{ 192{
190 QBoxLayout *statusLayout = new QHBoxLayout(topLayout); 193 QBoxLayout *statusLayout = new QHBoxLayout(topLayout);
191 194
192 initCompletion( parent, statusLayout ); 195 initCompletion( parent, statusLayout );
193 196
194 statusLayout->addStretch( 1 ); 197 statusLayout->addStretch( 1 );
195 198
196 initPriority( parent, statusLayout ); 199 initPriority( parent, statusLayout );
197} 200}
198 201
199void KOEditorGeneralTodo::setDefaults(QDateTime due,bool allDay) 202void KOEditorGeneralTodo::setDefaults(QDateTime due,bool allDay)
200{ 203{
201 204
202 mSummaryEdit->load(KOLocationBox::SUMMARYTODO); 205 mSummaryEdit->load(KOLocationBox::SUMMARYTODO);
203 mLocationEdit->load(KOLocationBox::LOCATION); 206 mLocationEdit->load(KOLocationBox::LOCATION);
204 KOEditorGeneral::setDefaults(allDay); 207 KOEditorGeneral::setDefaults(allDay);
205 208
206 mTimeButton->setChecked( !allDay ); 209 mTimeButton->setChecked( !allDay );
207 if(mTimeButton->isChecked()) { 210 if(mTimeButton->isChecked()) {
208 mTimeButton->setEnabled(true); 211 mTimeButton->setEnabled(true);
209 } 212 }
210 else { 213 else {
211 mTimeButton->setEnabled(false); 214 mTimeButton->setEnabled(false);
212 } 215 }
213 216
214 enableTimeEdits( !allDay ); 217 enableTimeEdits( !allDay );
215 if ( due.isValid() ) { 218 if ( due.isValid() ) {
216 mDueCheck->setChecked(true); 219 mDueCheck->setChecked(true);
217 enableDueEdit(true); 220 enableDueEdit(true);
218 alarmDisable(false); 221 alarmDisable(false);
219 } else { 222 } else {
220 mDueCheck->setChecked(false); 223 mDueCheck->setChecked(false);
221 enableDueEdit(false); 224 enableDueEdit(false);
222 due = QDateTime::currentDateTime().addDays(7); 225 due = QDateTime::currentDateTime().addDays(7);
223 alarmDisable(true); 226 alarmDisable(true);
224 } 227 }
225 228
226 229
227 mStartCheck->setChecked(false); 230 mStartCheck->setChecked(false);
228 enableStartEdit(false); 231 enableStartEdit(false);
229 232
230 mDueDateEdit->setDate(due.date()); 233 mDueDateEdit->setDate(due.date());
231 mDueTimeEdit->setTime(due.time()); 234 mDueTimeEdit->setTime(due.time());
232 due = due.addDays(-7); 235 due = due.addDays(-7);
233 mStartDateEdit->setDate(due.date()); 236 mStartDateEdit->setDate(due.date());
234 mStartTimeEdit->setTime(due.time()); 237 mStartTimeEdit->setTime(due.time());
235 238
236 mPriorityCombo->setCurrentItem(2); 239 mPriorityCombo->setCurrentItem(2);
237 mCompletedLabel->setText(i18n(" completed"));; 240 mCompletedLabel->setText(i18n(" completed"));;
238 mCompletedCombo->setCurrentItem(0); 241 mCompletedCombo->setCurrentItem(0);
239 mCompleteDateEdit->hide(); 242 mCompleteDateEdit->hide();
240 mCompleteTimeEdit->hide(); 243 mCompleteTimeEdit->hide();
241} 244}
242 245
243void KOEditorGeneralTodo::readTodo(Todo *todo) 246void KOEditorGeneralTodo::readTodo(Todo *todo)
244{ 247{
245 248
246 mSummaryEdit->load(KOLocationBox::SUMMARYTODO); 249 mSummaryEdit->load(KOLocationBox::SUMMARYTODO);
247 mLocationEdit->load(KOLocationBox::LOCATION); 250 mLocationEdit->load(KOLocationBox::LOCATION);
248 KOEditorGeneral::readIncidence(todo); 251 KOEditorGeneral::readIncidence(todo);
249 252
250 QDateTime dueDT; 253 QDateTime dueDT;
251 254
252 if (todo->hasDueDate()) { 255 if (todo->hasDueDate()) {
253 enableAlarmEdit(true); 256 enableAlarmEdit(true);
254 dueDT = todo->dtDue(); 257 dueDT = todo->dtDue();
255 mDueDateEdit->setDate(todo->dtDue().date()); 258 mDueDateEdit->setDate(todo->dtDue().date());
256 mDueTimeEdit->setTime(todo->dtDue().time()); 259 mDueTimeEdit->setTime(todo->dtDue().time());
257 mDueCheck->setChecked(true); 260 mDueCheck->setChecked(true);
258 } else { 261 } else {
259 alarmDisable(true); 262 alarmDisable(true);
260 mDueDateEdit->setEnabled(false); 263 mDueDateEdit->setEnabled(false);
261 mDueTimeEdit->setEnabled(false); 264 mDueTimeEdit->setEnabled(false);
262 mDueDateEdit->setDate(QDate::currentDate()); 265 mDueDateEdit->setDate(QDate::currentDate());