/*Copyright (C) 2011 Martin GrΓ€Γlin <mgraesslin@kde.org>Copyright (C) 2012 Marco Martin <mart@kde.org>This program is free software; you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation; either version 2 of the License, or(at your option) any later version.This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See theGNU General Public License for more details.You should have received a copy of the GNU General Public License alongwith this program; if not, write to the Free Software Foundation, Inc.,51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.*/import QtQuick 2.0import org.kde.plasma.private.kickoff 0.1 as Kickoffimport org.kde.plasma.components 2.0 as PlasmaComponentsimport org.kde.kquickcontrolsaddons 2.0PlasmaComponents.ContextMenu {id: contextMenuproperty string titleproperty variant modelproperty bool isFavorite: model != undefined ? favoritesModel.isFavorite(contextMenu.model.url) : falseproperty bool isApp: contextMenu.model != undefined ? contextMenu.model.url.indexOf(".desktop") !== -1 : falsefunction openAt(title, model, x, y) {contextMenu.title = titlecontextMenu.model = modelopen(x, y)}/** context menu items*/PlasmaComponents.MenuItem {id: titleMenuItemtext: contextMenu.titleicon: contextMenu.model != undefined ? contextMenu.model.decoration : ""checkable: falseenabled: false}PlasmaComponents.MenuItem {id: titleSeparatorseparator: true}PlasmaComponents.MenuItem {id: addToFavoritestext: contextMenu.isFavorite ? i18n("Remove From Favorites") : i18n("Add To Favorites")icon: contextMenu.isFavorite ? "list-remove" : "bookmark-new"visible: contextMenu.isApponClicked: {// FIXME: apparently contextMenu.model is emptyif (contextMenu.isFavorite) {favoritesModel.remove(contextMenu.model.url);} else {favoritesModel.add(contextMenu.model.url);switchToFavorites();}}}PlasmaComponents.MenuItem {id: uninstallApptext: i18n("Uninstall")visible: packagekitSource.data["Status"] !== undefined && contextMenu.isApponClicked: {var service = packagekitSource.serviceForSource("Status")var operation = service.operationDescription("uninstallApplication")operation.Url = contextMenu.model.url;var job = service.startOperationCall(operation)}}} // contextMenu