diff --git a/lib/widgets/device_grid/desktop/desktop_device_grid.dart b/lib/widgets/device_grid/desktop/desktop_device_grid.dart index 36da598d..9744302f 100644 --- a/lib/widgets/device_grid/desktop/desktop_device_grid.dart +++ b/lib/widgets/device_grid/desktop/desktop_device_grid.dart @@ -628,7 +628,11 @@ class _DesktopTileViewportState extends State { mainAxisAlignment: MainAxisAlignment.end, children: [ IconButton( - icon: Icon(moreIconData), + icon: Icon( + moreIconData, + shadows: outlinedText(), + color: Colors.white, + ), tooltip: loc.more, onPressed: () async { final device = await showStreamDataDialog( diff --git a/lib/widgets/device_grid/desktop/external_stream.dart b/lib/widgets/device_grid/desktop/external_stream.dart index 2f5979ce..0313c67d 100644 --- a/lib/widgets/device_grid/desktop/external_stream.dart +++ b/lib/widgets/device_grid/desktop/external_stream.dart @@ -25,7 +25,6 @@ import 'package:bluecherry_client/providers/desktop_view_provider.dart'; import 'package:bluecherry_client/providers/settings_provider.dart'; import 'package:bluecherry_client/utils/config.dart'; import 'package:bluecherry_client/utils/extensions.dart'; -import 'package:bluecherry_client/widgets/misc.dart'; import 'package:flutter/material.dart'; import 'package:flutter_gen/gen_l10n/app_localizations.dart'; import 'package:provider/provider.dart'; @@ -332,18 +331,18 @@ class VideoOverlaysEditor extends StatelessWidget { const SizedBox(height: 2.0), TextFormField( initialValue: overlay.text, - style: theme.textTheme.bodyLarge! - .copyWith( - shadows: outlinedText( - strokeColor: (overlay.textStyle?.color ?? Colors.black) - .computeLuminance() > - 0.5 - ? Colors.black - : Colors.white, - strokeWidth: 0.5, - ), - ) - .merge(overlay.textStyle), + style: theme.textTheme.bodyLarge!, + // .copyWith( + // shadows: outlinedText( + // strokeColor: (overlay.textStyle?.color ?? Colors.black) + // .computeLuminance() > + // 0.5 + // ? Colors.black + // : Colors.white, + // strokeWidth: 0.5, + // ), + // ) + // .merge(overlay.textStyle), onChanged: (text) { onChanged( overlays.indexOf(overlay).clamp(0, overlays.length), diff --git a/lib/widgets/device_grid/desktop/stream_data.dart b/lib/widgets/device_grid/desktop/stream_data.dart index 3b7d723d..cc6333ac 100644 --- a/lib/widgets/device_grid/desktop/stream_data.dart +++ b/lib/widgets/device_grid/desktop/stream_data.dart @@ -207,13 +207,15 @@ class _StreamDataState extends State { padding: EdgeInsetsDirectional.symmetric(horizontal: 8.0), child: VerticalDivider(), ), - SizedBox( - width: 280.0, - child: VideoOverlaysEditor( - overlays: overlays, - onChanged: (index, overlay) { - setState(() => overlays[index] = overlay); - }, + ConstrainedBox( + constraints: const BoxConstraints(minWidth: 280.0), + child: IntrinsicWidth( + child: VideoOverlaysEditor( + overlays: overlays, + onChanged: (index, overlay) { + setState(() => overlays[index] = overlay); + }, + ), ), ), ] @@ -223,6 +225,8 @@ class _StreamDataState extends State { Row(children: [ if (widget.device.hasPTZ) PTZToggleButton( + enabledColor: theme.colorScheme.inversePrimary, + disabledColor: theme.colorScheme.inversePrimary.withOpacity(0.5), ptzEnabled: ptzEnabled, onChanged: (v) { setState(() => ptzEnabled = v); diff --git a/lib/widgets/ptz.dart b/lib/widgets/ptz.dart index 1fe8bbd9..5ea42834 100644 --- a/lib/widgets/ptz.dart +++ b/lib/widgets/ptz.dart @@ -214,10 +214,15 @@ class PTZToggleButton extends StatelessWidget { final bool ptzEnabled; final ValueChanged onChanged; + final Color? enabledColor; + final Color? disabledColor; + const PTZToggleButton({ super.key, required this.ptzEnabled, required this.onChanged, + this.enabledColor, + this.disabledColor, }); @override @@ -229,8 +234,9 @@ class PTZToggleButton extends StatelessWidget { icon: Icon( Icons.videogame_asset, color: ptzEnabled - ? Colors.white - : theme.colorScheme.onInverseSurface.withOpacity(0.86), + ? enabledColor ?? Colors.white + : disabledColor ?? + theme.colorScheme.onInverseSurface.withOpacity(0.86), ), tooltip: ptzEnabled ? loc.enabledPTZ : loc.disabledPTZ, onPressed: () => onChanged(!ptzEnabled),