diff --git a/flutter/lib/common.dart b/flutter/lib/common.dart index c65993d99..21dc427cc 100644 --- a/flutter/lib/common.dart +++ b/flutter/lib/common.dart @@ -111,32 +111,39 @@ class ColorThemeExtension extends ThemeExtension { required this.border, required this.border2, required this.highlight, + required this.drag_indicator, }); final Color? border; final Color? border2; final Color? highlight; + final Color? drag_indicator; - static const light = ColorThemeExtension( + static final light = ColorThemeExtension( border: Color(0xFFCCCCCC), border2: Color(0xFFBBBBBB), highlight: Color(0xFFE5E5E5), + drag_indicator: Colors.grey[800], ); - static const dark = ColorThemeExtension( + static final dark = ColorThemeExtension( border: Color(0xFF555555), border2: Color(0xFFE5E5E5), highlight: Color(0xFF3F3F3F), + drag_indicator: Colors.grey, ); @override ThemeExtension copyWith( - {Color? border, Color? border2, Color? highlight}) { + {Color? border, + Color? border2, + Color? highlight, + Color? drag_indicator}) { return ColorThemeExtension( - border: border ?? this.border, - border2: border2 ?? this.border2, - highlight: highlight ?? this.highlight, - ); + border: border ?? this.border, + border2: border2 ?? this.border2, + highlight: highlight ?? this.highlight, + drag_indicator: drag_indicator ?? this.drag_indicator); } @override @@ -149,6 +156,7 @@ class ColorThemeExtension extends ThemeExtension { border: Color.lerp(border, other.border, t), border2: Color.lerp(border2, other.border2, t), highlight: Color.lerp(highlight, other.highlight, t), + drag_indicator: Color.lerp(drag_indicator, other.drag_indicator, t), ); } } @@ -252,6 +260,9 @@ class MyTheme { ), ), ), + menuBarTheme: MenuBarThemeData( + style: + MenuStyle(backgroundColor: MaterialStatePropertyAll(Colors.white))), colorScheme: ColorScheme.light( primary: Colors.blue, secondary: accent, background: grayBg), ).copyWith( @@ -352,6 +363,9 @@ class MyTheme { ), ), ), + menuBarTheme: MenuBarThemeData( + style: MenuStyle( + backgroundColor: MaterialStatePropertyAll(Color(0xFF121212)))), colorScheme: ColorScheme.dark( primary: Colors.blue, secondary: accent, diff --git a/flutter/lib/desktop/widgets/remote_menubar.dart b/flutter/lib/desktop/widgets/remote_menubar.dart index e38e5c992..3a8b69db2 100644 --- a/flutter/lib/desktop/widgets/remote_menubar.dart +++ b/flutter/lib/desktop/widgets/remote_menubar.dart @@ -408,7 +408,12 @@ class _RemoteMenubarState extends State { children: [ Container( decoration: BoxDecoration( - borderRadius: BorderRadius.all(Radius.circular(10)), + borderRadius: BorderRadius.all(Radius.circular(4.0)), + color: Theme.of(context) + .menuBarTheme + .style + ?.backgroundColor + ?.resolve(MaterialState.values.toSet()), ), child: SingleChildScrollView( scrollDirection: Axis.horizontal, @@ -416,9 +421,9 @@ class _RemoteMenubarState extends State { data: themeData(), child: Row( children: [ - SizedBox(width: _MenubarTheme.buttonHMargin), + SizedBox(width: _MenubarTheme.buttonHMargin * 2), ...menubarItems, - SizedBox(width: _MenubarTheme.buttonHMargin) + SizedBox(width: _MenubarTheme.buttonHMargin * 2) ], ), ), @@ -441,7 +446,13 @@ class _RemoteMenubarState extends State { ), dividerTheme: DividerThemeData(space: 4), menuBarTheme: MenuBarThemeData( - style: MenuStyle(padding: MaterialStatePropertyAll(EdgeInsets.zero))), + style: MenuStyle( + padding: MaterialStatePropertyAll(EdgeInsets.zero), + elevation: MaterialStatePropertyAll(0), + shape: MaterialStatePropertyAll(BeveledRectangleBorder()), + ).copyWith( + backgroundColor: + Theme.of(context).menuBarTheme.style?.backgroundColor)), ); } } @@ -1869,6 +1880,7 @@ class _IconMenuButtonState extends State<_IconMenuButton> { height: _MenubarTheme.buttonSize, child: MenuItemButton( style: ButtonStyle( + backgroundColor: MaterialStatePropertyAll(Colors.transparent), padding: MaterialStatePropertyAll(EdgeInsets.zero), overlayColor: MaterialStatePropertyAll(Colors.transparent)), onHover: (value) => setState(() { @@ -1940,6 +1952,7 @@ class _IconSubmenuButtonState extends State<_IconSubmenuButton> { child: SubmenuButton( menuStyle: widget.menuStyle, style: ButtonStyle( + backgroundColor: MaterialStatePropertyAll(Colors.transparent), padding: MaterialStatePropertyAll(EdgeInsets.zero), overlayColor: MaterialStatePropertyAll(Colors.transparent)), onHover: (value) => setState(() { @@ -2100,7 +2113,7 @@ class _DraggableShowHideState extends State<_DraggableShowHide> { child: Icon( Icons.drag_indicator, size: 20, - color: Colors.grey[800], + color: MyTheme.color(context).drag_indicator, ), feedback: widget, onDragStarted: (() { @@ -2152,7 +2165,11 @@ class _DraggableShowHideState extends State<_DraggableShowHide> { data: TextButtonThemeData(style: buttonStyle), child: Container( decoration: BoxDecoration( - color: Colors.white, + color: Theme.of(context) + .menuBarTheme + .style + ?.backgroundColor + ?.resolve(MaterialState.values.toSet()), borderRadius: BorderRadius.vertical( bottom: Radius.circular(5), ),