Warning, /frameworks/qqc2-desktop-style/org.kde.desktop/private/MobileTextActionsToolBarImpl.qml is written in an unsupported language. File is not indexed.
0001 /*
0002 SPDX-FileCopyrightText: 2018 Marco Martin <mart@kde.org>
0003
0004 SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006
0007 import QtQuick
0008 import QtQuick.Controls as QQC2
0009 import QtQuick.Layouts
0010 import org.kde.kirigami as Kirigami
0011
0012 QQC2.Popup {
0013 id: root
0014
0015 Kirigami.OverlayZStacking.layer: Kirigami.OverlayZStacking.Menu
0016 z: Kirigami.OverlayZStacking.z
0017
0018 parent: controlRoot.Window.window.contentItem
0019 modal: false
0020 focus: false
0021 closePolicy: QQC2.Popup.NoAutoClose
0022
0023 x: !parent ? 0 : Math.min(Math.max(0, controlRoot.mapToItem(root.parent, controlRoot.positionToRectangle(controlRoot.selectionStart).x, 0).x - root.width / 2), root.parent.width - root.width)
0024
0025 y: {
0026 if (!parent) {
0027 return 0;
0028 }
0029 var desiredY = controlRoot.mapToItem(root.parent, 0, controlRoot.positionToRectangle(controlRoot.selectionStart).y).y - root.height;
0030
0031 if (desiredY >= 0) {
0032 return Math.min(desiredY, root.parent.height - root.height);
0033 } else {
0034 return Math.min(Math.max(0, controlRoot.mapToItem(root.parent, 0, controlRoot.positionToRectangle(controlRoot.selectionEnd).y + Math.round(Kirigami.Units.gridUnit*1.5)).y), root.parent.height - root.height);
0035 }
0036 }
0037
0038 width: contentItem.implicitWidth + leftPadding + rightPadding
0039 visible: true
0040
0041 contentItem: RowLayout {
0042 QQC2.ToolButton {
0043 focusPolicy: Qt.NoFocus
0044 icon.name: "edit-cut"
0045 visible: controlRoot.selectedText.length > 0 && (!controlRoot.hasOwnProperty("echoMode") || controlRoot.echoMode === TextInput.Normal)
0046 onClicked: {
0047 controlRoot.cut();
0048 }
0049 }
0050 QQC2.ToolButton {
0051 focusPolicy: Qt.NoFocus
0052 icon.name: "edit-copy"
0053 visible: controlRoot.selectedText.length > 0 && (!controlRoot.hasOwnProperty("echoMode") || controlRoot.echoMode === TextInput.Normal)
0054 onClicked: {
0055 controlRoot.copy();
0056 }
0057 }
0058 QQC2.ToolButton {
0059 focusPolicy: Qt.NoFocus
0060 icon.name: "edit-paste"
0061 visible: controlRoot.canPaste
0062 onClicked: {
0063 controlRoot.paste();
0064 }
0065 }
0066 }
0067 }