Canorus  0.7
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
pluginaction.h
Go to the documentation of this file.
1 
8 #ifndef PLUGINACTION_H_
9 #define PLUGINACTION_H_
10 
11 #include <QAction>
12 
13 #include "interface/plugin.h"
14 
15 class CAPluginAction : public QAction {
16 #ifndef SWIG
17  Q_OBJECT
18 #endif
19 public:
20  CAPluginAction(CAPlugin *plugin, QString name, QString lang, QString function, QList<QString> args, QString filename);
21 
22  inline CAPlugin *plugin() { return _plugin; }
23  inline QString name() { return _name; }
24  inline QString lang() { return _lang; }
25  inline QString function() { return _function; }
26  inline QList<QString> args() { return _args; }
27  inline QString filename() { return _filename; }
28  inline QString onAction() { return _onAction; }
29  inline QString exportFilter(QString lang) { return _exportFilter[lang]; }
30  QString localExportFilter() { if (_exportFilter.contains(QLocale::system().name())) return exportFilter(QLocale::system().name()); else return exportFilter(""); }
31  inline QString importFilter(QString lang) { return _importFilter[lang]; }
32  QString localImportFilter() { if (_importFilter.contains(QLocale::system().name())) return exportFilter(QLocale::system().name()); else return importFilter(""); }
33  inline QString localeText(QString lang) { return _text[lang]; }
34  QString localText() { if (_text.contains(QLocale::system().name())) return localeText(QLocale::system().name()); else return localeText(""); }
35  bool refresh() { return _refresh; }
36 
37  void setPlugin(CAPlugin *plugin) { _plugin = plugin; }
38  void setName(QString name) { _name = name; }
39  void setLang(QString lang) { _lang = lang; }
40  void setFunction(QString function) { _function = function; }
41  void addArgument(QString arg) { _args << arg; }
42  bool removeArgument(QString arg) { _args.removeAll(arg); }
43  void setFilename(QString filename) { _filename = filename; }
44  void setOnAction(QString onAction) { _onAction = onAction; }
45  void setExportFilter(QString lang, QString value) { _exportFilter[lang] = value; }
46  void setExportFilters(QHash< QString, QString > f) { _exportFilter = f; }
47  void setImportFilter(QString lang, QString value) { _importFilter[lang] = value; }
48  void setImportFilters(QHash< QString, QString > f) { _importFilter = f; }
49  void setLocaleText(QString lang, QString value) { _text[lang] = value; this->setText(localText()); }
50  void setTexts(QHash< QString, QString > t) { _text = t; this->setText(localText()); }
51  void setRefresh(bool refresh) { _refresh = refresh; }
52 
53 private:
55  QString _name;
56  QString _lang;
57  QString _function;
58  QList<QString> _args;
59  QString _filename;
60  QString _onAction;
61  QHash<QString, QString> _exportFilter;
62  QHash<QString, QString> _importFilter;
63  QHash<QString, QString> _text;
64  bool _refresh;
65 
66 #ifndef SWIG
67 private slots:
68  void triggeredSlot(bool);
69 
70 signals:
71  void triggered(QAction*, bool);
72 #endif
73 };
74 
75 #endif /* PLUGINACTION_H_ */