1. 25 Aug, 2020 1 commit
  2. 21 Aug, 2020 2 commits
  3. 17 Aug, 2020 1 commit
  4. 29 Jul, 2020 2 commits
  5. 28 Jul, 2020 1 commit
  6. 23 Jul, 2020 2 commits
  7. 18 Jun, 2020 1 commit
  8. 11 Jun, 2020 2 commits
  9. 29 May, 2020 1 commit
  10. 28 May, 2020 1 commit
  11. 27 May, 2020 1 commit
    • Greg Spencer's avatar
      Add MediaQueryData.navigationMode and allow controls to be focused when disabled. (#54919) · 8ef29154
      Greg Spencer authored
      This adds a new navigationMode to the MediaQueryData that indicates how focusable controls should behave under different navigation modes, currently with two modes: NavigationMode.traditional, and NavigationMode.directional.
      
      It may seem like focusing a disabled control is not desirable, but this is useful for user interfaces that use DPAD navigation because if a control gets disabled, losing focus is disruptive to the user, and it is difficult to control where the focus will end up unless it is done explicitly.
      8ef29154
  12. 21 Apr, 2020 1 commit
  13. 07 Apr, 2020 1 commit
    • Greg Spencer's avatar
      Revise Action API (#42940) · 0f68b46f
      Greg Spencer authored
      This updates the Action API in accordance with the design doc for the changes: flutter.dev/go/actions-and-shortcuts-design-revision
      
      Fixes #53276
      0f68b46f
  14. 11 Mar, 2020 1 commit
    • Greg Spencer's avatar
      Convert Diagnosticable to a mixin (#51495) · 210f4d83
      Greg Spencer authored
      This converts Diagnosticable to be a mixin instead of an abstract class, so that it can be used to add diagnostics to classes which already have a base class.
      
      It leaves in place the DiagnosticableMixin mixin, since there are some plugins that are still using it, and removing it would mean that those plugins wouldn't work with master branch Flutter anymore. DiagnosticableMixin will be removed once this mixin version of Diagnosticable makes its way to the stable branch.
      210f4d83
  15. 20 Feb, 2020 1 commit
  16. 11 Feb, 2020 1 commit
  17. 10 Feb, 2020 1 commit
    • Greg Spencer's avatar
      Update samples to work with Dartpad, and convert all that make… (#50377) · 9fb781a5
      Greg Spencer authored
      This PR modifies the existing API docs samples to use DartPad so that all of the samples are now interactive apps on the API docs site.
      
      It also removes the restriction for the max width of the description area so that the dartpad region can expand horizontally.
      
      I updated the first paragraph on the API docs to indicate that Flutter is more than just mobile now (same text as the README.md at the top level).
      
      I modified a few of the examples so that they looked nicer, and fit better on the page.
      
      I added the sample description text above each DartPad instance, since that often defines the context of the example.
      
      I removed animations and images when they were redundant with the sample content. There were a few that made sense to keep, so I did.
      9fb781a5
  18. 08 Jan, 2020 1 commit
  19. 05 Dec, 2019 2 commits
    • Greg Spencer's avatar
      Normalizes all of the "See also" blocks in comments. (#46121) · c6fe7bb9
      Greg Spencer authored
      This normalizes all of the "See also" blocks in comments so that they conform in style.
      
      They all look like this now:
      
        /// See also:
        ///
        ///  * [MyFavoriteWidget], because it's cool.
        class Foo {}
      
      I removed some useless "See also" blocks, and added commentary to ones that were just "bare" references.
      
      This is my penance for adding so many bullets that are "-" instead of "*". :-)
      c6fe7bb9
    • Greg Spencer's avatar
      Overridable default platform key bindings (#45102) · f7d16161
      Greg Spencer authored
      This adds actions and shortcuts arguments to WidgetsApp (and MaterialApp and CupertinoApp) to allow developers to override the default mappings on an application, and to allow for a more complex definition of the default mappings.
      
      I've stopped using SelectAction here, in favor of using ActivateAction for all activations, but haven't removed it, to avoid a breaking change, and to allow a common base class for these types of actions. This is because some platforms use the same mapping (web) for both kinds of activations (both select and activate).
      f7d16161
  20. 04 Dec, 2019 1 commit
  21. 02 Dec, 2019 1 commit
    • Tong Mu's avatar
      Improve MouseTracker lifecycle: Move checks to post-frame (#44631) · afb8f382
      Tong Mu authored
      This PR rewrites MouseTracker's lifecycle, so that mouse callbacks are all triggered in post frame, instead of the current one where some are triggered during the build phase. This PR also changes the onExit callback to MouseRegion, RenderMouseRegion, and MouseTrackerAnnotation, so that it is no longer triggered on dispose.
      afb8f382
  22. 27 Nov, 2019 1 commit
    • Ian Hickson's avatar
      License update (#45373) · 449f4a66
      Ian Hickson authored
      * Update project.pbxproj files to say Flutter rather than Chromium
      
      Also, the templates now have an empty organization so that we don't cause people to give their apps a Flutter copyright.
      
      * Update the copyright notice checker to require a standard notice on all files
      
      * Update copyrights on Dart files. (This was a mechanical commit.)
      
      * Fix weird license headers on Dart files that deviate from our conventions; relicense Shrine.
      
      Some were already marked "The Flutter Authors", not clear why. Their
      dates have been normalized. Some were missing the blank line after the
      license. Some were randomly different in trivial ways for no apparent
      reason (e.g. missing the trailing period).
      
      * Clean up the copyrights in non-Dart files. (Manual edits.)
      
      Also, make sure templates don't have copyrights.
      
      * Fix some more ORGANIZATIONNAMEs
      449f4a66
  23. 22 Nov, 2019 1 commit
    • Alexandre Ardhuin's avatar
      make some BuildContext methods generics (#44189) · fcb40a05
      Alexandre Ardhuin authored
      * make BuildContext.{ancestorStateOfType,ancestorRenderObjectOfType,rootAncestorStateOfType} generic
      
      * make BuildContext.inheritFromWidgetOfExactType generic
      
      * make BuildContext.ancestorInheritedElementForWidgetOfExactType generic
      
      * make BuildContext.ancestorWidgetOfExactType generic
      
      * fix snippet
      
      * bump scoped_model on temp version
      
      * update names
      
      * Revert "bump scoped_model on temp version"
      
      This reverts commit d1fcbba028cdb07f44738d1652391692d1ea5ec0.
      
      * address review comments
      
      * fix ci
      
      * address review comments
      
      * repeat the deprecation notice
      
      * fix uppercase
      
      * use of recommanded deprecation syntax
      
      * address review comment
      fcb40a05
  24. 20 Nov, 2019 1 commit
    • Greg Spencer's avatar
      Scroll scrollable to keep focused control visible. (#44965) · 0d27fdce
      Greg Spencer authored
      Before this change, it was possible to move the focus onto a control that was no longer in the view using focus traversal. This changes that, so that when a control is focused, it makes sure that if it is the child of a scrollable, that the scrollable attempts to keep it in view. If it is already in view, then nothing scrolls.
      
      When asked to move in a direction, the focus traversal code tries to find a control to move to inside the scrollable first, and then looks for things outside of the scrollable only once the scrollable has reached its limit in that direction.
      0d27fdce
  25. 19 Nov, 2019 1 commit
    • Greg Spencer's avatar
      FocusableActionDetector widget (#44867) · 6e10719d
      Greg Spencer authored
      This adds a FocusableActionDetector, a widget which combines the functionality of Actions, Shortcuts, MouseRegion and a Focus widget to create a detector that defines actions and key bindings, and will notify that the focus or hover highlights should be shown or not. This widget can be used to give a control the required detection modes for focus and hover handling on desktop and web platforms.
      
      I replaced a bunch of similar code in many of our widgets with this widget, and found that pretty much any control that wants to be focusable wants all of these features as well: focus highlights, hover highlights, and actions to activate it.
      
      Also eliminated an extra _hasFocus variable in FocusState that wasn't being used.
      6e10719d
  26. 01 Nov, 2019 1 commit
    • Greg Spencer's avatar
      Add convenience accessor for primaryFocus (#43859) · 3a30722f
      Greg Spencer authored
      This adds accessors for WidgetsBinding.instance.focusManager and WidgetsBinding.instance.focusManager.primaryFocus so that they can be more easily found in IDEs and accessed.
      
      This adds a top level getter for WidgetsBinding.instance.focusManager.primaryFocus called primaryFocus, and a static accessor FocusManager.instance that returns WidgetsBinding.instance.focusManager.
      3a30722f
  27. 30 Oct, 2019 1 commit
  28. 28 Oct, 2019 2 commits
  29. 23 Oct, 2019 2 commits
  30. 10 Oct, 2019 1 commit
    • Greg Spencer's avatar
      Re-land keyboard traversal PRs (#42278) · ce150971
      Greg Spencer authored
      This attempts to reland #40186 and #41220, that were reverted in #41945.
      
      The main modifications from the original PRs are that I predefine the shortcuts and actions maps instead of defining them inline in the build function, and I use a new mapEquals to do a deep comparison so that we don't rebuild modified things if the contents of the map haven't changed.
      
      I also eliminated an operator== and hashCode that were defined on the Actions widget, since widgets shouldn't have those. (it's too bad though: I get an 85% speedup if we leave this in! Too bad it prevents rebuilding of the children...)
      
      Fixes #40101
      ce150971
  31. 04 Oct, 2019 1 commit
  32. 02 Oct, 2019 1 commit
    • Greg Spencer's avatar
      Add an ActivateAction to controls that use InkWell. (#41220) · 4512a1c1
      Greg Spencer authored
      Adds an ActivateAction to controls that use InkWell. Make InkWell host the Focus for those controls, and add the top level binding to the ENTER key. This will make it possible to trigger a button using the enter key, and to get an ink response when the button is triggered.
      
      This is a breaking change because it moves the Focus widget into the InkWell. If you have a component that uses the InkWell directly and you used to wrap that InkWell in a Focus widget to give it its notion of focus, it will now not look for that Focus ancestor for its focus state anymore. In order to control focus on the InkWell, you need to give it a FocusNode directly, via the new focusNode parameter. This should not affect users of widgets like OutlineButton or FloatingActionButton and the like, since those have been modified in this PR.
      4512a1c1
  33. 28 Sep, 2019 1 commit