Skip to content

Commit abdda44

Browse files
committed
Added menu option to reload versions list
we really ought to do this periodically without being asked.
1 parent 90ee7ea commit abdda44

File tree

2 files changed

+30
-21
lines changed

2 files changed

+30
-21
lines changed

MCLauncher/MainWindow.xaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@
105105
<MenuItem Header="_Options">
106106
<MenuItem Header="Delete APPX after download to save space" IsCheckable="True" Name="DeleteAppxAfterDownloadOption" Checked="DeleteAppxAfterDownloadCheck_Changed" Unchecked="DeleteAppxAfterDownloadCheck_Changed" IsChecked="{Binding UserPrefs.DeleteAppxAfterDownload }" />
107107
<MenuItem Header="Uninstall all versions" Name="CleanupForMicrosoftStoreReinstall" Click="MenuItemCleanupForMicrosoftStoreReinstallClicked" />
108+
<MenuItem Header="Refresh version list" Name="RefreshVersionList" Click="MenuItemRefreshVersionListClicked" />
108109
</MenuItem>
109110
</Menu>
110111
<TabControl Grid.Row="1" Margin="0,5,0,0" BorderThickness="0,1,0,0" Padding="0" Width="Auto">

MCLauncher/MainWindow.xaml.cs

Lines changed: 29 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -84,31 +84,35 @@ public MainWindow() {
8484
_userVersionDownloaderLoginTask = new Task(() => {
8585
_userVersionDownloader.EnableUserAuthorization();
8686
});
87-
Dispatcher.Invoke(async () => {
88-
LoadingProgressLabel.Content = "Loading versions from cache";
89-
LoadingProgressBar.Value = 1;
90-
try {
91-
await _versions.LoadFromCache();
92-
} catch (Exception e) {
93-
Debug.WriteLine("List cache load failed:\n" + e.ToString());
94-
}
87+
Dispatcher.Invoke(LoadVersionList);
88+
}
9589

96-
LoadingProgressLabel.Content = "Updating versions list from " + VERSIONS_API;
97-
LoadingProgressBar.Value = 2;
98-
try {
99-
await _versions.DownloadList();
100-
} catch (Exception e) {
101-
Debug.WriteLine("List download failed:\n" + e.ToString());
102-
MessageBox.Show("Failed to update version list from the internet. Some new versions might be missing.", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
103-
}
90+
private async void LoadVersionList() {
91+
LoadingProgressLabel.Content = "Loading versions from cache";
92+
LoadingProgressBar.Value = 1;
93+
94+
LoadingProgressGrid.Visibility = Visibility.Visible;
10495

105-
LoadingProgressLabel.Content = "Loading imported versions";
106-
LoadingProgressBar.Value = 3;
107-
await _versions.LoadImported();
96+
try {
97+
await _versions.LoadFromCache();
98+
} catch (Exception e) {
99+
Debug.WriteLine("List cache load failed:\n" + e.ToString());
100+
}
101+
102+
LoadingProgressLabel.Content = "Updating versions list from " + VERSIONS_API;
103+
LoadingProgressBar.Value = 2;
104+
try {
105+
await _versions.DownloadList();
106+
} catch (Exception e) {
107+
Debug.WriteLine("List download failed:\n" + e.ToString());
108+
MessageBox.Show("Failed to update version list from the internet. Some new versions might be missing.", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
109+
}
108110

109-
LoadingProgressGrid.Visibility = Visibility.Collapsed;
111+
LoadingProgressLabel.Content = "Loading imported versions";
112+
LoadingProgressBar.Value = 3;
113+
await _versions.LoadImported();
110114

111-
});
115+
LoadingProgressGrid.Visibility = Visibility.Collapsed;
112116
}
113117

114118
private void VersionEntryPropertyChanged(object sender, PropertyChangedEventArgs e) {
@@ -461,6 +465,10 @@ private void MenuItemCleanupForMicrosoftStoreReinstallClicked(object sender, Rou
461465
Debug.WriteLine("Scheduled uninstall of ALL versions.");
462466
}
463467
}
468+
469+
private void MenuItemRefreshVersionListClicked(object sender, RoutedEventArgs e) {
470+
Dispatcher.Invoke(LoadVersionList);
471+
}
464472
}
465473

466474
namespace WPFDataTypes {

0 commit comments

Comments
 (0)