1. 25 Apr, 2019 2 commits
  2. 23 Apr, 2019 1 commit
  3. 22 Apr, 2019 1 commit
    • Greg Spencer's avatar
      Implement focus traversal for desktop platforms, shoehorn edition. (#30040) · 4218c0bc
      Greg Spencer authored
      Implements focus traversal for desktop platforms, including re-implementing the existing focus manager and focus tree.
      
      This implements a Focus widget that can be put into a widget tree to allow input focus to be given to a particular part of a widget tree.
      
      It incorporates with the existing FocusScope and FocusNode infrastructure, and has minimal breakage to the API, although FocusScope.reparentIfNeeded is removed, replaced by a call to FocusAttachment.reparent(), so this is a breaking change:
      
      FocusScopeNodes must now be attached to the focus tree using FocusScopeNode.attach, which takes a context and an optional onKey callback, and returns a FocusAttachment that should be kept by the widget that hosts the FocusScopeNode. This is necessary because of the need to make sure that the focus tree reflects the widget hierarchy.
      
      Callers that used to call FocusScope(context).reparentIfNeeded in their build method will call reparent  on a FocusAttachment instead, which they will obtain by calling FocusScopeNode.attach in their initState method. Widgets that own FocusNodes will need to call dispose on the focus node in their dispose method.
      
      Addresses #11344, #1608, #13264, and #1678
      Fixes #30084
      Fixes #26704
      4218c0bc
  4. 29 Mar, 2019 1 commit
  5. 28 Mar, 2019 2 commits
  6. 18 Mar, 2019 1 commit
  7. 15 Mar, 2019 1 commit
  8. 06 Mar, 2019 1 commit
  9. 01 Mar, 2019 2 commits
  10. 22 Feb, 2019 1 commit
  11. 13 Feb, 2019 1 commit
  12. 08 Feb, 2019 1 commit
    • Greg Spencer's avatar
      Adding support for logical and physical key events (#27627) · 431cfdaf
      Greg Spencer authored
      This adds support for logical and physical key information inside of RawKeyEvent. This allows developers to differentiate keys in a platform-agnostic way. They are able to tell the physical location of a key (PhysicalKeyboardKey) and a logical meaning of the key (LogicalKeyboardKey), as well as get notified of the character generated by the keypress. All of which is useful for handling keyboard shortcuts.
      
      This PR builds on the previous PR (#27620) which generated the key code mappings and definitions.
      431cfdaf
  13. 29 Jan, 2019 1 commit
  14. 25 Jan, 2019 1 commit
  15. 24 Jan, 2019 2 commits
  16. 22 Jan, 2019 2 commits
  17. 19 Jan, 2019 2 commits
  18. 17 Jan, 2019 1 commit
  19. 16 Jan, 2019 1 commit
  20. 11 Jan, 2019 1 commit
    • Greg Spencer's avatar
      Add support for detecting which modifier keys have been pressed on RawKeyboardEvents (#26265) · 141d6e13
      Greg Spencer authored
      This adds some functions to the interface for RawKeyEventData and all subclasses that allow the recipient of an event to determine which modifier keys are currently being pressed without needing to know the specific modifier bitmasks for the platform.
      
      Also adds constants for the modifier bitmasks for each platform, for completeness (and because I needed them anyhow to implement the above).
      
      Added tests for the RawKeyEventData subclasses, and modified the raw_keyboard manual test app to show modifier keys being pressed. I also separated the different platform-specific subclasses into separate files.
      
      Fixes #26155.
      141d6e13
  21. 02 Jan, 2019 1 commit
  22. 06 Nov, 2018 3 commits
  23. 02 Nov, 2018 3 commits
  24. 01 Nov, 2018 1 commit
  25. 31 Oct, 2018 1 commit
    • Dan Field's avatar
      Re-reland Xcode backend refactor (#23762) · fd6b2e19
      Dan Field authored
      * Use Xcode build configurations to drive Flutter build mode
      
      * Proper check wrt local_engine, print error if profile mode misisng
      
      * Remove unused code, update tests, fix template problem, update warning
      
      * fix up warning
      
      * add explanatory dev comment
      
      * fix whitespace
      
      * missing words, change lambda arrow to function body
      
      * error indentation
      
      * Test early exits for xcode_backend.sh
      
      * only on macOS, use right test
      
      * Update error messages
      
      * case insensitive compare for build config
      
      * Update gallery podfile
      
      * update projects to add profile configuration
      
      * make compatible with flavors
      
      * add missing plist files
      
      * add FLUTTER_FRAMEWORK_DIR back, set swift version for profile, tell Podfile about profile
      fd6b2e19
  26. 30 Oct, 2018 2 commits
    • Dan Field's avatar
      Revert "Reland Xcode backend refactor" (#23737) · 7217999a
      Dan Field authored
      * Revert "Update templates (#23698)"
      
      This reverts commit 5b0de6d6.
      
      * Revert "Verify that date/number translations exist for all supported languages (#23692)"
      
      This reverts commit 3449edf2.
      
      * Revert "Reland Xcode backend refactor (#23574)"
      
      This reverts commit 7270f284.
      7217999a
    • Dan Field's avatar
      Reland Xcode backend refactor (#23574) · 7270f284
      Dan Field authored
      * Use Xcode build configurations to drive Flutter build mode
      
      * Proper check wrt local_engine, print error if profile mode misisng
      
      * Remove unused code, update tests, fix template problem, update warning
      
      * fix up warning
      
      * add explanatory dev comment
      
      * fix whitespace
      
      * missing words, change lambda arrow to function body
      
      * error indentation
      
      * Test early exits for xcode_backend.sh
      
      * only on macOS, use right test
      
      * Update error messages
      
      * case insensitive compare for build config
      
      * Update gallery podfile
      
      * update projects to add profile configuration
      
      * make compatible with flavors
      
      * add missing plist files
      7270f284
  27. 20 Oct, 2018 1 commit
  28. 18 Oct, 2018 2 commits