Warning, /frameworks/qqc2-desktop-style/org.kde.desktop/private/MobileTextActionsToolBar.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 pragma Singleton 0008 0009 import QtQuick 2.1 0010 import QtQuick.Layouts 1.2 0011 import QtQuick.Window 2.2 0012 import QtQuick.Controls 2.15 0013 import org.kde.kirigami 2.5 as Kirigami 0014 0015 Popup { 0016 id: root 0017 0018 property Item controlRoot 0019 parent: controlRoot ? controlRoot.Window.contentItem : undefined 0020 modal: false 0021 focus: false 0022 closePolicy: Popup.NoAutoClose 0023 property bool shouldBeVisible: false 0024 0025 x: { 0026 if (!controlRoot || !controlRoot.Window.contentItem) { 0027 return 0; 0028 } 0029 return Math.min(Math.max(0, controlRoot.mapToItem(root.parent, controlRoot.positionToRectangle(controlRoot.selectionStart).x, 0).x - root.width/2), controlRoot.Window.contentItem.width - root.width); 0030 } 0031 0032 y: { 0033 if (!controlRoot || !controlRoot.Window.contentItem) { 0034 return 0; 0035 } 0036 var desiredY = controlRoot.mapToItem(root.parent, 0, controlRoot.positionToRectangle(controlRoot.selectionStart).y).y - root.height; 0037 0038 if (desiredY >= 0) { 0039 return Math.min(desiredY, controlRoot.Window.contentItem.height - root.height); 0040 } else { 0041 return Math.min(Math.max(0, controlRoot.mapToItem(root.parent, 0, controlRoot.positionToRectangle(controlRoot.selectionEnd).y + Math.round(Kirigami.Units.gridUnit*1.5)).y), controlRoot.Window.contentItem.height - root.height); 0042 } 0043 } 0044 0045 0046 visible: controlRoot ? shouldBeVisible && Kirigami.Settings.tabletMode && (controlRoot.selectedText.length > 0 || controlRoot.canPaste) : false 0047 0048 width: contentItem.implicitWidth + leftPadding + rightPadding 0049 0050 contentItem: RowLayout { 0051 ToolButton { 0052 focusPolicy: Qt.NoFocus 0053 icon.name: "edit-cut" 0054 visible: controlRoot && controlRoot.selectedText.length > 0 && (!controlRoot.hasOwnProperty("echoMode") || controlRoot.echoMode === TextInput.Normal) 0055 onClicked: { 0056 controlRoot.cut(); 0057 } 0058 } 0059 ToolButton { 0060 focusPolicy: Qt.NoFocus 0061 icon.name: "edit-copy" 0062 visible: controlRoot && controlRoot.selectedText.length > 0 && (!controlRoot.hasOwnProperty("echoMode") || controlRoot.echoMode === TextInput.Normal) 0063 onClicked: { 0064 controlRoot.copy(); 0065 } 0066 } 0067 ToolButton { 0068 focusPolicy: Qt.NoFocus 0069 icon.name: "edit-paste" 0070 visible: controlRoot && controlRoot.canPaste 0071 onClicked: { 0072 controlRoot.paste(); 0073 } 0074 } 0075 } 0076 } 0077