Unverified Commit 9296a527 authored by Hans Muller's avatar Hans Muller Committed by GitHub

Revert "Removed ButtonBar from AlertDialog (#75676)" (#75873)

This reverts commit 705cebb2.
parent 06f2303e
...@@ -424,8 +424,13 @@ class AlertDialog extends StatelessWidget { ...@@ -424,8 +424,13 @@ class AlertDialog extends StatelessWidget {
/// This is different from [actionsPadding], which defines the padding /// This is different from [actionsPadding], which defines the padding
/// between the entire button bar and the edges of the dialog. /// between the entire button bar and the edges of the dialog.
/// ///
/// If this property is null, then it will default to /// If this property is null, then it will use the surrounding
/// [ButtonBarThemeData.buttonPadding]. If that is null, it will default to
/// 8.0 logical pixels on the left and right. /// 8.0 logical pixels on the left and right.
///
/// See also:
///
/// * [ButtonBar], which [actions] configures to lay itself out.
final EdgeInsetsGeometry? buttonPadding; final EdgeInsetsGeometry? buttonPadding;
/// {@macro flutter.material.dialog.backgroundColor} /// {@macro flutter.material.dialog.backgroundColor}
...@@ -533,19 +538,14 @@ class AlertDialog extends StatelessWidget { ...@@ -533,19 +538,14 @@ class AlertDialog extends StatelessWidget {
if (actions != null) { if (actions != null) {
final double spacing = (buttonPadding?.horizontal ?? 16) / 2;
actionsWidget = Padding( actionsWidget = Padding(
padding: actionsPadding, padding: actionsPadding,
child: Container( child: ButtonBar(
alignment: AlignmentDirectional.centerEnd, buttonPadding: buttonPadding,
padding: EdgeInsets.all(spacing), overflowDirection: actionsOverflowDirection,
child: OverflowBar( overflowButtonSpacing: actionsOverflowButtonSpacing,
spacing: spacing,
overflowDirection: actionsOverflowDirection ?? VerticalDirection.down,
overflowSpacing: actionsOverflowButtonSpacing ?? 0,
children: actions!, children: actions!,
), ),
),
); );
} }
......
...@@ -46,13 +46,6 @@ RenderParagraph _getTextRenderObjectFromDialog(WidgetTester tester, String text) ...@@ -46,13 +46,6 @@ RenderParagraph _getTextRenderObjectFromDialog(WidgetTester tester, String text)
return tester.element<StatelessElement>(find.descendant(of: find.byType(Dialog), matching: find.text(text))).renderObject! as RenderParagraph; return tester.element<StatelessElement>(find.descendant(of: find.byType(Dialog), matching: find.text(text))).renderObject! as RenderParagraph;
} }
// What was the AlertDialog's ButtonBar when many of these tests were written,
// is now a Container with an OverflowBar child. The Container's size and location
// match the original ButtonBar's size and location.
Finder _findButtonBar() {
return find.ancestor(of: find.byType(OverflowBar), matching: find.byType(Container)).first;
}
const ShapeBorder _defaultDialogShape = RoundedRectangleBorder(borderRadius: BorderRadius.all(Radius.circular(4.0))); const ShapeBorder _defaultDialogShape = RoundedRectangleBorder(borderRadius: BorderRadius.all(Radius.circular(4.0)));
void main() { void main() {
...@@ -502,7 +495,7 @@ void main() { ...@@ -502,7 +495,7 @@ void main() {
matching: find.byType(Material), matching: find.byType(Material),
).first, ).first,
); );
final Size actionsSize = tester.getSize(_findButtonBar()); final Size actionsSize = tester.getSize(find.byType(ButtonBar));
expect(actionsSize.width, dialogSize.width); expect(actionsSize.width, dialogSize.width);
}); });
...@@ -536,7 +529,7 @@ void main() { ...@@ -536,7 +529,7 @@ void main() {
matching: find.byType(Material), matching: find.byType(Material),
).first, ).first,
); );
final Size actionsSize = tester.getSize(_findButtonBar()); final Size actionsSize = tester.getSize(find.byType(ButtonBar));
expect(actionsSize.width, dialogSize.width - (30.0 * 2)); expect(actionsSize.width, dialogSize.width - (30.0 * 2));
}); });
...@@ -579,25 +572,25 @@ void main() { ...@@ -579,25 +572,25 @@ void main() {
// First button // First button
expect( expect(
tester.getTopRight(find.byKey(key1)).dy, tester.getTopRight(find.byKey(key1)).dy,
tester.getTopRight(_findButtonBar()).dy + 8.0, tester.getTopRight(find.byType(ButtonBar)).dy + 8.0,
); // top ); // top
expect( expect(
tester.getBottomRight(find.byKey(key1)).dy, tester.getBottomRight(find.byKey(key1)).dy,
tester.getBottomRight(_findButtonBar()).dy - 8.0, tester.getBottomRight(find.byType(ButtonBar)).dy - 8.0,
); // bottom ); // bottom
// Second button // Second button
expect( expect(
tester.getTopRight(find.byKey(key2)).dy, tester.getTopRight(find.byKey(key2)).dy,
tester.getTopRight(_findButtonBar()).dy + 8.0, tester.getTopRight(find.byType(ButtonBar)).dy + 8.0,
); // top ); // top
expect( expect(
tester.getBottomRight(find.byKey(key2)).dy, tester.getBottomRight(find.byKey(key2)).dy,
tester.getBottomRight(_findButtonBar()).dy - 8.0, tester.getBottomRight(find.byType(ButtonBar)).dy - 8.0,
); // bottom ); // bottom
expect( expect(
tester.getBottomRight(find.byKey(key2)).dx, tester.getBottomRight(find.byKey(key2)).dx,
tester.getBottomRight(_findButtonBar()).dx - 8.0, tester.getBottomRight(find.byType(ButtonBar)).dx - 8.0,
); // right ); // right
}); });
...@@ -643,25 +636,25 @@ void main() { ...@@ -643,25 +636,25 @@ void main() {
// First button // First button
expect( expect(
tester.getTopRight(find.byKey(key1)).dy, tester.getTopRight(find.byKey(key1)).dy,
tester.getTopRight(_findButtonBar()).dy + ((10.0 + 20.0) / 2), tester.getTopRight(find.byType(ButtonBar)).dy + ((10.0 + 20.0) / 2),
); // top ); // top
expect( expect(
tester.getBottomRight(find.byKey(key1)).dy, tester.getBottomRight(find.byKey(key1)).dy,
tester.getBottomRight(_findButtonBar()).dy - ((10.0 + 20.0) / 2), tester.getBottomRight(find.byType(ButtonBar)).dy - ((10.0 + 20.0) / 2),
); // bottom ); // bottom
// Second button // Second button
expect( expect(
tester.getTopRight(find.byKey(key2)).dy, tester.getTopRight(find.byKey(key2)).dy,
tester.getTopRight(_findButtonBar()).dy + ((10.0 + 20.0) / 2), tester.getTopRight(find.byType(ButtonBar)).dy + ((10.0 + 20.0) / 2),
); // top ); // top
expect( expect(
tester.getBottomRight(find.byKey(key2)).dy, tester.getBottomRight(find.byKey(key2)).dy,
tester.getBottomRight(_findButtonBar()).dy - ((10.0 + 20.0) / 2), tester.getBottomRight(find.byType(ButtonBar)).dy - ((10.0 + 20.0) / 2),
); // bottom ); // bottom
expect( expect(
tester.getBottomRight(find.byKey(key2)).dx, tester.getBottomRight(find.byKey(key2)).dx,
tester.getBottomRight(_findButtonBar()).dx - ((10.0 + 20.0) / 2), tester.getBottomRight(find.byType(ButtonBar)).dx - ((10.0 + 20.0) / 2),
); // right ); // right
}); });
...@@ -682,7 +675,7 @@ void main() { ...@@ -682,7 +675,7 @@ void main() {
final Finder dialogFinder = find.descendant(of: find.byType(Dialog), matching: find.byType(Material)).first; final Finder dialogFinder = find.descendant(of: find.byType(Dialog), matching: find.byType(Material)).first;
final Finder titleFinder = find.byKey(titleKey); final Finder titleFinder = find.byKey(titleKey);
final Finder contentFinder = find.byKey(contentKey); final Finder contentFinder = find.byKey(contentKey);
final Finder actionsFinder = _findButtonBar(); final Finder actionsFinder = find.byType(ButtonBar);
final Finder childrenFinder = find.byKey(childrenKey); final Finder childrenFinder = find.byKey(childrenKey);
Future<void> openDialog(WidgetTester tester, Widget dialog, double textScaleFactor) async { Future<void> openDialog(WidgetTester tester, Widget dialog, double textScaleFactor) async {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment