diff --git a/kde/gui/ChatBlockDelegate.qml b/kde/gui/ChatBlockDelegate.qml index 0a07c91..0d4c064 100644 --- a/kde/gui/ChatBlockDelegate.qml +++ b/kde/gui/ChatBlockDelegate.qml @@ -250,19 +250,12 @@ Column { } mouse.accepted = true } else if (mouse.button === Qt.RightButton) { - // B3: Plumb selection, or show context menu + // B3: Plumb selection (no context menu) var sel = mainTextEdit.selectedText if (sel && sel.trim() !== "" && plumber.available()) { plumber.plumb(sel.trim()) - mouse.accepted = true - } else { - // Fall back to context menu - if (!mainTextEdit._menu) { - mainTextEdit._menu = contextMenuComponent.createObject(mainTextEdit) - } - mainTextEdit._menu.popup() - mouse.accepted = true } + mouse.accepted = true } } @@ -270,7 +263,6 @@ Column { leftHeld = false } } - property var _menu: null } // Diagram path: use Repeater for blocks that contain diagrams @@ -397,17 +389,12 @@ Column { } mouse.accepted = true } else if (mouse.button === Qt.RightButton) { + // B3: Plumb selection (no context menu) var sel = textEdit.selectedText if (sel && sel.trim() !== "" && plumber.available()) { plumber.plumb(sel.trim()) - mouse.accepted = true - } else { - if (!textEdit._menu) { - textEdit._menu = contextMenuComponent.createObject(textEdit) - } - textEdit._menu.popup() - mouse.accepted = true } + mouse.accepted = true } } @@ -415,51 +402,6 @@ Column { leftHeld = false } } - - property Menu _menu: null - - Component.onDestruction: { - if (_menu) _menu.destroy() - } - } - } - - // Shared context menu component (created on demand) - Component { - id: contextMenuComponent - Menu { - id: ctxMenu - property TextEdit target: parent - - MenuItem { - text: "Execute (B2)" - enabled: ctxMenu.target ? ctxMenu.target.selectedText.length > 0 : false - onTriggered: if (ctxMenu.target) executeText(ctxMenu.target.selectedText) - } - MenuItem { - text: "Plumb (B3)" - enabled: ctxMenu.target ? ctxMenu.target.selectedText.length > 0 && plumber.available() : false - onTriggered: if (ctxMenu.target) plumber.plumb(ctxMenu.target.selectedText.trim()) - } - MenuSeparator {} - MenuItem { - text: "Cut (B1+B2)" - enabled: ctxMenu.target ? ctxMenu.target.selectedText.length > 0 : false - onTriggered: if (ctxMenu.target) ctxMenu.target.cut() - } - MenuItem { - text: "Copy" - enabled: ctxMenu.target ? ctxMenu.target.selectedText.length > 0 : false - onTriggered: if (ctxMenu.target) ctxMenu.target.copy() - } - MenuItem { - text: "Paste (B1+B3)" - onTriggered: if (ctxMenu.target) ctxMenu.target.paste() - } - MenuItem { - text: "Select All" - onTriggered: if (ctxMenu.target) ctxMenu.target.selectAll() - } } } @@ -556,20 +498,15 @@ Column { if (sel && sel.trim() !== "") executeText(sel) mouse.accepted = true } else if (mouse.button === Qt.RightButton) { + // B3: Plumb selection (no context menu) var sel = sourceEdit.selectedText if (sel && sel.trim() !== "" && plumber.available()) { plumber.plumb(sel.trim()) - } else { - if (!sourceEdit._menu) { - sourceEdit._menu = contextMenuComponent.createObject(sourceEdit) - } - sourceEdit._menu.popup() } mouse.accepted = true } } } - property Menu _menu: null } Column { diff --git a/kde/gui/ChatPane.qml b/kde/gui/ChatPane.qml index 942b719..9379045 100644 --- a/kde/gui/ChatPane.qml +++ b/kde/gui/ChatPane.qml @@ -493,16 +493,13 @@ Item { if (sel && sel.trim() !== "") { ollie.submit(sel.trim()) } else { - // No selection - paste from clipboard and execute? - // Or just ignore. For now, ignore. + // No selection - ignore } } else if (mouse.button === Qt.RightButton) { - // B3: Plumb selection or show context menu + // B3: Plumb selection (no context menu) var sel = promptInput.selectedText if (sel && sel.trim() !== "" && plumber.available()) { plumber.plumb(sel.trim()) - } else { - promptContextMenu.popup() } } } @@ -511,47 +508,6 @@ Item { leftHeld = false } } - - Menu { - id: promptContextMenu - MenuItem { - text: "Execute Selection (B2)" - enabled: promptInput.selectedText.length > 0 - onTriggered: { - var sel = promptInput.selectedText - if (sel && sel.trim() !== "") ollie.submit(sel.trim()) - } - } - MenuItem { - text: "Plumb Selection (B3)" - enabled: promptInput.selectedText.length > 0 && plumber.available() - onTriggered: { - var sel = promptInput.selectedText - if (sel && sel.trim() !== "") plumber.plumb(sel.trim()) - } - } - MenuSeparator {} - MenuItem { - text: "Cut (B1+B2)" - enabled: promptInput.selectedText.length > 0 - onTriggered: promptInput.cut() - } - MenuItem { - text: "Copy" - enabled: promptInput.selectedText.length > 0 - onTriggered: promptInput.copy() - } - MenuItem { - text: "Paste (B1+B3)" - enabled: promptInput.canPaste - onTriggered: promptInput.paste() - } - MenuSeparator {} - MenuItem { - text: "Select All" - onTriggered: promptInput.selectAll() - } - } } // Paste button (mouse-first workflow)