/* * Copyright (C) 2019-2020 by Savoir-faire Linux * Author: Aline Gondim Santos * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 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 of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ import QtQuick 2.15 import QtQuick.Window 2.15 import QtQuick.Controls 2.15 import QtQuick.Controls.Universal 2.12 import QtQuick.Layouts 1.3 import QtGraphicalEffects 1.14 import QtQuick.Controls.Styles 1.4 import net.jami.Models 1.0 import "../../commoncomponents" ItemDelegate { id: root property string pluginName : "" property string pluginId: "" property string pluginIcon: "" property bool isLoaded: false signal btnLoadPluginToggled signal btnPreferencesPluginClicked RowLayout { anchors.fill: parent Label { id: pluginImage Layout.leftMargin: 8 Layout.alignment: Qt.AlignLeft | Qt.AlingVCenter width: 30 background: Rectangle { Image { anchors.centerIn: parent source: "file:" + pluginIcon sourceSize: Qt.size(256, 256) mipmap: true width: 32 height: 32 } } } Label { id: labelDeviceId Layout.fillWidth: true Layout.leftMargin: 8 font.pointSize: JamiTheme.settingsFontSize font.kerning: true text: pluginName === "" ? pluginId : pluginName } Switch { id: loadSwitch property bool isHovering: false Layout.rightMargin: 8 width: 20 ToolTip.visible: hovered ToolTip.text: qsTr("Load/Unload") checked: isLoaded onClicked: btnLoadPluginToggled() background: Rectangle { id: switchBackground MouseArea { id: btnMouseArea hoverEnabled: true onReleased: { loadSwitch.clicked() } onEntered: { loadSwitch.isHovering = true } onExited: { loadSwitch.isHovering = false } } } } PushButton { id: btnPreferencesPlugin Layout.alignment: Qt.AlingVCenter | Qt.AlignRight Layout.rightMargin: 8 source: "qrc:/images/icons/round-settings-24px.svg" normalColor: JamiTheme.primaryBackgroundColor toolTipText: JamiStrings.showHidePrefs onClicked: btnPreferencesPluginClicked() } } }