-rw-r--r-- | korganizer/journalentry.cpp | 51 | ||||
-rw-r--r-- | korganizer/journalentry.h | 7 | ||||
-rw-r--r-- | korganizer/koeditorgeneral.cpp | 8 | ||||
-rw-r--r-- | korganizer/kojournalview.cpp | 10 | ||||
-rw-r--r-- | korganizer/koprefs.cpp | 10 | ||||
-rw-r--r-- | korganizer/koprefs.h | 1 |
6 files changed, 62 insertions, 25 deletions
diff --git a/korganizer/journalentry.cpp b/korganizer/journalentry.cpp index 4751d40..56221dc 100644 --- a/korganizer/journalentry.cpp +++ b/korganizer/journalentry.cpp @@ -81,5 +81,5 @@ JournalEntry::JournalEntry(Calendar *calendar,QWidget *parent) : mTitle->setSizePolicy( QSizePolicy( QSizePolicy::MinimumExpanding ,QSizePolicy::Fixed ,FALSE) ); - mTitleLabel = new QLabel(i18n("Title"),vb); - mTitleLabel->setMargin(0); - mTitleLabel->setAlignment(AlignCenter); + mCalendarBox = new QComboBox(vb); + //mTitleLabel->setMargin(0); + //mTitleLabel->setAlignment(AlignCenter); QPushButton * loadTemplate = new QPushButton( vb ); @@ -101,2 +101,3 @@ JournalEntry::JournalEntry(Calendar *calendar,QWidget *parent) : mTitle->setMaximumHeight( size+4); + mCalendarBox->setMaximumHeight( size+4); mEditor = new KTextEdit(this); @@ -178,5 +179,30 @@ void JournalEntry::setDate(const QDate &date) mDate = date; - int id = mCalendar->defaultCalendar(); - QString calname = KOPrefs::instance()->getCalendar( id )->mName; - mTitleLabel->setText( " (" + calname +")"); + fillCalendar( mCalendar->defaultCalendar() ); +} +void JournalEntry::fillCalendar( int setToID ) +{ + mCalendarBox->clear(); + KopiCalendarFile * kkf = KOPrefs::instance()->mCalendars.first(); + int std = 0; + int count = 0; + while ( kkf ) { + if ( (!kkf->mErrorOnLoad &&! kkf->isReadOnly) || setToID == kkf->mCalNumber ) { + if ( setToID ) { + if ( kkf->mCalNumber == setToID ) + std = count; + } else { + if ( kkf->isStandard ) { + std = count; + } + } + ++count; + mCalendarBox->insertItem( kkf->mName ); + } + kkf = KOPrefs::instance()->mCalendars.next(); + } + mCalendarBox->setCurrentItem( std ); + if ( KOPrefs::instance()->mCalendars.count() == 1 ) + mCalendarBox->hide(); + else + mCalendarBox->show(); } @@ -208,4 +234,5 @@ void JournalEntry::setShowOnly() } -void JournalEntry::setJournal(Journal *journal) +void JournalEntry::setJournal(Journal *journal, bool saveJournal ) { + if ( saveJournal ) writeJournal(); @@ -221,6 +248,3 @@ void JournalEntry::setJournal(Journal *journal) mEditor->setReadOnly ( journal->isReadOnly() ); - int id = mJournal->calID(); - - QString calname = KOPrefs::instance()->getCalendar( id )->mName; - mTitleLabel->setText( " (" + calname +")"); + fillCalendar( mJournal->calID() ); } @@ -262,2 +286,3 @@ void JournalEntry::writeJournal() if ( !visibleMode ) return; + if ( !mTitle->isEnabled() ) return; if (mEditor->text().isEmpty() && mTitle->currentText().isEmpty()) { @@ -288,2 +313,6 @@ void JournalEntry::writeJournal() } + int id = KOPrefs::instance()->getCalendarID( mCalendarBox->currentText() ); + if ( mJournal->calID() != id ) { + mJournal->setCalID( id ); + } } diff --git a/korganizer/journalentry.h b/korganizer/journalentry.h index fb19fb1..ed04b7c 100644 --- a/korganizer/journalentry.h +++ b/korganizer/journalentry.h @@ -33,2 +33,3 @@ class QLabel; class KTextEdit; +class QComboBox; class KLineEdit; @@ -44,3 +45,3 @@ class JournalEntry : public QFrame { - void setJournal(Journal *); + void setJournal(Journal *, bool saveJournal = true ); Journal *journal() const; @@ -55,3 +56,3 @@ class JournalEntry : public QFrame { void setVisibleMode( bool b ) { visibleMode = b;} - + void fillCalendar( int id = 0 ); protected slots: @@ -78,3 +79,3 @@ class JournalEntry : public QFrame { void keyPressEvent ( QKeyEvent * ) ; - QLabel *mTitleLabel; + QComboBox *mCalendarBox; KOLocationBox * mTitle; diff --git a/korganizer/koeditorgeneral.cpp b/korganizer/koeditorgeneral.cpp index fd50b05..aa55d82 100644 --- a/korganizer/koeditorgeneral.cpp +++ b/korganizer/koeditorgeneral.cpp @@ -485,9 +485,3 @@ int KOEditorGeneral::getCalendarID() { - KopiCalendarFile * kkf = KOPrefs::instance()->mCalendars.first(); - while ( kkf ) { - if ( mCalendarBox->currentText() == kkf->mName) - return kkf->mCalNumber; - kkf = KOPrefs::instance()->mCalendars.next(); - } - return 1; + return KOPrefs::instance()->getCalendarID( mCalendarBox->currentText() ); } diff --git a/korganizer/kojournalview.cpp b/korganizer/kojournalview.cpp index 9b0e748..0523954 100644 --- a/korganizer/kojournalview.cpp +++ b/korganizer/kojournalview.cpp @@ -157,3 +157,3 @@ void KOJournalView::showOnly ( Journal* j ) { - qDebug("showOnly %x ", j); + //qDebug("showOnly %x ", j); flushView(); @@ -171,3 +171,3 @@ void KOJournalView::showList(QPtrList<Journal> jl) { - qDebug("KOJournalView::showList %d",jl.count() ); + //qDebug("KOJournalView::showList %d",jl.count() ); JournalEntry* mEntry = jEntries.first(); @@ -179,4 +179,5 @@ void KOJournalView::showList(QPtrList<Journal> jl) mEntry = getNewEntry(); + mEntry->setVisibleMode( true ); mEntry->setDate(mDate); - mEntry->setJournal(jl.at(iii)); + mEntry->setJournal(jl.at(iii), false); mEntry->setVisibleMode( true ); @@ -185,4 +186,5 @@ void KOJournalView::showList(QPtrList<Journal> jl) } else { + mEntry->setVisibleMode( true ); mEntry->setDate(mDate); - mEntry->setJournal(jl.at(iii)); + mEntry->setJournal(jl.at(iii), false); mEntry->setVisibleMode( true ); diff --git a/korganizer/koprefs.cpp b/korganizer/koprefs.cpp index bb3d720..a886735 100644 --- a/korganizer/koprefs.cpp +++ b/korganizer/koprefs.cpp @@ -503,2 +503,12 @@ void KOPrefs::deleteCalendar( int num ) } +int KOPrefs::getCalendarID( const QString & name ) +{ + KopiCalendarFile * kkf = mCalendars.first(); + while ( kkf ) { + if ( name == kkf->mName) + return kkf->mCalNumber; + kkf = mCalendars.next(); + } + return 1; +} QString KOPrefs::calName( int calNum) const diff --git a/korganizer/koprefs.h b/korganizer/koprefs.h index 53d193b..7ec5327 100644 --- a/korganizer/koprefs.h +++ b/korganizer/koprefs.h @@ -102,2 +102,3 @@ class KOPrefs : public KPimPrefs QString calName( int ) const; + int getCalendarID( const QString & name ); protected: |