public static bool DownloadAndInstall(Uri uri, string localPath, Uri infoPage, bool runElevated = false) { try { var file = DownloadFile(uri, localPath); if (runElevated) { ControlsHelper.OpenPath(file.FullName); } else { Win32.WinAPI.RunElevatedAsync(file.FullName, null); } return(true); } catch (Exception ex) { var form = new MessageBoxForm(); form.StartPosition = FormStartPosition.CenterParent; ControlsHelper.CheckTopMost(form); var text = string.Format("Unable to download {0} file:\r\n\r\n{1}\r\n\r\nOpen source web page?", uri.AbsoluteUri, ex.Message); var result = form.ShowForm(text, "Download Error", MessageBoxButtons.YesNo, MessageBoxIcon.Question); form.Dispose(); if (result == DialogResult.Yes) { ControlsHelper.OpenUrl("https://support.microsoft.com/en-gb/help/2977003/the-latest-supported-visual-c-downloads"); } } return(false); }
private void SettingsEditNoteButton_Click(object sender, System.Windows.RoutedEventArgs e) { var item = MainDataGrid.SelectedItems .Cast <UserSetting>() .FirstOrDefault(); if (item == null) { return; } var note = item.Comment ?? ""; var form = new PromptForm(); form.EditTextBox.MaxLength = 1024; form.EditTextBox.Text = note; form.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; form.Text = "X360CE - Edit Note"; ControlsHelper.CheckTopMost(form); var result = form.ShowDialog(); if (result == System.Windows.Forms.DialogResult.OK) { item.Comment = form.EditTextBox.Text.Trim(); UpdateNoteLabel(); } }
public void StatusErrorLabel_Click(object sender, EventArgs e) { win = new Forms.ErrorReportWindow(); ControlsHelper.CheckTopMost(win); ControlsHelper.AutoSizeByOpenForms(win); win.Width = Math.Min(1450, SystemParameters.WorkArea.Width - 200); // Suspend displaying cloud queue results, because ShowDialog locks UI updates in the back. Global.DHelper.Stop(); FormEventsEnabled = false; MainBodyPanel.CloudPanel.EnableDataSource(false); win.ErrorReportPanel.SendMessages += win.ErrorReportPanel_SendMessages; win.ErrorReportPanel.ClearErrors += ErrorReportPanel_ClearErrors; Global.CloudClient.TasksTimer.Queue.ListChanged += Queue_ListChanged; var result = win.ShowDialog(); Global.CloudClient.TasksTimer.Queue.ListChanged -= Queue_ListChanged; win.ErrorReportPanel.SendMessages -= win.ErrorReportPanel_SendMessages; win.ErrorReportPanel.ClearErrors -= ErrorReportPanel_ClearErrors; MainBodyPanel.CloudPanel.EnableDataSource(true); if (Global.AllowDHelperStart) { FormEventsEnabled = true; Global.DHelper.Start(); } }
public static bool DownloadAndInstall(Uri uri, string localPath, Uri infoPage, bool runElevated = false) { try { var file = DownloadFile(uri, localPath); if (runElevated) { var proc = new ProcessStartInfo(); proc.UseShellExecute = true; proc.WorkingDirectory = Environment.CurrentDirectory; proc.FileName = file.FullName; proc.Verb = "runas"; Process.Start(proc); //Win32.UacHelper.RunElevatedAsync(file.FullName, null); } else { ControlsHelper.OpenPath(file.FullName); } return(true); } catch (Exception ex) { var form = new MessageBoxWindow(); ControlsHelper.CheckTopMost(form); var text = string.Format("Unable to download {0} file:\r\n\r\n{1}\r\n\r\nOpen source web page?", uri.AbsoluteUri, ex.Message); var result = form.ShowDialog(text, "Download Error", System.Windows.MessageBoxButton.YesNo, System.Windows.MessageBoxImage.Question); if (result == System.Windows.MessageBoxResult.Yes) { ControlsHelper.OpenUrl("https://support.microsoft.com/en-gb/help/2977003/the-latest-supported-visual-c-downloads"); } } return(false); }
private void SettingsEditNoteButton_Click(object sender, EventArgs e) { var item = SettingsDataGridView.SelectedRows .Cast <DataGridViewRow>() .Select(x => (UserSetting)x.DataBoundItem) .FirstOrDefault(); if (item == null) { return; } var note = item.Comment ?? ""; var form = new PromptForm(); form.EditTextBox.MaxLength = 1024; form.EditTextBox.Text = note; form.StartPosition = FormStartPosition.CenterParent; form.Text = "X360CE - Edit Note"; ControlsHelper.CheckTopMost(form); var result = form.ShowDialog(); if (result == DialogResult.OK) { item.Comment = form.EditTextBox.Text.Trim(); UpdateNoteLabel(); } }
private void HardwareButton_Click(object sender, RoutedEventArgs e) { var form = new HardwareForm(); form.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; ControlsHelper.CheckTopMost(form); form.ShowDialog(); form.Dispose(); }
private void HardwareButton_Click(object sender, RoutedEventArgs e) { var form = new HardwareWindow(); form.Owner = Global._MainWindow; form.WindowStartupLocation = WindowStartupLocation.CenterOwner; ControlsHelper.CheckTopMost(form); form.ShowDialog(); }
void OpenWebWindow(string title, string navigateUrl) { var form = new Forms.WebBrowserWindow(); form.Owner = Global._MainWindow; form.WindowStartupLocation = WindowStartupLocation.CenterOwner; form.Width = 400; form.Height = 500; form.Title = title; form.NavigateUrl = navigateUrl; ControlsHelper.CheckTopMost(form); form.ShowDialog(); }
public UserDevicesWindow() { InitializeComponent(); WinControl.MainBody.Content = WinControl.MainContent; ControlsHelper.CheckTopMost(this); WinControl.SetTitle("X360CE - Map Device To Controller"); WinControl.SetHead("Map Device To Controller"); WinControl.SetBodyInfo("Select Devices and press [Add Selected Devices] button."); WinControl.SetImage(Icons_Default.Icon_gamepad); WinControl.SetButton1("Add Selected Devices", Icons_Default.Icon_ok); WinControl.SetButton2("Cancel", Icons_Default.Icon_close); WinControl.SetButton3(); MainControl.MapDeviceToControllerMode = true; }
public LoadPresetsWindow() { InitHelper.InitTimer(this, InitializeComponent); ControlsHelper.CheckTopMost(this); WinControl.MainBody.Content = WinControl.MainContent; WinControl.InfoPanel.SetTitle("X360CE - Load Preset"); WinControl.InfoPanel.SetHead("Load Preset"); WinControl.InfoPanel.SetBodyInfo("Select Preset and press [Load Selected] button."); WinControl.InfoPanel.SetImage(Application.Current.Resources[Icons_Default.Icon_gamepad]); WinControl.SetButton1("Load Selected", Icons_Default.Icon_ok); WinControl.SetButton2("Cancel", Icons_Default.Icon_close); WinControl.SetButton3(); MainControl._ParentControl = WinControl; }
public UserDevicesWindow() { InitHelper.InitTimer(this, InitializeComponent); WinControl.MainBody.Content = WinControl.MainContent; ControlsHelper.CheckTopMost(this); Title = "X360CE - Map Device To Controller"; WinControl.InfoPanel.SetHead("Map Device To Controller"); WinControl.InfoPanel.SetBodyInfo("Select Devices and press [Add Selected Devices] button."); WinControl.InfoPanel.SetImage(Application.Current.Resources[Icons_Default.Icon_gamepad]); WinControl.SetButton1("Add Selected Devices", Icons_Default.Icon_ok); WinControl.SetButton2("Cancel", Icons_Default.Icon_close); WinControl.SetButton3(); // This window will be used to map DInput devices to XInput controller. MainControl.MapDeviceToControllerMode = true; }
private void ResetButton_Click(object sender, RoutedEventArgs e) { var o = SettingsManager.Options; var url = o.InternetDatabaseUrl; var pql = new Uri(url).PathAndQuery.Length; var navigateUrl = url.Substring(0, url.Length - pql) + "/Security/Login.aspx?ShowLogin=0&ShowCreate=0"; var form = new Forms.WebBrowserForm(); form.Size = new System.Drawing.Size(400, 300); form.Text = "Reset Login"; form.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; form.NavigateUrl = navigateUrl; ControlsHelper.CheckTopMost(form); form.ShowDialog(); form.Dispose(); }
private void PasteButton_Click(object sender, RoutedEventArgs e) { try { var xml = Clipboard.GetText(); var ps = JocysCom.ClassLibrary.Runtime.Serializer.DeserializeFromXmlString <PadSetting>(xml); _PadSetting.Load(ps); } catch (Exception ex) { var form = new MessageBoxWindow(); ControlsHelper.CheckTopMost(form); form.ShowDialog(ex.Message); return; } }
public bool?ShowUpdateForm() { lock (UpdateFormLock) { if (_UpdateWindow == null) { return(null); } var oldTab = MainBodyPanel.MainTabControl.SelectedItem; MainBodyPanel.MainTabControl.SelectedItem = MainBodyPanel.CloudTabPage; ControlsHelper.CenterWindowOnApplication(_UpdateWindow); _UpdateWindow.OpenDialog(); ControlsHelper.CheckTopMost(_UpdateWindow); var result = _UpdateWindow.ShowDialog(); _UpdateWindow.CloseDialog(); MainBodyPanel.MainTabControl.SelectedItem = oldTab; return(null); } }
private void LoadButton_Click(object sender, RoutedEventArgs e) { var form = new Forms.LoadPresetsWindow(); form.Width = 800; form.Height = 400; ControlsHelper.CheckTopMost(form); form.MainControl.InitForm(); var result = form.ShowDialog(); if (result == true) { var ps = form.MainControl.SelectedItem; if (ps != null) { Global._MainWindow.UpdateTimer.Stop(); SettingsManager.Current.LoadPadSettingsIntoSelectedDevice(_MappedTo, ps); Global._MainWindow.UpdateTimer.Start(); } } form.MainControl.UnInitForm(); }
private async Task CheckAndClean(bool clean) { LogTextBox.Clear(); MainTabControl.SelectedTab = LogsTabPage; var cancellationToken = new CancellationToken(false); var so = ControlsHelper.MainTaskScheduler; var unused = Task.Factory.StartNew(() => { AddLogLine("Enumerating Devices..."); var devices = DeviceDetector.GetDevices(); var offline = devices.Where(x => !x.IsPresent && x.IsRemovable && !x.Description.Contains("RAS Async Adapter")).ToArray(); var problem = devices.Where(x => x.Status.HasFlag(DeviceNodeStatus.DN_HAS_PROBLEM)).Except(offline).ToArray(); var unknown = devices.Where(x => x.Description.Contains("Unknown")).Except(offline).Except(problem).ToArray(); var list = new List <string>(); if (offline.Length > 0) { list.Add(string.Format("{0} offline devices.", offline.Length)); } if (problem.Length > 0) { list.Add(string.Format("{0} problem devices.", problem.Length)); } if (unknown.Length > 0) { list.Add(string.Format("{0} unknown devices.", unknown.Length)); } var message = string.Join("\r\n", list); if (list.Count == 0) { AddLogLine("No offline, problem or unknown devices found."); } else if (clean) { foreach (var item in list) { AddLogLine(item); } var result = DialogResult.No; ControlsHelper.Invoke(new Action(() => { var form = new JocysCom.ClassLibrary.Controls.MessageBoxForm { StartPosition = FormStartPosition.CenterParent }; ControlsHelper.CheckTopMost(form); result = form.ShowForm( "Do you want to remove offline, problem or unknown devices?\r\n\r\n" + message, "Do you want to remove devices?", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); form.Dispose(); })); if (result != DialogResult.Yes) { return; } var devList = new List <DeviceInfo>(); devList.AddRange(offline); devList.AddRange(problem); devList.AddRange(unknown); for (var i = 0; i < devList.Count; i++) { var item = devList[i]; AddLogLine("Removing Device: {0}/{1} - {2}", i + 1, list.Count, item.Description); try { var exception = DeviceDetector.RemoveDevice(item.DeviceId); if (exception != null) { AddLogLine(exception.Message); } //System.Windows.Forms.Application.DoEvents(); } catch (Exception ex) { AddLogLine(ex.Message); } } } AddLogLine("Done"); }, CancellationToken.None, TaskCreationOptions.LongRunning, so).ConfigureAwait(true); }