summaryrefslogtreecommitdiff
path: root/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modules/DankBar/Widgets/ClipboardButton.qml
diff options
context:
space:
mode:
authorAlexanderCurl <alexc@alexc.hu>2026-04-18 17:46:06 +0100
committerAlexanderCurl <alexc@alexc.hu>2026-04-18 17:46:06 +0100
commit70ca3fef77ee8bdc6e3ac28589a6fa08c024cc69 (patch)
treeab1123d4067c1b086dd6faa7ee4ea643236b565a /raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modules/DankBar/Widgets/ClipboardButton.qml
parent5d94c0a7d44a2255b81815a52a7056a94a39842d (diff)
downloadRaveOS-PKGBUILD-70ca3fef77ee8bdc6e3ac28589a6fa08c024cc69.tar.gz
RaveOS-PKGBUILD-70ca3fef77ee8bdc6e3ac28589a6fa08c024cc69.zip
Replaced file structures for themes in the correct format
Diffstat (limited to 'raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modules/DankBar/Widgets/ClipboardButton.qml')
-rw-r--r--raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modules/DankBar/Widgets/ClipboardButton.qml314
1 files changed, 0 insertions, 314 deletions
diff --git a/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modules/DankBar/Widgets/ClipboardButton.qml b/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modules/DankBar/Widgets/ClipboardButton.qml
deleted file mode 100644
index e970662..0000000
--- a/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modules/DankBar/Widgets/ClipboardButton.qml
+++ /dev/null
@@ -1,314 +0,0 @@
-import QtQuick
-import Quickshell
-import Quickshell.Wayland
-import qs.Common
-import qs.Modules.Plugins
-import qs.Services
-import qs.Widgets
-
-BasePill {
- id: root
-
- property bool isActive: false
- property bool isAutoHideBar: false
-
- signal clipboardClicked
- signal showSavedItemsRequested
- signal clearAllRequested
-
- readonly property real minTooltipY: {
- if (!parentScreen || !(axis?.isVertical ?? false)) {
- return 0;
- }
- if (isAutoHideBar) {
- return 0;
- }
- if (parentScreen.y > 0) {
- return barThickness + barSpacing;
- }
- return 0;
- }
-
- function clamp(value, minValue, maxValue) {
- return Math.max(minValue, Math.min(maxValue, value));
- }
-
- function openContextMenu() {
- const screen = root.parentScreen || Screen;
- const screenX = screen.x || 0;
- const screenY = screen.y || 0;
- const isVertical = root.axis?.isVertical ?? false;
- const edge = root.axis?.edge ?? "top";
- const gap = Math.max(Theme.spacingXS, root.barSpacing ?? Theme.spacingXS);
-
- const globalPos = root.mapToGlobal(root.width / 2, root.height / 2);
- const relativeX = globalPos.x - screenX;
- const relativeY = globalPos.y - screenY;
-
- let anchorX = relativeX;
- let anchorY = relativeY;
-
- if (isVertical) {
- anchorX = edge === "left" ? (root.barThickness + root.barSpacing + gap) : (screen.width - (root.barThickness + root.barSpacing + gap));
- anchorY = relativeY + root.minTooltipY;
- } else {
- anchorX = relativeX;
- anchorY = edge === "bottom" ? (screen.height - (root.barThickness + root.barSpacing + gap)) : (root.barThickness + root.barSpacing + gap);
- }
-
- contextMenuWindow.showAt(anchorX, anchorY, isVertical, edge, screen);
- }
-
- MouseArea {
- anchors.fill: parent
- acceptedButtons: Qt.LeftButton | Qt.RightButton
- cursorShape: Qt.PointingHandCursor
- onPressed: mouse => root.triggerRipple(this, mouse.x, mouse.y)
- onClicked: function (mouse) {
- switch (mouse.button) {
- case Qt.RightButton:
- openContextMenu();
- break;
- case Qt.LeftButton:
- clipboardClicked();
- break;
- }
- }
- }
-
- content: Component {
- Item {
- implicitWidth: icon.width
- implicitHeight: root.widgetThickness - root.horizontalPadding * 2
-
- DankIcon {
- id: icon
- anchors.centerIn: parent
- name: "content_paste"
- size: Theme.barIconSize(root.barThickness, -4, root.barConfig?.maximizeWidgetIcons, root.barConfig?.iconScale)
- color: Theme.widgetIconColor
- }
- }
- }
-
- PanelWindow {
- id: contextMenuWindow
-
- WindowBlur {
- targetWindow: contextMenuWindow
- blurX: menuContainer.x
- blurY: menuContainer.y
- blurWidth: contextMenuWindow.visible ? menuContainer.width : 0
- blurHeight: contextMenuWindow.visible ? menuContainer.height : 0
- blurRadius: Theme.cornerRadius
- }
-
- WlrLayershell.namespace: "dms:clipboard-context-menu"
-
- property bool isVertical: false
- property string edge: "top"
- property point anchorPos: Qt.point(0, 0)
-
- function showAt(x, y, vertical, barEdge, targetScreen) {
- if (targetScreen) {
- contextMenuWindow.screen = targetScreen;
- }
-
- anchorPos = Qt.point(x, y);
- isVertical = vertical ?? false;
- edge = barEdge ?? "top";
-
- visible = true;
-
- if (contextMenuWindow.screen) {
- TrayMenuManager.registerMenu(contextMenuWindow.screen.name, contextMenuWindow);
- }
- }
-
- function closeMenu() {
- visible = false;
-
- if (contextMenuWindow.screen) {
- TrayMenuManager.unregisterMenu(contextMenuWindow.screen.name);
- }
- }
-
- screen: null
- visible: false
- WlrLayershell.layer: WlrLayershell.Overlay
- WlrLayershell.exclusiveZone: -1
- WlrLayershell.keyboardFocus: WlrKeyboardFocus.None
- color: "transparent"
- anchors {
- top: true
- left: true
- right: true
- bottom: true
- }
-
- Component.onDestruction: {
- if (contextMenuWindow.screen) {
- TrayMenuManager.unregisterMenu(contextMenuWindow.screen.name);
- }
- }
-
- Connections {
- target: PopoutManager
- function onPopoutOpening() {
- contextMenuWindow.closeMenu();
- }
- }
-
- MouseArea {
- anchors.fill: parent
- acceptedButtons: Qt.LeftButton | Qt.RightButton | Qt.MiddleButton
- onClicked: contextMenuWindow.closeMenu()
- }
-
- Rectangle {
- id: menuContainer
-
- x: {
- if (contextMenuWindow.isVertical) {
- if (contextMenuWindow.edge === "left") {
- return Math.min(contextMenuWindow.width - width - 10, contextMenuWindow.anchorPos.x);
- }
- return Math.max(10, contextMenuWindow.anchorPos.x - width);
- }
- const left = 10;
- const right = contextMenuWindow.width - width - 10;
- const want = contextMenuWindow.anchorPos.x - width / 2;
- return Math.max(left, Math.min(right, want));
- }
- y: {
- if (contextMenuWindow.isVertical) {
- const top = 10;
- const bottom = contextMenuWindow.height - height - 10;
- const want = contextMenuWindow.anchorPos.y - height / 2;
- return Math.max(top, Math.min(bottom, want));
- }
- if (contextMenuWindow.edge === "top") {
- return Math.min(contextMenuWindow.height - height - 10, contextMenuWindow.anchorPos.y);
- }
- return Math.max(10, contextMenuWindow.anchorPos.y - height);
- }
-
- width: Math.min(240, Math.max(170, menuColumn.implicitWidth + Theme.spacingS * 2))
- height: Math.max(64, menuColumn.implicitHeight + Theme.spacingS * 2)
- color: Theme.withAlpha(Theme.surfaceContainer, Theme.popupTransparency)
- radius: Theme.cornerRadius
- border.color: BlurService.enabled ? BlurService.borderColor : Qt.rgba(Theme.outline.r, Theme.outline.g, Theme.outline.b, 0.08)
- border.width: BlurService.enabled ? BlurService.borderWidth : 1
-
- opacity: contextMenuWindow.visible ? 1 : 0
- visible: opacity > 0
-
- Behavior on opacity {
- NumberAnimation {
- duration: Theme.shortDuration
- easing.type: Theme.emphasizedEasing
- }
- }
-
- Rectangle {
- anchors.fill: parent
- anchors.topMargin: 4
- anchors.leftMargin: 2
- anchors.rightMargin: -2
- anchors.bottomMargin: -4
- radius: parent.radius
- color: Qt.rgba(0, 0, 0, 0.15)
- z: -1
- }
-
- Column {
- id: menuColumn
- width: parent.width - Theme.spacingS * 2
- anchors.horizontalCenter: parent.horizontalCenter
- anchors.top: parent.top
- anchors.topMargin: Theme.spacingS
- spacing: 1
-
- Rectangle {
- id: clearAllItem
- width: parent.width
- height: 30
- radius: Theme.cornerRadius
- color: clearAllArea.containsMouse ? BlurService.hoverColor(Theme.widgetBaseHoverColor) : "transparent"
-
- Row {
- anchors.fill: parent
- anchors.leftMargin: Theme.spacingS
- anchors.rightMargin: Theme.spacingS
- spacing: Theme.spacingS
-
- DankIcon {
- anchors.verticalCenter: parent.verticalCenter
- name: "delete_sweep"
- size: 16
- color: Theme.surfaceText
- }
-
- StyledText {
- anchors.verticalCenter: parent.verticalCenter
- text: I18n.tr("Clear All")
- font.pixelSize: Theme.fontSizeSmall
- color: Theme.surfaceText
- }
- }
-
- MouseArea {
- id: clearAllArea
- anchors.fill: parent
- hoverEnabled: true
- cursorShape: Qt.PointingHandCursor
- onClicked: {
- contextMenuWindow.closeMenu();
- root.clearAllRequested();
- }
- }
- }
-
- Rectangle {
- id: savedItemsItem
- width: parent.width
- height: 30
- radius: Theme.cornerRadius
- color: savedItemsArea.containsMouse ? BlurService.hoverColor(Theme.widgetBaseHoverColor) : "transparent"
-
- Row {
- anchors.fill: parent
- anchors.leftMargin: Theme.spacingS
- anchors.rightMargin: Theme.spacingS
- spacing: Theme.spacingS
-
- DankIcon {
- anchors.verticalCenter: parent.verticalCenter
- name: "push_pin"
- size: 16
- color: Theme.surfaceText
- }
-
- StyledText {
- anchors.verticalCenter: parent.verticalCenter
- text: I18n.tr("Show Saved Items")
- font.pixelSize: Theme.fontSizeSmall
- color: Theme.surfaceText
- }
- }
-
- MouseArea {
- id: savedItemsArea
- anchors.fill: parent
- hoverEnabled: true
- cursorShape: Qt.PointingHandCursor
- onClicked: {
- contextMenuWindow.closeMenu();
- root.showSavedItemsRequested();
- }
- }
- }
- }
- }
- }
-}