Skip to content

Conversation

@TahaTesser
Copy link
Member

@TahaTesser TahaTesser commented Aug 7, 2023

fixes PopupMenuButton uses color property for icon color
fixes popup_menu_test.dart lacks default icon color tests.

Description

  • Add PopupMenuButton.iconColor and fix the PopupMenu button icon using an unexpected color property.
  • Add the missing PopupMenuTheme.iconSize.
  • Clean up some tests and minor improvements.

Code sample

expand to view the code sample
import 'package:flutter/material.dart';

/// Flutter code sample for [PopupMenuButton].

// This is the type used by the popup menu below.
enum SampleItem { itemOne, itemTwo, itemThree }

void main() => runApp(const PopupMenuApp());

class PopupMenuApp extends StatelessWidget {
  const PopupMenuApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData(
        popupMenuTheme: PopupMenuThemeData(
          // iconSize: 75,
          // iconColor: Colors.amber,
          color: Colors.deepPurple[100],
        ),
      ),
      home: const PopupMenuExample(),
    );
  }
}

class PopupMenuExample extends StatefulWidget {
  const PopupMenuExample({super.key});

  @override
  State<PopupMenuExample> createState() => _PopupMenuExampleState();
}

class _PopupMenuExampleState extends State<PopupMenuExample> {
  SampleItem? selectedMenu;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('PopupMenuButton')),
      body: Center(
        child: PopupMenuButton<SampleItem>(
          iconSize: 75,
          // iconColor: Colors.amber,
          color: Colors.deepPurple[100],
          initialValue: selectedMenu,
          // Callback that sets the selected popup menu item.
          onSelected: (SampleItem item) {
            setState(() {
              selectedMenu = item;
            });
          },
          itemBuilder: (BuildContext context) => <PopupMenuEntry<SampleItem>>[
            const PopupMenuItem<SampleItem>(
              value: SampleItem.itemOne,
              child: Text('Item 1'),
            ),
            const PopupMenuItem<SampleItem>(
              value: SampleItem.itemTwo,
              child: Text('Item 2'),
            ),
            const PopupMenuDivider(),
            const CheckedPopupMenuItem<SampleItem>(
              value: SampleItem.itemThree,
              checked: true,
              child: Text('Item 3'),
            ),
          ],
        ),
      ),
    );
  }
}

Group 2

Group 1

Pre-launch Checklist

  • I read the Contributor Guide and followed the process outlined there for submitting PRs.
  • I read the Tree Hygiene wiki page, which explains my responsibilities.
  • I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
  • I signed the CLA.
  • I listed at least one issue that this PR fixes in the description above.
  • I updated/added relevant documentation (doc comments with ///).
  • I added new tests to check the change I am making, or this PR is test-exempt.
  • All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

@github-actions github-actions bot added framework flutter/packages/flutter repository. See also f: labels. f: material design flutter/packages/flutter/material repository. labels Aug 7, 2023
Copy link
Contributor

@QuncCccccc QuncCccccc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM:) Just left one comment below. Thanks!

@TahaTesser TahaTesser force-pushed the fix_popup_menu_icon_properties branch from a0d65f2 to fea7146 Compare August 8, 2023 20:44
@TahaTesser TahaTesser added the autosubmit Merge PR when tree becomes green via auto submit App label Aug 8, 2023
@TahaTesser TahaTesser changed the title Add PopupMenuButton..iconColor, PopupMenuTheme.iconSize and fix button icon using unexpected color property Add PopupMenuButton..iconColor, PopupMenuTheme.iconSize and fix button icon using unexpected color propert Aug 8, 2023
@TahaTesser TahaTesser changed the title Add PopupMenuButton..iconColor, PopupMenuTheme.iconSize and fix button icon using unexpected color propert Add PopupMenuButton.iconColor, PopupMenuTheme.iconSize and fix button icon using unexpected color propert Aug 8, 2023
@auto-submit auto-submit bot merged commit b77b149 into flutter:master Aug 8, 2023
@TahaTesser TahaTesser deleted the fix_popup_menu_icon_properties branch August 9, 2023 05:37
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 9, 2023
…d fix button icon using unexpected color propert (flutter/flutter#132054)
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 9, 2023
…d fix button icon using unexpected color propert (flutter/flutter#132054)
auto-submit bot pushed a commit to flutter/packages that referenced this pull request Aug 9, 2023
flutter/flutter@436df69...f4c25bb

2023-08-09 [email protected] Revert "Handle breaking changes in leak_tracker." (flutter/flutter#132223)
2023-08-09 [email protected] Roll Flutter Engine from 8ec575168d44 to 3d3fb4faed02 (3 revisions) (flutter/flutter#132193)
2023-08-09 [email protected] Use pattern matching to avoid strange type annotations (flutter/flutter#131964)
2023-08-09 [email protected] Roll Flutter Engine from 6839b88283b6 to 8ec575168d44 (1 revision) (flutter/flutter#132182)
2023-08-09 [email protected] Roll Flutter Engine from 29b117aa4192 to 6839b88283b6 (1 revision) (flutter/flutter#132181)
2023-08-09 [email protected] Roll Flutter Engine from 82292b8390cb to 29b117aa4192 (5 revisions) (flutter/flutter#132179)
2023-08-09 [email protected] Add more info to `OverlayState.insert` error messages (flutter/flutter#129363)
2023-08-08 [email protected] Add `textCapitalization` property for `SearchBar` and `SearchAnchor` (flutter/flutter#131459)
2023-08-08 [email protected] Roll Flutter Engine from 934ebb005d02 to 82292b8390cb (3 revisions) (flutter/flutter#132166)
2023-08-08 49699333+dependabot[bot]@users.noreply.github.com Bump github/codeql-action from 2.21.2 to 2.21.3 (flutter/flutter#132165)
2023-08-08 [email protected] Revert of #120385 (flutter/flutter#132167)
2023-08-08 [email protected] Add `PopupMenuButton.iconColor`, `PopupMenuTheme.iconSize` and fix button icon using unexpected color propert (flutter/flutter#132054)
2023-08-08 [email protected] More PageStorage clarity in the documentation (flutter/flutter#131954)
2023-08-08 [email protected] Document that missed_frame_build_budget_count is misleading (flutter/flutter#132137)
2023-08-08 [email protected] Locate the template directory using a TemplatePathProvider. (flutter/flutter#132156)
2023-08-08 [email protected] Roll Flutter Engine from dd03fae51d38 to 934ebb005d02 (4 revisions) (flutter/flutter#132159)
2023-08-08 [email protected] Roll Flutter Engine from 22bd35a19352 to dd03fae51d38 (3 revisions) (flutter/flutter#132149)
2023-08-08 [email protected] Fix `TabBarTheme.indicatorColor` not applied in Material 2 (flutter/flutter#132123)
2023-08-08 [email protected] Paginated Data Table : Fixed Row number at footer in last page  (flutter/flutter#130389)
2023-08-08 [email protected] [web] Use benchmark callback from `dart:ui_web` (flutter/flutter#132087)
2023-08-08 [email protected] Roll Flutter Engine from 99fdac88f3c6 to 22bd35a19352 (3 revisions) (flutter/flutter#132141)
2023-08-08 [email protected] [framework] Add Search Web to selection controls for iOS (flutter/flutter#131898)
2023-08-08 [email protected] Remove Iterator from _History (flutter/flutter#132101)
2023-08-08 [email protected] Update dartdoc driver to match current behaviour (flutter/flutter#132078)
2023-08-08 [email protected] More documentation about warm-up frames (flutter/flutter#132085)
2023-08-08 [email protected] Roll Flutter Engine from 146c4c9487fc to 99fdac88f3c6 (3 revisions) (flutter/flutter#132135)
2023-08-08 [email protected] Roll Packages from d7ee75a to ac41376 (8 revisions) (flutter/flutter#132133)
2023-08-08 [email protected] Handle breaking changes in leak_tracker. (flutter/flutter#131998)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages
Please CC [email protected],[email protected],[email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 15, 2023
…d fix button icon using unexpected color propert (flutter/flutter#132054)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

autosubmit Merge PR when tree becomes green via auto submit App f: material design flutter/packages/flutter/material repository. framework flutter/packages/flutter repository. See also f: labels.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

popup_menu_test.dart lacks default icon color tests. PopupMenuButton uses color property for icon color

2 participants