~ubuntu-branches/ubuntu/trusty/hud/trusty-updates

« back to all changes in this revision

Viewing changes to libqtgmenu/QtGMenuImporter.h

  • Committer: Package Import Robot
  • Author(s): Ubuntu daily release
  • Date: 2014-01-20 19:43:59 UTC
  • mfrom: (1.1.26)
  • Revision ID: package-import@ubuntu.com-20140120194359-jxxxqtd4ql9elvpf
Tags: 13.10.1+14.04.20140120-0ubuntu1
* New rebuild forced
* Automatic snapshot from revision 362

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * Copyright (C) 2013 Canonical, Ltd.
 
3
 *
 
4
 * This program is free software: you can redistribute it and/or modify it
 
5
 * under the terms of the GNU General Public License version 3, as published
 
6
 * by the Free Software Foundation.
 
7
 *
 
8
 * This program is distributed in the hope that it will be useful, but
 
9
 * WITHOUT ANY WARRANTY; without even the implied warranties of
 
10
 * MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR
 
11
 * PURPOSE.  See the GNU General Public License for more details.
 
12
 *
 
13
 * You should have received a copy of the GNU General Public License along
 
14
 * with this program.  If not, see <http://www.gnu.org/licenses/>.
 
15
 *
 
16
 * Author: Marcus Tomlinson <marcus.tomlinson@canonical.com>
 
17
 */
 
18
 
 
19
#ifndef QTGMENUIMPORTER_H
 
20
#define QTGMENUIMPORTER_H
 
21
 
 
22
#include <QObject>
 
23
#include <memory>
 
24
 
 
25
class QMenu;
 
26
 
 
27
class _GMenuModel;
 
28
typedef _GMenuModel GMenuModel;
 
29
 
 
30
class _GActionGroup;
 
31
typedef _GActionGroup GActionGroup;
 
32
 
 
33
namespace qtgmenu
 
34
{
 
35
 
 
36
class QtGMenuImporterPrivate;
 
37
 
 
38
class QtGMenuImporter final : public QObject
 
39
{
 
40
Q_OBJECT
 
41
 
 
42
public:
 
43
  QtGMenuImporter( const QString& service, const QString& path, QObject* parent = 0 );
 
44
  QtGMenuImporter( const QString& service, const QString& menu_path, const QString& actions_path,
 
45
      QObject* parent = 0 );
 
46
  virtual ~QtGMenuImporter();
 
47
 
 
48
  GMenuModel* GetGMenuModel() const;
 
49
  GActionGroup* GetGActionGroup() const;
 
50
 
 
51
  std::shared_ptr< QMenu > GetQMenu() const;
 
52
 
 
53
  void Refresh();
 
54
 
 
55
Q_SIGNALS:
 
56
  void MenuItemsChanged();
 
57
 
 
58
  void ActionAdded( QString action_name );
 
59
  void ActionRemoved( QString action_name );
 
60
  void ActionEnabled( QString action_name, bool enabled );
 
61
  void ActionStateChanged( QString action_name, QVariant value );
 
62
 
 
63
private:
 
64
  Q_DISABLE_COPY (QtGMenuImporter)
 
65
  std::unique_ptr< QtGMenuImporterPrivate > d;
 
66
};
 
67
 
 
68
} // namespace qtgmenu
 
69
 
 
70
#endif // QTGMENUIMPORTER_H