kleopatra
action_data.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033 #ifndef __KLEOPATRA_UTILS_ACTIONDATA_H__
00034 #define __KLEOPATRA_UTILS_ACTIONDATA_H__
00035
00036 #include <QString>
00037
00038 class QObject;
00039 class KAction;
00040 class KActionCollection;
00041
00042 namespace Kleo {
00043
00044 struct action_data {
00045 const char * name;
00046 QString text;
00047 QString tooltip;
00048 const char * icon;
00049 const QObject * receiver;
00050 const char * slot;
00051 QString shortcut;
00052 bool toggle;
00053 bool enabled;
00054 };
00055
00056 void make_actions_from_data( const action_data * data, unsigned int numData, KActionCollection * collection );
00057 void make_actions_from_data( const action_data * data, unsigned int numData, QObject * parent );
00058
00059 template <unsigned int N>
00060 inline void make_actions_from_data( const action_data (&data)[N], KActionCollection * collection ) {
00061 make_actions_from_data( data, N, collection );
00062 }
00063 template <unsigned int N>
00064 inline void make_actions_from_data( const action_data (&data)[N], QObject * parent ) {
00065 make_actions_from_data( data, N, parent );
00066 }
00067
00068 KAction * make_action_from_data( const action_data & data, QObject * parent );
00069
00070 }
00071
00072 #endif