mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-01-30 08:22:51 -05:00
PluginComponent: support for right click not defaulted to poput toggle (#677)
* PluginComponent: support for right click not defaulted to poput toggle * PluginComponent: right click docs
This commit is contained in:
committed by
GitHub
parent
caa085a646
commit
5fa117db4c
@@ -20,6 +20,7 @@ Item {
|
|||||||
property real popoutWidth: 400
|
property real popoutWidth: 400
|
||||||
property real popoutHeight: 0
|
property real popoutHeight: 0
|
||||||
property var pillClickAction: null
|
property var pillClickAction: null
|
||||||
|
property var pillRightClickAction: null
|
||||||
|
|
||||||
property Component controlCenterWidget: null
|
property Component controlCenterWidget: null
|
||||||
property string ccWidgetIcon: ""
|
property string ccWidgetIcon: ""
|
||||||
@@ -120,6 +121,18 @@ Item {
|
|||||||
pluginPopout.toggle()
|
pluginPopout.toggle()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
onRightClicked: {
|
||||||
|
if (pillRightClickAction) {
|
||||||
|
if (pillRightClickAction.length === 0) {
|
||||||
|
pillRightClickAction()
|
||||||
|
} else {
|
||||||
|
const globalPos = mapToGlobal(0, 0)
|
||||||
|
const currentScreen = parentScreen || Screen
|
||||||
|
const pos = SettingsData.getPopupTriggerPosition(globalPos, currentScreen, barThickness, width)
|
||||||
|
pillRightClickAction(pos.x, pos.y, pos.width, section, currentScreen)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
BasePill {
|
BasePill {
|
||||||
@@ -147,6 +160,18 @@ Item {
|
|||||||
pluginPopout.toggle()
|
pluginPopout.toggle()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
onRightClicked: {
|
||||||
|
if (pillRightClickAction) {
|
||||||
|
if (pillRightClickAction.length === 0) {
|
||||||
|
pillRightClickAction()
|
||||||
|
} else {
|
||||||
|
const globalPos = mapToGlobal(0, 0)
|
||||||
|
const currentScreen = parentScreen || Screen
|
||||||
|
const pos = SettingsData.getPopupTriggerPosition(globalPos, currentScreen, barThickness, width)
|
||||||
|
pillRightClickAction(pos.x, pos.y, pos.width, section, currentScreen)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function closePopout() {
|
function closePopout() {
|
||||||
|
|||||||
@@ -177,6 +177,7 @@ PluginComponent {
|
|||||||
- `popoutWidth`: Popout window width
|
- `popoutWidth`: Popout window width
|
||||||
- `popoutHeight`: Popout window height
|
- `popoutHeight`: Popout window height
|
||||||
- `pillClickAction`: Custom click handler function (overrides popout)
|
- `pillClickAction`: Custom click handler function (overrides popout)
|
||||||
|
- `pillRightClickAction`: Custom right click handler function
|
||||||
|
|
||||||
### Control Center Integration
|
### Control Center Integration
|
||||||
|
|
||||||
@@ -227,7 +228,7 @@ PluginComponent {
|
|||||||
|
|
||||||
**Custom Click Actions:**
|
**Custom Click Actions:**
|
||||||
|
|
||||||
Override default popout with `pillClickAction`:
|
Override default popout with `pillClickAction` and `pillRightClickAction`:
|
||||||
|
|
||||||
```qml
|
```qml
|
||||||
pillClickAction: () => {
|
pillClickAction: () => {
|
||||||
@@ -238,6 +239,14 @@ pillClickAction: () => {
|
|||||||
pillClickAction: (x, y, width, section, screen) => {
|
pillClickAction: (x, y, width, section, screen) => {
|
||||||
popoutService?.toggleControlCenter(x, y, width, section, screen)
|
popoutService?.toggleControlCenter(x, y, width, section, screen)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pillRightClickAction: () => {
|
||||||
|
Process.exec("bash", ["-c", "notify-send 'Right clicked!'"])
|
||||||
|
}
|
||||||
|
|
||||||
|
pillRightClickAction: (x, y, width, section, screen) => {
|
||||||
|
popoutService?.toggleControlCenter(x, y, width, section, screen)
|
||||||
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
The PluginComponent automatically handles:
|
The PluginComponent automatically handles:
|
||||||
|
|||||||
Reference in New Issue
Block a user