Compare commits

...

1 Commits

Author SHA1 Message Date
Martchus 0d8ab503e4 WIP: Use QQC2 for context menu 2022-05-30 19:09:24 +02:00
6 changed files with 58 additions and 63 deletions

View File

@ -1,5 +1,5 @@
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 {
id: detailView
@ -8,12 +8,12 @@ ListView {
interactive: false
height: contentHeight
PlasmaComponents.Menu {
QQC2.Menu {
id: contextMenu
PlasmaComponents.MenuItem {
QQC2.MenuItem {
text: qsTr('Copy value')
icon: "edit-copy"
onClicked: {
icon.name: "edit-copy"
onTriggered: {
var item = detailView.contextMenuItem
if (item) {
plasmoid.nativeInterface.copyToClipboard(item.detailValue)
@ -24,6 +24,6 @@ ListView {
function showContextMenu(item, x, y) {
contextMenuItem = item
contextMenu.open(x, y)
contextMenu.popup()
}
}

View File

@ -1,7 +1,7 @@
import QtQuick 2.3
import QtQuick.Layouts 1.1
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.core 2.0 as PlasmaCore
@ -88,7 +88,7 @@ Item {
}
}
PlasmaComponents.Menu {
QQC2.Menu {
id: contextMenu
function init(item) {
@ -97,24 +97,23 @@ Item {
resumePauseItem.icon = item.resumePauseButton.icon
}
PlasmaComponents.MenuItem {
QQC2.MenuItem {
text: qsTr("Copy name")
icon: "edit-copy"
onClicked: deviceView.copyCurrentItemData("devName")
icon.name: "edit-copy"
onTriggered: deviceView.copyCurrentItemData("devName")
}
PlasmaComponents.MenuItem {
QQC2.MenuItem {
text: qsTr("Copy ID")
icon: "edit-copy"
onClicked: deviceView.copyCurrentItemData("devID")
icon.name: "edit-copy"
onTriggered: deviceView.copyCurrentItemData("devID")
}
PlasmaComponents.MenuItem {
separator: true
QQC2.MenuSeparator {
}
PlasmaComponents.MenuItem {
QQC2.MenuItem {
id: resumePauseItem
text: qsTr("Pause")
icon: "media-playback-pause"
onClicked: deviceView.clickCurrentItemButton(
icon.name: "media-playback-pause"
onTriggered: deviceView.clickCurrentItemButton(
"resumePauseButton")
}
}

View File

@ -1,7 +1,7 @@
import QtQuick 2.3
import QtQuick.Layouts 1.1
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.core 2.0 as PlasmaCore
import martchus.syncthingplasmoid 0.6 as SyncthingPlasmoid
@ -133,48 +133,47 @@ ColumnLayout {
}
}
PlasmaComponents.Menu {
QQC2.Menu {
id: contextMenu
function init(item) {
// use value for properties depending on paused state from buttons
rescanItem.enabled = item.rescanButton.enabled
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")
icon: "edit-copy"
onClicked: directoryView.copyCurrentItemData("dirName")
icon.name: "edit-copy"
onTriggered: directoryView.copyCurrentItemData("dirName")
}
PlasmaComponents.MenuItem {
QQC2.MenuItem {
text: qsTr("Copy path")
icon: "edit-copy"
onClicked: directoryView.copyCurrentItemData("dirPath")
icon.name: "edit-copy"
onTriggered: directoryView.copyCurrentItemData("dirPath")
}
PlasmaComponents.MenuItem {
separator: true
QQC2.MenuSeparator {
}
PlasmaComponents.MenuItem {
QQC2.MenuItem {
id: rescanItem
text: qsTr("Rescan")
icon: "view-refresh"
onClicked: directoryView.clickCurrentItemButton(
icon.name: "view-refresh"
onTriggered: directoryView.clickCurrentItemButton(
"rescanButton")
}
PlasmaComponents.MenuItem {
QQC2.MenuItem {
id: resumePauseItem
text: qsTr("Pause")
icon: "media-playback-pause"
onClicked: directoryView.clickCurrentItemButton(
icon.name: "media-playback-pause"
onTriggered: directoryView.clickCurrentItemButton(
"resumePauseButton")
}
PlasmaComponents.MenuItem {
QQC2.MenuItem {
id: openItem
text: qsTr("Open in file browser")
icon: "folder"
onClicked: directoryView.clickCurrentItemButton(
icon.name: "folder"
onTriggered: directoryView.clickCurrentItemButton(
"openButton")
}
}

View File

@ -1,7 +1,7 @@
import QtQuick 2.3
import QtQuick.Layouts 1.1
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.core 2.0 as PlasmaCore
@ -131,22 +131,21 @@ Item {
}
}
PlasmaComponents.Menu {
QQC2.Menu {
id: contextMenu
PlasmaComponents.MenuItem {
QQC2.MenuItem {
text: qsTr("Copy label/ID")
icon: "edit-copy"
onClicked: downloadView.copyCurrentItemData("downloadName")
icon.name: "edit-copy"
onTriggered: downloadView.copyCurrentItemData("downloadName")
}
PlasmaComponents.MenuItem {
separator: true
QQC2.MenuSeparator {
}
PlasmaComponents.MenuItem {
QQC2.MenuItem {
id: openItem
text: qsTr("Open in file browser")
icon: "folder"
onClicked: downloadView.clickCurrentItemButton("openButton")
icon.name: "folder"
onTriggered: downloadView.clickCurrentItemButton("openButton")
}
}
}

View File

@ -1,7 +1,7 @@
import QtQuick 2.3
import QtQuick.Layouts 1.1
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.core 2.0 as PlasmaCore
@ -103,17 +103,17 @@ Item {
}
}
PlasmaComponents.Menu {
QQC2.Menu {
id: contextMenu
PlasmaComponents.MenuItem {
QQC2.MenuItem {
text: qsTr("Copy path")
icon: "edit-copy"
onClicked: recentChangesView.currentItem.copyPath()
icon.name: "edit-copy"
onTriggered: recentChangesView.currentItem.copyPath()
}
PlasmaComponents.MenuItem {
QQC2.MenuItem {
text: qsTr("Copy device ID")
icon: "network-server-symbolic"
onClicked: recentChangesView.currentItem.copyDeviceId()
icon.name: "network-server-symbolic"
onTriggered: recentChangesView.currentItem.copyDeviceId()
}
PlasmaComponents.MenuItem {
text: qsTr("Copy directory ID")

View File

@ -1,5 +1,5 @@
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 {
boundsBehavior: Flickable.StopAtBounds
@ -14,11 +14,9 @@ ListView {
}
function activate(index) {
if (typeof contextMenu !== "undefined"
&& contextMenu.status !== PlasmaComponents.DialogStatus.Closed) {
return
if (typeof contextMenu === "undefined") {
currentIndex = index
}
currentIndex = index
}
function clickCurrentItemButton(buttonName) {
@ -48,6 +46,6 @@ ListView {
if (typeof contextMenu.init !== "undefined") {
contextMenu.init(item)
}
contextMenu.open(x, y)
contextMenu.popup()
}
}