diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/controls/Private/EditMenu.qml | 2 | ||||
-rw-r--r-- | src/controls/Private/EditMenu_ios.qml | 134 | ||||
-rw-r--r-- | src/controls/Private/private.pri | 1 | ||||
-rw-r--r-- | src/controls/Private/qmldir | 1 | ||||
-rw-r--r-- | src/controls/Styles/iOS/TextAreaStyle.qml | 2 | ||||
-rw-r--r-- | src/controls/Styles/iOS/TextFieldStyle.qml | 2 |
6 files changed, 1 insertions, 141 deletions
diff --git a/src/controls/Private/EditMenu.qml b/src/controls/Private/EditMenu.qml index e32293d8..843ccb00 100644 --- a/src/controls/Private/EditMenu.qml +++ b/src/controls/Private/EditMenu.qml @@ -79,7 +79,7 @@ Loader { sourceComponent = style.__editMenu; else { // todo: get ios/android/base menus from style as well - source = (Qt.resolvedUrl(Qt.platform.os === "ios" ? "EditMenu_ios.qml" + source = (Qt.resolvedUrl(Qt.platform.os === "ios" ? "" : Qt.platform.os === "android" ? "" : "EditMenu_base.qml")); } } diff --git a/src/controls/Private/EditMenu_ios.qml b/src/controls/Private/EditMenu_ios.qml deleted file mode 100644 index bf347640..00000000 --- a/src/controls/Private/EditMenu_ios.qml +++ /dev/null @@ -1,134 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the Qt Quick Controls module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.2 -import QtQuick.Controls 1.2 -import QtQuick.Controls.Styles 1.1 -import QtQuick.Controls.Private 1.0 - -Item { - anchors.fill: parent - property bool __showMenuFromTouch: false - - property Component defaultMenu: Menu { - /* iOS plugin will automatically populate edit menus with standard edit actions */ - } - - Connections { - target: mouseArea - - onClicked: { - var pos = input.positionAt(mouse.x, mouse.y); - var posMoved = (pos !== input.cursorPosition); - var popupVisible = (control.menu && getMenuInstance().__popupVisible); - - if (!input.activeFocus) - input.activate(); - else if (!popupVisible && !posMoved) - __showMenuFromTouch = true; - - input.moveHandles(pos, pos) - menuTimer.start(); - } - - onPressAndHold: { - __showMenuFromTouch = true; - menuTimer.start(); - } - - } - - Connections { - target: cursorHandle ? cursorHandle : null - ignoreUnknownSignals: true - onPressedChanged: menuTimer.start() - } - - Connections { - target: selectionHandle ? selectionHandle : null - ignoreUnknownSignals: true - onPressedChanged: menuTimer.start() - } - - Connections { - target: flickable - ignoreUnknownSignals: true - onMovingChanged: menuTimer.start() - } - - Connections { - id: selectionConnections - target: input - ignoreUnknownSignals: true - onSelectionStartChanged: menuTimer.start() - onSelectionEndChanged: menuTimer.start() - onActiveFocusChanged: menuTimer.start() - } - - Timer { - // We use a timer so that we end up with one update when multiple connections fire at the same time. - // Basically we wan't the menu to be open if the user does a press and hold, or if we have a selection. - // The exceptions are if the user is moving selection handles or otherwise touching the screen (e.g flicking). - // What is currently missing are showing a magnifyer to place the cursor, and to reshow the edit menu when - // flicking stops. - id: menuTimer - interval: 1 - onTriggered: { - if (!control.menu) - return; - - if ((__showMenuFromTouch || selectionStart !== selectionEnd) - && control.activeFocus - && (!cursorHandle.pressed && !selectionHandle.pressed) - && (!flickable || !flickable.moving) - && (cursorHandle.delegate)) { - var p1 = input.positionToRectangle(input.selectionStart); - var p2 = input.positionToRectangle(input.selectionEnd); - var topLeft = input.mapToItem(null, p1.x, p1.y); - var size = Qt.size(p2.x - p1.x + p1.width, p2.y - p1.y + p1.height) - var targetRect = Qt.rect(topLeft.x, topLeft.y, size.width, size.height); - getMenuInstance().__dismissMenu(); - getMenuInstance().__popup(targetRect, -1, MenuPrivate.EditMenu); - __showMenuFromTouch = false; - } else { - getMenuInstance().__dismissMenu(); - } - } - } -} diff --git a/src/controls/Private/private.pri b/src/controls/Private/private.pri index 24d1fc53..74913fb8 100644 --- a/src/controls/Private/private.pri +++ b/src/controls/Private/private.pri @@ -63,7 +63,6 @@ PRIVATE_QML_FILES += \ $$PWD/TextInputWithHandles.qml \ $$PWD/EditMenu.qml \ $$PWD/EditMenu_base.qml \ - $$PWD/EditMenu_ios.qml \ $$PWD/ToolMenuButton.qml \ $$PWD/BasicTableView.qml \ $$PWD/TableViewItemDelegateLoader.qml \ diff --git a/src/controls/Private/qmldir b/src/controls/Private/qmldir index 34e3c0f0..9fe84203 100644 --- a/src/controls/Private/qmldir +++ b/src/controls/Private/qmldir @@ -31,7 +31,6 @@ TextHandle 1.0 TextHandle.qml TextInputWithHandles 1.0 TextInputWithHandles.qml EditMenu 1.0 EditMenu.qml EditMenu_base 1.0 EditMenu_base.qml -EditMenu_ios 1.0 EditMenu_ios.qml ToolMenuButton 1.0 ToolMenuButton.qml BasicTableView 1.0 BasicTableView.qml TableViewItemDelegateLoader 1.0 TableViewItemDelegateLoader.qml diff --git a/src/controls/Styles/iOS/TextAreaStyle.qml b/src/controls/Styles/iOS/TextAreaStyle.qml index 8e2efb2b..5a52ff80 100644 --- a/src/controls/Styles/iOS/TextAreaStyle.qml +++ b/src/controls/Styles/iOS/TextAreaStyle.qml @@ -51,7 +51,5 @@ ScrollViewStyle { property color selectedTextColor: SystemPaletteSingleton.highlightedText(control.enabled) property color backgroundColor: control.backgroundVisible ? SystemPaletteSingleton.base(control.enabled) : "transparent" property int renderType: Text.QtRendering - property Component __selectionHandle: SelectionHandleStyle{} - property Component __cursorHandle: CursorHandleStyle{} property Component __cursorDelegate: CursorDelegate{} } diff --git a/src/controls/Styles/iOS/TextFieldStyle.qml b/src/controls/Styles/iOS/TextFieldStyle.qml index 2ed0e004..34a227c0 100644 --- a/src/controls/Styles/iOS/TextFieldStyle.qml +++ b/src/controls/Styles/iOS/TextFieldStyle.qml @@ -42,7 +42,5 @@ import QtQuick.Controls 1.2 import QtQuick.Controls.Styles 1.3 TextFieldStyle { - __selectionHandle: SelectionHandleStyle{} - __cursorHandle: CursorHandleStyle{} __cursorDelegate: CursorDelegate{} } |