private Server GetServerDetailsFromUI()
        {
            Server server = new Server();

            if (Uri.CheckHostName(server.server = IPTextBox.Text.Trim()) == UriHostNameType.Unknown)
            {
                MessageBox.Show(I18N.GetString("Invalid server address"));
                IPTextBox.Focus();
                return(null);
            }
            if (!int.TryParse(ServerPortTextBox.Text, out server.server_port))
            {
                MessageBox.Show(I18N.GetString("Illegal port number format"));
                ServerPortTextBox.Focus();
                return(null);
            }
            server.password    = PasswordTextBox.Text;
            server.method      = EncryptionSelect.Text;
            server.plugin      = PluginTextBox.Text;
            server.plugin_opts = PluginOptionsTextBox.Text;
            server.plugin_args = PluginArgumentsTextBox.Text;
            server.remarks     = RemarksTextBox.Text;
            if (!int.TryParse(TimeoutTextBox.Text, out server.timeout))
            {
                MessageBox.Show(I18N.GetString("Illegal timeout format"));
                TimeoutTextBox.Focus();
                return(null);
            }
            return(server);
        }
Beispiel #2
0
        private bool SaveOldSelectedServer()
        {
            try
            {
                if (_lastSelectedIndex == -1 || _lastSelectedIndex >= _modifiedConfiguration.configs.Count)
                {
                    return(true);
                }
                Server server = new Server();

                if (Uri.CheckHostName(server.server = IPTextBox.Text.Trim()) == UriHostNameType.Unknown)
                {
                    MessageBox.Show(I18N.GetString("Invalid server address"));
                    IPTextBox.Focus();
                    return(false);
                }
                if (!int.TryParse(ServerPortTextBox.Text, out server.server_port))
                {
                    MessageBox.Show(I18N.GetString("Illegal port number format"));
                    ServerPortTextBox.Focus();
                    return(false);
                }
                server.password     = PasswordTextBox.Text;
                server.method       = EncryptionSelect.Text;
                server.use_kcp      = UseKcpCheckBox.Checked;
                server.kcp_argument = KcpArgumentTextBox.Text;
                if (!int.TryParse(KcpRemotePortTextBox.Text, out server.kcp_remote_port))
                {
                    MessageBox.Show(I18N.GetString("Illegal kcp remote port number format"));
                    ServerPortTextBox.Focus();
                    return(false);
                }
                server.remarks = RemarksTextBox.Text;
                if (!int.TryParse(TimeoutTextBox.Text, out server.timeout))
                {
                    MessageBox.Show(I18N.GetString("Illegal timeout format"));
                    TimeoutTextBox.Focus();
                    return(false);
                }
                int localPort = int.Parse(ProxyPortTextBox.Text);
                Configuration.CheckServer(server);
                Configuration.CheckLocalPort(localPort);
                _modifiedConfiguration.configs[_lastSelectedIndex] = server;
                _modifiedConfiguration.localPort = localPort;

                return(true);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            return(false);
        }
        private bool SaveOldSelectedServer()
        {
            try
            {
                if (_lastSelectedIndex == -1 || _lastSelectedIndex >= _modifiedConfiguration.configs.Count)
                {
                    return(true);
                }
                Server server = new Server();
                server.server = IPTextBox.Text.Trim();
                try
                {
                    server.server_port = int.Parse(ServerPortTextBox.Text);
                }
                catch (FormatException)
                {
                    MessageBox.Show(I18N.GetString("Illegal port number format"));
                    ServerPortTextBox.Clear();
                    return(false);
                }
                server.password = PasswordTextBox.Text;
                server.method   = EncryptionSelect.Text;
                server.remarks  = RemarksTextBox.Text;
                try
                {
                    server.timeout = int.Parse(TimeoutTextBox.Text);
                }
                catch (FormatException)
                {
                    MessageBox.Show(I18N.GetString("Illegal timeout format"));
                    TimeoutTextBox.Clear();
                    return(false);
                }
                server.auth = OneTimeAuth.Checked;
                int localPort = int.Parse(ProxyPortTextBox.Text);
                Configuration.CheckServer(server);
                Configuration.CheckLocalPort(localPort);
                _modifiedConfiguration.configs[_lastSelectedIndex] = server;
                _modifiedConfiguration.localPort = localPort;

                return(true);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            return(false);
        }
Beispiel #4
0
        private void LoadData(BenchmarksModel model)
        {
            var(location, size) = WindowPosition.Normalize(this, model.FormLocation, model.FormSize);

            Location         = location;
            LocationChanged += (s, e) => model.FormLocation = WindowState == FormWindowState.Normal ? Location : RestoreBounds.Location;
            Size             = size;
            SizeChanged     += (s, e) => model.FormSize = WindowState == FormWindowState.Normal ? Size : RestoreBounds.Size;

            cboClients.BindSelectedValue(model, nameof(BenchmarksModel.SelectedSlotIdentifier));
            cboClients.DataSource    = model.SlotIdentifiers;
            cboClients.DisplayMember = nameof(ListItem.DisplayMember);
            cboClients.ValueMember   = nameof(ListItem.ValueMember);

            picDeleteClient.BindVisible(model, nameof(BenchmarksModel.SelectedSlotDeleteEnabled));

            ProjectIDTextBox.BindText(model, nameof(BenchmarksModel.WorkUnitName));
            CreditTextBox.BindText(model, nameof(BenchmarksModel.Credit));
            KFactorTextBox.BindText(model, nameof(BenchmarksModel.KFactor));
            FramesTextBox.BindText(model, nameof(BenchmarksModel.Frames));
            AtomsTextBox.BindText(model, nameof(BenchmarksModel.NumberOfAtoms));
            CoreTextBox.BindText(model, nameof(BenchmarksModel.Core));
            DescriptionLinkLabel.Text = "Click to view online";
            DescriptionLinkLabel.DataBindings.Add(nameof(Tag), model, nameof(BenchmarksModel.DescriptionUrl), false, DataSourceUpdateMode.OnPropertyChanged);
            TimeoutTextBox.BindText(model, nameof(BenchmarksModel.PreferredDays));
            ExpirationTextBox.BindText(model, nameof(BenchmarksModel.MaximumDays));
            ContactTextBox.BindText(model, nameof(BenchmarksModel.Contact));
            WorkServerTextBox.BindText(model, nameof(BenchmarksModel.ServerIP));

            model.PropertyChanged += (s, e) => ModelPropertyChanged((BenchmarksModel)s, e);
            model.SelectedSlotProjectListItems = new ListBoxSelectedListItemCollection(projectsListBox);
            projectsListBox.DataSource         = model.SlotProjects;
            projectsListBox.DisplayMember      = nameof(ListItem.DisplayMember);
            projectsListBox.ValueMember        = nameof(ListItem.ValueMember);
            model.SetDefaultSlotProject();

            lstColors.DataSource    = model.GraphColors;
            lstColors.DisplayMember = nameof(ListItem.DisplayMember);
            lstColors.ValueMember   = nameof(ListItem.ValueMember);
            lstColors.BindSelectedValue(model, nameof(BenchmarksModel.SelectedGraphColorItem));

            colorPreviewPictureBox.DataBindings.Add(nameof(PictureBox.BackColor), model, nameof(BenchmarksModel.SelectedGraphColor), false, DataSourceUpdateMode.OnPropertyChanged);
        }
Beispiel #5
0
        private bool?CheckTimeoutTextBox(out int?timeout, bool isSave, bool isCopy)
        {
            timeout = null;
            if (!int.TryParse(TimeoutTextBox.Text, out int outTimeout))
            {
                if (!isSave && !isCopy && ServersListBox.Items.Count > 1 && I18N.GetString("New server").Equals(ServersListBox.Items[_lastSelectedIndex].ToString()))
                {
                    DialogResult result = MessageBox.Show(I18N.GetString("Whether to discard unconfigured servers"), I18N.GetString("Operation failure"), MessageBoxButtons.OKCancel);

                    if (result == DialogResult.OK)
                    {
                        return(null);
                    }
                }
                else if (isChange && !isSave && !isCopy)
                {
                    var result = MessageBox.Show(I18N.GetString("Illegal timeout format, Cannot automatically save or discard changes"), I18N.GetString("Auto save failed"), MessageBoxButtons.OKCancel);

                    if (result == DialogResult.Cancel)
                    {
                        return(false);
                    }
                    else
                    {
                        timeout = _modifiedConfiguration.configs[_lastSelectedIndex].timeout;
                        return(true);
                    }
                }
                else
                {
                    MessageBox.Show(I18N.GetString("Illegal timeout format"), I18N.GetString("Operation failure"));
                    TimeoutTextBox.Focus();
                }
                return(false);
            }
            else
            {
                timeout = outTimeout;
            }
            return(true);
        }