void showOptions() { if (options == null || options.IsDisposed) { options = new formOptions(); options.Main = this; options.Starting = true; //load font list options.comboFont.Items.Clear(); foreach (FontFamily font in System.Drawing.FontFamily.Families) options.comboFont.Items.Add(font.Name); //build launcher scan dirs dictionary options.LauncherScanDirsOriginal = launcherScanDirs; options.LauncherScanDirs = new Dictionary<string, string>(); List<string> dirList = new List<string>(); foreach (string scanDir in launcherScanDirs.Split('/')) if (scanDir != "") { string[] dirOptions = scanDir.Split('>'); options.LauncherScanDirs.Add(dirOptions[0], dirOptions[1]); dirList.Add(dirOptions[0]); } //set constraints options.numX.Minimum = 0; options.numX.Maximum = Screen.PrimaryScreen.WorkingArea.Width; options.numY.Minimum = 0; options.numY.Maximum = Screen.PrimaryScreen.WorkingArea.Height; options.numW.Minimum = 0; options.numW.Maximum = Screen.PrimaryScreen.WorkingArea.Width; options.numMinH.Minimum = 0; options.numMinH.Maximum = Screen.PrimaryScreen.WorkingArea.Height; options.numMaxH.Minimum = 0; options.numMaxH.Maximum = Screen.PrimaryScreen.WorkingArea.Height; //set tags options.numX.Tag = x; options.numY.Tag = y; options.numW.Tag = this.Width; options.numMinH.Tag = minH; options.numMaxH.Tag = maxH; options.txtHotkey.Tag = Hotkey.HotkeyToString(hotkey, hotkeyCtrl, hotkeyAlt, hotkeyShift); options.numAutoHideDelay.Tag = autoHideDelay; options.comboHideStyle.Tag = hideStyle.ToString(); options.numOpacityActive.Tag = (int)(opacityActive * 100); options.numOpacityPassive.Tag = (int)(opacityPassive * 100); options.picBackColor.Tag = txtCMD.BackColor; options.comboFont.Tag = txtCMD.Font.Name; options.numFontSize.Tag = (int)txtCMD.Font.Size; options.chkBold.Tag = txtCMD.Font.Bold; options.chkItalic.Tag = txtCMD.Font.Italic; options.picTextColor.Tag = txtCMD.ForeColor; options.txtStartDir.Tag = dir; options.numPrintDelay.Tag = getDelay(timerPrint); options.numPrintAtOnce.Tag = printAtOnce; options.chkPrompt.Tag = prompt; options.chkBlankLine.Tag = blankLine; options.chkEcho.Tag = echo; options.picEchoColor.Tag = echoColor; options.picErrorColor.Tag = errorColor; options.txtTodoDir.Tag = todoDir; options.chkTodoHideDone.Tag = todoHideDone; options.chkTodoAutoTransfer.Tag = todoAutoTransfer; options.picTodoMiscColor.Tag = todoMiscColor; options.picTodoItemColor.Tag = todoItemColor; options.picTodoDoneColor.Tag = todoDoneColor; options.txtUser.Tag = mailUser; options.txtPass.Tag = mailPass; options.chkMailCountOnNewMail.Tag = mailUpdateOnNewMail; options.chkMailCountOnFocus.Tag = mailUpdateOnFocus; options.numMailCheckPeriod.Tag = timerMailCheck.Interval / 60000; options.txtMailSound.Tag = mailSound; options.numMailSoundThreshold.Tag = mailSoundThreshold; options.picMailCountColor.Tag = mailCountColor; options.picMailHeaderColor.Tag = mailHeaderColor; options.picMailSummaryColor.Tag = mailSummaryColor; options.chkTwCountOnNewTweet.Tag = twUpdateOnNewTweet; options.chkTwCountOnFocus.Tag = twUpdateOnFocus; options.numTwCountMinPeriod.Tag = minTweetPeriod; options.chkTwDisplayPictures.Tag = twDisplayPictures; options.chkTwDisplayInstagrams.Tag = twDisplayInstagrams; options.txtTwSound.Tag = twSound; options.numTwSoundThreshold.Tag = twSoundThreshold; options.picTwUsernameColor.Tag = twUserColor; options.picTwMiscColor.Tag = twMiscColor; options.picTwTweetColor.Tag = twTweetColor; options.picTwLinkColor.Tag = twLinkColor; options.picTwTimestampColor.Tag = twTimeColor; options.picTwCountColor.Tag = twCountColor; options.picRedditLinkColor.Tag = redditLinkColor; options.picRedditMiscColor.Tag = redditMiscColor; options.txtLauncherHotkey.Tag = Hotkey.HotkeyToString(launcherHotkey, launcherHotkeyCtrl, launcherHotkeyAlt, launcherHotkeyShift); options.numLauncherMaxSuggestions.Tag = launcherMaxSuggestions; options.chkLauncherAutohide.Tag = launcherAutohide; options.numLauncherScanPeriod.Tag = launcherScanPeriod; options.txtWeatherLocation.Tag = weatherLocation; options.txtWeatherWebcam.Tag = weatherWebcam; options.rdbWeatherMetric.Tag = weatherMetric; options.chkWeatherShowOnStart.Tag = weatherShowOnStart; options.comboWeatherLang.Tag = weatherLang; //set current values options.numX.Value = x; options.numY.Value = y; options.numW.Value = this.Width; options.numMinH.Value = minH; options.numMaxH.Value = maxH; options.txtHotkey.Text = Hotkey.HotkeyToString(hotkey, hotkeyCtrl, hotkeyAlt, hotkeyShift); options.numAutoHideDelay.Value = autoHideDelay; options.comboHideStyle.Text = hideStyle.ToString(); options.numOpacityActive.Value = (int)(opacityActive * 100); options.numOpacityPassive.Value = (int)(opacityPassive * 100); options.picBackColor.BackColor = txtCMD.BackColor; options.comboFont.Text = txtCMD.Font.Name; options.numFontSize.Value = (int)txtCMD.Font.Size; options.chkBold.Checked = txtCMD.Font.Bold; options.chkItalic.Checked = txtCMD.Font.Italic; options.picTextColor.BackColor = txtCMD.ForeColor; options.txtStartDir.Text = dir; options.numPrintDelay.Value = getDelay(timerPrint); options.numPrintAtOnce.Value = printAtOnce; options.chkPrompt.Checked = prompt; options.chkBlankLine.Checked = blankLine; options.chkEcho.Checked = echo; options.picEchoColor.BackColor = echoColor; options.picErrorColor.BackColor = errorColor; options.txtTodoDir.Text = todoDir; options.chkTodoHideDone.Checked = todoHideDone; options.chkTodoAutoTransfer.Checked = todoAutoTransfer; options.picTodoMiscColor.BackColor = todoMiscColor; options.picTodoItemColor.BackColor = todoItemColor; options.picTodoDoneColor.BackColor = todoDoneColor; options.txtUser.Text = mailUser; options.txtPass.Text = mailPass; options.chkMailCountOnNewMail.Checked = mailUpdateOnNewMail; options.chkMailCountOnFocus.Checked = mailUpdateOnFocus; options.numMailCheckPeriod.Value = timerMailCheck.Interval / 60000; options.txtMailSound.Text = mailSound; options.numMailSoundThreshold.Value = mailSoundThreshold; options.picMailCountColor.BackColor = mailCountColor; options.picMailHeaderColor.BackColor = mailHeaderColor; options.picMailSummaryColor.BackColor = mailSummaryColor; options.chkTwCountOnNewTweet.Checked = twUpdateOnNewTweet; options.chkTwCountOnFocus.Checked = twUpdateOnFocus; options.numTwCountMinPeriod.Value = minTweetPeriod; options.chkTwDisplayPictures.Checked = twDisplayPictures; options.chkTwDisplayInstagrams.Checked = twDisplayInstagrams; options.txtTwSound.Text = twSound; options.numTwSoundThreshold.Value = twSoundThreshold; options.picTwUsernameColor.BackColor = twUserColor; options.picTwMiscColor.BackColor = twMiscColor; options.picTwTweetColor.BackColor = twTweetColor; options.picTwLinkColor.BackColor = twLinkColor; options.picTwTimestampColor.BackColor = twTimeColor; options.picTwCountColor.BackColor = twCountColor; options.picRedditLinkColor.BackColor = redditLinkColor; options.picRedditMiscColor.BackColor = redditMiscColor; options.txtLauncherHotkey.Text = Hotkey.HotkeyToString(launcherHotkey, launcherHotkeyCtrl, launcherHotkeyAlt, launcherHotkeyShift); options.numLauncherMaxSuggestions.Value = launcherMaxSuggestions; options.chkLauncherAutohide.Checked = launcherAutohide; options.numLauncherScanPeriod.Value = launcherScanPeriod; options.lstLauncherDirs.Items.AddRange(dirList.ToArray()); options.txtWeatherLocation.Text = weatherLocation; options.txtWeatherWebcam.Text = weatherWebcam; if (weatherMetric) options.rdbWeatherMetric.Checked = true; else options.rdbWeatherImperial.Checked = true; options.chkWeatherShowOnStart.Checked = weatherShowOnStart; for (int i = 0; i < options.comboWeatherLang.Items.Count; i++) if (options.comboWeatherLang.Items[i].ToString().Contains("/" + weatherLang)) { options.comboWeatherLang.SelectedIndex = i; break; } //runs at startup? RegistryKey rkApp = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true); options.chkRunAtStartup.Checked = rkApp.GetValue("Adjutant") != null; options.Starting = false; options.Show(); } }
public void UpdateOptions(formOptions options) { //if todo dir changed copy existing todo lists there if (options.txtTodoDir.Text != todoDir) { string dest = options.txtTodoDir.Text; if (dest[dest.Length - 1] != '\\') dest += "\\"; foreach (string file in Directory.GetFiles(todoDir)) File.Copy(file, dest + Path.GetFileName(file)); } int prevHotkey = hotkey, prevLauncherHotkey = launcherHotkey; //assign new options x = (int)options.numX.Value; y = (int)options.numY.Value; this.Width = (int)options.numW.Value; minH = (int)options.numMinH.Value; maxH = (int)options.numMaxH.Value; Hotkey.StringToHotkey(options.txtHotkey.Text, out hotkey, out hotkeyCtrl, out hotkeyAlt, out hotkeyShift); autoHideDelay = (int)options.numAutoHideDelay.Value; hideStyle = (HideStyle)Enum.Parse(typeof(HideStyle), options.comboHideStyle.Text); opacityActive = (double)options.numOpacityActive.Value / 100; opacityPassive = (double)options.numOpacityPassive.Value / 100; txtCMD.BackColor = options.picBackColor.BackColor; FontStyle style; if (options.chkBold.Checked && options.chkItalic.Checked) style = FontStyle.Bold | FontStyle.Italic; else if (options.chkBold.Checked) style = FontStyle.Bold; else if (options.chkItalic.Checked) style = FontStyle.Italic; else style = FontStyle.Regular; Font prevFont = lblPrompt.Font; txtCMD.Font = new Font(options.comboFont.Text, (float)options.numFontSize.Value, style); txtCMD.ForeColor = options.picTextColor.BackColor; if (lblPrompt.Font != prevFont) { this.OnResize(new EventArgs()); foreach (Chunk chunk in chunks) chunk.SetTextBounds(new Rectangle(0, 0, measureWidth(chunk.ToString()), lineH)); update(); } applyUIStyle(); dir = options.txtStartDir.Text; setDelay(timerPrint, (int)options.numPrintDelay.Value); printAtOnce = (int)options.numPrintAtOnce.Value; prompt = options.chkPrompt.Checked; blankLine = options.chkBlankLine.Checked; echo = options.chkEcho.Checked; echoColor = options.picEchoColor.BackColor; errorColor = options.picErrorColor.BackColor; todoDir = options.txtTodoDir.Text; todoHideDone = options.chkTodoHideDone.Checked; todoAutoTransfer = options.chkTodoAutoTransfer.Checked; todoMiscColor = options.picTodoMiscColor.BackColor; todoItemColor = options.picTodoItemColor.BackColor; todoDoneColor = options.picTodoDoneColor.BackColor; mailUser = options.txtUser.Text; mailPass = options.txtPass.Text; mailUpdateOnNewMail = options.chkMailCountOnNewMail.Checked; mailUpdateOnFocus = options.chkMailCountOnFocus.Checked; timerMailCheck.Interval = (int)options.numMailCheckPeriod.Value * 60000; mailSound = options.txtMailSound.Text; mailSoundThreshold = (int)options.numMailSoundThreshold.Value; mailCountColor = options.picMailCountColor.BackColor; mailHeaderColor = options.picMailHeaderColor.BackColor; mailSummaryColor = options.picMailSummaryColor.BackColor; twUpdateOnNewTweet = options.chkTwCountOnNewTweet.Checked; twUpdateOnFocus = options.chkTwCountOnFocus.Checked; minTweetPeriod = (int)options.numTwCountMinPeriod.Value; twDisplayPictures = options.chkTwDisplayPictures.Checked; twDisplayInstagrams = options.chkTwDisplayInstagrams.Checked; twSound = options.txtTwSound.Text; twSoundThreshold = (int)options.numTwSoundThreshold.Value; twUserColor = options.picTwUsernameColor.BackColor; twMiscColor = options.picTwMiscColor.BackColor; twTweetColor = options.picTwTweetColor.BackColor; twLinkColor = options.picTwLinkColor.BackColor; twTimeColor = options.picTwTimestampColor.BackColor; twCountColor = options.picTwCountColor.BackColor; redditLinkColor = options.picRedditLinkColor.BackColor; redditMiscColor = options.picRedditMiscColor.BackColor; Hotkey.StringToHotkey(options.txtLauncherHotkey.Text, out launcherHotkey, out launcherHotkeyCtrl, out launcherHotkeyAlt, out launcherHotkeyShift); launcherMaxSuggestions = (int)options.numLauncherMaxSuggestions.Value; launcherAutohide = options.chkLauncherAutohide.Checked; launcherScanPeriod = (int)options.numLauncherScanPeriod.Value; launcherScanDirs = options.GetLauncherScanDirs(); weatherWebcam = options.txtWeatherWebcam.Text; weatherLocation = options.txtWeatherLocation.Text; weatherMetric = options.rdbWeatherMetric.Checked; weatherShowOnStart = options.chkWeatherShowOnStart.Checked; weatherLang = options.comboWeatherLang.Text.Substring(options.comboWeatherLang.Text.IndexOf('/') + 1); //apply changes & save Chunk.Font = txtCMD.Font; Chunk.PrintAtOnce = printAtOnce; Chunk.InstantOutput = timerPrint.Interval == ZERO_DELAY; Chunk.ErrorColor = errorColor; if (hotkey != prevHotkey) { Hotkey.UnregisterHotKey(this, false); Hotkey.RegisterHotKey(this, hotkey, hotkeyCtrl, hotkeyAlt, hotkeyShift, false); } if (launcherHotkey != prevLauncherHotkey) { Hotkey.UnregisterHotKey(this, true); Hotkey.RegisterHotKey(this, launcherHotkey, launcherHotkeyCtrl, launcherHotkeyAlt, launcherHotkeyShift, true); } Twitter.DisplayPictures = twDisplayPictures; Twitter.DisplayInstagrams = twDisplayInstagrams; this.Top = y; this.Left = x; initGrafx(); windowAutosize(); setPrompt(); if (gmail != null) gmail.ChangeLogin(mailUser, mailPass); saveOptions(); }