summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/journalentry.cpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/korganizer/journalentry.cpp b/korganizer/journalentry.cpp
index 56221dc..902e96f 100644
--- a/korganizer/journalentry.cpp
+++ b/korganizer/journalentry.cpp
@@ -55,52 +55,60 @@
55//#include "journalentry.moc" 55//#include "journalentry.moc"
56#ifndef DESKTOP_VERSION 56#ifndef DESKTOP_VERSION
57#include <qpe/qpeapplication.h> 57#include <qpe/qpeapplication.h>
58#endif 58#endif
59JournalEntry::JournalEntry(Calendar *calendar,QWidget *parent) : 59JournalEntry::JournalEntry(Calendar *calendar,QWidget *parent) :
60 QFrame(parent) 60 QFrame(parent)
61{ 61{
62 62
63 int fac = 5; 63 int fac = 5;
64 heiHint = QApplication::desktop()->height(); 64 heiHint = QApplication::desktop()->height();
65 if ( heiHint > 800 ) 65 if ( heiHint > 800 )
66 fac += 2; 66 fac += 2;
67 heiHint = heiHint / fac; 67 heiHint = heiHint / fac;
68 68
69 showOnlyMode = false; 69 showOnlyMode = false;
70 mCalendar = calendar; 70 mCalendar = calendar;
71 mJournal = 0; 71 mJournal = 0;
72 visibleMode = true; 72 visibleMode = true;
73 QHBox * vb = new QHBox ( this ); 73 QHBox * vb = new QHBox ( this );
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 vb->setStretchFactor (new QLabel(" "+i18n("Title: "),vb),1);
80 vb->setStretchFactor( toggleJournal, 1 );
80 mTitle = new KOLocationBox(TRUE, vb, 30); 81 mTitle = new KOLocationBox(TRUE, vb, 30);
81 mTitle->setSizePolicy( QSizePolicy( QSizePolicy::MinimumExpanding ,QSizePolicy::Fixed ,FALSE) ); 82 mTitle->setSizePolicy( QSizePolicy( QSizePolicy::MinimumExpanding ,QSizePolicy::Fixed ,FALSE) );
82 mCalendarBox = new QComboBox(vb); 83 mCalendarBox = new QComboBox(vb);
84 mCalendarBox->setSizePolicy( QSizePolicy( QSizePolicy::MinimumExpanding ,QSizePolicy::Fixed ,FALSE) );
85#ifndef DESKTOP_VERSION
86 mTitle->setSizeLimit( 8 );
87 mCalendarBox->setSizeLimit( 8 );
88#endif
89 vb->setStretchFactor ( mTitle, 8 );
90 vb->setStretchFactor ( mCalendarBox, 3 );
83 //mTitleLabel->setMargin(0); 91 //mTitleLabel->setMargin(0);
84 //mTitleLabel->setAlignment(AlignCenter); 92 //mTitleLabel->setAlignment(AlignCenter);
85 QPushButton * loadTemplate = new QPushButton( vb ); 93 QPushButton * loadTemplate = new QPushButton( vb );
86 QPushButton * saveTemplate = new QPushButton( vb ); 94 QPushButton * saveTemplate = new QPushButton( vb );
87 if ( QApplication::desktop()->width() < 321 ) 95 if ( QApplication::desktop()->width() < 321 )
88 iconp = SmallIcon("fileexport16"); 96 iconp = SmallIcon("fileexport16");
89 else 97 else
90 iconp = SmallIcon("fileexport"); 98 iconp = SmallIcon("fileexport");
91 saveTemplate->setPixmap (iconp ) ; 99 saveTemplate->setPixmap (iconp ) ;
92 int size = saveTemplate->sizeHint().height(); 100 int size = saveTemplate->sizeHint().height();
93 if ( QApplication::desktop()->width() < 321 ) 101 if ( QApplication::desktop()->width() < 321 )
94 iconp = SmallIcon("fileimport16"); 102 iconp = SmallIcon("fileimport16");
95 else 103 else
96 iconp = SmallIcon("fileimport"); 104 iconp = SmallIcon("fileimport");
97 loadTemplate->setPixmap (iconp ) ; 105 loadTemplate->setPixmap (iconp ) ;
98 loadTemplate->setFixedSize( size, size ); 106 loadTemplate->setFixedSize( size, size );
99 saveTemplate->setFixedSize( size, size ); 107 saveTemplate->setFixedSize( size, size );
100 toggleJournal->setFixedSize( size , size ); 108 toggleJournal->setFixedSize( size , size );
101 mTitle->setMaximumHeight( size+4); 109 mTitle->setMaximumHeight( size+4);
102 mCalendarBox->setMaximumHeight( size+4); 110 mCalendarBox->setMaximumHeight( size+4);
103 mEditor = new KTextEdit(this); 111 mEditor = new KTextEdit(this);
104#ifndef DESKTOP_VERSION 112#ifndef DESKTOP_VERSION
105 QPEApplication::setStylusOperation( mEditor, QPEApplication::RightOnHold ); 113 QPEApplication::setStylusOperation( mEditor, QPEApplication::RightOnHold );
106#endif 114#endif
@@ -182,91 +190,93 @@ void JournalEntry::setDate(const QDate &date)
182void JournalEntry::fillCalendar( int setToID ) 190void JournalEntry::fillCalendar( int setToID )
183{ 191{
184 mCalendarBox->clear(); 192 mCalendarBox->clear();
185 KopiCalendarFile * kkf = KOPrefs::instance()->mCalendars.first(); 193 KopiCalendarFile * kkf = KOPrefs::instance()->mCalendars.first();
186 int std = 0; 194 int std = 0;
187 int count = 0; 195 int count = 0;
188 while ( kkf ) { 196 while ( kkf ) {
189 if ( (!kkf->mErrorOnLoad &&! kkf->isReadOnly) || setToID == kkf->mCalNumber ) { 197 if ( (!kkf->mErrorOnLoad &&! kkf->isReadOnly) || setToID == kkf->mCalNumber ) {
190 if ( setToID ) { 198 if ( setToID ) {
191 if ( kkf->mCalNumber == setToID ) 199 if ( kkf->mCalNumber == setToID )
192 std = count; 200 std = count;
193 } else { 201 } else {
194 if ( kkf->isStandard ) { 202 if ( kkf->isStandard ) {
195 std = count; 203 std = count;
196 } 204 }
197 } 205 }
198 ++count; 206 ++count;
199 mCalendarBox->insertItem( kkf->mName ); 207 mCalendarBox->insertItem( kkf->mName );
200 } 208 }
201 kkf = KOPrefs::instance()->mCalendars.next(); 209 kkf = KOPrefs::instance()->mCalendars.next();
202 } 210 }
203 mCalendarBox->setCurrentItem( std ); 211 mCalendarBox->setCurrentItem( std );
204 if ( KOPrefs::instance()->mCalendars.count() == 1 ) 212 if ( KOPrefs::instance()->mCalendars.count() == 1 )
205 mCalendarBox->hide(); 213 mCalendarBox->hide();
206 else 214 else {
207 mCalendarBox->show(); 215 mCalendarBox->show();
216 }
208} 217}
209 218
210void JournalEntry::toggleShowJournal() 219void JournalEntry::toggleShowJournal()
211{ 220{
212 if (!mEditor->text().isEmpty() || !mTitle->currentText ().isEmpty()) 221 if (!mEditor->text().isEmpty() || !mTitle->currentText ().isEmpty())
213 flushEntry(); 222 flushEntry();
214 if ( showOnlyMode ) 223 if ( showOnlyMode )
215 emit showJournalOnly( 0 ); 224 emit showJournalOnly( 0 );
216 else { 225 else {
217 // we have to protect mJournal from deleting if mJournal has empty text 226 // we have to protect mJournal from deleting if mJournal has empty text
218 visibleMode = false; // set to true via :setShowOnly() 227 visibleMode = false; // set to true via :setShowOnly()
219 emit showJournalOnly( mJournal ); 228 emit showJournalOnly( mJournal );
220 //QTimer::singleShot( 0, this, SLOT( setVisibleOn() ) ); 229 //QTimer::singleShot( 0, this, SLOT( setVisibleOn() ) );
221 } 230 }
222} 231}
223void JournalEntry::setVisibleOn() 232void JournalEntry::setVisibleOn()
224{ 233{
225 visibleMode = true; 234 visibleMode = true;
226} 235}
227void JournalEntry::setShowOnly() 236void JournalEntry::setShowOnly()
228{ 237{
229 showOnlyMode = true; 238 showOnlyMode = true;
230 if ( mTitle->currentText().isEmpty() ) 239 if ( mTitle->currentText().isEmpty() )
231 mTitle->setFocus(); 240 mTitle->setFocus();
232 else 241 else
233 mEditor->setFocus(); 242 mEditor->setFocus();
234} 243}
235void JournalEntry::setJournal(Journal *journal, bool saveJournal ) 244void JournalEntry::setJournal(Journal *journal, bool saveJournal )
236{ 245{
237 if ( saveJournal ) 246 if ( saveJournal )
238 writeJournal(); 247 writeJournal();
239 mTitle->load( KOLocationBox::SUMMARYJOURNAL ); 248 mTitle->load( KOLocationBox::SUMMARYJOURNAL );
240 249
241 mJournal = journal; 250 mJournal = journal;
242 if ( journal->isReadOnly() ) 251 if ( journal->isReadOnly() )
243 mTitle->lineEdit ()->setText(mJournal->summary()+" ("+i18n("readonly")+")"); 252 mTitle->lineEdit ()->setText(mJournal->summary()+" ("+i18n("readonly")+")");
244 else 253 else
245 mTitle->lineEdit ()->setText(mJournal->summary()); 254 mTitle->lineEdit ()->setText(mJournal->summary());
246 mEditor->setText(mJournal->description()); 255 mEditor->setText(mJournal->description());
247 mTitle->setEnabled (!journal->isReadOnly() ); 256 mTitle->setEnabled (!journal->isReadOnly() );
248 mEditor->setReadOnly ( journal->isReadOnly() ); 257 mEditor->setReadOnly ( journal->isReadOnly() );
258 mCalendarBox->setEnabled (!journal->isReadOnly() );
249 fillCalendar( mJournal->calID() ); 259 fillCalendar( mJournal->calID() );
250} 260}
251 261
252Journal *JournalEntry::journal() const 262Journal *JournalEntry::journal() const
253{ 263{
254 return mJournal; 264 return mJournal;
255} 265}
256 266
257 267
258void JournalEntry::clear() 268void JournalEntry::clear()
259{ 269{
260 mJournal = 0; 270 mJournal = 0;
261 mEditor->setText(""); 271 mEditor->setText("");
262 mTitle->load( KOLocationBox::SUMMARYJOURNAL ); 272 mTitle->load( KOLocationBox::SUMMARYJOURNAL );
263 mTitle->lineEdit ()->setText(""); 273 mTitle->lineEdit ()->setText("");
264} 274}
265 275
266bool JournalEntry::eventFilter( QObject *o, QEvent *e ) 276bool JournalEntry::eventFilter( QObject *o, QEvent *e )
267{ 277{
268// kdDebug() << "JournalEntry::event received " << e->type() << endl; 278// kdDebug() << "JournalEntry::event received " << e->type() << endl;
269 279
270 if ( e->type() == QEvent::FocusOut ) { 280 if ( e->type() == QEvent::FocusOut ) {
271 writeJournal(); 281 writeJournal();
272 } 282 }