2
* Copyright 2013 Canonical Ltd.
4
* This program is free software; you can redistribute it and/or modify
5
* it under the terms of the GNU Lesser General Public License as published by
6
* the Free Software Foundation; version 2.1.
8
* This program is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU Lesser General Public License for more details.
13
* You should have received a copy of the GNU Lesser General Public License
14
* along with this program. If not, see <http://www.gnu.org/licenses/>.
16
* Author: Juhapekka Piiroinen <juhapekka.piiroinen@canonical.com>
22
#include <coreplugin/actionmanager/actionmanager.h>
25
#include "ubuntuprocess.h"
26
#include "ubuntuconstants.h"
31
#include <QJsonDocument>
37
class UbuntuMenu : public QObject
41
explicit UbuntuMenu(QObject *parent = 0);
45
void parseMenu(QJsonObject obj, Core::ActionContainer*& parent, const Core::Id &group = Core::Id());
47
QString menuPath(QString fileName);
48
QJsonDocument getMenuJSON();
51
void slotUpdateActions();
54
void menuItemTriggered();
55
void onStarted(QString);
56
void onMessage(QString);
57
void onError(QString);
58
void onFinished(QString cmd, int code);
61
typedef QList<QJsonValue> QJsonValueList;
64
QMap<QString,QJsonValueList> m_commandMap;
66
UbuntuProcess m_ubuntuProcess;
68
QList<QAction*> m_actions;
77
#endif // UBUNTUMENU_H