Diffstat (limited to 'korganizer/koeventpopupmenu.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | korganizer/koeventpopupmenu.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/korganizer/koeventpopupmenu.cpp b/korganizer/koeventpopupmenu.cpp index 90caaf4..41d331a 100644 --- a/korganizer/koeventpopupmenu.cpp +++ b/korganizer/koeventpopupmenu.cpp @@ -58,5 +58,10 @@ KOEventPopupMenu::KOEventPopupMenu(): QPopupMenu() connect(mCatPopup,SIGNAL( aboutToShow ()), this ,SLOT( fillCatPopup())); connect(mCatPopup,SIGNAL( activated ( int ) ), this ,SLOT( computeCatPopup( int ))); + mCalPopup = new QPopupMenu ( this ); + mCalPopup->setCheckable (true); + connect(mCalPopup,SIGNAL( aboutToShow ()), this ,SLOT( fillCalPopup())); + connect(mCalPopup,SIGNAL( activated ( int ) ), this ,SLOT( computeCalPopup( int ))); mEditOnlyItems.append(insertItem (i18n("Categories"),mCatPopup )); + mEditOnlyItems.append(insertItem (i18n("Calendar"),mCalPopup )); QValueList<int>::Iterator it; for( it = mEditOnlyItems.begin(); it != mEditOnlyItems.end(); ++it ) { @@ -75,7 +80,27 @@ void KOEventPopupMenu::enableDefault( bool enable ) } +void KOEventPopupMenu::fillCalPopup() // CAL +{ + mCalPopup->clear(); + if (!mCurrentIncidence) return; + KopiCalendarFile * kkf = KOPrefs::instance()->mCalendars.first(); + while ( kkf ) { + int index = mCalPopup->insertItem( kkf->mName, kkf->mCalNumber); + if ( kkf->mErrorOnLoad || kkf->isReadOnly ) + mCalPopup->setItemEnabled( index, false ); + mCalPopup->setItemChecked (index, kkf->mCalNumber == mCurrentIncidence->calID()); + kkf = KOPrefs::instance()->mCalendars.next(); + } +} +void KOEventPopupMenu::computeCalPopup( int index ) // CAL +{ + if (!mCurrentIncidence) return; + mCurrentIncidence->setCalID( index ); + emit categoryChanged( mCurrentIncidence ); +} void KOEventPopupMenu::fillCatPopup() { mCatPopup->clear(); + if (!mCurrentIncidence) return; QStringList checkedCategories = mCurrentIncidence->categories(); int index = 0; @@ -92,4 +117,5 @@ void KOEventPopupMenu::fillCatPopup() void KOEventPopupMenu::computeCatPopup( int index ) { + if (!mCurrentIncidence) return; QStringList categories = mCurrentIncidence->categories(); QString colcat = categories.first(); @@ -110,4 +136,5 @@ void KOEventPopupMenu::computeCatPopup( int index ) void KOEventPopupMenu::showIncidencePopup(Incidence *incidence) { + if ( !incidence) return; mCurrentIncidence = incidence; |