private async void UpdateAlbumList(bool offline = false) { try { ThisPanel.IsEnabled = false; if (!(DataContext is ImgurPreset preset)) { return; } if (!offline && !await Imgur.IsAuthorized(preset)) { return; } var list = offline && preset.Albums != null?preset.Albums.Cast <ImgurAlbum>().ToList() : offline ? null : await Imgur.GetAlbums(preset); if (list == null) { list = new List <ImgurAlbum>(); if (!offline) { StatusBand.Error(LocalizationHelper.Get("S.Options.Upload.Preset.Warning.AlbumLoad")); } } if (!offline || list.All(a => a.Id != "♥♦♣♠")) { list.Insert(0, new ImgurAlbum { Id = "♥♦♣♠", Title = LocalizationHelper.Get("S.Options.Upload.Preset.Imgur.AskMe") }); } AlbumComboBox.ItemsSource = list; if (AlbumComboBox.SelectedIndex == -1) { AlbumComboBox.SelectedIndex = 0; } } finally { ThisPanel.IsEnabled = true; } }