summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/journalentry.cpp53
-rw-r--r--korganizer/journalentry.h7
-rw-r--r--korganizer/koeditorgeneral.cpp8
-rw-r--r--korganizer/kojournalview.cpp10
-rw-r--r--korganizer/koprefs.cpp10
-rw-r--r--korganizer/koprefs.h1
6 files changed, 63 insertions, 26 deletions
diff --git a/korganizer/journalentry.cpp b/korganizer/journalentry.cpp
index 4751d40..56221dc 100644
--- a/korganizer/journalentry.cpp
+++ b/korganizer/journalentry.cpp
@@ -74,19 +74,19 @@ JournalEntry::JournalEntry(Calendar *calendar,QWidget *parent) :
74 QPixmap iconp; 74 QPixmap iconp;
75 vb->setMargin ( KDialog::marginHint()-1 ); 75 vb->setMargin ( KDialog::marginHint()-1 );
76 QPushButton * toggleJournal = new QPushButton( vb ); 76 QPushButton * toggleJournal = new QPushButton( vb );
77 iconp = SmallIcon("1updownarrow"); 77 iconp = SmallIcon("1updownarrow");
78 toggleJournal->setPixmap (iconp ) ; 78 toggleJournal->setPixmap (iconp ) ;
79 new QLabel(" "+i18n("Title: "),vb); 79 new QLabel(" "+i18n("Title: "),vb);
80 mTitle = new KOLocationBox(TRUE, vb, 30); 80 mTitle = new KOLocationBox(TRUE, vb, 30);
81 mTitle->setSizePolicy( QSizePolicy( QSizePolicy::MinimumExpanding ,QSizePolicy::Fixed ,FALSE) ); 81 mTitle->setSizePolicy( QSizePolicy( QSizePolicy::MinimumExpanding ,QSizePolicy::Fixed ,FALSE) );
82 mTitleLabel = new QLabel(i18n("Title"),vb); 82 mCalendarBox = new QComboBox(vb);
83 mTitleLabel->setMargin(0); 83 //mTitleLabel->setMargin(0);
84 mTitleLabel->setAlignment(AlignCenter); 84 //mTitleLabel->setAlignment(AlignCenter);
85 QPushButton * loadTemplate = new QPushButton( vb ); 85 QPushButton * loadTemplate = new QPushButton( vb );
86 QPushButton * saveTemplate = new QPushButton( vb ); 86 QPushButton * saveTemplate = new QPushButton( vb );
87 if ( QApplication::desktop()->width() < 321 ) 87 if ( QApplication::desktop()->width() < 321 )
88 iconp = SmallIcon("fileexport16"); 88 iconp = SmallIcon("fileexport16");
89 else 89 else
90 iconp = SmallIcon("fileexport"); 90 iconp = SmallIcon("fileexport");
91 saveTemplate->setPixmap (iconp ) ; 91 saveTemplate->setPixmap (iconp ) ;
92 int size = saveTemplate->sizeHint().height(); 92 int size = saveTemplate->sizeHint().height();
@@ -94,16 +94,17 @@ JournalEntry::JournalEntry(Calendar *calendar,QWidget *parent) :
94 iconp = SmallIcon("fileimport16"); 94 iconp = SmallIcon("fileimport16");
95 else 95 else
96 iconp = SmallIcon("fileimport"); 96 iconp = SmallIcon("fileimport");
97 loadTemplate->setPixmap (iconp ) ; 97 loadTemplate->setPixmap (iconp ) ;
98 loadTemplate->setFixedSize( size, size ); 98 loadTemplate->setFixedSize( size, size );
99 saveTemplate->setFixedSize( size, size ); 99 saveTemplate->setFixedSize( size, size );
100 toggleJournal->setFixedSize( size , size ); 100 toggleJournal->setFixedSize( size , size );
101 mTitle->setMaximumHeight( size+4); 101 mTitle->setMaximumHeight( size+4);
102 mCalendarBox->setMaximumHeight( size+4);
102 mEditor = new KTextEdit(this); 103 mEditor = new KTextEdit(this);
103#ifndef DESKTOP_VERSION 104#ifndef DESKTOP_VERSION
104 QPEApplication::setStylusOperation( mEditor, QPEApplication::RightOnHold ); 105 QPEApplication::setStylusOperation( mEditor, QPEApplication::RightOnHold );
105#endif 106#endif
106 mEditor->setWordWrap( KTextEdit::WidgetWidth ); 107 mEditor->setWordWrap( KTextEdit::WidgetWidth );
107 QBoxLayout *topLayout = new QVBoxLayout(this); 108 QBoxLayout *topLayout = new QVBoxLayout(this);
108 topLayout->addWidget(vb); 109 topLayout->addWidget(vb);
109 topLayout->addWidget(mEditor); 110 topLayout->addWidget(mEditor);
@@ -171,19 +172,44 @@ void JournalEntry::slotLoadTemplate()
171 mEditor-> insertAt ( text, line, col, true ); 172 mEditor-> insertAt ( text, line, col, true );
172 //mEditor->setIgnoreMark( true ); 173 //mEditor->setIgnoreMark( true );
173} 174}
174void JournalEntry::setDate(const QDate &date) 175void JournalEntry::setDate(const QDate &date)
175{ 176{
176 showOnlyMode = false; 177 showOnlyMode = false;
177 writeJournal(); 178 writeJournal();
178 mDate = date; 179 mDate = date;
179 int id = mCalendar->defaultCalendar(); 180 fillCalendar( mCalendar->defaultCalendar() );
180 QString calname = KOPrefs::instance()->getCalendar( id )->mName; 181}
181 mTitleLabel->setText( " (" + calname +")"); 182void JournalEntry::fillCalendar( int setToID )
183{
184 mCalendarBox->clear();
185 KopiCalendarFile * kkf = KOPrefs::instance()->mCalendars.first();
186 int std = 0;
187 int count = 0;
188 while ( kkf ) {
189 if ( (!kkf->mErrorOnLoad &&! kkf->isReadOnly) || setToID == kkf->mCalNumber ) {
190 if ( setToID ) {
191 if ( kkf->mCalNumber == setToID )
192 std = count;
193 } else {
194 if ( kkf->isStandard ) {
195 std = count;
196 }
197 }
198 ++count;
199 mCalendarBox->insertItem( kkf->mName );
200 }
201 kkf = KOPrefs::instance()->mCalendars.next();
202 }
203 mCalendarBox->setCurrentItem( std );
204 if ( KOPrefs::instance()->mCalendars.count() == 1 )
205 mCalendarBox->hide();
206 else
207 mCalendarBox->show();
182} 208}
183 209
184void JournalEntry::toggleShowJournal() 210void JournalEntry::toggleShowJournal()
185{ 211{
186 if (!mEditor->text().isEmpty() || !mTitle->currentText ().isEmpty()) 212 if (!mEditor->text().isEmpty() || !mTitle->currentText ().isEmpty())
187 flushEntry(); 213 flushEntry();
188 if ( showOnlyMode ) 214 if ( showOnlyMode )
189 emit showJournalOnly( 0 ); 215 emit showJournalOnly( 0 );
@@ -201,33 +227,31 @@ void JournalEntry::setVisibleOn()
201void JournalEntry::setShowOnly() 227void JournalEntry::setShowOnly()
202{ 228{
203 showOnlyMode = true; 229 showOnlyMode = true;
204 if ( mTitle->currentText().isEmpty() ) 230 if ( mTitle->currentText().isEmpty() )
205 mTitle->setFocus(); 231 mTitle->setFocus();
206 else 232 else
207 mEditor->setFocus(); 233 mEditor->setFocus();
208} 234}
209void JournalEntry::setJournal(Journal *journal) 235void JournalEntry::setJournal(Journal *journal, bool saveJournal )
210{ 236{
211 writeJournal(); 237 if ( saveJournal )
238 writeJournal();
212 mTitle->load( KOLocationBox::SUMMARYJOURNAL ); 239 mTitle->load( KOLocationBox::SUMMARYJOURNAL );
213 240
214 mJournal = journal; 241 mJournal = journal;
215 if ( journal->isReadOnly() ) 242 if ( journal->isReadOnly() )
216 mTitle->lineEdit ()->setText(mJournal->summary()+" ("+i18n("readonly")+")"); 243 mTitle->lineEdit ()->setText(mJournal->summary()+" ("+i18n("readonly")+")");
217 else 244 else
218 mTitle->lineEdit ()->setText(mJournal->summary()); 245 mTitle->lineEdit ()->setText(mJournal->summary());
219 mEditor->setText(mJournal->description()); 246 mEditor->setText(mJournal->description());
220 mTitle->setEnabled (!journal->isReadOnly() ); 247 mTitle->setEnabled (!journal->isReadOnly() );
221 mEditor->setReadOnly ( journal->isReadOnly() ); 248 mEditor->setReadOnly ( journal->isReadOnly() );
222 int id = mJournal->calID(); 249 fillCalendar( mJournal->calID() );
223
224 QString calname = KOPrefs::instance()->getCalendar( id )->mName;
225 mTitleLabel->setText( " (" + calname +")");
226} 250}
227 251
228Journal *JournalEntry::journal() const 252Journal *JournalEntry::journal() const
229{ 253{
230 return mJournal; 254 return mJournal;
231} 255}
232 256
233 257
@@ -255,16 +279,17 @@ bool JournalEntry::eventFilter( QObject *o, QEvent *e )
255 } 279 }
256 280
257 return QFrame::eventFilter( o, e ); // standard event processing 281 return QFrame::eventFilter( o, e ); // standard event processing
258} 282}
259 283
260void JournalEntry::writeJournal() 284void JournalEntry::writeJournal()
261{ 285{
262 if ( !visibleMode ) return; 286 if ( !visibleMode ) return;
287 if ( !mTitle->isEnabled() ) return;
263 if (mEditor->text().isEmpty() && mTitle->currentText().isEmpty()) { 288 if (mEditor->text().isEmpty() && mTitle->currentText().isEmpty()) {
264 if ( mJournal ) { 289 if ( mJournal ) {
265 Journal* j = mJournal; 290 Journal* j = mJournal;
266 mJournal = 0; 291 mJournal = 0;
267 bool conf = KOPrefs::instance()->mConfirm; 292 bool conf = KOPrefs::instance()->mConfirm;
268 KOPrefs::instance()->mConfirm = false; 293 KOPrefs::instance()->mConfirm = false;
269 emit deleteJournal(j); 294 emit deleteJournal(j);
270 KOPrefs::instance()->mConfirm = conf; 295 KOPrefs::instance()->mConfirm = conf;
@@ -281,16 +306,20 @@ void JournalEntry::writeJournal()
281 } 306 }
282 if ( mJournal->description() != mEditor->text() ) { 307 if ( mJournal->description() != mEditor->text() ) {
283 mJournal->setDescription(mEditor->text()); 308 mJournal->setDescription(mEditor->text());
284 } 309 }
285 if ( mJournal->summary() != mTitle->currentText() ) { 310 if ( mJournal->summary() != mTitle->currentText() ) {
286 mJournal->setSummary(mTitle->currentText()); 311 mJournal->setSummary(mTitle->currentText());
287 mTitle->save(KOLocationBox::SUMMARYJOURNAL); 312 mTitle->save(KOLocationBox::SUMMARYJOURNAL);
288 } 313 }
314 int id = KOPrefs::instance()->getCalendarID( mCalendarBox->currentText() );
315 if ( mJournal->calID() != id ) {
316 mJournal->setCalID( id );
317 }
289} 318}
290 319
291void JournalEntry::flushEntry() 320void JournalEntry::flushEntry()
292{ 321{
293 writeJournal(); 322 writeJournal();
294} 323}
295void JournalEntry::keyPressEvent ( QKeyEvent * e ) 324void JournalEntry::keyPressEvent ( QKeyEvent * e )
296{ 325{
diff --git a/korganizer/journalentry.h b/korganizer/journalentry.h
index fb19fb1..ed04b7c 100644
--- a/korganizer/journalentry.h
+++ b/korganizer/journalentry.h
@@ -26,39 +26,40 @@
26// Widget showing one Journal entry 26// Widget showing one Journal entry
27 27
28#include <qframe.h> 28#include <qframe.h>
29 29
30#include <libkcal/calendar.h> 30#include <libkcal/calendar.h>
31 31
32class QLabel; 32class QLabel;
33class KTextEdit; 33class KTextEdit;
34class QComboBox;
34class KLineEdit; 35class KLineEdit;
35class KOLocationBox; 36class KOLocationBox;
36 37
37using namespace KCal; 38using namespace KCal;
38 39
39class JournalEntry : public QFrame { 40class JournalEntry : public QFrame {
40 Q_OBJECT 41 Q_OBJECT
41 public: 42 public:
42 JournalEntry(Calendar *,QWidget *parent); 43 JournalEntry(Calendar *,QWidget *parent);
43 virtual ~JournalEntry(); 44 virtual ~JournalEntry();
44 45
45 void setJournal(Journal *); 46 void setJournal(Journal *, bool saveJournal = true );
46 Journal *journal() const; 47 Journal *journal() const;
47 48
48 void setDate(const QDate &); 49 void setDate(const QDate &);
49 50
50 void clear(); 51 void clear();
51 52
52 void flushEntry(); 53 void flushEntry();
53 void setShowOnly(); 54 void setShowOnly();
54 QSize sizeHint() const; 55 QSize sizeHint() const;
55 void setVisibleMode( bool b ) { visibleMode = b;} 56 void setVisibleMode( bool b ) { visibleMode = b;}
56 57 void fillCalendar( int id = 0 );
57 protected slots: 58 protected slots:
58 void slotSaveTemplate(); 59 void slotSaveTemplate();
59 void slotLoadTemplate(); 60 void slotLoadTemplate();
60 void toggleShowJournal(); 61 void toggleShowJournal();
61 void setVisibleOn(); 62 void setVisibleOn();
62 signals: 63 signals:
63 void deleteJournal(Journal *); 64 void deleteJournal(Journal *);
64 void newJournal(); 65 void newJournal();
@@ -71,15 +72,15 @@ class JournalEntry : public QFrame {
71 72
72 private: 73 private:
73 bool visibleMode; 74 bool visibleMode;
74 bool showOnlyMode; 75 bool showOnlyMode;
75 Calendar *mCalendar; 76 Calendar *mCalendar;
76 Journal *mJournal; 77 Journal *mJournal;
77 QDate mDate; 78 QDate mDate;
78 void keyPressEvent ( QKeyEvent * ) ; 79 void keyPressEvent ( QKeyEvent * ) ;
79 QLabel *mTitleLabel; 80 QComboBox *mCalendarBox;
80 KOLocationBox * mTitle; 81 KOLocationBox * mTitle;
81 KTextEdit *mEditor; 82 KTextEdit *mEditor;
82 int heiHint; 83 int heiHint;
83}; 84};
84 85
85#endif 86#endif
diff --git a/korganizer/koeditorgeneral.cpp b/korganizer/koeditorgeneral.cpp
index fd50b05..aa55d82 100644
--- a/korganizer/koeditorgeneral.cpp
+++ b/korganizer/koeditorgeneral.cpp
@@ -478,23 +478,17 @@ void KOEditorGeneral::fillCalCombo( int setToID )
478 if ( KOPrefs::instance()->mCalendars.count() == 1 ) 478 if ( KOPrefs::instance()->mCalendars.count() == 1 )
479 mCalendarBox->hide(); 479 mCalendarBox->hide();
480 else 480 else
481 mCalendarBox->show(); 481 mCalendarBox->show();
482 482
483} 483}
484int KOEditorGeneral::getCalendarID() 484int KOEditorGeneral::getCalendarID()
485{ 485{
486 KopiCalendarFile * kkf = KOPrefs::instance()->mCalendars.first(); 486 return KOPrefs::instance()->getCalendarID( mCalendarBox->currentText() );
487 while ( kkf ) {
488 if ( mCalendarBox->currentText() == kkf->mName)
489 return kkf->mCalNumber;
490 kkf = KOPrefs::instance()->mCalendars.next();
491 }
492 return 1;
493} 487}
494 488
495void KOEditorGeneral::readIncidence(Incidence *event) 489void KOEditorGeneral::readIncidence(Incidence *event)
496{ 490{
497 fillCalCombo( event->calID() ); 491 fillCalCombo( event->calID() );
498 mAlarmMessage = event->summary(); 492 mAlarmMessage = event->summary();
499 if ( ! event->location().isEmpty() ) 493 if ( ! event->location().isEmpty() )
500 mAlarmMessage += " ("+event->location()+")"; 494 mAlarmMessage += " ("+event->location()+")";
diff --git a/korganizer/kojournalview.cpp b/korganizer/kojournalview.cpp
index 9b0e748..0523954 100644
--- a/korganizer/kojournalview.cpp
+++ b/korganizer/kojournalview.cpp
@@ -150,46 +150,48 @@ void KOJournalView::newJournal()
150 Journal* mJournal = new Journal; 150 Journal* mJournal = new Journal;
151 mJournal->setDtStart(QDateTime(mDate,QTime(0,0,0))); 151 mJournal->setDtStart(QDateTime(mDate,QTime(0,0,0)));
152 mCalendar->addJournal(mJournal); 152 mCalendar->addJournal(mJournal);
153 showDates( mDate, QDate() ); 153 showDates( mDate, QDate() );
154} 154}
155 155
156void KOJournalView::showOnly ( Journal* j ) 156void KOJournalView::showOnly ( Journal* j )
157{ 157{
158 qDebug("showOnly %x ", j); 158 //qDebug("showOnly %x ", j);
159 flushView(); 159 flushView();
160 if ( j == 0 ) { 160 if ( j == 0 ) {
161 showDates( mDate, QDate() ); 161 showDates( mDate, QDate() );
162 return; 162 return;
163 } 163 }
164 QPtrList<Journal> jl; 164 QPtrList<Journal> jl;
165 jl.append ( j ); 165 jl.append ( j );
166 showList( jl ); 166 showList( jl );
167 JournalEntry* mEntry = jEntries.first(); 167 JournalEntry* mEntry = jEntries.first();
168 mEntry->setShowOnly(); 168 mEntry->setShowOnly();
169} 169}
170void KOJournalView::showList(QPtrList<Journal> jl) 170void KOJournalView::showList(QPtrList<Journal> jl)
171{ 171{
172 qDebug("KOJournalView::showList %d",jl.count() ); 172 //qDebug("KOJournalView::showList %d",jl.count() );
173 JournalEntry* mEntry = jEntries.first(); 173 JournalEntry* mEntry = jEntries.first();
174 JournalEntry* firstEntry = mEntry; 174 JournalEntry* firstEntry = mEntry;
175 int count = jl.count(); 175 int count = jl.count();
176 int iii = 0; 176 int iii = 0;
177 while ( iii < count ) { 177 while ( iii < count ) {
178 if ( !mEntry ) { 178 if ( !mEntry ) {
179 mEntry = getNewEntry(); 179 mEntry = getNewEntry();
180 mEntry->setVisibleMode( true );
180 mEntry->setDate(mDate); 181 mEntry->setDate(mDate);
181 mEntry->setJournal(jl.at(iii)); 182 mEntry->setJournal(jl.at(iii), false);
182 mEntry->setVisibleMode( true ); 183 mEntry->setVisibleMode( true );
183 mEntry->show(); 184 mEntry->show();
184 mEntry = 0; 185 mEntry = 0;
185 } else { 186 } else {
187 mEntry->setVisibleMode( true );
186 mEntry->setDate(mDate); 188 mEntry->setDate(mDate);
187 mEntry->setJournal(jl.at(iii)); 189 mEntry->setJournal(jl.at(iii), false);
188 mEntry->setVisibleMode( true ); 190 mEntry->setVisibleMode( true );
189 mEntry->show(); 191 mEntry->show();
190 mEntry = jEntries.next(); 192 mEntry = jEntries.next();
191 } 193 }
192 ++iii; 194 ++iii;
193 } 195 }
194 while ( mEntry ) { 196 while ( mEntry ) {
195 mEntry->setDate(mDate); 197 mEntry->setDate(mDate);
diff --git a/korganizer/koprefs.cpp b/korganizer/koprefs.cpp
index bb3d720..a886735 100644
--- a/korganizer/koprefs.cpp
+++ b/korganizer/koprefs.cpp
@@ -496,16 +496,26 @@ void KOPrefs::deleteCalendar( int num )
496 qDebug("KOPrefs::deleteCalendar %d ", num ); 496 qDebug("KOPrefs::deleteCalendar %d ", num );
497 mCalendars.remove( kkf ); 497 mCalendars.remove( kkf );
498 delete kkf; 498 delete kkf;
499 return; 499 return;
500 } 500 }
501 kkf = mCalendars.next(); 501 kkf = mCalendars.next();
502 } 502 }
503} 503}
504int KOPrefs::getCalendarID( const QString & name )
505{
506 KopiCalendarFile * kkf = mCalendars.first();
507 while ( kkf ) {
508 if ( name == kkf->mName)
509 return kkf->mCalNumber;
510 kkf = mCalendars.next();
511 }
512 return 1;
513}
504QString KOPrefs::calName( int calNum) const 514QString KOPrefs::calName( int calNum) const
505{ 515{
506 return (mDefCalColors[calNum-1])->mName; 516 return (mDefCalColors[calNum-1])->mName;
507} 517}
508QColor KOPrefs::defaultColor( int calNum ) const 518QColor KOPrefs::defaultColor( int calNum ) const
509{ 519{
510 if ( calNum == 1 ) return mEventColor; 520 if ( calNum == 1 ) return mEventColor;
511 return (mDefCalColors[calNum-1])->mDefaultColor; 521 return (mDefCalColors[calNum-1])->mDefaultColor;
diff --git a/korganizer/koprefs.h b/korganizer/koprefs.h
index 53d193b..7ec5327 100644
--- a/korganizer/koprefs.h
+++ b/korganizer/koprefs.h
@@ -95,16 +95,17 @@ class KOPrefs : public KPimPrefs
95 void usrWriteConfig(); 95 void usrWriteConfig();
96 void setCategoryDefaults(); 96 void setCategoryDefaults();
97 void setAllDefaults(); 97 void setAllDefaults();
98 KopiCalendarFile * getNewCalendar(); 98 KopiCalendarFile * getNewCalendar();
99 KopiCalendarFile * getCalendar( int ); 99 KopiCalendarFile * getCalendar( int );
100 void deleteCalendar( int ); 100 void deleteCalendar( int );
101 QColor defaultColor( int ) const; 101 QColor defaultColor( int ) const;
102 QString calName( int ) const; 102 QString calName( int ) const;
103 int getCalendarID( const QString & name );
103 protected: 104 protected:
104 void setTimeZoneIdDefault(); 105 void setTimeZoneIdDefault();
105 106
106 /** Fill empty mail fields with default values. */ 107 /** Fill empty mail fields with default values. */
107 void fillMailDefaults(); 108 void fillMailDefaults();
108 109
109 private: 110 private:
110 /** Constructor disabled for public. Use instance() to create a KOPrefs 111 /** Constructor disabled for public. Use instance() to create a KOPrefs