koeventpopupmenu.cpp
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #include <qcursor.h>
00025
00026 #include <klocale.h>
00027 #include <kdebug.h>
00028 #include <kiconloader.h>
00029
00030 #include <libkcal/event.h>
00031
00032 #include "koglobals.h"
00033
00034 #include "koeventpopupmenu.h"
00035 #include "koeventpopupmenu.moc"
00036
00037 KOEventPopupMenu::KOEventPopupMenu()
00038 {
00039 mCurrentIncidence = 0;
00040 mHasAdditionalItems = false;
00041
00042 insertItem (i18n("&Show"),this,SLOT(popupShow()));
00043 mEditOnlyItems.append(insertItem (i18n("&Edit..."),this,SLOT(popupEdit())));
00044 mEditOnlyItems.append(insertItem (KOGlobals::self()->smallIcon("editdelete"),i18n("&Delete"),
00045 this,SLOT(popupDelete())));
00046 }
00047
00048 void KOEventPopupMenu::showIncidencePopup(Incidence *incidence)
00049 {
00050 mCurrentIncidence = incidence;
00051
00052 if (mCurrentIncidence) {
00053
00054 QValueList<int>::Iterator it;
00055 for( it = mEditOnlyItems.begin(); it != mEditOnlyItems.end(); ++it ) {
00056 setItemEnabled(*it,!mCurrentIncidence->isReadOnly());
00057 }
00058 popup(QCursor::pos());
00059 } else {
00060 kdDebug(5850) << "KOEventPopupMenu::showEventPopup(): No event selected" << endl;
00061 }
00062 }
00063
00064 void KOEventPopupMenu::addAdditionalItem(const QIconSet &icon,const QString &text,
00065 const QObject *receiver, const char *member,
00066 bool editOnly)
00067 {
00068 if (!mHasAdditionalItems) {
00069 mHasAdditionalItems = true;
00070 insertSeparator();
00071 }
00072 int id = insertItem(icon,text,receiver,member);
00073 if (editOnly) mEditOnlyItems.append(id);
00074 }
00075
00076 void KOEventPopupMenu::popupShow()
00077 {
00078 if (mCurrentIncidence) emit showIncidenceSignal(mCurrentIncidence);
00079 }
00080
00081 void KOEventPopupMenu::popupEdit()
00082 {
00083 if (mCurrentIncidence) emit editIncidenceSignal(mCurrentIncidence);
00084 }
00085
00086 void KOEventPopupMenu::popupDelete()
00087 {
00088 if (mCurrentIncidence) emit deleteIncidenceSignal(mCurrentIncidence);
00089 }
This file is part of the documentation for korganizer Library Version 3.2.2.