public MainWindow(string[] startupArgs) { InitializeComponent(); dataGrid.ItemsSource = BeatmapsCollection; progressGrid.ItemsSource = DownloadManager.Downloads; DownloadManager.SpeedUpdated += DownloadManager_SpeedUpdated; DownloadManagement.Init(this); System.Windows.Controls.Control[] _dynamicElements = { searchBox, searchButton, popularLoadButton, rankedStatusBox, modeSelectBox, progressGrid, dataGrid }; dynamicElements = _dynamicElements; InitComboBoxes(); // overlay mode window settings if (SettingManager.Get("overlayMode")) { Topmost = true; WindowStyle = WindowStyle.None; WindowState = WindowState.Maximized; ShowInTaskbar = true; Opacity = 0.85; AllowsTransparency = true; overlayModeNotice.Visibility = Visibility.Visible; overlayModeExit.Visibility = Visibility.Visible; } if (SettingManager.Get("useOfficialOsu")) { (new Dialogs.OsuLoginCheck(this)).ShowDialog(); } startupHide = HandleURIArgs(startupArgs, WinTools.ParentProcessUtilities.GetParentProcess().ProcessName); }
private void dataGrid_DoubleClick(object sender, MouseButtonEventArgs e) { var beatmap = WinTools.GetGridViewSelectedRowItem <BeatmapSet>(sender, e); if (beatmap == null) { return; } forceStopPreview(); DownloadManagement.DownloadBeatmapSet(beatmap); }
private async void search(bool newSearch) { try { searchingLoading.Visibility = Visibility.Visible; string searchText = lastSearchText = newSearch ? searchBox.Text : lastSearchText; OsuRankStatus rankedVal = lastRankedVal = newSearch ? (rankedStatusBox.SelectedItem as KVItem <OsuRankStatus>).Value : lastRankedVal; OsuModes modeVal = lastModeVal = newSearch ? (modeSelectBox.SelectedItem as KVItem <OsuModes>).Value : lastModeVal; BloodcatIdFilter?viaVal = null; bool osuMode = SettingManager.Get("useOfficialOsu"); if (!osuMode) { viaVal = lastBloodcatNumbersFilterVal = newSearch ? (searchViaSelectBox.Visibility == Visibility.Hidden ? null : (BloodcatIdFilter?)(searchViaSelectBox.SelectedItem as KVItem <BloodcatIdFilter>).Value) : lastBloodcatNumbersFilterVal; } searchCurrentPage = newSearch ? 1 : (searchCurrentPage + 1); SearchResultSet results; if (osuMode) { results = await Osu.Search(searchText, rankedVal, modeVal, searchCurrentPage); } else { results = await Bloodcat.Search(searchText, rankedVal, modeVal, viaVal, searchCurrentPage); } lastSearchResults = results; populateBeatmaps(results.Results, newSearch); } catch (Osu.SearchNotSupportedException) { MessageBox.Show("Sorry, this mode of Ranking search is currently not supported via the official osu! servers."); } catch (Osu.CookiesExpiredException) { if (await DownloadManagement.TryRenewOsuCookies()) { search(newSearch); // success, try at it again } return; } catch (Exception ex) { MessageBox.Show("There was an error searching for beatmaps...\n\n" + ex.ToString()); } finally { searchingLoading.Visibility = Visibility.Hidden; } }
private void directDownload(bool isSetId, string id) { Application.Current.Dispatcher.Invoke(async() => { uriHandling = true; foreach (var element in dynamicElements) { element.IsEnabled = false; } await DownloadManagement.DirectDownload(isSetId, id); foreach (var element in dynamicElements) { element.IsEnabled = true; } uriHandling = false; }); }