WIP: Use QQC2 for context menu
This commit is contained in:
parent
637bb39806
commit
0d8ab503e4
|
@ -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()
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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")
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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")
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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()
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue