/* * Copyright 2013 Canonical Ltd. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; version 3. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program. If not, see . * * Authors: Lars Uebernickel */ #include "unityqmlmenumodel.h" struct UnityQmlMenuModelPrivate { QByteArray busName; QByteArray actionObjectPath; QByteArray menuObjectPath; }; UnityQmlMenuModel::UnityQmlMenuModel(QObject *parent): UnityMenuModel(parent) { priv = new UnityQmlMenuModelPrivate; } UnityQmlMenuModel::~UnityQmlMenuModel() { delete priv; } void UnityQmlMenuModel::classBegin() { } void UnityQmlMenuModel::componentComplete() { if (priv->busName.isEmpty()) qWarning("UnityQmlMenuModel: property 'busName' must be set"); else if (priv->actionObjectPath.isEmpty()) qWarning("UnityQmlMenuModel: property 'actionObjectPath' must be set"); else if (priv->menuObjectPath.isEmpty()) qWarning("UnityQmlMenuModel: property 'menuObjectPath' must be set"); else UnityQmlMenuModel::init(priv->busName, priv->actionObjectPath, priv->menuObjectPath); } QByteArray UnityQmlMenuModel::busName() const { return priv->busName; } void UnityQmlMenuModel::setBusName(const QByteArray &name) { if (!priv->busName.isEmpty()) { qWarning("UnityQmlMenuModel: cannot change bus name after creation"); return; } priv->busName = name; Q_EMIT busNameChanged(name); } QByteArray UnityQmlMenuModel::actionObjectPath() const { return priv->actionObjectPath; } void UnityQmlMenuModel::setActionObjectPath(const QByteArray &path) { if (!priv->actionObjectPath.isEmpty()) { qWarning("UnityQmlMenuModel: cannot change object paths after creation"); return; } priv->actionObjectPath = path; Q_EMIT actionObjectPathChanged(path); } QByteArray UnityQmlMenuModel::menuObjectPath() const { return priv->menuObjectPath; } void UnityQmlMenuModel::setMenuObjectPath(const QByteArray &path) { if (!priv->menuObjectPath.isEmpty()) { qWarning("UnityQmlMenuModel: cannot change object paths after creation"); return; } priv->menuObjectPath = path; Q_EMIT menuObjectPathChanged(path); }