WIP: Use QQC2 for context menu
This commit is contained in:
parent
637bb39806
commit
0d8ab503e4
|
@ -1,5 +1,5 @@
|
||||||
import QtQuick 2.7
|
import QtQuick 2.7
|
||||||
import org.kde.plasma.components 2.0 as PlasmaComponents // for Menu and MenuItem
|
import QtQuick.Controls 2.15 as QQC2
|
||||||
|
|
||||||
ListView {
|
ListView {
|
||||||
id: detailView
|
id: detailView
|
||||||
|
@ -8,12 +8,12 @@ ListView {
|
||||||
interactive: false
|
interactive: false
|
||||||
height: contentHeight
|
height: contentHeight
|
||||||
|
|
||||||
PlasmaComponents.Menu {
|
QQC2.Menu {
|
||||||
id: contextMenu
|
id: contextMenu
|
||||||
PlasmaComponents.MenuItem {
|
QQC2.MenuItem {
|
||||||
text: qsTr('Copy value')
|
text: qsTr('Copy value')
|
||||||
icon: "edit-copy"
|
icon.name: "edit-copy"
|
||||||
onClicked: {
|
onTriggered: {
|
||||||
var item = detailView.contextMenuItem
|
var item = detailView.contextMenuItem
|
||||||
if (item) {
|
if (item) {
|
||||||
plasmoid.nativeInterface.copyToClipboard(item.detailValue)
|
plasmoid.nativeInterface.copyToClipboard(item.detailValue)
|
||||||
|
@ -24,6 +24,6 @@ ListView {
|
||||||
|
|
||||||
function showContextMenu(item, x, y) {
|
function showContextMenu(item, x, y) {
|
||||||
contextMenuItem = item
|
contextMenuItem = item
|
||||||
contextMenu.open(x, y)
|
contextMenu.popup()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import QtQuick 2.3
|
import QtQuick 2.3
|
||||||
import QtQuick.Layouts 1.1
|
import QtQuick.Layouts 1.1
|
||||||
import QtQml.Models 2.2
|
import QtQml.Models 2.2
|
||||||
import org.kde.plasma.components 2.0 as PlasmaComponents // for Menu and MenuItem
|
import QtQuick.Controls 2.15 as QQC2
|
||||||
import org.kde.plasma.components 3.0 as PlasmaComponents3
|
import org.kde.plasma.components 3.0 as PlasmaComponents3
|
||||||
import org.kde.plasma.core 2.0 as PlasmaCore
|
import org.kde.plasma.core 2.0 as PlasmaCore
|
||||||
|
|
||||||
|
@ -88,7 +88,7 @@ Item {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
PlasmaComponents.Menu {
|
QQC2.Menu {
|
||||||
id: contextMenu
|
id: contextMenu
|
||||||
|
|
||||||
function init(item) {
|
function init(item) {
|
||||||
|
@ -97,24 +97,23 @@ Item {
|
||||||
resumePauseItem.icon = item.resumePauseButton.icon
|
resumePauseItem.icon = item.resumePauseButton.icon
|
||||||
}
|
}
|
||||||
|
|
||||||
PlasmaComponents.MenuItem {
|
QQC2.MenuItem {
|
||||||
text: qsTr("Copy name")
|
text: qsTr("Copy name")
|
||||||
icon: "edit-copy"
|
icon.name: "edit-copy"
|
||||||
onClicked: deviceView.copyCurrentItemData("devName")
|
onTriggered: deviceView.copyCurrentItemData("devName")
|
||||||
}
|
}
|
||||||
PlasmaComponents.MenuItem {
|
QQC2.MenuItem {
|
||||||
text: qsTr("Copy ID")
|
text: qsTr("Copy ID")
|
||||||
icon: "edit-copy"
|
icon.name: "edit-copy"
|
||||||
onClicked: deviceView.copyCurrentItemData("devID")
|
onTriggered: deviceView.copyCurrentItemData("devID")
|
||||||
}
|
}
|
||||||
PlasmaComponents.MenuItem {
|
QQC2.MenuSeparator {
|
||||||
separator: true
|
|
||||||
}
|
}
|
||||||
PlasmaComponents.MenuItem {
|
QQC2.MenuItem {
|
||||||
id: resumePauseItem
|
id: resumePauseItem
|
||||||
text: qsTr("Pause")
|
text: qsTr("Pause")
|
||||||
icon: "media-playback-pause"
|
icon.name: "media-playback-pause"
|
||||||
onClicked: deviceView.clickCurrentItemButton(
|
onTriggered: deviceView.clickCurrentItemButton(
|
||||||
"resumePauseButton")
|
"resumePauseButton")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import QtQuick 2.3
|
import QtQuick 2.3
|
||||||
import QtQuick.Layouts 1.1
|
import QtQuick.Layouts 1.1
|
||||||
import QtQml.Models 2.2
|
import QtQml.Models 2.2
|
||||||
import org.kde.plasma.components 2.0 as PlasmaComponents // for Menu and MenuItem
|
import QtQuick.Controls 2.15 as QQC2
|
||||||
import org.kde.plasma.components 3.0 as PlasmaComponents3
|
import org.kde.plasma.components 3.0 as PlasmaComponents3
|
||||||
import org.kde.plasma.core 2.0 as PlasmaCore
|
import org.kde.plasma.core 2.0 as PlasmaCore
|
||||||
import martchus.syncthingplasmoid 0.6 as SyncthingPlasmoid
|
import martchus.syncthingplasmoid 0.6 as SyncthingPlasmoid
|
||||||
|
@ -133,48 +133,47 @@ ColumnLayout {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
PlasmaComponents.Menu {
|
QQC2.Menu {
|
||||||
id: contextMenu
|
id: contextMenu
|
||||||
|
|
||||||
function init(item) {
|
function init(item) {
|
||||||
// use value for properties depending on paused state from buttons
|
// use value for properties depending on paused state from buttons
|
||||||
rescanItem.enabled = item.rescanButton.enabled
|
rescanItem.enabled = item.rescanButton.enabled
|
||||||
resumePauseItem.text = item.resumePauseButton.tooltip
|
resumePauseItem.text = item.resumePauseButton.tooltip
|
||||||
resumePauseItem.icon = item.resumePauseButton.icon
|
resumePauseItem.icon.name = item.resumePauseButton.icon
|
||||||
}
|
}
|
||||||
|
|
||||||
PlasmaComponents.MenuItem {
|
QQC2.MenuItem {
|
||||||
text: qsTr("Copy label/ID")
|
text: qsTr("Copy label/ID")
|
||||||
icon: "edit-copy"
|
icon.name: "edit-copy"
|
||||||
onClicked: directoryView.copyCurrentItemData("dirName")
|
onTriggered: directoryView.copyCurrentItemData("dirName")
|
||||||
}
|
}
|
||||||
PlasmaComponents.MenuItem {
|
QQC2.MenuItem {
|
||||||
text: qsTr("Copy path")
|
text: qsTr("Copy path")
|
||||||
icon: "edit-copy"
|
icon.name: "edit-copy"
|
||||||
onClicked: directoryView.copyCurrentItemData("dirPath")
|
onTriggered: directoryView.copyCurrentItemData("dirPath")
|
||||||
}
|
}
|
||||||
PlasmaComponents.MenuItem {
|
QQC2.MenuSeparator {
|
||||||
separator: true
|
|
||||||
}
|
}
|
||||||
PlasmaComponents.MenuItem {
|
QQC2.MenuItem {
|
||||||
id: rescanItem
|
id: rescanItem
|
||||||
text: qsTr("Rescan")
|
text: qsTr("Rescan")
|
||||||
icon: "view-refresh"
|
icon.name: "view-refresh"
|
||||||
onClicked: directoryView.clickCurrentItemButton(
|
onTriggered: directoryView.clickCurrentItemButton(
|
||||||
"rescanButton")
|
"rescanButton")
|
||||||
}
|
}
|
||||||
PlasmaComponents.MenuItem {
|
QQC2.MenuItem {
|
||||||
id: resumePauseItem
|
id: resumePauseItem
|
||||||
text: qsTr("Pause")
|
text: qsTr("Pause")
|
||||||
icon: "media-playback-pause"
|
icon.name: "media-playback-pause"
|
||||||
onClicked: directoryView.clickCurrentItemButton(
|
onTriggered: directoryView.clickCurrentItemButton(
|
||||||
"resumePauseButton")
|
"resumePauseButton")
|
||||||
}
|
}
|
||||||
PlasmaComponents.MenuItem {
|
QQC2.MenuItem {
|
||||||
id: openItem
|
id: openItem
|
||||||
text: qsTr("Open in file browser")
|
text: qsTr("Open in file browser")
|
||||||
icon: "folder"
|
icon.name: "folder"
|
||||||
onClicked: directoryView.clickCurrentItemButton(
|
onTriggered: directoryView.clickCurrentItemButton(
|
||||||
"openButton")
|
"openButton")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import QtQuick 2.3
|
import QtQuick 2.3
|
||||||
import QtQuick.Layouts 1.1
|
import QtQuick.Layouts 1.1
|
||||||
import QtQml.Models 2.2
|
import QtQml.Models 2.2
|
||||||
import org.kde.plasma.components 2.0 as PlasmaComponents // for Menu and MenuItem
|
import QtQuick.Controls 2.15 as QQC2
|
||||||
import org.kde.plasma.components 3.0 as PlasmaComponents3
|
import org.kde.plasma.components 3.0 as PlasmaComponents3
|
||||||
import org.kde.plasma.core 2.0 as PlasmaCore
|
import org.kde.plasma.core 2.0 as PlasmaCore
|
||||||
|
|
||||||
|
@ -131,22 +131,21 @@ Item {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
PlasmaComponents.Menu {
|
QQC2.Menu {
|
||||||
id: contextMenu
|
id: contextMenu
|
||||||
|
|
||||||
PlasmaComponents.MenuItem {
|
QQC2.MenuItem {
|
||||||
text: qsTr("Copy label/ID")
|
text: qsTr("Copy label/ID")
|
||||||
icon: "edit-copy"
|
icon.name: "edit-copy"
|
||||||
onClicked: downloadView.copyCurrentItemData("downloadName")
|
onTriggered: downloadView.copyCurrentItemData("downloadName")
|
||||||
}
|
}
|
||||||
PlasmaComponents.MenuItem {
|
QQC2.MenuSeparator {
|
||||||
separator: true
|
|
||||||
}
|
}
|
||||||
PlasmaComponents.MenuItem {
|
QQC2.MenuItem {
|
||||||
id: openItem
|
id: openItem
|
||||||
text: qsTr("Open in file browser")
|
text: qsTr("Open in file browser")
|
||||||
icon: "folder"
|
icon.name: "folder"
|
||||||
onClicked: downloadView.clickCurrentItemButton("openButton")
|
onTriggered: downloadView.clickCurrentItemButton("openButton")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import QtQuick 2.3
|
import QtQuick 2.3
|
||||||
import QtQuick.Layouts 1.1
|
import QtQuick.Layouts 1.1
|
||||||
import QtQml.Models 2.2
|
import QtQml.Models 2.2
|
||||||
import org.kde.plasma.components 2.0 as PlasmaComponents // for Menu and MenuItem
|
import QtQuick.Controls 2.15 as QQC2
|
||||||
import org.kde.plasma.components 3.0 as PlasmaComponents3
|
import org.kde.plasma.components 3.0 as PlasmaComponents3
|
||||||
import org.kde.plasma.core 2.0 as PlasmaCore
|
import org.kde.plasma.core 2.0 as PlasmaCore
|
||||||
|
|
||||||
|
@ -103,17 +103,17 @@ Item {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
PlasmaComponents.Menu {
|
QQC2.Menu {
|
||||||
id: contextMenu
|
id: contextMenu
|
||||||
PlasmaComponents.MenuItem {
|
QQC2.MenuItem {
|
||||||
text: qsTr("Copy path")
|
text: qsTr("Copy path")
|
||||||
icon: "edit-copy"
|
icon.name: "edit-copy"
|
||||||
onClicked: recentChangesView.currentItem.copyPath()
|
onTriggered: recentChangesView.currentItem.copyPath()
|
||||||
}
|
}
|
||||||
PlasmaComponents.MenuItem {
|
QQC2.MenuItem {
|
||||||
text: qsTr("Copy device ID")
|
text: qsTr("Copy device ID")
|
||||||
icon: "network-server-symbolic"
|
icon.name: "network-server-symbolic"
|
||||||
onClicked: recentChangesView.currentItem.copyDeviceId()
|
onTriggered: recentChangesView.currentItem.copyDeviceId()
|
||||||
}
|
}
|
||||||
PlasmaComponents.MenuItem {
|
PlasmaComponents.MenuItem {
|
||||||
text: qsTr("Copy directory ID")
|
text: qsTr("Copy directory ID")
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import QtQuick 2.7
|
import QtQuick 2.7
|
||||||
import org.kde.plasma.components 2.0 as PlasmaComponents // for Highlight and DialogStatus.Closed (used with Menu and MenuItem)
|
import org.kde.plasma.components 2.0 as PlasmaComponents // for Highlight
|
||||||
|
|
||||||
ListView {
|
ListView {
|
||||||
boundsBehavior: Flickable.StopAtBounds
|
boundsBehavior: Flickable.StopAtBounds
|
||||||
|
@ -14,11 +14,9 @@ ListView {
|
||||||
}
|
}
|
||||||
|
|
||||||
function activate(index) {
|
function activate(index) {
|
||||||
if (typeof contextMenu !== "undefined"
|
if (typeof contextMenu === "undefined") {
|
||||||
&& contextMenu.status !== PlasmaComponents.DialogStatus.Closed) {
|
currentIndex = index
|
||||||
return
|
|
||||||
}
|
}
|
||||||
currentIndex = index
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function clickCurrentItemButton(buttonName) {
|
function clickCurrentItemButton(buttonName) {
|
||||||
|
@ -48,6 +46,6 @@ ListView {
|
||||||
if (typeof contextMenu.init !== "undefined") {
|
if (typeof contextMenu.init !== "undefined") {
|
||||||
contextMenu.init(item)
|
contextMenu.init(item)
|
||||||
}
|
}
|
||||||
contextMenu.open(x, y)
|
contextMenu.popup()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue