Warning, /plasma/plasma-desktop/desktoppackage/contents/explorer/Tooltip.qml is written in an unsupported language. File is not indexed.
0001 /*
0002 SPDX-FileCopyrightText: 2011 Marco Martin <mart@kde.org>
0003
0004 SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006
0007 import QtQuick 2.1
0008 import QtQuick.Layouts 1.0 as Layouts
0009 import org.kde.plasma.components 3.0 as PlasmaComponents
0010 import org.kde.kirigami 2.20 as Kirigami
0011
0012 MouseArea {
0013 id: main
0014
0015 hoverEnabled: true
0016 onEntered: toolTipHideTimer.running = false
0017 onExited: toolTipHideTimer.running = true
0018
0019 width: Kirigami.Units.iconSizes.sizeForLabels * 35
0020 height: Kirigami.Units.iconSizes.sizeForLabels * 16
0021
0022 property variant icon
0023 property string title
0024 property string description
0025 property string author
0026 property string email
0027 property string license
0028 property string pluginName
0029 property bool local
0030
0031 onClicked: tooltipDialog.visible = false
0032 Connections {
0033 target: tooltipDialog
0034 function onAppletDelegateChanged() {
0035 if (!tooltipDialog.appletDelegate) {
0036 return
0037 }
0038 icon = tooltipDialog.appletDelegate.icon
0039 title = tooltipDialog.appletDelegate.title
0040 description = tooltipDialog.appletDelegate.description
0041 author = tooltipDialog.appletDelegate.author
0042 email = tooltipDialog.appletDelegate.email
0043 license = tooltipDialog.appletDelegate.license
0044 pluginName = tooltipDialog.appletDelegate.pluginName
0045 local = tooltipDialog.appletDelegate.local
0046 }
0047 }
0048 Kirigami.Icon {
0049 id: tooltipIconWidget
0050 anchors {
0051 left: parent.left
0052 top: parent.top
0053 margins: 8
0054 }
0055 width: Kirigami.Units.iconSizes.huge
0056 height: width
0057 source: main.icon
0058 }
0059 Column {
0060 id: nameColumn
0061 spacing: 8
0062 anchors {
0063 left: tooltipIconWidget.right
0064 margins: 8
0065 top: parent.top
0066 right: parent.right
0067 }
0068
0069 Kirigami.Heading {
0070 text: title
0071 level: 2
0072 anchors.left: parent.left
0073 anchors.right: parent.right
0074 height: paintedHeight
0075 textFormat: Text.PlainText
0076 wrapMode: Text.Wrap
0077 }
0078 PlasmaComponents.Label {
0079 text: description
0080 textFormat: Text.PlainText
0081 anchors.left: parent.left
0082 anchors.right: parent.right
0083 wrapMode: Text.Wrap
0084 }
0085 }
0086 Layouts.GridLayout {
0087 columns: 2
0088 anchors {
0089 top: (nameColumn.height > tooltipIconWidget.height) ? nameColumn.bottom : tooltipIconWidget.bottom
0090 topMargin: 16
0091 horizontalCenter: parent.horizontalCenter
0092 }
0093 PlasmaComponents.Label {
0094 text: i18nd("plasma_shell_org.kde.plasma.desktop", "License:")
0095 textFormat: Text.PlainText
0096 Layouts.Layout.alignment: Qt.AlignVCenter|Qt.AlignRight
0097 }
0098 PlasmaComponents.Label {
0099 id: licenseText
0100 text: license
0101 textFormat: Text.PlainText
0102 wrapMode: Text.Wrap
0103 }
0104 PlasmaComponents.Label {
0105 text: i18nd("plasma_shell_org.kde.plasma.desktop", "Author:")
0106 textFormat: Text.PlainText
0107 Layouts.Layout.alignment: Qt.AlignVCenter|Qt.AlignRight
0108 }
0109 PlasmaComponents.Label {
0110 text: author
0111 textFormat: Text.PlainText
0112 wrapMode: Text.Wrap
0113 }
0114 PlasmaComponents.Label {
0115 text: i18nd("plasma_shell_org.kde.plasma.desktop", "Email:")
0116 textFormat: Text.PlainText
0117 Layouts.Layout.alignment: Qt.AlignVCenter|Qt.AlignRight
0118 }
0119 PlasmaComponents.Label {
0120 text: email
0121 textFormat: Text.PlainText
0122 }
0123 }
0124
0125 PlasmaComponents.Button {
0126 id: uninstallButton
0127 anchors {
0128 horizontalCenter: parent.horizontalCenter
0129 bottom: parent.bottom
0130 }
0131 opacity: local ? 1 : 0
0132 Behavior on opacity {
0133 NumberAnimation { duration: Kirigami.Units.longDuration }
0134 }
0135 iconSource: "application-exit"
0136 text: i18nd("plasma_shell_org.kde.plasma.desktop", "Uninstall")
0137 onClicked: {
0138 widgetExplorer.uninstall(pluginName)
0139 tooltipDialog.visible = false
0140 }
0141 }
0142 }