source: smplayer/trunk/src/myactiongroup.h@ 178

Last change on this file since 178 was 176, checked in by Silvan Scherrer, 9 years ago

smplayer: update trunk to version 16.4

  • Property svn:eol-style set to LF
File size: 2.5 KB
Line 
1/* smplayer, GUI front-end for mplayer.
2 Copyright (C) 2006-2016 Ricardo Villalba <rvm@users.sourceforge.net>
3
4 This program is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation; either version 2 of the License, or
7 (at your option) any later version.
8
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
13
14 You should have received a copy of the GNU General Public License
15 along with this program; if not, write to the Free Software
16 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17*/
18
19#ifndef MYACTIONGROUP_H
20#define MYACTIONGROUP_H
21
22#include <QActionGroup>
23#include <QWidget>
24#include "myaction.h"
25
26class MyActionGroup;
27
28//! This class makes easy to create actions for MyActionGroup
29
30class MyActionGroupItem : public MyAction
31{
32public:
33 //! Creates a new item.
34 /*! \a group is the group where the action will be added, \a data is
35 the ID of the item. If \autoadd is true the action will be added to
36 the parent (if it's a QWidget), so the shortcut could work. */
37 MyActionGroupItem( QObject * parent, MyActionGroup *group,
38 const char * name, int data, bool autoadd = true );
39
40 //! Creates a new item.
41 /*! \a text is the text that the item will have. */
42 MyActionGroupItem( QObject * parent, MyActionGroup *group,
43 const QString & text, const char * name,
44 int data, bool autoadd = true );
45};
46
47class QAction;
48
49//! MyActionGroup makes easier to create exclusive menus based on items
50//! with an integer data.
51
52
53class MyActionGroup : public QActionGroup
54{
55 Q_OBJECT
56
57public:
58 MyActionGroup ( QObject * parent );
59
60 //! Looks for the item which ID is \a ID and checks it
61 void setChecked(int ID);
62
63 //! Returns the ID of the item checked or -1 if none
64 //! is checked
65 int checked();
66
67 //! Remove all items. If \a remove is true the actions are also deleted.
68 void clear(bool remove);
69
70 //! Enable or disable all actions in the group
71 void setActionsEnabled(bool);
72
73 //! Adds all actions to the widget
74 void addTo(QWidget *);
75
76 //! Remove all actions from the widget
77 void removeFrom(QWidget *);
78
79 //! unchecks all items
80 void uncheckAll();
81
82signals:
83 //! Emitted when an item has been checked
84 void activated(int);
85
86protected slots:
87 void itemTriggered(QAction *);
88};
89
90#endif
Note: See TracBrowser for help on using the repository browser.