66using Microsoft . WindowsAPICodePack . Dialogs ;
77using Newtonsoft . Json . Linq ;
88using OwlCore . AbstractUI . Models ;
9+ using Syroot . Windows . IO ;
910using System ;
1011using System . Collections . Generic ;
1112using System . IO ;
@@ -166,10 +167,11 @@ private async void UpdatesButton_Click(object sender, RoutedEventArgs e)
166167 {
167168 // Get releases list from GitHub
168169 List < JObject > releases = await "https://api.github.com/repos/ZuneDev/ZuneModdingHelper/releases"
169- . WithHeader ( "User-Agent" , App . Title . Replace ( " " , "" ) + "/" + App . Version )
170+ . WithHeader ( "User-Agent" , App . Title . Replace ( " " , "" ) + "/" + App . VersionStr )
170171 . GetJsonAsync < List < JObject > > ( ) ;
171172 JObject latest = releases [ 0 ] ;
172- if ( ! App . CheckIfNewerVersion ( latest [ "tag_name" ] . Value < string > ( ) ) )
173+ string latestVerStr = latest [ "tag_name" ] . Value < string > ( ) ;
174+ if ( ! ReleaseVersion . TryParse ( latestVerStr , out var latestVer ) || App . Version >= latestVer )
173175 {
174176 // Already up-to-date
175177
@@ -192,7 +194,7 @@ private async void UpdatesButton_Click(object sender, RoutedEventArgs e)
192194 NegativeButtonText = "Later"
193195 } ;
194196 await checkDialog . CloseAsync ( ) ;
195- var promptResult = await this . ShowMessageAsync ( "Update available" , $ "Relase { latest [ "name" ] } is available. Would you like to download it now?",
197+ var promptResult = await this . ShowMessageAsync ( "Update available" , $ "Release { latest [ "name" ] } is available. Would you like to download it now?",
196198 MessageDialogStyle . AffirmativeAndNegative , promptSettings ) ;
197199 bool acceptedUpdate = promptResult == MessageDialogResult . Affirmative ;
198200
@@ -221,7 +223,8 @@ private async void UpdatesButton_Click(object sender, RoutedEventArgs e)
221223 // Ask user to save file
222224 Microsoft . Win32 . SaveFileDialog saveFileDialog = new ( )
223225 {
224- FileName = Path . Combine ( Environment . GetFolderPath ( Environment . SpecialFolder . UserProfile ) , "Downloads" , assetName )
226+ FileName = assetName ,
227+ InitialDirectory = new KnownFolder ( KnownFolderType . Downloads ) . Path
225228 } ;
226229 bool dialogResult = saveFileDialog . ShowDialog ( ) ?? false ;
227230 await progDialog . CloseAsync ( ) ;
@@ -240,6 +243,9 @@ private async void UpdatesButton_Click(object sender, RoutedEventArgs e)
240243 catch
241244 {
242245 App . OpenInBrowser ( "https://github.com/ZuneDev/ZuneModdingHelper/releases" ) ;
246+ }
247+ finally
248+ {
243249 if ( checkDialog . IsOpen )
244250 await checkDialog . CloseAsync ( ) ;
245251 }
@@ -266,7 +272,7 @@ private void LocateZuneButton_Click(object sender, RoutedEventArgs e)
266272 {
267273 // TODO: Fallback to pre-Vista dialog
268274 this . ShowMessageAsync ( "Error" ,
269- "Please use File Explorer to locate an copy the path." ,
275+ "Please use File Explorer to locate and copy the path." ,
270276 settings : defaultMetroDialogSettings ) ;
271277 }
272278 }
0 commit comments