path: root/plugin/cursornavigation.cpp
Commit message (Collapse)AuthorAgeFilesLines
* [cursormanagement] Removed unnecessary logsHEADmasterAlexandra Betouni2019-10-021-4/+0
| | | | | | | | | | Lots of unnecessary log messages where appearing in the console making it hard to read other important messages Task-number: AUTOSUITE-1256 Change-Id: I4f1a4339303040e6bc05d30c95d343e7d5379202 Reviewed-by: Antti Hölttä <>
* Add license and copyright informationAntti Hölttä2019-03-191-0/+39
* Add existing isues as TODOsAntti Hölttä2019-03-181-0/+10
* Little fixes and cleanup, TODOsAntti Hölttä2019-03-181-4/+8
| | | | | Explained some TODOs a bit better. Fixed mismatching tab titles in demo app. Removed unused predefined CursorNavigationCommands.
* Reparenting testAntti Hoelttae2019-03-181-0/+2
* Add redirect feature for manually fine tuning the cursor's movementAntti Hölttä2019-03-181-9/+21
| | | | | | | | Cursornavigation now has a property redirects, that allows defining exceptions to the navigation behaviour. A redirect allows defining a starting and an ending angle and a target object. If the move command's direction falls between the limits, the algorithm is bypassed and cursor is moved to the target object.
* Add more features for the demo appAntti Hölttä2019-03-181-1/+1
| | | | | | | | | 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.
* Add an alternative list based tabbar to the mainpage, fix page 2 a bitAntti Hölttä2019-03-181-2/+2
* Fix definition of CursorNavigation.hasCursorAntti Hölttä2019-03-181-3/+12
| | | | | An item may now have the cursor on it also if the active focus is last set on one of its non-navigable children.
* Add callbacks for magnitude, moves and actionsAntti Hölttä2019-03-181-71/+42
| | | | | | | | | When cursor is moved, the current item is informed of the actions via callbacks. Eg. when cursor is moved up, the item that had the cursor will have its movedUp signal fired. It is now also possible to inform navigable items over incomplete movement, or the magnitude of the movement. This may be used eg. to make buttons or elements to flip/rotate to indicate that the cursor is about to be moved.
* cursor trapping and navigation out of a scope works now as intendedAntti Hölttä2019-03-181-4/+27
| | | | | | done by precopying the list of candidates. Could avoid extra list copies if the algorithm traversed the tree, but this is simpler and works for now
* When following focus, set cursor only on items that accept itAntti Hölttä2019-03-181-1/+1
* Cursor now movable only to items that set the acceptsCursor value to trueAntti Hölttä2019-03-181-1/+3
* Add find-functionAntti Hölttä2019-03-181-19/+31
| | | | | | find-function is similar to the move, but instead of moving the cursor, it returns the item that cursor would move to if move was called with the same arguments
* Bugfixes to 360 algorithm, added cooldown for gamepad controlAntti Hölttä2019-03-181-19/+7
| | | | | Joystick produce change events very rapidly and continuously, so a cooldown time is needed so that the cursor wont jump over multiple items
* Add 360 algorithmAntti Hölttä2019-03-181-46/+75
| | | | | Add algorithm that allows navigation to any direction. Works somewhat well now. Example app has a page with a gamepad/stick support.
* More on scopes, works to some extent in the test programAntti Hölttä2019-03-181-19/+73
| | | | | Scope may be entered and escaped. Navigable items may have escape targets defined
* Refactor item registration with scopes in mindAntti Hölttä2019-03-181-16/+53
| | | | | ItemRegister class removed and items now keep track of their own cursor navigable child items. Navigation happens now only between siblings.
* Bind cursor presence to the current active focusAntti Hölttä2019-03-181-15/+38
* Initial commit, demoable pocAntti Hölttä2019-03-181-0/+87
Sort of working with 4 dir navigation, check demoapp