summaryrefslogtreecommitdiffabout
path: root/korganizer
Unidiff
Diffstat (limited to 'korganizer') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/journalentry.cpp39
-rw-r--r--korganizer/journalentry.h3
-rw-r--r--korganizer/kojournalview.cpp6
3 files changed, 15 insertions, 33 deletions
diff --git a/korganizer/journalentry.cpp b/korganizer/journalentry.cpp
index 58863fe..add874f 100644
--- a/korganizer/journalentry.cpp
+++ b/korganizer/journalentry.cpp
@@ -58,53 +58,50 @@ JournalEntry::JournalEntry(Calendar *calendar,QWidget *parent) :
58 QFrame(parent) 58 QFrame(parent)
59{ 59{
60 heiHint = QApplication::desktop()->height() / 5 ; 60 heiHint = QApplication::desktop()->height() / 5 ;
61 showOnlyMode = false; 61 showOnlyMode = false;
62 mCalendar = calendar; 62 mCalendar = calendar;
63 mJournal = 0; 63 mJournal = 0;
64 mDirty = false;
65 64
66 QHBox * vb = new QHBox ( this ); 65 QHBox * vb = new QHBox ( this );
67 QIconSet icon; 66 QPixmap iconp;
68 67
69 QPushButton * toggleJournal = new QPushButton( vb ); 68 QPushButton * toggleJournal = new QPushButton( vb );
70 icon = SmallIcon("1updownarrow"); 69 iconp = SmallIcon("1updownarrow");
71 toggleJournal->setIconSet (icon ) ; 70 toggleJournal->setPixmap (iconp ) ;
72 new QLabel(i18n(" Title: "),vb); 71 new QLabel(i18n(" Title: "),vb);
73 mTitle = new KLineEdit ( vb ); 72 mTitle = new KLineEdit ( vb );
74 mTitleLabel = new QLabel(i18n("Title"),vb); 73 mTitleLabel = new QLabel(i18n("Title"),vb);
75 mTitleLabel->setMargin(0); 74 mTitleLabel->setMargin(0);
76 mTitleLabel->setAlignment(AlignCenter); 75 mTitleLabel->setAlignment(AlignCenter);
77 QPushButton * loadTemplate = new QPushButton( vb ); 76 QPushButton * loadTemplate = new QPushButton( vb );
78 QPushButton * saveTemplate = new QPushButton( vb ); 77 QPushButton * saveTemplate = new QPushButton( vb );
79 if ( QApplication::desktop()->width() < 321 ) 78 if ( QApplication::desktop()->width() < 321 )
80 icon = SmallIcon("fileexport16"); 79 iconp = SmallIcon("fileexport16");
81 else 80 else
82 icon = SmallIcon("fileexport"); 81 iconp = SmallIcon("fileexport");
83 saveTemplate->setIconSet (icon ) ; 82 saveTemplate->setPixmap (iconp ) ;
84 int size = saveTemplate->sizeHint().height(); 83 int size = saveTemplate->sizeHint().height();
85 if ( QApplication::desktop()->width() < 321 ) 84 if ( QApplication::desktop()->width() < 321 )
86 icon = SmallIcon("fileimport16"); 85 iconp = SmallIcon("fileimport16");
87 else 86 else
88 icon = SmallIcon("fileimport"); 87 iconp = SmallIcon("fileimport");
89 loadTemplate->setIconSet (icon ) ; 88 loadTemplate->setPixmap (iconp ) ;
90 loadTemplate->setFixedSize( size, size ); 89 loadTemplate->setFixedSize( size, size );
91 saveTemplate->setFixedSize( size, size ); 90 saveTemplate->setFixedSize( size, size );
92 toggleJournal->setFixedSize( size , size ); 91 toggleJournal->setFixedSize( size , size );
93 mEditor = new KTextEdit(this); 92 mEditor = new KTextEdit(this);
94 connect(mEditor,SIGNAL(textChanged()),SLOT(setDirty()));
95#ifndef DESKTOP_VERSION 93#ifndef DESKTOP_VERSION
96 QPEApplication::setStylusOperation( mEditor, QPEApplication::RightOnHold ); 94 QPEApplication::setStylusOperation( mEditor, QPEApplication::RightOnHold );
97#endif 95#endif
98 mEditor->setWordWrap( KTextEdit::WidgetWidth ); 96 mEditor->setWordWrap( KTextEdit::WidgetWidth );
99 QBoxLayout *topLayout = new QVBoxLayout(this); 97 QBoxLayout *topLayout = new QVBoxLayout(this);
100 topLayout->addWidget(vb); 98 topLayout->addWidget(vb);
101 topLayout->addWidget(mEditor); 99 topLayout->addWidget(mEditor);
102 mEditor->installEventFilter(this); 100 mEditor->installEventFilter(this);
103 connect( saveTemplate, SIGNAL( clicked() ), this , SLOT( slotSaveTemplate() ) ); 101 connect( saveTemplate, SIGNAL( clicked() ), this , SLOT( slotSaveTemplate() ) );
104 connect( mTitle, SIGNAL( textChanged ( const QString & ) ), this , SLOT( setDirty() ) );
105 connect( loadTemplate, SIGNAL( clicked() ), this , SLOT( slotLoadTemplate() ) ); 102 connect( loadTemplate, SIGNAL( clicked() ), this , SLOT( slotLoadTemplate() ) );
106 connect( toggleJournal, SIGNAL( clicked() ), this , SLOT( toggleShowJournal() ) ); 103 connect( toggleJournal, SIGNAL( clicked() ), this , SLOT( toggleShowJournal() ) );
107} 104}
108 105
109JournalEntry::~JournalEntry() 106JournalEntry::~JournalEntry()
110{ 107{
@@ -158,13 +155,12 @@ void JournalEntry::slotLoadTemplate()
158 QString text = tsIn.read(); 155 QString text = tsIn.read();
159 fileIn.close(); 156 fileIn.close();
160 int line, col; 157 int line, col;
161 mEditor->getCursorPosition (& line, & col ); 158 mEditor->getCursorPosition (& line, & col );
162 mEditor-> insertAt ( text, line, col, true ); 159 mEditor-> insertAt ( text, line, col, true );
163 //mEditor->setIgnoreMark( true ); 160 //mEditor->setIgnoreMark( true );
164 setDirty();
165} 161}
166void JournalEntry::setDate(const QDate &date) 162void JournalEntry::setDate(const QDate &date)
167{ 163{
168 showOnlyMode = false; 164 showOnlyMode = false;
169 mDate = date; 165 mDate = date;
170 writeJournal(); 166 writeJournal();
@@ -200,26 +196,19 @@ void JournalEntry::setJournal(Journal *journal)
200 mEditor->setReadOnly ( journal->isReadOnly() ); 196 mEditor->setReadOnly ( journal->isReadOnly() );
201 int id = mJournal->calID(); 197 int id = mJournal->calID();
202 198
203 QString calname = KOPrefs::instance()->getCalendar( id )->mName; 199 QString calname = KOPrefs::instance()->getCalendar( id )->mName;
204 mTitleLabel->setText( " (" + calname +")"); 200 mTitleLabel->setText( " (" + calname +")");
205 201
206 mDirty = false;
207} 202}
208 203
209Journal *JournalEntry::journal() const 204Journal *JournalEntry::journal() const
210{ 205{
211 return mJournal; 206 return mJournal;
212} 207}
213 208
214void JournalEntry::setDirty()
215{
216 mDirty = true;
217
218// kdDebug() << "JournalEntry::setDirty()" << endl;
219}
220 209
221void JournalEntry::clear() 210void JournalEntry::clear()
222{ 211{
223 mJournal = 0; 212 mJournal = 0;
224 mEditor->setText(""); 213 mEditor->setText("");
225} 214}
@@ -241,18 +230,15 @@ bool JournalEntry::eventFilter( QObject *o, QEvent *e )
241 230
242 return QFrame::eventFilter( o, e ); // standard event processing 231 return QFrame::eventFilter( o, e ); // standard event processing
243} 232}
244 233
245void JournalEntry::writeJournal() 234void JournalEntry::writeJournal()
246{ 235{
247// kdDebug() << "JournalEntry::writeJournal()" << endl;
248 if (!mDirty) return;
249 236
250 if (mEditor->text().isEmpty()) { 237 if (mEditor->text().isEmpty() && mTitle->text().isEmpty()) {
251 if ( mJournal ) { 238 if ( mJournal ) {
252 mDirty = false;
253 bool conf = KOPrefs::instance()->mConfirm; 239 bool conf = KOPrefs::instance()->mConfirm;
254 KOPrefs::instance()->mConfirm = false; 240 KOPrefs::instance()->mConfirm = false;
255 emit deleteJournal(mJournal); 241 emit deleteJournal(mJournal);
256 KOPrefs::instance()->mConfirm = conf; 242 KOPrefs::instance()->mConfirm = conf;
257 mJournal = 0; 243 mJournal = 0;
258 } 244 }
@@ -266,20 +252,17 @@ void JournalEntry::writeJournal()
266 mJournal->setDtStart(QDateTime(mDate,QTime(0,0,0))); 252 mJournal->setDtStart(QDateTime(mDate,QTime(0,0,0)));
267 mCalendar->addJournal(mJournal); 253 mCalendar->addJournal(mJournal);
268 } 254 }
269 255
270 mJournal->setDescription(mEditor->text()); 256 mJournal->setDescription(mEditor->text());
271 mJournal->setSummary(mTitle->text()); 257 mJournal->setSummary(mTitle->text());
272 mDirty = false;
273} 258}
274 259
275void JournalEntry::flushEntry() 260void JournalEntry::flushEntry()
276{ 261{
277 if (!mDirty) return; 262 writeJournal();
278
279 writeJournal();
280} 263}
281void JournalEntry::keyPressEvent ( QKeyEvent * e ) 264void JournalEntry::keyPressEvent ( QKeyEvent * e )
282{ 265{
283 e->ignore(); 266 e->ignore();
284 267
285} 268}
diff --git a/korganizer/journalentry.h b/korganizer/journalentry.h
index b37cabd..f2db785 100644
--- a/korganizer/journalentry.h
+++ b/korganizer/journalentry.h
@@ -52,13 +52,12 @@ class JournalEntry : public QFrame {
52 void setShowOnly(); 52 void setShowOnly();
53 QSize sizeHint() const; 53 QSize sizeHint() const;
54 54
55 protected slots: 55 protected slots:
56 void slotSaveTemplate(); 56 void slotSaveTemplate();
57 void slotLoadTemplate(); 57 void slotLoadTemplate();
58 void setDirty();
59 void toggleShowJournal(); 58 void toggleShowJournal();
60 signals: 59 signals:
61 void deleteJournal(Journal *); 60 void deleteJournal(Journal *);
62 void newJournal(); 61 void newJournal();
63 void showJournalOnly( Journal * ); 62 void showJournalOnly( Journal * );
64 63
@@ -74,11 +73,9 @@ class JournalEntry : public QFrame {
74 QDate mDate; 73 QDate mDate;
75 void keyPressEvent ( QKeyEvent * ) ; 74 void keyPressEvent ( QKeyEvent * ) ;
76 QLabel *mTitleLabel; 75 QLabel *mTitleLabel;
77 KLineEdit * mTitle; 76 KLineEdit * mTitle;
78 KTextEdit *mEditor; 77 KTextEdit *mEditor;
79 int heiHint; 78 int heiHint;
80
81 bool mDirty;
82}; 79};
83 80
84#endif 81#endif
diff --git a/korganizer/kojournalview.cpp b/korganizer/kojournalview.cpp
index ff87ef4..cb9a2c0 100644
--- a/korganizer/kojournalview.cpp
+++ b/korganizer/kojournalview.cpp
@@ -56,18 +56,18 @@ KOJournalView::KOJournalView(Calendar *calendar, QWidget *parent,
56 parWid = new QWidget( sv->viewport() ); 56 parWid = new QWidget( sv->viewport() );
57 sv->addChild(parWid); 57 sv->addChild(parWid);
58 sv->setResizePolicy( QScrollView:: AutoOneFit ); 58 sv->setResizePolicy( QScrollView:: AutoOneFit );
59 mTopLayout = new QVBoxLayout(parWid); 59 mTopLayout = new QVBoxLayout(parWid);
60 QHBox * vb = new QHBox ( parWid ); 60 QHBox * vb = new QHBox ( parWid );
61 QPushButton * newJournal = new QPushButton( vb ); 61 QPushButton * newJournal = new QPushButton( vb );
62 QIconSet icon; 62 QPixmap icon;
63 if ( QApplication::desktop()->width() < 321 ) 63 if ( QApplication::desktop()->width() < 321 )
64 icon = SmallIcon("ko16old"); 64 icon = SmallIcon("ko16old");
65 else 65 else
66 icon = SmallIcon("ko24old"); 66 icon = SmallIcon("ko24old");
67 newJournal->setIconSet (icon ) ; 67 newJournal->setPixmap (icon ) ;
68 int size = newJournal->sizeHint().height(); 68 int size = newJournal->sizeHint().height();
69 newJournal->setFixedSize( size, size ); 69 newJournal->setFixedSize( size, size );
70 mDateLabel = new QLabel ( vb ); 70 mDateLabel = new QLabel ( vb );
71 mTopLayout->addWidget( vb ); 71 mTopLayout->addWidget( vb );
72 mDateLabel->setMargin(1); 72 mDateLabel->setMargin(1);
73 mDateLabel->setAlignment(AlignCenter); 73 mDateLabel->setAlignment(AlignCenter);
@@ -135,20 +135,22 @@ void KOJournalView::clearList()
135 mEntry->clear(); 135 mEntry->clear();
136 mEntry = jEntries.next(); 136 mEntry = jEntries.next();
137 } 137 }
138} 138}
139void KOJournalView::newJournal() 139void KOJournalView::newJournal()
140{ 140{
141 flushView();
141 Journal* mJournal = new Journal; 142 Journal* mJournal = new Journal;
142 mJournal->setDtStart(QDateTime(mDate,QTime(0,0,0))); 143 mJournal->setDtStart(QDateTime(mDate,QTime(0,0,0)));
143 mCalendar->addJournal(mJournal); 144 mCalendar->addJournal(mJournal);
144 showDates( mDate, QDate() ); 145 showDates( mDate, QDate() );
145} 146}
146 147
147void KOJournalView::showOnly ( Journal* j ) 148void KOJournalView::showOnly ( Journal* j )
148{ 149{
150 flushView();
149 if ( j == 0 ) { 151 if ( j == 0 ) {
150 showDates( mDate, QDate() ); 152 showDates( mDate, QDate() );
151 return; 153 return;
152 } 154 }
153 QPtrList<Journal> jl; 155 QPtrList<Journal> jl;
154 jl.append ( j ); 156 jl.append ( j );