]> git.sur5r.net Git - minitube/blob - src/thlibrary/thactiongroup.cpp
Initial import
[minitube] / src / thlibrary / thactiongroup.cpp
1 #include <QList>
2
3 #include "thactiongroup.h"
4 #include "thaction.h"
5
6 /* ============================================================================
7  *  PRIVATE Class
8  */
9 class THActionGroup::Private {
10         public:
11                 QList<THAction *> actionList;
12                 QString name;
13 };
14
15 /* ============================================================================
16  *  PUBLIC Constructor/Destructors
17  */
18 THActionGroup::THActionGroup (QObject *parent) 
19         : QObject(parent), d(new THActionGroup::Private)
20 {
21 }
22
23 THActionGroup::THActionGroup (const QString& name, QObject *parent)
24         : QObject(parent), d(new THActionGroup::Private)
25 {
26         d->name = name;
27 }
28
29 THActionGroup::~THActionGroup() {
30         delete d;
31 }
32
33 /* ============================================================================
34  *  PUBLIC Methods
35  */
36 THAction *THActionGroup::addAction (THAction *action) {
37         d->actionList.append(action);
38         return(action);
39 }
40
41 THAction *THActionGroup::addAction (const QString& text) {
42         THAction *action = new THAction(text, this);
43         d->actionList.append(action);
44         return(action);
45 }
46
47 THAction *THActionGroup::addAction (const QIcon& icon, const QString& text) {
48         THAction *action = new THAction(icon, text, this);
49         d->actionList.append(action);
50         return(action);
51 }
52
53 /* ============================================================================
54  *  PUBLIC Properties
55  */
56 QString THActionGroup::name (void) const {
57         return(d->name);
58 }
59
60 void THActionGroup::setName (const QString& name) {
61         d->name = name;
62 }
63