akonadi
standardcalendaractionmanager.h
00001 /* 00002 * Copyright (C) 2010 Casey Link <unnamedrambler@gmail.com> 00003 * Copyright (C) 2010 Klaralvdalens Datakonsult AB, a KDAB Group company <info@kdab.net> 00004 * Copyright (c) 2009 - 2010 Tobias Koenig <tokoe@kde.org> 00005 * 00006 * This library is free software; you can redistribute it and/or modify it 00007 * under the terms of the GNU Library General Public License as published by 00008 * the Free Software Foundation; either version 2 of the License, or (at your 00009 * option) any later version. 00010 * 00011 * This library is distributed in the hope that it will be useful, but WITHOUT 00012 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 00013 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public 00014 * License for more details. 00015 * 00016 * You should have received a copy of the GNU Library General Public License 00017 * along with this library; see the file COPYING.LIB. If not, write to the 00018 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 00019 * 02110-1301, USA. 00020 */ 00021 00022 #ifndef AKONADI_STANDARDCALENDARACTIONMANAGER_H 00023 #define AKONADI_STANDARDCALENDARACTIONMANAGER_H 00024 00025 #include "akonadi-calendar_export.h" 00026 00027 #include <akonadi/standardactionmanager.h> 00028 00029 #include <QtCore/QObject> 00030 00031 //needed for windows ce, its defined somewhere 00032 #undef CreateEvent 00033 00034 class KAction; 00035 class KActionCollection; 00036 class QItemSelectionModel; 00037 class QWidget; 00038 00039 namespace Akonadi 00040 { 00041 00042 class Item; 00049 class AKONADI_CALENDAR_EXPORT StandardCalendarActionManager : public QObject 00050 { 00051 Q_OBJECT 00052 00053 public: 00057 enum Type { 00058 CreateEvent = StandardActionManager::LastType + 1, 00059 CreateTodo, 00060 CreateSubTodo, 00061 CreateJournal, 00062 EditIncidence, 00063 LastType 00064 }; 00065 00072 explicit StandardCalendarActionManager( KActionCollection *actionCollection, QWidget *parent = 0 ); 00073 00077 ~StandardCalendarActionManager(); 00078 00084 void setCollectionSelectionModel( QItemSelectionModel *selectionModel ); 00085 00090 void setItemSelectionModel( QItemSelectionModel* selectionModel ); 00091 00097 KAction* createAction( Type type ); 00098 00104 KAction* createAction( StandardActionManager::Type type ); 00105 00110 void createAllActions(); 00111 00115 KAction* action( Type type ) const; 00116 00120 KAction* action( StandardActionManager::Type type ) const; 00121 00134 void setActionText( StandardActionManager::Type type, const KLocalizedString &text ); 00135 00143 void interceptAction( Type type, bool intercept = true ); 00144 00152 void interceptAction( StandardActionManager::Type type, bool intercept = true ); 00153 00158 Akonadi::Collection::List selectedCollections() const; 00159 00164 Akonadi::Item::List selectedItems() const; 00165 00169 void setContextText( StandardActionManager::Type type, StandardActionManager::TextContext context, const QString &text ); 00170 00174 void setContextText( StandardActionManager::Type type, StandardActionManager::TextContext context, const KLocalizedString &text ); 00175 00176 void setCollectionPropertiesPageNames( const QStringList &names ); 00177 00178 Q_SIGNALS: 00184 void actionStateUpdated(); 00185 00186 private: 00187 //@cond PRIVATE 00188 class Private; 00189 Private* const d; 00190 00191 Q_PRIVATE_SLOT( d, void slotCreateEvent() ) 00192 Q_PRIVATE_SLOT( d, void slotCreateTodo() ) 00193 Q_PRIVATE_SLOT( d, void slotCreateSubTodo() ) 00194 Q_PRIVATE_SLOT( d, void slotCreateJournal() ) 00195 Q_PRIVATE_SLOT( d, void slotEditIncidence() ) 00196 Q_PRIVATE_SLOT( d, void updateActions() ) 00197 //@endcond 00198 }; 00199 00200 } 00201 00202 #endif
This file is part of the KDE documentation.
Documentation copyright © 1996-2012 The KDE developers.
Generated on Mon May 14 2012 04:53:03 by doxygen 1.7.5 written by Dimitri van Heesch, © 1997-2006
Documentation copyright © 1996-2012 The KDE developers.
Generated on Mon May 14 2012 04:53:03 by doxygen 1.7.5 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.