author | zautrix <zautrix> | 2005-07-02 18:24:42 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2005-07-02 18:24:42 (UTC) |
commit | 80fe6533cb7d751aa72ae5ad0871a9fb76fb3d0b (patch) (side-by-side diff) | |
tree | 51da32a82f3a9b6feb7e8a4f89df96b1be6e8d08 /korganizer/koeventpopupmenu.cpp | |
parent | 8eea5713638412f5613be51b339f0452f629705c (diff) | |
download | kdepimpi-80fe6533cb7d751aa72ae5ad0871a9fb76fb3d0b.zip kdepimpi-80fe6533cb7d751aa72ae5ad0871a9fb76fb3d0b.tar.gz kdepimpi-80fe6533cb7d751aa72ae5ad0871a9fb76fb3d0b.tar.bz2 |
fax
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 @@ -57,7 +57,12 @@ KOEventPopupMenu::KOEventPopupMenu(): QPopupMenu() mCatPopup->setCheckable (true); 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 ) { mSingleOnlyItems.append(*it); @@ -74,9 +79,29 @@ 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; for (QStringList::Iterator it = KOPrefs::instance()->mCustomCategories.begin (); @@ -91,6 +116,7 @@ void KOEventPopupMenu::fillCatPopup() } void KOEventPopupMenu::computeCatPopup( int index ) { + if (!mCurrentIncidence) return; QStringList categories = mCurrentIncidence->categories(); QString colcat = categories.first(); if (categories.find (KOPrefs::instance()->mCustomCategories[index]) != categories.end ()) @@ -109,6 +135,7 @@ void KOEventPopupMenu::computeCatPopup( int index ) } void KOEventPopupMenu::showIncidencePopup(Incidence *incidence) { + if ( !incidence) return; mCurrentIncidence = incidence; if (mCurrentIncidence) { |