示例#1
0
        public SettingsWindow(XML.AppSettings settings)
        {
            InitializeComponent();
            this.settings = settings;

            emailToTextBox.Text       = settings.emailTo;
            emailFromTextBox.Text     = settings.emailFrom;
            emailSmtpHostTextBox.Text = settings.emailSmtpHost;
            emailSmtpPortTextBox.Text = settings.emailSmtpPort.ToString();

            if (Settings.GetWindowsEmailCredentials(out string username, out string password))
            {
                emailUsenameTextBox.Text      = username;
                emailPasswordTextBox.Password = password;
            }
        }
示例#2
0
        public MainWindow()
        {
            singleton = this;
            InitializeComponent();

            // load app settings
            settings = Settings.Load();

            // set arg setting overrides
            bool   settingOverrideFound = false;
            string emailUsername = null, emailPassword = null;

            foreach (string arg in Environment.GetCommandLineArgs())
            {
                var parts = arg.Split('=');
                if (parts == null || parts.Length != 2)
                {
                    continue;
                }

                settingOverrideFound = true;
                switch (parts[0].ToLower())
                {
                case "-emailto": settings.emailTo = parts[1]; break;

                case "-emailfrom": settings.emailFrom = parts[1]; break;

                case "-emailsmtphost": settings.emailSmtpHost = parts[1]; break;

                case "-emailsmtpport": int.TryParse(parts[1], out settings.emailSmtpPort); break;

                case "-emailusername": emailUsername = parts[1]; break;

                case "-emailpassword": emailPassword = parts[1]; break;

                case "-tab":
                    if (settings.tabs == null)
                    {
                        settings.tabs = new List <string>();
                    }
                    if (!settings.tabs.Contains(parts[1]))
                    {
                        settings.tabs.Add(parts[1]);
                    }
                    break;
                }
            }

            if (!string.IsNullOrEmpty(emailUsername) && !string.IsNullOrEmpty(emailUsername))
            {
                Settings.SetWindowsEmailCredentials(emailUsername, emailPassword);
            }

            if (settingOverrideFound)
            {
                Settings.Save(settings);
                Close();
                return;
            }

            // apply settings
            if (settings.winX != -1)
            {
                Left   = settings.winX;
                Top    = settings.winY;
                Width  = settings.winWidth;
                Height = settings.winHeight;
                if (settings.winMaximized)
                {
                    WindowState = WindowState.Maximized;
                }
            }

            emailButton.IsEnabled = !string.IsNullOrEmpty(settings.emailTo);

            if (settings.tabs == null)
            {
                settings.tabs = new List <string>();
            }
            foreach (string tab in settings.tabs)
            {
                AddTab(tab);
            }

            // start watch timer
            timer = new DispatcherTimer(TimeSpan.FromSeconds(1), DispatcherPriority.Background, CheckFileSizeCallback, Dispatcher);
        }