summaryrefslogtreecommitdiffabout
path: root/korganizer/koeventpopupmenu.cpp
authorzautrix <zautrix>2005-07-02 18:24:42 (UTC)
committer zautrix <zautrix>2005-07-02 18:24:42 (UTC)
commit80fe6533cb7d751aa72ae5ad0871a9fb76fb3d0b (patch) (side-by-side diff)
tree51da32a82f3a9b6feb7e8a4f89df96b1be6e8d08 /korganizer/koeventpopupmenu.cpp
parent8eea5713638412f5613be51b339f0452f629705c (diff)
downloadkdepimpi-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.cpp27
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
@@ -56,9 +56,14 @@ KOEventPopupMenu::KOEventPopupMenu(): QPopupMenu()
mCatPopup = new QPopupMenu ( this );
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);
}
@@ -73,11 +78,31 @@ 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 ();
it != KOPrefs::instance()->mCustomCategories.end ();
@@ -90,8 +115,9 @@ 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 ())
categories.remove (KOPrefs::instance()->mCustomCategories[index]);
@@ -108,8 +134,9 @@ void KOEventPopupMenu::computeCatPopup( int index )
emit categoryChanged( mCurrentIncidence );
}
void KOEventPopupMenu::showIncidencePopup(Incidence *incidence)
{
+ if ( !incidence) return;
mCurrentIncidence = incidence;
if (mCurrentIncidence) {
// Enable/Disabled menu items only valid for editable events.