From cf4011779fb35976d8cf94478f9ffb0770d8ff8f Mon Sep 17 00:00:00 2001 From: Dan Ballard Date: Tue, 13 Feb 2024 18:24:39 -0800 Subject: [PATCH 1/2] fix saving and displaying theme name --- lib/settings.dart | 3 ++- lib/themes/yamltheme.dart | 2 +- lib/views/globalsettingsappearanceview.dart | 8 ++++---- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/lib/settings.dart b/lib/settings.dart index db286c60..665e3f3a 100644 --- a/lib/settings.dart +++ b/lib/settings.dart @@ -90,6 +90,7 @@ class Settings extends ChangeNotifier { bool get useSemanticDebugger => _useSemanticDebugger; String? _themeId; + String? get themeId => _themeId; String? _mode; OpaqueThemeType get theme => themeloader.getTheme(_themeId, _mode); void setTheme(String themeId, String mode) { @@ -483,7 +484,7 @@ class Settings extends ChangeNotifier { dynamic asJson() { return { "Locale": this.locale.toString(), - "Theme": theme.theme, + "Theme": _themeId, "ThemeMode": theme.mode, "ThemeImages": _themeImages, "PreviousPid": -1, diff --git a/lib/themes/yamltheme.dart b/lib/themes/yamltheme.dart index 7e32b529..a7e8f9c1 100644 --- a/lib/themes/yamltheme.dart +++ b/lib/themes/yamltheme.dart @@ -132,7 +132,7 @@ class YmlTheme extends OpaqueThemeType { val = yml["themes"][mode]["theme"][val] ?? val; } if (!(val is int)) { - val = yml["themes"][mode]?["colors"][val] ?? val; + val = yml["themes"][mode]?["colors"]?[val] ?? val; } if (!(val is int)) { val = yml["colors"]?[val]; diff --git a/lib/views/globalsettingsappearanceview.dart b/lib/views/globalsettingsappearanceview.dart index 416d6bab..b15973fd 100644 --- a/lib/views/globalsettingsappearanceview.dart +++ b/lib/views/globalsettingsappearanceview.dart @@ -92,7 +92,7 @@ class _GlobalSettingsAppearanceViewState extends State( key: Key("DropdownTheme"), isExpanded: true, - value: Provider.of(context).theme.theme, + value: Provider.of(context).themeId, onChanged: (String? newValue) { setState(() { settings.setTheme(newValue!, settings.theme.mode); @@ -102,7 +102,7 @@ class _GlobalSettingsAppearanceViewState extends State>((String themeId) { return DropdownMenuItem( value: themeId, - child: Text(getThemeName(context, themeId), style: settings.scaleFonts(defaultDropDownMenuItemTextStyle)), //"ddi_$themeId", key: Key("ddi_$themeId")), + child: Text(getThemeName(context, settings, themeId), style: settings.scaleFonts(defaultDropDownMenuItemTextStyle)), //"ddi_$themeId", key: Key("ddi_$themeId")), ); }).toList())), leading: Icon(Icons.palette, color: settings.current().mainTextColor), @@ -330,7 +330,7 @@ class _GlobalSettingsAppearanceViewState extends State Date: Tue, 13 Feb 2024 19:07:55 -0800 Subject: [PATCH 2/2] move padding for message list inside image decoration background --- lib/views/messageview.dart | 2 +- lib/widgets/messagelist.dart | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/views/messageview.dart b/lib/views/messageview.dart index 4de4508d..3bb501e3 100644 --- a/lib/views/messageview.dart +++ b/lib/views/messageview.dart @@ -259,7 +259,7 @@ class _MessageViewState extends State { actions: appBarButtons, ), body: Padding( - padding: EdgeInsets.fromLTRB(8.0, 8.0, 8.0, 182.0), + padding: EdgeInsets.fromLTRB(8.0, 8.0, 8.0, 164.0), child: MessageList( scrollListener, )), diff --git a/lib/widgets/messagelist.dart b/lib/widgets/messagelist.dart index 1c2a987d..2c892a38 100644 --- a/lib/widgets/messagelist.dart +++ b/lib/widgets/messagelist.dart @@ -123,7 +123,10 @@ class _MessageListState extends State { image: AssetImage("assets/core/negative_heart_512px.png"), colorFilter: ColorFilter.mode(Provider.of(context).theme.hilightElementColor.withOpacity(0.15), BlendMode.srcIn))), // Don't load messages for syncing server... - child: loadMessages + child: + Padding( + padding: EdgeInsets.fromLTRB(0.0, 0.0, 0.0, 20.0), + child: loadMessages ? ScrollablePositionedList.builder( itemPositionsListener: widget.scrollListener, itemScrollController: Provider.of(outerContext).messageScrollController, @@ -152,7 +155,7 @@ class _MessageListState extends State { ); }, ) - : null)) + : null))) ]))); } }