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 "koeventpopupmenu.h"
00033 #include "koeventpopupmenu.moc"
00034
00035 KOEventPopupMenu::KOEventPopupMenu()
00036 {
00037 mCurrentEvent = 0;
00038 mHasAdditionalItems = false;
00039
00040 insertItem (i18n("&Show"),this,SLOT(popupShow()));
00041 mEditOnlyItems.append(insertItem (i18n("edit event","&Edit..."),this,SLOT(popupEdit())));
00042 mEditOnlyItems.append(insertItem (SmallIcon("editdelete"),i18n("&Delete"),
00043 this,SLOT(popupDelete())));
00044 }
00045
00046 void KOEventPopupMenu::showEventPopup(Event *event)
00047 {
00048 mCurrentEvent = event;
00049
00050 if (mCurrentEvent) {
00051
00052 QValueList<int>::Iterator it;
00053 for( it = mEditOnlyItems.begin(); it != mEditOnlyItems.end(); ++it ) {
00054 setItemEnabled(*it,!mCurrentEvent->isReadOnly());
00055 }
00056 popup(QCursor::pos());
00057 } else {
00058 kdDebug() << "KOEventPopupMenu::showEventPopup(): No event selected" << endl;
00059 }
00060 }
00061
00062 void KOEventPopupMenu::addAdditionalItem(const QIconSet &icon,const QString &text,
00063 const QObject *receiver, const char *member,
00064 bool editOnly)
00065 {
00066 if (!mHasAdditionalItems) {
00067 mHasAdditionalItems = true;
00068 insertSeparator();
00069 }
00070 int id = insertItem(icon,text,receiver,member);
00071 if (editOnly) mEditOnlyItems.append(id);
00072 }
00073
00074 void KOEventPopupMenu::popupShow()
00075 {
00076 if (mCurrentEvent) emit showEventSignal(mCurrentEvent);
00077 }
00078
00079 void KOEventPopupMenu::popupEdit()
00080 {
00081 if (mCurrentEvent) emit editEventSignal(mCurrentEvent);
00082 }
00083
00084 void KOEventPopupMenu::popupDelete()
00085 {
00086 if (mCurrentEvent) emit deleteEventSignal(mCurrentEvent);
00087 }
This file is part of the documentation for kdelibs Version 3.1.5.