Skip to content

Commit 8827a1c

Browse files
committed
some random bugfixes
1 parent 10831ab commit 8827a1c

13 files changed

Lines changed: 39 additions & 30 deletions

File tree

LRReader.Shared/Models/App.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,11 @@ public class IdTabState : TabState
4747
public IdTabState(Tab tab, string id) : base(tab) => Id = id;
4848
}
4949

50-
public class ArchiveTabState(string id, int? page, bool wasOpen) : IdTabState(Tab.Archive, id)
50+
public class ArchiveTabState(string id, int? page, bool wasOpen, List<string>? next) : IdTabState(Tab.Archive, id)
5151
{
5252
public int? Page { get; set; } = page;
5353
public bool WasOpen { get; set; } = wasOpen;
54+
public List<string>? Next { get; set; } = next;
5455
}
5556

5657
public class SearchTabState(SearchState search) : TabState(Tab.SearchResults)

LRReader.Shared/Services/Archives.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@ private async Task Update(string path)
195195

196196
public bool HasArchive(string id) => Archives.ContainsKey(id);
197197

198-
public void OpenTab(Archive archive, bool switchToTab = true, IList<Archive>? next = null)
198+
public void OpenTab(Archive archive, bool switchToTab = true, List<Archive>? next = null)
199199
{
200200
Tabs.OpenTab(Tab.Archive, switchToTab, archive, next);
201201
}

LRReader.Shared/Services/Settings.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -642,7 +642,7 @@ public enum ClearNewMode
642642
}
643643
public enum ArchiveStyle
644644
{
645-
Default, ThumbnailOnly, Compact, _InvalidIgnore = -1
645+
Default, ThumbnailOnly, Compact
646646
}
647647

648648
public enum SessionMode

LRReader.Shared/Services/Tabs.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,12 @@ public partial class TabsService : ObservableObject
2323
[ObservableProperty]
2424
private ICustomTab? _currentTab;
2525

26+
partial void OnCurrentTabChanged(ICustomTab? value)
27+
{
28+
// Try to keep memory under control
29+
GC.Collect(1, GCCollectionMode.Forced, false, false);
30+
}
31+
2632
[ObservableProperty]
2733
[NotifyPropertyChangedFor("Windowed")]
2834
private bool _fullscreen;

LRReader.Shared/ViewModels/ArchivePageViewModel.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ public partial class ArchivePageViewModel : ArchiveBaseViewModel
2525

2626
[ObservableProperty]
2727
[NotifyPropertyChangedFor("CanGoNext")]
28-
private IList<Archive> _group = new List<Archive>();
28+
private List<Archive> _group = new List<Archive>();
2929

3030
public bool CanGoNext => Group.Count != 0 && Group.ElementAtOrDefault(Group.IndexOf(Archive) + 1) != null;
3131

LRReader.Shared/ViewModels/Base/ArchiveBaseViewModel.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,7 @@ private async Task TagClick(ArchiveTagsGroupTag tag)
254254
}
255255
}
256256

257-
public async Task OpenTab(IList<Archive> group)
257+
public async Task OpenTab(List<Archive> group)
258258
{
259259
if (Archive.IsTank)
260260
{

LRReader.Shared/ViewModels/SearchResultsViewModel.cs

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -66,20 +66,6 @@ public bool ControlsEnabled
6666
[ObservableProperty]
6767
private ArchiveStyle _archiveStyle;
6868

69-
partial void OnArchiveStyleChanged(ArchiveStyle value)
70-
{
71-
if (value != ArchiveStyle._InvalidIgnore)
72-
{
73-
var tmp = ArchiveList.ToList();
74-
ArchiveList.Clear();
75-
Dispatcher.Run(async () =>
76-
{
77-
foreach (var item in tmp)
78-
await Dispatcher.RunAsync(() => ArchiveList.Add(item), 10);
79-
});
80-
}
81-
}
82-
8369
public event Func<Task>? OnRefresh;
8470

8571
public SearchResultsViewModel(SettingsService settings, ArchivesService archives, IDispatcherService dispatcher, ApiService api, TabsService tabs)
@@ -198,5 +184,20 @@ public void Receive(DeleteArchiveMessage message)
198184
{
199185
ArchiveList.Remove(message.Value);
200186
}
187+
188+
[RelayCommand]
189+
private async Task ChangeStyle(ArchiveStyle style)
190+
{
191+
if (ArchiveStyle == style)
192+
return;
193+
ArchiveStyle = style;
194+
var tmp = ArchiveList.ToList();
195+
ArchiveList.Clear();
196+
await Task.Run(async () =>
197+
{
198+
foreach (var item in tmp)
199+
await Dispatcher.RunAsync(() => ArchiveList.Add(item), 10);
200+
});
201+
}
201202
}
202203
}

LRReader.UWP/Converters/Converters.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -153,8 +153,6 @@ public object Convert(object value, Type targetType, object parameter, string la
153153

154154
public object ConvertBack(object value, Type targetType, object parameter, string language)
155155
{
156-
if (!(bool)value)
157-
return ArchiveStyle._InvalidIgnore;
158156
return Enum.Parse<ArchiveStyle>((string)parameter);
159157
}
160158
}

LRReader.UWP/Views/Controls/ArchiveList.xaml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
xmlns:services="using:LRReader.Shared.Services"
1212
xmlns:ui="using:Microsoft.Toolkit.Uwp.UI"
1313
xmlns:labs="using:CommunityToolkit.Labs.WinUI"
14+
xmlns:helpers="using:LRReader.UWP.Helpers"
1415
Loaded="UserControl_Loaded"
1516
mc:Ignorable="d">
1617

@@ -84,9 +85,9 @@
8485
<Button ToolTipService.ToolTip="{ext:LangString Key=Settings/General/ArchivesStyle/Title}" Padding="8" IsEnabled="{x:Bind Data.ControlsEnabled, Mode=OneWay}" Visibility="{x:Bind ArchiveStyleButtonVisibility, Mode=OneWay}">
8586
<Button.Flyout>
8687
<MenuFlyout>
87-
<muxc:RadioMenuFlyoutItem IsChecked="{x:Bind Data.ArchiveStyle, Mode=TwoWay, Converter={StaticResource ArchiveStyleConverter}, ConverterParameter=Default}" GroupName="{x:Bind random}" Text="{ext:LangString Key=Settings/General/ArchiveStyle/Default}" />
88-
<muxc:RadioMenuFlyoutItem IsChecked="{x:Bind Data.ArchiveStyle, Mode=TwoWay, Converter={StaticResource ArchiveStyleConverter}, ConverterParameter=ThumbnailOnly}" GroupName="{x:Bind random}" Text="{ext:LangString Key=Settings/General/ArchiveStyle/ThumbnailOnly}" />
89-
<muxc:RadioMenuFlyoutItem IsChecked="{x:Bind Data.ArchiveStyle, Mode=TwoWay, Converter={StaticResource ArchiveStyleConverter}, ConverterParameter=Compact}" GroupName="{x:Bind random}" Text="{ext:LangString Key=Settings/General/ArchiveStyle/Compact}" />
88+
<muxc:RadioMenuFlyoutItem IsChecked="{x:Bind Data.ArchiveStyle, Mode=OneWay, Converter={StaticResource ArchiveStyleConverter}, ConverterParameter=Default}" GroupName="{x:Bind random}" Command="{x:Bind Data.ChangeStyleCommand}" CommandParameter="{helpers:EnumValue Type=services:ArchiveStyle, Member=Default}" Text="{ext:LangString Key=Settings/General/ArchiveStyle/Default}" />
89+
<muxc:RadioMenuFlyoutItem IsChecked="{x:Bind Data.ArchiveStyle, Mode=OneWay, Converter={StaticResource ArchiveStyleConverter}, ConverterParameter=ThumbnailOnly}" GroupName="{x:Bind random}" Command="{x:Bind Data.ChangeStyleCommand}" CommandParameter="{helpers:EnumValue Type=services:ArchiveStyle, Member=ThumbnailOnly}" Text="{ext:LangString Key=Settings/General/ArchiveStyle/ThumbnailOnly}" />
90+
<muxc:RadioMenuFlyoutItem IsChecked="{x:Bind Data.ArchiveStyle, Mode=OneWay, Converter={StaticResource ArchiveStyleConverter}, ConverterParameter=Compact}" GroupName="{x:Bind random}" Command="{x:Bind Data.ChangeStyleCommand}" CommandParameter="{helpers:EnumValue Type=services:ArchiveStyle, Member=Compact}" Text="{ext:LangString Key=Settings/General/ArchiveStyle/Compact}" />
9091
</MenuFlyout>
9192
</Button.Flyout>
9293
<FontIcon FontFamily="{StaticResource SymbolThemeFontFamily}" FontSize="14" Glyph="&#xECA5;" />

LRReader.UWP/Views/Controls/ArchiveList.xaml.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ private async void ArchivesGrid_PointerPressed(object sender, PointerRoutedEvent
174174

175175
public void Search(string query)
176176
{
177-
SearchBox.Text = this.query = query;
177+
SearchBox.Text = Data.Query = this.query = query;
178178
}
179179

180180
public void Search(Category category)

0 commit comments

Comments
 (0)