aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAntti Hölttä <AHoelttae@luxoft.com>2018-12-18 11:38:37 +0100
committerAntti Hölttä <AHoelttae@luxoft.com>2019-03-18 16:34:23 +0100
commitd40b79cb1d3304f113df3091662760f585ee389e (patch)
tree70fb2d77ad5bd8026f487cb39322e8c587ca24ee
parentfe5883489b5fffc2a833daa4d6a18cef1ac10696 (diff)
Add more features for the demo app
Add a common cursor indicator item that all navigable items may use for visualizing the cursor. Add a cursor navigable delegate. Make lists more generic by adding a CNItemDelegate. Add CNFlipButton that has flipping animations when used with CursorNavigation. Update Page4 with the new button type.
-rw-r--r--CursorNavigation.pro5
-rw-r--r--DemoApplication/controls/CNButton.qml30
-rw-r--r--DemoApplication/controls/CNCheckBox.qml11
-rw-r--r--DemoApplication/controls/CNCursorIndicator.qml11
-rw-r--r--DemoApplication/controls/CNFlipButton.qml90
-rw-r--r--DemoApplication/controls/CNItemDelegate.qml14
-rw-r--r--DemoApplication/controls/CNListView.qml61
-rw-r--r--DemoApplication/controls/CNRadioButton.qml8
-rw-r--r--DemoApplication/controls/CNSwitch.qml8
-rw-r--r--DemoApplication/controls/CNTabButton.qml10
-rw-r--r--DemoApplication/controls/CNToolButton.qml8
-rw-r--r--DemoApplication/controls/qmldir2
-rw-r--r--DemoApplication/main.qml71
-rw-r--r--DemoApplication/pages/Page2.qml79
-rw-r--r--DemoApplication/pages/Page3.qml1
-rw-r--r--DemoApplication/pages/Page4.qml107
-rw-r--r--DemoApplication/pages/Page5.qml32
-rw-r--r--DemoApplication/pages/Page6.qml30
-rw-r--r--plugin/cursornavigation.cpp2
-rw-r--r--plugin/cursornavigationattached.cpp7
-rw-r--r--plugin/spatialnavigation360.cpp6
21 files changed, 322 insertions, 271 deletions
diff --git a/CursorNavigation.pro b/CursorNavigation.pro
index 0a01c20..26eb54b 100644
--- a/CursorNavigation.pro
+++ b/CursorNavigation.pro
@@ -6,4 +6,7 @@ SUBDIRS += \
tests
DISTFILES += \
- DemoApplication/pages/Page6.qml
+ DemoApplication/pages/Page6.qml \
+ DemoApplication/controls/CNCursorIndicator.qml \
+ DemoApplication/controls/CNListDelegate.qml \
+ DemoApplication/controls/CNFlipButton.qml
diff --git a/DemoApplication/controls/CNButton.qml b/DemoApplication/controls/CNButton.qml
index fb8e1b8..6530fc4 100644
--- a/DemoApplication/controls/CNButton.qml
+++ b/DemoApplication/controls/CNButton.qml
@@ -8,28 +8,6 @@ Button {
implicitHeight: 40
CursorNavigation.acceptsCursor: true
- //property bool hasCursor: CursorNavigation.hasCursor
-
- Rotation {
- id: rot
- origin.x: root.width/2
- origin.y: root.height/2
- }
-
- transform: rot
-
- CursorNavigation.onHasCursorChanged: {
- if (!hasCursor)
- rot.angle = 0
- }
-
- CursorNavigation.onMagnitudeChanged: {
- rot.angle = magnitude*45.0;
- var a = angle * Math.PI/180.0
- rot.axis.x = -Math.sin(a)
- rot.axis.y = Math.cos(a)
- rot.axis.z = 0
- }
background: Rectangle {
anchors.fill: parent
@@ -48,12 +26,6 @@ Button {
text: root.text
}
- Rectangle {
- border.width: 2
- border.color: "red"
- anchors.fill: parent
- visible: root.CursorNavigation.hasCursor
- color: "transparent"
- }
+ CNCursorIndicator { cursorItem : root; radius: 40}
}
}
diff --git a/DemoApplication/controls/CNCheckBox.qml b/DemoApplication/controls/CNCheckBox.qml
index d411d32..3fd12e9 100644
--- a/DemoApplication/controls/CNCheckBox.qml
+++ b/DemoApplication/controls/CNCheckBox.qml
@@ -3,12 +3,11 @@ import QtQuick.Controls 2.2
import CursorNavigation 1.0
CheckBox {
+ id: root
CursorNavigation.acceptsCursor: true
- Rectangle {
- anchors.fill: parent
- color: "transparent"
- border.width: 2
- border.color: "red"
- visible: parent.CursorNavigation.hasCursor
+ CNCursorIndicator { cursorItem : parent }
+
+ CursorNavigation.onActivated: {
+ root.toggle()
}
}
diff --git a/DemoApplication/controls/CNCursorIndicator.qml b/DemoApplication/controls/CNCursorIndicator.qml
new file mode 100644
index 0000000..dc21d2e
--- /dev/null
+++ b/DemoApplication/controls/CNCursorIndicator.qml
@@ -0,0 +1,11 @@
+import QtQuick 2.9
+import CursorNavigation 1.0
+
+Rectangle {
+ property Item cursorItem
+ border.width: 2
+ border.color: "#ff66aa"
+ anchors.fill: parent
+ visible: cursorItem.CursorNavigation.hasCursor
+ color: "transparent"
+}
diff --git a/DemoApplication/controls/CNFlipButton.qml b/DemoApplication/controls/CNFlipButton.qml
new file mode 100644
index 0000000..319d10e
--- /dev/null
+++ b/DemoApplication/controls/CNFlipButton.qml
@@ -0,0 +1,90 @@
+import QtQuick 2.11
+import QtQuick.Controls 2.4
+import CursorNavigation 1.0
+
+CNButton {
+ id: root
+
+ implicitWidth: (textLabel.contentWidth + 40)
+ implicitHeight: 40
+
+ CursorNavigation.acceptsCursor: true
+
+ background: Rectangle {
+ anchors.fill: parent
+ radius: 4
+ opacity: root.pressed ? 0.6 : 0.4
+ color: "grey"
+ }
+
+ contentItem: Item {
+ anchors.fill: parent
+ Label {
+ id: textLabel
+ anchors.centerIn: parent
+ font.pixelSize: 14
+ color: "blue"
+ text: root.text
+ }
+
+ CNCursorIndicator { cursorItem : root; radius: 4}
+ }
+
+ Rotation {
+ id: rot
+ origin.x: root.width/2
+ origin.y: root.height/2
+ }
+
+
+ NumberAnimation {
+ id: returnAnimation
+ target: rot
+ property: "angle"
+ duration: 400
+ easing.type: Easing.InOutQuad
+ from: 45
+ to: 0
+ }
+
+ transform: rot
+
+ CursorNavigation.onHasCursorChanged: {
+ if (!hasCursor)
+ returnAnimation.start()
+ }
+
+ function flip(angle, magnitude) {
+ rot.angle = magnitude*45.0;
+ var a = angle * Math.PI/180.0
+ rot.axis.x = -Math.sin(a)
+ rot.axis.y = Math.cos(a)
+ rot.axis.z = 0
+ }
+
+ CursorNavigation.onMagnitudeChanged: {
+ flip(angle, magnitude)
+ }
+
+
+ CursorNavigation.onMovedUp: {
+ console.log("moved up ffs")
+ flip(-90, 1);
+ returnAnimation.start()
+ }
+
+ CursorNavigation.onMovedDown: {
+ flip(90, 1);
+ returnAnimation.start()
+ }
+
+ CursorNavigation.onMovedRight: {
+ flip(0, 1);
+ returnAnimation.start()
+ }
+
+ CursorNavigation.onMovedLeft: {
+ flip(180, 1);
+ returnAnimation.start()
+ }
+}
diff --git a/DemoApplication/controls/CNItemDelegate.qml b/DemoApplication/controls/CNItemDelegate.qml
new file mode 100644
index 0000000..b99bee9
--- /dev/null
+++ b/DemoApplication/controls/CNItemDelegate.qml
@@ -0,0 +1,14 @@
+import QtQuick 2.9
+import QtQuick.Controls 2.4
+import CursorNavigation 1.0
+
+ItemDelegate {
+ CursorNavigation.acceptsCursor: true
+ CNCursorIndicator { cursorItem : parent }
+
+ //here we make sure the list's current index follows the cursor!
+ CursorNavigation.onHasCursorChanged: {
+ if (CursorNavigation.hasCursor)
+ parent.currentIndex = index
+ }
+}
diff --git a/DemoApplication/controls/CNListView.qml b/DemoApplication/controls/CNListView.qml
index 7458231..ed4ff45 100644
--- a/DemoApplication/controls/CNListView.qml
+++ b/DemoApplication/controls/CNListView.qml
@@ -4,8 +4,9 @@ import CursorNavigation 1.0
ListView {
id: listView
- spacing: 4
- focus: true
+
+ //use CNItemDelegate as the delegate!
+
/* when list view scopes the cursor, the cursor is passed further to its
* currently focused child. this means, moving from outside to the list,
* will return the cursor to the item that was previously selected
@@ -13,60 +14,4 @@ ListView {
*/
CursorNavigation.acceptsCursor: true
- Rectangle {
- anchors.fill: parent
- border.width: 1
- border.color: listView.activeFocus ? "red" : "black"
- color: "transparent"
- }
-
- highlight: Rectangle {
- width: listView.width
- height: 40
- color: "lightgrey"
- opacity: 0.3
- }
-
- delegate: ItemDelegate {
- id: deleg
- width: listView.width
- height: 40
- CursorNavigation.acceptsCursor: true
-
- //make sure the list's current index follows the cursor!
- CursorNavigation.onHasCursorChanged: {
- if (CursorNavigation.hasCursor)
- listView.currentIndex = index
- }
-
- contentItem: Rectangle {
- width: listView.width
- height: 40
- border.color: deleg.CursorNavigation.hasCursor ? "red" : "transparent"
-
- Row {
- width: (parent.width - x)
- height: 35
- x: 5
- anchors.verticalCenter: parent.verticalCenter
- spacing: 10
- Rectangle {
- width: parent.height
- height: parent.height
- radius: width/2
- color: colorCode
- }
- Text {
- height: parent.height
- font.bold: true
- verticalAlignment: Text.AlignVCenter
- text: name
- }
- }
- }
- onClicked: {
- listView.currentIndex = index;
- }
- }
-
}
diff --git a/DemoApplication/controls/CNRadioButton.qml b/DemoApplication/controls/CNRadioButton.qml
index 1f649b3..8bdc06d 100644
--- a/DemoApplication/controls/CNRadioButton.qml
+++ b/DemoApplication/controls/CNRadioButton.qml
@@ -4,11 +4,5 @@ import CursorNavigation 1.0
RadioButton {
CursorNavigation.acceptsCursor: true
- Rectangle {
- anchors.fill: parent
- color: "transparent"
- border.width: 2
- border.color: "red"
- visible: parent.CursorNavigation.hasCursor
- }
+ CNCursorIndicator { cursorItem : parent }
}
diff --git a/DemoApplication/controls/CNSwitch.qml b/DemoApplication/controls/CNSwitch.qml
index e3f0e01..964faef 100644
--- a/DemoApplication/controls/CNSwitch.qml
+++ b/DemoApplication/controls/CNSwitch.qml
@@ -4,11 +4,5 @@ import CursorNavigation 1.0
Switch {
CursorNavigation.acceptsCursor: true
- Rectangle {
- border.width: 2
- border.color: "red"
- anchors.fill: parent
- visible: parent.CursorNavigation.hasCursor
- color: "transparent"
- }
+ CNCursorIndicator { cursorItem : parent }
}
diff --git a/DemoApplication/controls/CNTabButton.qml b/DemoApplication/controls/CNTabButton.qml
index 7557832..48e9205 100644
--- a/DemoApplication/controls/CNTabButton.qml
+++ b/DemoApplication/controls/CNTabButton.qml
@@ -3,12 +3,10 @@ import QtQuick.Controls 2.2
import CursorNavigation 1.0
TabButton {
+ id: root
CursorNavigation.acceptsCursor: true
- Rectangle {
- anchors.fill: parent
- color: "transparent"
- border.width: 2
- border.color: "red"
- visible: parent.CursorNavigation.hasCursor
+ CNCursorIndicator { cursorItem : parent }
+ CursorNavigation.onActivated: {
+ root.checked = true;
}
}
diff --git a/DemoApplication/controls/CNToolButton.qml b/DemoApplication/controls/CNToolButton.qml
index 65f2338..2da3a31 100644
--- a/DemoApplication/controls/CNToolButton.qml
+++ b/DemoApplication/controls/CNToolButton.qml
@@ -4,11 +4,5 @@ import CursorNavigation 1.0
ToolButton {
CursorNavigation.acceptsCursor: true
- Rectangle {
- anchors.fill: parent
- color: "transparent"
- border.width: 2
- border.color: "red"
- visible: parent.CursorNavigation.hasCursor
- }
+ CNCursorIndicator { cursorItem : parent }
}
diff --git a/DemoApplication/controls/qmldir b/DemoApplication/controls/qmldir
index 6def14f..554a44e 100644
--- a/DemoApplication/controls/qmldir
+++ b/DemoApplication/controls/qmldir
@@ -1,7 +1,9 @@
CNButton 1.0 CNButton.qml
+CNFlipButton 1.0 CNFlipButton.qml
CNTabButton 1.0 CNTabButton.qml
CNToolButton 1.0 CNToolButton.qml
CNRadioButton 1.0 CNRadioButton.qml
CNSwitch 1.0 CNSwitch.qml
CNCheckBox 1.0 CNCheckBox.qml
CNListView 1.0 CNListView.qml
+CNItemDelegate 1.0 CNItemDelegate.qml
diff --git a/DemoApplication/main.qml b/DemoApplication/main.qml
index 1bc600b..57e576b 100644
--- a/DemoApplication/main.qml
+++ b/DemoApplication/main.qml
@@ -1,6 +1,7 @@
import QtQuick 2.9
import QtQuick.Controls 2.2
import QtQuick.Layouts 1.3
+import QtGamepad 1.0
import CursorNavigation 1.0
import controls 1.0
@@ -92,15 +93,68 @@ ApplicationWindow {
}
}
- contentData: StackLayout {
+ contentData: Item {
+ id: contentItem
anchors.fill: parent
- currentIndex: tabBar.currentIndex
- Page1 { }
- Page2 { }
- Page3 { }
- Page4 { }
- Page5 { }
- Page6 { }
+ StackLayout {
+ anchors.fill: parent
+ currentIndex: tabBar.currentIndex
+ Page1 { }
+ Page2 { }
+ Page3 { }
+ Page4 { }
+ Page5 { }
+ Page6 { }
+ }
+
+ CursorNavigation.acceptsCursor: false
+
+ Timer {
+ id: cooldownTimer
+ interval: 500
+ repeat: false
+ }
+
+ Rectangle {
+ id: pointerRect
+ border.color: "orange"
+ border.width: 1
+ visible: false
+ color: "transparent"
+ }
+
+ //use gamepad as another source of input. use analog stick input for magnitude information
+ Gamepad {
+ deviceId: GamepadManager.connectedGamepads.length > 0 ? GamepadManager.connectedGamepads[0] : -1
+
+ function handleMove() {
+ var v = Qt.vector2d(axisLeftX, axisLeftY)
+ if (v.length() >= 0.99 && !cooldownTimer.running) {
+ //console.log("handle joystick move, v=" + v)
+ contentItem.CursorNavigation.move(Qt.vector2d(axisLeftX, axisLeftY), 10)
+ cooldownTimer.start()
+ } else if (v.length() >= 0.1) {
+ contentItem.CursorNavigation.setMagnitude(v)
+ /*var item = parent.CursorNavigation.find(v, 10)
+ //cooldownTimer.start()
+ if (item != undefined) {
+ pointerRect.x = item.x
+ pointerRect.y = item.y
+ pointerRect.width = item.width
+ pointerRect.height = item.height
+ pointerRect.visible = true
+ }*/
+ } else {
+ contentItem.CursorNavigation.setMagnitude(0,0)
+ pointerRect.visible = false
+ }
+ }
+
+ onAxisLeftXChanged: handleMove()
+ onAxisLeftYChanged: handleMove()
+ onButtonAChanged: if (buttonA) contentItem.CursorNavigation.activate()
+ onButtonBChanged: if (buttonB) contentItem.CursorNavigation.activate()
+ }
}
//a trick that ensure the cursor can be moved on the tabbar without needing to click teh tabbar first
@@ -108,4 +162,5 @@ ApplicationWindow {
defaultButton.forceActiveFocus()
}
+
}
diff --git a/DemoApplication/pages/Page2.qml b/DemoApplication/pages/Page2.qml
index 40be56c..76b45f1 100644
--- a/DemoApplication/pages/Page2.qml
+++ b/DemoApplication/pages/Page2.qml
@@ -18,12 +18,42 @@ Item {
id: listView
width: 198
height: 359
- //anchors.right: parent.right
- //anchors.top: parent.top
- //anchors.topMargin: 20
+
spacing: 4
clip: true
+ delegate: CNItemDelegate {
+ width: listView.width
+ height: 40
+
+ contentItem: Item {
+ width: listView.width
+ height: 40
+
+ Row {
+ width: (parent.width - x)
+ height: 35
+ x: 5
+ anchors.verticalCenter: parent.verticalCenter
+ spacing: 10
+
+ Rectangle {
+ width: parent.height
+ height: parent.height
+ radius: width/2
+ color: colorCode
+ }
+
+ Text {
+ height: parent.height
+ font.bold: true
+ verticalAlignment: Text.AlignVCenter
+ text: name
+ }
+ }
+ }
+ }
+
model: ListModel {
ListElement {
name: "Grey"
@@ -74,17 +104,11 @@ Item {
CNButton {
anchors.horizontalCenter: parent.horizontalCenter
id: button3
- //anchors.top: listView.bottom
- //anchors.topMargin: 20
- //anchors.right: parent.right
- //anchors.rightMargin: 60
text: qsTr("Button")
}
}
+
Column {
- //anchors.verticalCenter: parent.verticalCenter
- //anchors.left: parent.left
- //anchors.leftMargin: 50
spacing: 30
CNButton {
text: qsTr("Button")
@@ -99,5 +123,40 @@ Item {
}
}
+ CNListView {
+ id: listView2
+ width: 198
+ height: 359
+
+ spacing: 4
+ clip: true
+
+ /* when we set acceptsCursor false for the ListView itself,
+ * navigation between the list items and items outside of the list,
+ * is based on the item geometry and not just the whole ListView's geometry
+ */
+ CursorNavigation.acceptsCursor: false
+
+ delegate: CNItemDelegate {
+ width: listView.width
+ height: 40
+
+ CursorNavigation.onActivated: checkBox.toggle()
+
+ contentItem: Item {
+ width: listView.width
+ height: 40
+
+ CheckBox{
+ id: checkBox
+ text: "Item " + index
+ anchors.centerIn: parent
+ }
+ }
+ }
+
+ model: 10
+ }
+
}
}
diff --git a/DemoApplication/pages/Page3.qml b/DemoApplication/pages/Page3.qml
index d0ca1bb..aa8d4dc 100644
--- a/DemoApplication/pages/Page3.qml
+++ b/DemoApplication/pages/Page3.qml
@@ -22,6 +22,7 @@ Item {
CursorNavigation.onMovedDown: text = "moved down"
CursorNavigation.onMovedRight: text = "moved right"
CursorNavigation.onMovedLeft: text = "moved left"
+ CursorNavigation.onActivated: text = "Activated"
}
Grid {
diff --git a/DemoApplication/pages/Page4.qml b/DemoApplication/pages/Page4.qml
index 47828dd..e111745 100644
--- a/DemoApplication/pages/Page4.qml
+++ b/DemoApplication/pages/Page4.qml
@@ -1,108 +1,29 @@
import QtQuick 2.0
import CursorNavigation 1.0
-import QtGamepad 1.0
+import QtQuick.Layouts 1.3
import "../controls"
Item {
- //CursorNavigation.acceptsCursor: true
- Timer {
- id: cooldownTimer
- interval: 500
- repeat: false
- }
+ GridLayout {
+ columns: 4
+ rows: 4
- Rectangle {
- id: pointerRect
- border.color: "orange"
- border.width: 1
- visible: false
- color: "transparent"
- }
+ anchors.fill: parent
+ anchors.centerIn: parent
- Gamepad {
- deviceId: GamepadManager.connectedGamepads.length > 0 ? GamepadManager.connectedGamepads[0] : -1
+ Repeater {
+ CNFlipButton {
+ Layout.minimumWidth: 110
+ Layout.minimumHeight: 110
+ text: "Button " + index
- function handleMove() {
- var v = Qt.vector2d(axisLeftX, axisLeftY)
- if (v.length() >= 0.99 && !cooldownTimer.running) {
- //console.log("handle joystick move, v=" + v)
- parent.CursorNavigation.move(Qt.vector2d(axisLeftX, axisLeftY), 10)
- cooldownTimer.start()
- } else if (v.length() >= 0.1) {
- parent.CursorNavigation.setMagnitude(v)
- var item = parent.CursorNavigation.find(v, 10)
- //cooldownTimer.start()
- if (item != undefined) {
- pointerRect.x = item.x
- pointerRect.y = item.y
- pointerRect.width = item.width
- pointerRect.height = item.height
- pointerRect.visible = true
- }
- } else {
- parent.CursorNavigation.setMagnitude(0,0)
- pointerRect.visible = false
+ Layout.alignment: Qt.AlignVCenter | Qt.AlignHCenter
}
- }
-
- onAxisLeftXChanged: handleMove()
- onAxisLeftYChanged: handleMove()
- }
-
- CNButton {
- id: cNButton
- x: 20
- y: 20
- }
-
- CNButton {
- id: cNButton1
- x: 20
- y: 120
- }
-
- CNButton {
- id: cNButton2
- x: 20
- y: 220
- }
- CNButton {
- id: cNButton3
- x: 150
- y: 20
- }
-
- CNButton {
- id: cNButton4
- x: 150
- y: 120
- }
-
- CNButton {
- id: cNButton5
- x: 150
- y: 220
- focus: true
- }
-
- CNButton {
- id: cNButton6
- x: 280
- y: 20
- }
-
- CNButton {
- id: cNButton7
- x: 280
- y: 120
- }
+ model: 16
+ }
- CNButton {
- id: cNButton8
- x: 280
- y: 220
}
}
diff --git a/DemoApplication/pages/Page5.qml b/DemoApplication/pages/Page5.qml
index 578f1f8..80fba90 100644
--- a/DemoApplication/pages/Page5.qml
+++ b/DemoApplication/pages/Page5.qml
@@ -111,6 +111,38 @@ Item {
anchors.fill: parent
spacing: 4
+ delegate: CNItemDelegate {
+ width: listView.width
+ height: 40
+
+ contentItem: Item {
+ width: listView.width
+ height: 40
+
+ Row {
+ width: (parent.width - x)
+ height: 35
+ x: 5
+ anchors.verticalCenter: parent.verticalCenter
+ spacing: 10
+
+ Rectangle {
+ width: parent.height
+ height: parent.height
+ radius: width/2
+ color: colorCode
+ }
+
+ Text {
+ height: parent.height
+ font.bold: true
+ verticalAlignment: Text.AlignVCenter
+ text: name
+ }
+ }
+ }
+ }
+
model: ListModel {
ListElement { name: "Joe"; colorCode: "grey" }
ListElement { name: "Hillary"; colorCode: "red" }
diff --git a/DemoApplication/pages/Page6.qml b/DemoApplication/pages/Page6.qml
index a90857f..ece82ba 100644
--- a/DemoApplication/pages/Page6.qml
+++ b/DemoApplication/pages/Page6.qml
@@ -16,36 +16,6 @@ Item {
repeat: false
}
- Gamepad {
- deviceId: GamepadManager.connectedGamepads.length > 0 ? GamepadManager.connectedGamepads[0] : -1
-
- function handleMove() {
- var v = Qt.vector2d(axisLeftX, axisLeftY)
- if (v.length() >= 0.99 && !cooldownTimer.running) {
- //console.log("handle joystick move, v=" + v)
- parent.CursorNavigation.moveCursor(Qt.vector2d(axisLeftX, axisLeftY), 10)
- cooldownTimer.start()
- } else if (v.length() >= 0.1) {
- var item = parent.CursorNavigation.find(v, 10)
- //cooldownTimer.start()
- if (item != undefined) {
- pointerRect.x = item.x
- pointerRect.y = item.y
- pointerRect.width = item.width+10
- pointerRect.height = item.height+10
- pointerRect.radius = item.width/2+5
- pointerRect.visible = true
- }
- } else {
- pointerRect.visible = false
- }
- }
-
- onAxisLeftXChanged: handleMove()
- onAxisLeftYChanged: handleMove()
- }
-
-
Plugin {
id: mapPlugin
name: "esri" //"osm", "mapboxgl", "esri", ...
diff --git a/plugin/cursornavigation.cpp b/plugin/cursornavigation.cpp
index 9049c82..bf2d390 100644
--- a/plugin/cursornavigation.cpp
+++ b/plugin/cursornavigation.cpp
@@ -41,7 +41,7 @@ CursorNavigationAttached *CursorNavigation::find(qreal angle, qreal tolerance, b
if (!m_currentItem)
return defaultItem();
- qWarning() << "find next item, angle = " << angle << " tolerance = " << tolerance << " discrete = " << discrete;
+ //qWarning() << "find next item, angle = " << angle << " tolerance = " << tolerance << " discrete = " << discrete;
QList<CursorNavigationAttached*> candidates;
diff --git a/plugin/cursornavigationattached.cpp b/plugin/cursornavigationattached.cpp
index 1757d12..39a7888 100644
--- a/plugin/cursornavigationattached.cpp
+++ b/plugin/cursornavigationattached.cpp
@@ -176,11 +176,8 @@ void CursorNavigationAttached::moveLeft()
void CursorNavigationAttached::activate()
{
- if (m_cursorNavigation) {
- CursorNavigationAttached *item = m_cursorNavigation->m_currentItem;
- if (m_cursorNavigation->action(Activate) && item)
- item->activated();
- }
+ if (m_cursorNavigation && m_cursorNavigation->m_currentItem)
+ m_cursorNavigation->m_currentItem->activated();
}
void CursorNavigationAttached::moveForward()
diff --git a/plugin/spatialnavigation360.cpp b/plugin/spatialnavigation360.cpp
index 0e6d19b..534a3d2 100644
--- a/plugin/spatialnavigation360.cpp
+++ b/plugin/spatialnavigation360.cpp
@@ -115,7 +115,7 @@ CursorNavigationAttached* SpatialNavigation360::getNextCandidate(
* -remember to use current item's coord system as the reference!!!
*/
- qWarning() << "##### navigation360: start, angle = " << cmd.angle << " tolerance = " << cmd.angleTolerance;
+ //qWarning() << "##### navigation360: start, angle = " << cmd.angle << " tolerance = " << cmd.angleTolerance;
if (candidates.isEmpty())
return nullptr;
@@ -179,8 +179,8 @@ CursorNavigationAttached* SpatialNavigation360::getNextCandidate(
}
}
- qWarning() << "##### end, directHit = " <<
- directHitItem << " withinTolerances = " << withinToleranceItem;
+ //qWarning() << "##### end, directHit = " <<
+ // directHitItem << " withinTolerances = " << withinToleranceItem;
if (directHitItem)
return directHitItem;