private static void cMenConnectionPanelScreens_DropDownOpening(object sender, EventArgs e) { try { var cMenScreens = (ToolStripMenuItem)sender; cMenScreens.DropDownItems.Clear(); for (var i = 0; i <= Screen.AllScreens.Length - 1; i++) { var cMenScreen = new ToolStripMenuItem(Language.strScreen + " " + Convert.ToString(i + 1)) { Tag = new ArrayList(), Image = Resources.Monitor_GoTo }; ((ArrayList)cMenScreen.Tag).Add(Screen.AllScreens[i]); ((ArrayList)cMenScreen.Tag).Add(cMenScreens.Tag); cMenScreen.Click += cMenConnectionPanelScreen_Click; cMenScreens.DropDownItems.Add(cMenScreen); } } catch (Exception ex) { MessageCollector.AddExceptionStackTrace("cMenConnectionPanelScreens_DropDownOpening: Caught Exception: ", ex); } }
private static void cMenConnectionPanelScreen_Click(object sender, EventArgs e) { Screen screen = null; DockContent panel = null; try { var tagEnumeration = (IEnumerable)((ToolStripMenuItem)sender).Tag; if (tagEnumeration != null) { foreach (var obj in tagEnumeration) { var screen1 = obj as Screen; if (screen1 != null) { screen = screen1; } else if (obj is DockContent) { panel = (DockContent)obj; } } Screens.SendPanelToScreen(panel, screen); } } catch (Exception ex) { MessageCollector.AddExceptionStackTrace("cMenConnectionPanelScreen_Click: Caught Exception: ", ex); } }
private static void SavePanelsToXML() { try { if (Directory.Exists(SettingsFileInfo.SettingsPath) == false) { Directory.CreateDirectory(SettingsFileInfo.SettingsPath); } frmMain.Default.pnlDock.SaveAsXml(SettingsFileInfo.SettingsPath + "\\" + SettingsFileInfo.LayoutFileName); } catch (Exception ex) { MessageCollector.AddExceptionStackTrace("SavePanelsToXML failed", ex); } }
private static void cMenConnectionPanelRename_Click(object sender, EventArgs e) { try { var conW = (ConnectionWindow)((ToolStripMenuItem)sender).Tag; var nTitle = ""; input.InputBox(Language.strNewTitle, Language.strNewTitle + ":", ref nTitle); if (!string.IsNullOrEmpty(nTitle)) { conW.SetFormText(nTitle.Replace("&", "&&")); } } catch (Exception ex) { MessageCollector.AddExceptionStackTrace("cMenConnectionPanelRename_Click: Caught Exception: ", ex); } }
public static void SaveExternalAppsToXML() { try { if (Directory.Exists(SettingsFileInfo.SettingsPath) == false) { Directory.CreateDirectory(SettingsFileInfo.SettingsPath); } var xmlTextWriter = new XmlTextWriter(SettingsFileInfo.SettingsPath + "\\" + SettingsFileInfo.ExtAppsFilesName, Encoding.UTF8) { Formatting = Formatting.Indented, Indentation = 4 }; xmlTextWriter.WriteStartDocument(); xmlTextWriter.WriteStartElement("Apps"); foreach (ExternalTool extA in ExternalTools) { xmlTextWriter.WriteStartElement("App"); xmlTextWriter.WriteAttributeString("DisplayName", "", extA.DisplayName); xmlTextWriter.WriteAttributeString("FileName", "", extA.FileName); xmlTextWriter.WriteAttributeString("Arguments", "", extA.Arguments); xmlTextWriter.WriteAttributeString("WaitForExit", "", Convert.ToString(extA.WaitForExit)); xmlTextWriter.WriteAttributeString("TryToIntegrate", "", Convert.ToString(extA.TryIntegrate)); xmlTextWriter.WriteEndElement(); } xmlTextWriter.WriteEndElement(); xmlTextWriter.WriteEndDocument(); xmlTextWriter.Close(); } catch (Exception ex) { MessageCollector.AddExceptionStackTrace("SaveExternalAppsToXML failed", ex); } }
/// <summary> /// /// </summary> /// <param name="withDialog"> /// Should we show the file selection dialog to allow the user to select /// a connection file /// </param> public static void LoadConnections(bool withDialog = false) { var connectionFileName = ""; try { // disable sql update checking while we are loading updates ConnectionsService.RemoteConnectionsSyncronizer?.Disable(); if (withDialog) { var loadDialog = DialogFactory.BuildLoadConnectionsDialog(); if (loadDialog.ShowDialog() != DialogResult.OK) { return; } connectionFileName = loadDialog.FileName; Settings.Default.UseSQLServer = false; Settings.Default.Save(); } else if (!Settings.Default.UseSQLServer) { connectionFileName = ConnectionsService.GetStartupConnectionFileName(); } ConnectionsService.LoadConnections(Settings.Default.UseSQLServer, false, connectionFileName); if (Settings.Default.UseSQLServer) { ConnectionsService.LastSqlUpdate = DateTime.Now; } // re-enable sql update checking after updates are loaded ConnectionsService.RemoteConnectionsSyncronizer?.Enable(); } catch (Exception ex) { if (Settings.Default.UseSQLServer) { MessageCollector.AddExceptionMessage(Language.strLoadFromSqlFailed, ex); var commandButtons = string.Join("|", Language.strCommandTryAgain, Language.strCommandOpenConnectionFile, string.Format(Language.strCommandExitProgram, Application.ProductName)); CTaskDialog.ShowCommandBox(Application.ProductName, Language.strLoadFromSqlFailed, Language.strLoadFromSqlFailedContent, MiscTools.GetExceptionMessageRecursive(ex), "", "", commandButtons, false, ESysIcons.Error, ESysIcons.Error); switch (CTaskDialog.CommandButtonResult) { case 0: LoadConnections(withDialog); return; case 1: Settings.Default.UseSQLServer = false; LoadConnections(true); return; default: Application.Exit(); return; } } if (ex is FileNotFoundException && !withDialog) { MessageCollector.AddExceptionMessage(string.Format(Language.strConnectionsFileCouldNotBeLoadedNew, connectionFileName), ex, MessageClass.InformationMsg); string[] commandButtons = { Language.ConfigurationCreateNew, Language.ConfigurationCustomPath, Language.ConfigurationImportFile, Language.strMenuExit }; var answered = false; while (!answered) { try { CTaskDialog.ShowTaskDialogBox( GeneralAppInfo.ProductName, Language.ConnectionFileNotFound, "", "", "", "", "", string.Join(" | ", commandButtons), ETaskDialogButtons.None, ESysIcons.Question, ESysIcons.Question); switch (CTaskDialog.CommandButtonResult) { case 0: ConnectionsService.NewConnectionsFile(connectionFileName); answered = true; break; case 1: LoadConnections(true); answered = true; break; case 2: ConnectionsService.NewConnectionsFile(connectionFileName); Import.ImportFromFile(ConnectionsService.ConnectionTreeModel.RootNodes[0]); answered = true; break; case 3: Application.Exit(); answered = true; break; } } catch (Exception exc) { MessageCollector.AddExceptionMessage(string.Format(Language.strConnectionsFileCouldNotBeLoadedNew, connectionFileName), exc, MessageClass.InformationMsg); } } return; } MessageCollector.AddExceptionStackTrace(string.Format(Language.strConnectionsFileCouldNotBeLoaded, connectionFileName), ex); if (connectionFileName != ConnectionsService.GetStartupConnectionFileName()) { LoadConnections(withDialog); } else { MessageBox.Show(FrmMain.Default, string.Format(Language.strErrorStartupConnectionFileLoad, Environment.NewLine, Application.ProductName, ConnectionsService.GetStartupConnectionFileName(), MiscTools.GetExceptionMessageRecursive(ex)), @"Could not load startup file.", MessageBoxButtons.OK, MessageBoxIcon.Error); Application.Exit(); } } }
public static void SaveSettings() { try { var with1 = frmMain.Default; var windowPlacement = new WindowPlacement(frmMain.Default); if (with1.WindowState == FormWindowState.Minimized & windowPlacement.RestoreToMaximized) { with1.Opacity = 0; with1.WindowState = FormWindowState.Maximized; } mRemoteNG.Settings.Default.MainFormLocation = with1.Location; mRemoteNG.Settings.Default.MainFormSize = with1.Size; if (with1.WindowState != FormWindowState.Normal) { mRemoteNG.Settings.Default.MainFormRestoreLocation = with1.RestoreBounds.Location; mRemoteNG.Settings.Default.MainFormRestoreSize = with1.RestoreBounds.Size; } mRemoteNG.Settings.Default.MainFormState = with1.WindowState; if (with1.Fullscreen != null) { mRemoteNG.Settings.Default.MainFormKiosk = with1.Fullscreen.Value; } mRemoteNG.Settings.Default.FirstStart = false; mRemoteNG.Settings.Default.ResetPanels = false; mRemoteNG.Settings.Default.ResetToolbars = false; mRemoteNG.Settings.Default.NoReconnect = false; mRemoteNG.Settings.Default.ExtAppsTBLocation = with1.tsExternalTools.Location; if (with1.tsExternalTools.Parent != null) { mRemoteNG.Settings.Default.ExtAppsTBParentDock = with1.tsExternalTools.Parent.Dock.ToString(); } mRemoteNG.Settings.Default.ExtAppsTBVisible = with1.tsExternalTools.Visible; mRemoteNG.Settings.Default.ExtAppsTBShowText = with1.cMenToolbarShowText.Checked; mRemoteNG.Settings.Default.QuickyTBLocation = with1.tsQuickConnect.Location; if (with1.tsQuickConnect.Parent != null) { mRemoteNG.Settings.Default.QuickyTBParentDock = with1.tsQuickConnect.Parent.Dock.ToString(); } mRemoteNG.Settings.Default.QuickyTBVisible = with1.tsQuickConnect.Visible; var cryptographyProvider = new LegacyRijndaelCryptographyProvider(); mRemoteNG.Settings.Default.ConDefaultPassword = cryptographyProvider.Encrypt(Convert.ToString(mRemoteNG.Settings.Default.ConDefaultPassword), EncryptionKey); mRemoteNG.Settings.Default.Save(); SavePanelsToXML(); SaveExternalAppsToXML(); } catch (Exception ex) { MessageCollector.AddExceptionStackTrace("Saving settings failed", ex); } }