summaryrefslogtreecommitdiffabout
path: root/korganizer
Unidiff
Diffstat (limited to 'korganizer') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/journalentry.cpp1
-rw-r--r--korganizer/koeditorgeneraltodo.cpp1
-rw-r--r--korganizer/komonthview.cpp1
3 files changed, 3 insertions, 0 deletions
diff --git a/korganizer/journalentry.cpp b/korganizer/journalentry.cpp
index dca42e0..c19a5ca 100644
--- a/korganizer/journalentry.cpp
+++ b/korganizer/journalentry.cpp
@@ -1,227 +1,228 @@
1/* 1/*
2 This file is part of KOrganizer. 2 This file is part of KOrganizer.
3 Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org> 3 Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org>
4 4
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// 24//
25// Journal Entry 25// Journal Entry
26 26
27#include <qlabel.h> 27#include <qlabel.h>
28#include <qlayout.h> 28#include <qlayout.h>
29#include <qvbox.h> 29#include <qvbox.h>
30#include <qfile.h> 30#include <qfile.h>
31#include <qdir.h> 31#include <qdir.h>
32#include <qtextstream.h> 32#include <qtextstream.h>
33#include <qtextcodec.h> 33#include <qtextcodec.h>
34#include <qpixmap.h> 34#include <qpixmap.h>
35#include <qpushbutton.h> 35#include <qpushbutton.h>
36#include <qapplication.h>
36 37
37#include <kdebug.h> 38#include <kdebug.h>
38#include <kglobal.h> 39#include <kglobal.h>
39#include <klocale.h> 40#include <klocale.h>
40#include <ktextedit.h> 41#include <ktextedit.h>
41#include <kfiledialog.h> 42#include <kfiledialog.h>
42#include <kmessagebox.h> 43#include <kmessagebox.h>
43#include "koprefs.h" 44#include "koprefs.h"
44 45
45#include <libkcal/journal.h> 46#include <libkcal/journal.h>
46#include <libkcal/calendarresources.h> 47#include <libkcal/calendarresources.h>
47#include <libkcal/resourcecalendar.h> 48#include <libkcal/resourcecalendar.h>
48#include <kresources/resourceselectdialog.h> 49#include <kresources/resourceselectdialog.h>
49 50
50#include "journalentry.h" 51#include "journalentry.h"
51//#include "journalentry.moc" 52//#include "journalentry.moc"
52#ifndef DESKTOP_VERSION 53#ifndef DESKTOP_VERSION
53#include <qpe/qpeapplication.h> 54#include <qpe/qpeapplication.h>
54#endif 55#endif
55JournalEntry::JournalEntry(Calendar *calendar,QWidget *parent) : 56JournalEntry::JournalEntry(Calendar *calendar,QWidget *parent) :
56 QFrame(parent) 57 QFrame(parent)
57{ 58{
58 mCalendar = calendar; 59 mCalendar = calendar;
59 mJournal = 0; 60 mJournal = 0;
60 mDirty = false; 61 mDirty = false;
61 62
62 QHBox * vb = new QHBox ( this ); 63 QHBox * vb = new QHBox ( this );
63 QPushButton * loadTemplate = new QPushButton( vb ); 64 QPushButton * loadTemplate = new QPushButton( vb );
64 QPushButton * saveTemplate = new QPushButton( vb ); 65 QPushButton * saveTemplate = new QPushButton( vb );
65 QIconSet icon; 66 QIconSet icon;
66 if ( QApplication::desktop()->width() < 321 ) 67 if ( QApplication::desktop()->width() < 321 )
67 icon = SmallIcon("fileexport16"); 68 icon = SmallIcon("fileexport16");
68 else 69 else
69 icon = SmallIcon("fileexport"); 70 icon = SmallIcon("fileexport");
70 saveTemplate->setIconSet (icon ) ; 71 saveTemplate->setIconSet (icon ) ;
71 int size = saveTemplate->sizeHint().height(); 72 int size = saveTemplate->sizeHint().height();
72 saveTemplate->setFixedSize( size, size ); 73 saveTemplate->setFixedSize( size, size );
73 if ( QApplication::desktop()->width() < 321 ) 74 if ( QApplication::desktop()->width() < 321 )
74 icon = SmallIcon("fileimport16"); 75 icon = SmallIcon("fileimport16");
75 else 76 else
76 icon = SmallIcon("fileimport"); 77 icon = SmallIcon("fileimport");
77 loadTemplate->setIconSet (icon ) ; 78 loadTemplate->setIconSet (icon ) ;
78 loadTemplate->setFixedSize( size, size ); 79 loadTemplate->setFixedSize( size, size );
79 80
80 mTitleLabel = new QLabel(i18n("Title"),vb); 81 mTitleLabel = new QLabel(i18n("Title"),vb);
81 mTitleLabel->setMargin(2); 82 mTitleLabel->setMargin(2);
82 mTitleLabel->setAlignment(AlignCenter); 83 mTitleLabel->setAlignment(AlignCenter);
83 84
84 mEditor = new KTextEdit(this); 85 mEditor = new KTextEdit(this);
85 connect(mEditor,SIGNAL(textChanged()),SLOT(setDirty())); 86 connect(mEditor,SIGNAL(textChanged()),SLOT(setDirty()));
86#ifndef DESKTOP_VERSION 87#ifndef DESKTOP_VERSION
87 QPEApplication::setStylusOperation( mEditor, QPEApplication::RightOnHold ); 88 QPEApplication::setStylusOperation( mEditor, QPEApplication::RightOnHold );
88#endif 89#endif
89 mEditor->setWordWrap( KTextEdit::WidgetWidth ); 90 mEditor->setWordWrap( KTextEdit::WidgetWidth );
90 QBoxLayout *topLayout = new QVBoxLayout(this); 91 QBoxLayout *topLayout = new QVBoxLayout(this);
91 topLayout->addWidget(vb); 92 topLayout->addWidget(vb);
92 topLayout->addWidget(mEditor); 93 topLayout->addWidget(mEditor);
93 mEditor->installEventFilter(this); 94 mEditor->installEventFilter(this);
94 connect( saveTemplate, SIGNAL( clicked() ), this , SLOT( slotSaveTemplate() ) ); 95 connect( saveTemplate, SIGNAL( clicked() ), this , SLOT( slotSaveTemplate() ) );
95 connect( loadTemplate, SIGNAL( clicked() ), this , SLOT( slotLoadTemplate() ) ); 96 connect( loadTemplate, SIGNAL( clicked() ), this , SLOT( slotLoadTemplate() ) );
96} 97}
97 98
98JournalEntry::~JournalEntry() 99JournalEntry::~JournalEntry()
99{ 100{
100} 101}
101 102
102void JournalEntry::slotSaveTemplate() 103void JournalEntry::slotSaveTemplate()
103{ 104{
104 QString fileName =locateLocal( "templates", "journals" ); 105 QString fileName =locateLocal( "templates", "journals" );
105 QDir t_dir; 106 QDir t_dir;
106 if ( !t_dir.exists(fileName) ) 107 if ( !t_dir.exists(fileName) )
107 t_dir.mkdir ( fileName ); 108 t_dir.mkdir ( fileName );
108 fileName += "/journal"; 109 fileName += "/journal";
109 fileName = KFileDialog::getSaveFileName( fileName , i18n("Save as Journal template"), this ); 110 fileName = KFileDialog::getSaveFileName( fileName , i18n("Save as Journal template"), this );
110 if ( fileName.length() == 0 ) 111 if ( fileName.length() == 0 )
111 return; 112 return;
112 113
113 QFile fileIn( fileName ); 114 QFile fileIn( fileName );
114 if (!fileIn.open( IO_WriteOnly ) ) { 115 if (!fileIn.open( IO_WriteOnly ) ) {
115 KMessageBox::error( this, i18n("Error saving template file\n '%1'.") 116 KMessageBox::error( this, i18n("Error saving template file\n '%1'.")
116 .arg( fileName ) ); 117 .arg( fileName ) );
117 return; 118 return;
118 } 119 }
119 // QString text; 120 // QString text;
120 QTextStream tsIn( &fileIn ); 121 QTextStream tsIn( &fileIn );
121 tsIn.setCodec( QTextCodec::codecForName("utf8") ); 122 tsIn.setCodec( QTextCodec::codecForName("utf8") );
122 tsIn << mEditor->text(); 123 tsIn << mEditor->text();
123 fileIn.close(); 124 fileIn.close();
124} 125}
125void JournalEntry::slotLoadTemplate() 126void JournalEntry::slotLoadTemplate()
126{ 127{
127 QString fileName =locateLocal( "templates", "journals" ); 128 QString fileName =locateLocal( "templates", "journals" );
128 QDir t_dir; 129 QDir t_dir;
129 if ( !t_dir.exists(fileName) ) 130 if ( !t_dir.exists(fileName) )
130 t_dir.mkdir ( fileName ); 131 t_dir.mkdir ( fileName );
131 fileName += "/journal"; 132 fileName += "/journal";
132 fileName = KFileDialog::getOpenFileName( fileName , i18n("Insert Journal template"), this ); 133 fileName = KFileDialog::getOpenFileName( fileName , i18n("Insert Journal template"), this );
133 if ( fileName.length() == 0 ) 134 if ( fileName.length() == 0 )
134 return; 135 return;
135 QFile fileIn( fileName ); 136 QFile fileIn( fileName );
136 if (!fileIn.open( IO_ReadOnly ) ) { 137 if (!fileIn.open( IO_ReadOnly ) ) {
137 KMessageBox::error( this, i18n("Error loading template file\n '%1'.") 138 KMessageBox::error( this, i18n("Error loading template file\n '%1'.")
138 .arg( fileName ) ); 139 .arg( fileName ) );
139 return; 140 return;
140 } 141 }
141 QTextStream tsIn( &fileIn ); 142 QTextStream tsIn( &fileIn );
142 tsIn.setCodec( QTextCodec::codecForName("utf8") ); 143 tsIn.setCodec( QTextCodec::codecForName("utf8") );
143 QString text = tsIn.read(); 144 QString text = tsIn.read();
144 fileIn.close(); 145 fileIn.close();
145 int line, col; 146 int line, col;
146 mEditor->getCursorPosition (& line, & col ); 147 mEditor->getCursorPosition (& line, & col );
147 mEditor-> insertAt ( text, line, col, true ); 148 mEditor-> insertAt ( text, line, col, true );
148 //mEditor->setIgnoreMark( true ); 149 //mEditor->setIgnoreMark( true );
149 setDirty(); 150 setDirty();
150} 151}
151void JournalEntry::setDate(const QDate &date) 152void JournalEntry::setDate(const QDate &date)
152{ 153{
153 writeJournal(); 154 writeJournal();
154 155
155 mTitleLabel->setText(KGlobal::locale()->formatDate(date)); 156 mTitleLabel->setText(KGlobal::locale()->formatDate(date));
156 157
157 158
158 mDate = date; 159 mDate = date;
159} 160}
160 161
161void JournalEntry::setJournal(Journal *journal) 162void JournalEntry::setJournal(Journal *journal)
162{ 163{
163 writeJournal(); 164 writeJournal();
164 165
165 mJournal = journal; 166 mJournal = journal;
166 167
167 mEditor->setText(mJournal->description()); 168 mEditor->setText(mJournal->description());
168 169
169 mDirty = false; 170 mDirty = false;
170} 171}
171 172
172Journal *JournalEntry::journal() const 173Journal *JournalEntry::journal() const
173{ 174{
174 return mJournal; 175 return mJournal;
175} 176}
176 177
177void JournalEntry::setDirty() 178void JournalEntry::setDirty()
178{ 179{
179 mDirty = true; 180 mDirty = true;
180 181
181// kdDebug() << "JournalEntry::setDirty()" << endl; 182// kdDebug() << "JournalEntry::setDirty()" << endl;
182} 183}
183 184
184void JournalEntry::clear() 185void JournalEntry::clear()
185{ 186{
186 mJournal = 0; 187 mJournal = 0;
187 mEditor->setText(""); 188 mEditor->setText("");
188} 189}
189 190
190bool JournalEntry::eventFilter( QObject *o, QEvent *e ) 191bool JournalEntry::eventFilter( QObject *o, QEvent *e )
191{ 192{
192// kdDebug() << "JournalEntry::event received " << e->type() << endl; 193// kdDebug() << "JournalEntry::event received " << e->type() << endl;
193 194
194 if ( e->type() == QEvent::FocusOut ) { 195 if ( e->type() == QEvent::FocusOut ) {
195 writeJournal(); 196 writeJournal();
196 } 197 }
197 if ( e->type() == QEvent::KeyPress ) { 198 if ( e->type() == QEvent::KeyPress ) {
198 QKeyEvent * k = (QKeyEvent *) e; 199 QKeyEvent * k = (QKeyEvent *) e;
199 if ( k->state() == Qt::ControlButton ) { 200 if ( k->state() == Qt::ControlButton ) {
200 k->ignore(); 201 k->ignore();
201 //return true; 202 //return true;
202 } 203 }
203 } 204 }
204 205
205 return QFrame::eventFilter( o, e ); // standard event processing 206 return QFrame::eventFilter( o, e ); // standard event processing
206} 207}
207 208
208void JournalEntry::writeJournal() 209void JournalEntry::writeJournal()
209{ 210{
210// kdDebug() << "JournalEntry::writeJournal()" << endl; 211// kdDebug() << "JournalEntry::writeJournal()" << endl;
211 if (!mDirty) return; 212 if (!mDirty) return;
212 213
213 if (mEditor->text().isEmpty()) { 214 if (mEditor->text().isEmpty()) {
214 if ( mJournal ) { 215 if ( mJournal ) {
215 mDirty = false; 216 mDirty = false;
216 bool conf = KOPrefs::instance()->mConfirm; 217 bool conf = KOPrefs::instance()->mConfirm;
217 KOPrefs::instance()->mConfirm = false; 218 KOPrefs::instance()->mConfirm = false;
218 emit deleteJournal(mJournal); 219 emit deleteJournal(mJournal);
219 KOPrefs::instance()->mConfirm = conf; 220 KOPrefs::instance()->mConfirm = conf;
220 mJournal = 0; 221 mJournal = 0;
221 } 222 }
222 return; 223 return;
223 } 224 }
224 225
225// kdDebug() << "JournalEntry::writeJournal()..." << endl; 226// kdDebug() << "JournalEntry::writeJournal()..." << endl;
226 227
227 if (!mJournal) { 228 if (!mJournal) {
diff --git a/korganizer/koeditorgeneraltodo.cpp b/korganizer/koeditorgeneraltodo.cpp
index ce0d7a9..cd78f54 100644
--- a/korganizer/koeditorgeneraltodo.cpp
+++ b/korganizer/koeditorgeneraltodo.cpp
@@ -1,223 +1,224 @@
1/* 1/*
2 This file is part of KOrganizer. 2 This file is part of KOrganizer.
3 Copyright (c) 2000,2001 Cornelius Schumacher <schumacher@kde.org> 3 Copyright (c) 2000,2001 Cornelius Schumacher <schumacher@kde.org>
4 4
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 <qfiledialog.h> 25#include <qfiledialog.h>
26#include <qlayout.h> 26#include <qlayout.h>
27#include <qvbox.h> 27#include <qvbox.h>
28#include <qbuttongroup.h> 28#include <qbuttongroup.h>
29#include <qvgroupbox.h> 29#include <qvgroupbox.h>
30#include <qwidgetstack.h> 30#include <qwidgetstack.h>
31#include <qdatetime.h> 31#include <qdatetime.h>
32#include <qapplication.h>
32 33
33#include <kglobal.h> 34#include <kglobal.h>
34#include <klocale.h> 35#include <klocale.h>
35#include <kiconloader.h> 36#include <kiconloader.h>
36#include <kmessagebox.h> 37#include <kmessagebox.h>
37#include <kdebug.h> 38#include <kdebug.h>
38#include <krestrictedline.h> 39#include <krestrictedline.h>
39#include <kstandarddirs.h> 40#include <kstandarddirs.h>
40#include <kfiledialog.h> 41#include <kfiledialog.h>
41 42
42#include <libkcal/todo.h> 43#include <libkcal/todo.h>
43 44
44#include <libkdepim/kdateedit.h> 45#include <libkdepim/kdateedit.h>
45 46
46#include "koprefs.h" 47#include "koprefs.h"
47#include "ktimeedit.h" 48#include "ktimeedit.h"
48 49
49#include "koeditorgeneraltodo.h" 50#include "koeditorgeneraltodo.h"
50#include "kolocationbox.h" 51#include "kolocationbox.h"
51 52
52KOEditorGeneralTodo::KOEditorGeneralTodo(QObject* parent, 53KOEditorGeneralTodo::KOEditorGeneralTodo(QObject* parent,
53 const char* name) 54 const char* name)
54 : KOEditorGeneral( parent, name) 55 : KOEditorGeneral( parent, name)
55{ 56{
56} 57}
57 58
58KOEditorGeneralTodo::~KOEditorGeneralTodo() 59KOEditorGeneralTodo::~KOEditorGeneralTodo()
59{ 60{
60} 61}
61 62
62void KOEditorGeneralTodo::finishSetup() 63void KOEditorGeneralTodo::finishSetup()
63{ 64{
64 65
65// QWidget::setTabOrder(mSummaryEdit, mLocationEdit); 66// QWidget::setTabOrder(mSummaryEdit, mLocationEdit);
66// QWidget::setTabOrder(mLocationEdit, mDueCheck); 67// QWidget::setTabOrder(mLocationEdit, mDueCheck);
67// QWidget::setTabOrder(mDueCheck, mDueDateEdit); 68// QWidget::setTabOrder(mDueCheck, mDueDateEdit);
68// QWidget::setTabOrder(mDueDateEdit, mDueTimeEdit); 69// QWidget::setTabOrder(mDueDateEdit, mDueTimeEdit);
69// QWidget::setTabOrder(mDueTimeEdit, mStartCheck); 70// QWidget::setTabOrder(mDueTimeEdit, mStartCheck);
70// QWidget::setTabOrder(mStartCheck, mStartDateEdit); 71// QWidget::setTabOrder(mStartCheck, mStartDateEdit);
71// QWidget::setTabOrder(mStartDateEdit, mStartTimeEdit); 72// QWidget::setTabOrder(mStartDateEdit, mStartTimeEdit);
72// QWidget::setTabOrder(mStartTimeEdit, mTimeButton); 73// QWidget::setTabOrder(mStartTimeEdit, mTimeButton);
73// QWidget::setTabOrder(mTimeButton, mCompletedCombo); 74// QWidget::setTabOrder(mTimeButton, mCompletedCombo);
74// QWidget::setTabOrder(mCompletedCombo, mPriorityCombo); 75// QWidget::setTabOrder(mCompletedCombo, mPriorityCombo);
75// QWidget::setTabOrder(mPriorityCombo, mAlarmButton); 76// QWidget::setTabOrder(mPriorityCombo, mAlarmButton);
76// QWidget::setTabOrder(mAlarmButton, mCategoriesButton); 77// QWidget::setTabOrder(mAlarmButton, mCategoriesButton);
77// QWidget::setTabOrder(mCategoriesButton, mSecrecyCombo); 78// QWidget::setTabOrder(mCategoriesButton, mSecrecyCombo);
78// QWidget::setTabOrder(mSecrecyCombo, mDescriptionEdit); 79// QWidget::setTabOrder(mSecrecyCombo, mDescriptionEdit);
79 mSummaryEdit->load(KOLocationBox::SUMMARYTODO); 80 mSummaryEdit->load(KOLocationBox::SUMMARYTODO);
80 mSummaryEdit->setFocus(); 81 mSummaryEdit->setFocus();
81} 82}
82 83
83void KOEditorGeneralTodo::initTime(QWidget *parent,QBoxLayout *topLayout) 84void KOEditorGeneralTodo::initTime(QWidget *parent,QBoxLayout *topLayout)
84{ 85{
85 QBoxLayout *timeLayout = new QVBoxLayout(topLayout); 86 QBoxLayout *timeLayout = new QVBoxLayout(topLayout);
86 87
87 QGroupBox *timeGroupBox = new QGroupBox(1,QGroupBox::Horizontal, 88 QGroupBox *timeGroupBox = new QGroupBox(1,QGroupBox::Horizontal,
88 i18n("Date && Time"),parent); 89 i18n("Date && Time"),parent);
89 timeLayout->addWidget(timeGroupBox); 90 timeLayout->addWidget(timeGroupBox);
90 timeGroupBox->layout()->setSpacing( 0 ); 91 timeGroupBox->layout()->setSpacing( 0 );
91 timeGroupBox->layout()->setMargin( 5 ); 92 timeGroupBox->layout()->setMargin( 5 );
92 QFrame *timeBoxFrame = new QFrame(timeGroupBox); 93 QFrame *timeBoxFrame = new QFrame(timeGroupBox);
93 94
94 QGridLayout *layoutTimeBox = new QGridLayout(timeBoxFrame,3,3); 95 QGridLayout *layoutTimeBox = new QGridLayout(timeBoxFrame,3,3);
95 layoutTimeBox->setSpacing(topLayout->spacing()); 96 layoutTimeBox->setSpacing(topLayout->spacing());
96 layoutTimeBox->setColStretch( 1, 1 ); 97 layoutTimeBox->setColStretch( 1, 1 );
97 98
98 mDueCheck = new QCheckBox(i18n("Due:"),timeBoxFrame); 99 mDueCheck = new QCheckBox(i18n("Due:"),timeBoxFrame);
99 layoutTimeBox->addWidget(mDueCheck,0,0); 100 layoutTimeBox->addWidget(mDueCheck,0,0);
100 connect(mDueCheck,SIGNAL(toggled(bool)),SLOT(enableDueEdit(bool))); 101 connect(mDueCheck,SIGNAL(toggled(bool)),SLOT(enableDueEdit(bool)));
101 connect(mDueCheck,SIGNAL(toggled(bool)),SLOT(showAlarm())); 102 connect(mDueCheck,SIGNAL(toggled(bool)),SLOT(showAlarm()));
102 103
103 104
104 mDueDateEdit = new KDateEdit(timeBoxFrame); 105 mDueDateEdit = new KDateEdit(timeBoxFrame);
105 layoutTimeBox->addWidget(mDueDateEdit,0,1); 106 layoutTimeBox->addWidget(mDueDateEdit,0,1);
106 107
107 mDueTimeEdit = new KOTimeEdit(timeBoxFrame); 108 mDueTimeEdit = new KOTimeEdit(timeBoxFrame);
108 layoutTimeBox->addWidget(mDueTimeEdit,0,2); 109 layoutTimeBox->addWidget(mDueTimeEdit,0,2);
109 110
110 111
111 mStartCheck = new QCheckBox(i18n("Start:"),timeBoxFrame); 112 mStartCheck = new QCheckBox(i18n("Start:"),timeBoxFrame);
112 layoutTimeBox->addWidget(mStartCheck,1,0); 113 layoutTimeBox->addWidget(mStartCheck,1,0);
113 connect(mStartCheck,SIGNAL(toggled(bool)),SLOT(enableStartEdit(bool))); 114 connect(mStartCheck,SIGNAL(toggled(bool)),SLOT(enableStartEdit(bool)));
114 115
115 mStartDateEdit = new KDateEdit(timeBoxFrame); 116 mStartDateEdit = new KDateEdit(timeBoxFrame);
116 layoutTimeBox->addWidget(mStartDateEdit,1,1); 117 layoutTimeBox->addWidget(mStartDateEdit,1,1);
117 118
118 mStartTimeEdit = new KOTimeEdit(timeBoxFrame); 119 mStartTimeEdit = new KOTimeEdit(timeBoxFrame);
119 layoutTimeBox->addWidget(mStartTimeEdit,1,2); 120 layoutTimeBox->addWidget(mStartTimeEdit,1,2);
120 121
121 122
122 mTimeButton = new QCheckBox(i18n("Time associated"),timeBoxFrame); 123 mTimeButton = new QCheckBox(i18n("Time associated"),timeBoxFrame);
123 layoutTimeBox->addMultiCellWidget(mTimeButton,2,2,0,1); 124 layoutTimeBox->addMultiCellWidget(mTimeButton,2,2,0,1);
124 125
125 connect(mTimeButton,SIGNAL(toggled(bool)),SLOT(enableTimeEdits(bool))); 126 connect(mTimeButton,SIGNAL(toggled(bool)),SLOT(enableTimeEdits(bool)));
126 127
127 // some more layouting 128 // some more layouting
128 //layoutTimeBox->setColStretch(3,1); 129 //layoutTimeBox->setColStretch(3,1);
129} 130}
130 131
131 132
132void KOEditorGeneralTodo::initCompletion(QWidget *parent, QBoxLayout *topLayout) 133void KOEditorGeneralTodo::initCompletion(QWidget *parent, QBoxLayout *topLayout)
133{ 134{
134 mCompletedCombo = new QComboBox(parent); 135 mCompletedCombo = new QComboBox(parent);
135 // xgettext:no-c-format 136 // xgettext:no-c-format
136 mCompletedCombo->insertItem(i18n(" 0 %")); 137 mCompletedCombo->insertItem(i18n(" 0 %"));
137 // xgettext:no-c-format 138 // xgettext:no-c-format
138 mCompletedCombo->insertItem(i18n(" 20 %")); 139 mCompletedCombo->insertItem(i18n(" 20 %"));
139 // xgettext:no-c-format 140 // xgettext:no-c-format
140 mCompletedCombo->insertItem(i18n(" 40 %")); 141 mCompletedCombo->insertItem(i18n(" 40 %"));
141 // xgettext:no-c-format 142 // xgettext:no-c-format
142 mCompletedCombo->insertItem(i18n(" 60 %")); 143 mCompletedCombo->insertItem(i18n(" 60 %"));
143 // xgettext:no-c-format 144 // xgettext:no-c-format
144 mCompletedCombo->insertItem(i18n(" 80 %")); 145 mCompletedCombo->insertItem(i18n(" 80 %"));
145 // xgettext:no-c-format 146 // xgettext:no-c-format
146 mCompletedCombo->insertItem(i18n("100 %")); 147 mCompletedCombo->insertItem(i18n("100 %"));
147 connect(mCompletedCombo,SIGNAL(activated(int)),SLOT(completedChanged(int))); 148 connect(mCompletedCombo,SIGNAL(activated(int)),SLOT(completedChanged(int)));
148 topLayout->addWidget(mCompletedCombo); 149 topLayout->addWidget(mCompletedCombo);
149 150
150 mCompletedLabel = new QLabel(i18n("completed"),parent); 151 mCompletedLabel = new QLabel(i18n("completed"),parent);
151 topLayout->addWidget(mCompletedLabel); 152 topLayout->addWidget(mCompletedLabel);
152 153
153 mCompleteDateEdit = new KDateEdit(parent); 154 mCompleteDateEdit = new KDateEdit(parent);
154 topLayout->addWidget(mCompleteDateEdit ); 155 topLayout->addWidget(mCompleteDateEdit );
155 156
156 mCompleteTimeEdit = new KOTimeEdit(parent); 157 mCompleteTimeEdit = new KOTimeEdit(parent);
157 topLayout->addWidget( mCompleteTimeEdit); 158 topLayout->addWidget( mCompleteTimeEdit);
158 159
159 mCompletedCombo->setSizePolicy( QSizePolicy( QSizePolicy::Preferred,QSizePolicy::Preferred) ); 160 mCompletedCombo->setSizePolicy( QSizePolicy( QSizePolicy::Preferred,QSizePolicy::Preferred) );
160 mCompletedLabel->setSizePolicy( QSizePolicy( QSizePolicy::Expanding,QSizePolicy::Preferred) ); 161 mCompletedLabel->setSizePolicy( QSizePolicy( QSizePolicy::Expanding,QSizePolicy::Preferred) );
161 162
162 if ( QApplication::desktop()->width() < 320 ) { 163 if ( QApplication::desktop()->width() < 320 ) {
163 mCompleteDateEdit->setMaximumWidth( 85 ); 164 mCompleteDateEdit->setMaximumWidth( 85 );
164 topLayout->setSpacing( 0 ); 165 topLayout->setSpacing( 0 );
165 } 166 }
166} 167}
167 168
168void KOEditorGeneralTodo::initPriority(QWidget *parent, QBoxLayout *topLayout) 169void KOEditorGeneralTodo::initPriority(QWidget *parent, QBoxLayout *topLayout)
169{ 170{
170 171
171 QHBox* h = new QHBox ( parent ); 172 QHBox* h = new QHBox ( parent );
172 topLayout->addWidget( h ); 173 topLayout->addWidget( h );
173 QLabel *priorityLabel = new QLabel(i18n("Priority:"), h); 174 QLabel *priorityLabel = new QLabel(i18n("Priority:"), h);
174 // topLayout->addWidget(priorityLabel); 175 // topLayout->addWidget(priorityLabel);
175 mPriorityCombo = new QComboBox( h ); 176 mPriorityCombo = new QComboBox( h );
176 mPriorityCombo->insertItem(i18n("1 (high)")); 177 mPriorityCombo->insertItem(i18n("1 (high)"));
177 mPriorityCombo->insertItem(i18n("2")); 178 mPriorityCombo->insertItem(i18n("2"));
178 mPriorityCombo->insertItem(i18n("3")); 179 mPriorityCombo->insertItem(i18n("3"));
179 mPriorityCombo->insertItem(i18n("4")); 180 mPriorityCombo->insertItem(i18n("4"));
180 mPriorityCombo->insertItem(i18n("5 (low)")); 181 mPriorityCombo->insertItem(i18n("5 (low)"));
181 //topLayout->addWidget(mPriorityCombo); 182 //topLayout->addWidget(mPriorityCombo);
182} 183}
183 184
184void KOEditorGeneralTodo::initStatus(QWidget *parent,QBoxLayout *topLayout) 185void KOEditorGeneralTodo::initStatus(QWidget *parent,QBoxLayout *topLayout)
185{ 186{
186 QBoxLayout *statusLayout = new QHBoxLayout(topLayout); 187 QBoxLayout *statusLayout = new QHBoxLayout(topLayout);
187 188
188 initCompletion( parent, statusLayout ); 189 initCompletion( parent, statusLayout );
189 190
190 statusLayout->addStretch( 1 ); 191 statusLayout->addStretch( 1 );
191 192
192 initPriority( parent, statusLayout ); 193 initPriority( parent, statusLayout );
193} 194}
194 195
195void KOEditorGeneralTodo::setDefaults(QDateTime due,bool allDay) 196void KOEditorGeneralTodo::setDefaults(QDateTime due,bool allDay)
196{ 197{
197 198
198 mSummaryEdit->load(KOLocationBox::SUMMARYTODO); 199 mSummaryEdit->load(KOLocationBox::SUMMARYTODO);
199 mLocationEdit->load(KOLocationBox::LOCATION); 200 mLocationEdit->load(KOLocationBox::LOCATION);
200 KOEditorGeneral::setDefaults(allDay); 201 KOEditorGeneral::setDefaults(allDay);
201 202
202 mTimeButton->setChecked( !allDay ); 203 mTimeButton->setChecked( !allDay );
203 if(mTimeButton->isChecked()) { 204 if(mTimeButton->isChecked()) {
204 mTimeButton->setEnabled(true); 205 mTimeButton->setEnabled(true);
205 } 206 }
206 else { 207 else {
207 mTimeButton->setEnabled(false); 208 mTimeButton->setEnabled(false);
208 } 209 }
209 210
210 enableTimeEdits( !allDay ); 211 enableTimeEdits( !allDay );
211 if ( due.isValid() ) { 212 if ( due.isValid() ) {
212 mDueCheck->setChecked(true); 213 mDueCheck->setChecked(true);
213 enableDueEdit(true); 214 enableDueEdit(true);
214 } else { 215 } else {
215 mDueCheck->setChecked(false); 216 mDueCheck->setChecked(false);
216 enableDueEdit(false); 217 enableDueEdit(false);
217 due = QDateTime::currentDateTime().addDays(7); 218 due = QDateTime::currentDateTime().addDays(7);
218 } 219 }
219 220
220 alarmDisable(true); 221 alarmDisable(true);
221 222
222 mStartCheck->setChecked(false); 223 mStartCheck->setChecked(false);
223 enableStartEdit(false); 224 enableStartEdit(false);
diff --git a/korganizer/komonthview.cpp b/korganizer/komonthview.cpp
index cb519b2..65accdc 100644
--- a/korganizer/komonthview.cpp
+++ b/korganizer/komonthview.cpp
@@ -1,216 +1,217 @@
1/* 1/*
2 This file is part of KOrganizer. 2 This file is part of KOrganizer.
3 Copyright (c) 2000,2001 Cornelius Schumacher <schumacher@kde.org> 3 Copyright (c) 2000,2001 Cornelius Schumacher <schumacher@kde.org>
4 4
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 19
20#include <qpopupmenu.h> 20#include <qpopupmenu.h>
21#include <qfont.h> 21#include <qfont.h>
22#include <qfontmetrics.h> 22#include <qfontmetrics.h>
23#include <qkeycode.h> 23#include <qkeycode.h>
24#include <qhbox.h> 24#include <qhbox.h>
25#include <qtimer.h>
25#include <qvbox.h> 26#include <qvbox.h>
26#include <qwidgetstack.h> 27#include <qwidgetstack.h>
27#include <qpushbutton.h> 28#include <qpushbutton.h>
28#include <qtooltip.h> 29#include <qtooltip.h>
29#include <qpainter.h> 30#include <qpainter.h>
30#include <qwhatsthis.h> 31#include <qwhatsthis.h>
31#ifndef DESKTOP_VERSION 32#ifndef DESKTOP_VERSION
32#include <qpe/qpeapplication.h> 33#include <qpe/qpeapplication.h>
33#else 34#else
34#include <qapplication.h> 35#include <qapplication.h>
35#endif 36#endif
36 37
37#include <kdebug.h> 38#include <kdebug.h>
38#include <klocale.h> 39#include <klocale.h>
39#include <kglobal.h> 40#include <kglobal.h>
40#include <kconfig.h> 41#include <kconfig.h>
41#include <kiconloader.h> 42#include <kiconloader.h>
42 43
43#include <kcalendarsystem.h> 44#include <kcalendarsystem.h>
44 45
45#ifndef KORG_NOPRINTER 46#ifndef KORG_NOPRINTER
46#include "calprinter.h" 47#include "calprinter.h"
47#endif 48#endif
48#include "koprefs.h" 49#include "koprefs.h"
49#ifndef KORG_NOPLUGINS 50#ifndef KORG_NOPLUGINS
50#include "kocore.h" 51#include "kocore.h"
51#endif 52#endif
52#include "koglobals.h" 53#include "koglobals.h"
53#include <libkcal/kincidenceformatter.h> 54#include <libkcal/kincidenceformatter.h>
54 55
55#include "komonthview.h" 56#include "komonthview.h"
56 57
57#define PIXMAP_SIZE 5 58#define PIXMAP_SIZE 5
58#ifdef DESKTOP_VERSION 59#ifdef DESKTOP_VERSION
59QToolTipGroup *MonthViewCell::mToolTipGroup = 0; 60QToolTipGroup *MonthViewCell::mToolTipGroup = 0;
60#endif 61#endif
61class KNOWhatsThis :public QWhatsThis 62class KNOWhatsThis :public QWhatsThis
62{ 63{
63public: 64public:
64 KNOWhatsThis( KNoScrollListBox* sbox ) : QWhatsThis( sbox ), _wid( sbox) { }; 65 KNOWhatsThis( KNoScrollListBox* sbox ) : QWhatsThis( sbox ), _wid( sbox) { };
65 //~KNOWhatsThis( ) {qDebug("~KNOWhatsThis( ) "); }; 66 //~KNOWhatsThis( ) {qDebug("~KNOWhatsThis( ) "); };
66 67
67protected: 68protected:
68 virtual QString text( const QPoint& p) 69 virtual QString text( const QPoint& p)
69 { 70 {
70 return _wid->getWhatsThisText(p) ; 71 return _wid->getWhatsThisText(p) ;
71 }; 72 };
72private: 73private:
73 KNoScrollListBox* _wid; 74 KNoScrollListBox* _wid;
74 75
75}; 76};
76 77
77 78
78KNoScrollListBox::KNoScrollListBox(QWidget *parent,const char *name) 79KNoScrollListBox::KNoScrollListBox(QWidget *parent,const char *name)
79 : QListBox(parent, name, WRepaintNoErase) 80 : QListBox(parent, name, WRepaintNoErase)
80{ 81{
81#ifndef DESKTOP_VERSION 82#ifndef DESKTOP_VERSION
82 QPEApplication::setStylusOperation( viewport(), QPEApplication::RightOnHold ); 83 QPEApplication::setStylusOperation( viewport(), QPEApplication::RightOnHold );
83#endif 84#endif
84 mWT = new KNOWhatsThis(this); 85 mWT = new KNOWhatsThis(this);
85} 86}
86KNoScrollListBox::~KNoScrollListBox() 87KNoScrollListBox::~KNoScrollListBox()
87{ 88{
88 89
89} 90}
90QString KNoScrollListBox::getWhatsThisText(QPoint p) 91QString KNoScrollListBox::getWhatsThisText(QPoint p)
91{ 92{
92 QListBoxItem* item = itemAt ( p ); 93 QListBoxItem* item = itemAt ( p );
93 if ( ! item ) { 94 if ( ! item ) {
94 return i18n("Click in the cell\nto add an event!"); 95 return i18n("Click in the cell\nto add an event!");
95 } 96 }
96 return KIncidenceFormatter::instance()->getFormattedText(((MonthViewItem*) item)->incidence()); 97 return KIncidenceFormatter::instance()->getFormattedText(((MonthViewItem*) item)->incidence());
97} 98}
98void KNoScrollListBox::keyPressEvent(QKeyEvent *e) 99void KNoScrollListBox::keyPressEvent(QKeyEvent *e)
99{ 100{
100 101
101 switch(e->key()) { 102 switch(e->key()) {
102 case Key_Right: 103 case Key_Right:
103 if ( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton ) 104 if ( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton )
104 { 105 {
105 e->ignore(); 106 e->ignore();
106 return; 107 return;
107 } 108 }
108 scrollBy(10,0); 109 scrollBy(10,0);
109 break; 110 break;
110 case Key_Left: 111 case Key_Left:
111 if (e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton ) 112 if (e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton )
112 { 113 {
113 e->ignore(); 114 e->ignore();
114 return; 115 return;
115 } 116 }
116 scrollBy(-10,0); 117 scrollBy(-10,0);
117 break; 118 break;
118 case Key_Up: 119 case Key_Up:
119 if( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton) { 120 if( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton) {
120 e->ignore(); 121 e->ignore();
121 break; 122 break;
122 } 123 }
123 setCurrentItem((currentItem()+count()-1)%count()); 124 setCurrentItem((currentItem()+count()-1)%count());
124 if(!itemVisible(currentItem())) { 125 if(!itemVisible(currentItem())) {
125 if((unsigned int) currentItem() == (count()-1)) { 126 if((unsigned int) currentItem() == (count()-1)) {
126 setTopItem(currentItem()-numItemsVisible()+1); 127 setTopItem(currentItem()-numItemsVisible()+1);
127 } else { 128 } else {
128 setTopItem(topItem()-1); 129 setTopItem(topItem()-1);
129 } 130 }
130 } 131 }
131 break; 132 break;
132 case Key_Down: 133 case Key_Down:
133 if(e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton) { 134 if(e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton) {
134 e->ignore(); 135 e->ignore();
135 break; 136 break;
136 } 137 }
137 setCurrentItem((currentItem()+1)%count()); 138 setCurrentItem((currentItem()+1)%count());
138 if(!itemVisible(currentItem())) { 139 if(!itemVisible(currentItem())) {
139 if(currentItem() == 0) { 140 if(currentItem() == 0) {
140 setTopItem(0); 141 setTopItem(0);
141 } else { 142 } else {
142 setTopItem(topItem()+1); 143 setTopItem(topItem()+1);
143 } 144 }
144 } 145 }
145 break; 146 break;
146 case Key_I: 147 case Key_I:
147 QTimer::singleShot( 11, this, SLOT ( oneDown() ) ); 148 QTimer::singleShot( 11, this, SLOT ( oneDown() ) );
148 e->ignore(); 149 e->ignore();
149 break; 150 break;
150 case Key_Shift: 151 case Key_Shift:
151 emit shiftDown(); 152 emit shiftDown();
152 break; 153 break;
153 default: 154 default:
154 e->ignore(); 155 e->ignore();
155 break; 156 break;
156 } 157 }
157} 158}
158 159
159void KNoScrollListBox::oneDown() 160void KNoScrollListBox::oneDown()
160{ 161{
161 setCurrentItem((currentItem()+1)%count()); 162 setCurrentItem((currentItem()+1)%count());
162 if(!itemVisible(currentItem())) { 163 if(!itemVisible(currentItem())) {
163 if(currentItem() == 0) { 164 if(currentItem() == 0) {
164 setTopItem(0); 165 setTopItem(0);
165 } else { 166 } else {
166 setTopItem(topItem()+1); 167 setTopItem(topItem()+1);
167 } 168 }
168 } 169 }
169} 170}
170void KNoScrollListBox::keyReleaseEvent(QKeyEvent *e) 171void KNoScrollListBox::keyReleaseEvent(QKeyEvent *e)
171{ 172{
172 switch(e->key()) { 173 switch(e->key()) {
173 case Key_Shift: 174 case Key_Shift:
174 emit shiftUp(); 175 emit shiftUp();
175 break; 176 break;
176 default: 177 default:
177 break; 178 break;
178 } 179 }
179} 180}
180 181
181void KNoScrollListBox::mousePressEvent(QMouseEvent *e) 182void KNoScrollListBox::mousePressEvent(QMouseEvent *e)
182{ 183{
183 QListBox::mousePressEvent(e); 184 QListBox::mousePressEvent(e);
184 185
185 if(e->button() == RightButton) { 186 if(e->button() == RightButton) {
186 emit rightClick(); 187 emit rightClick();
187 } 188 }
188} 189}
189 190
190MonthViewItem::MonthViewItem( Incidence *incidence, QDate qd, const QString & s) 191MonthViewItem::MonthViewItem( Incidence *incidence, QDate qd, const QString & s)
191 : QListBoxItem() 192 : QListBoxItem()
192{ 193{
193 setText( s ); 194 setText( s );
194 195
195 mIncidence = incidence; 196 mIncidence = incidence;
196 mDate = qd; 197 mDate = qd;
197 // QWhatsThis::add(this,KIncidenceFormatter::instance()->getFormattedText( mIncidence )); 198 // QWhatsThis::add(this,KIncidenceFormatter::instance()->getFormattedText( mIncidence ));
198 mRecur = false; 199 mRecur = false;
199 mAlarm = false; 200 mAlarm = false;
200 mReply = false; 201 mReply = false;
201 mInfo = false; 202 mInfo = false;
202} 203}
203 204
204void MonthViewItem::paint(QPainter *p) 205void MonthViewItem::paint(QPainter *p)
205{ 206{
206#if QT_VERSION >= 0x030000 207#if QT_VERSION >= 0x030000
207 bool sel = isSelected(); 208 bool sel = isSelected();
208#else 209#else
209 bool sel = selected(); 210 bool sel = selected();
210#endif 211#endif
211 212
212 213
213 if (KOPrefs::instance()->mMonthViewUsesCategoryColor) 214 if (KOPrefs::instance()->mMonthViewUsesCategoryColor)
214 { 215 {
215 p->setBackgroundColor( palette().color( QPalette::Normal, \ 216 p->setBackgroundColor( palette().color( QPalette::Normal, \
216 sel ? QColorGroup::Highlight : QColorGroup::Background ) ); 217 sel ? QColorGroup::Highlight : QColorGroup::Background ) );