コード例 #1
0
    Paragraph[] GetNeededParagraphList(int paragraph, CultureItem item)
    {
        Paragraph[] p = null;

        switch (paragraph)
        {
        case 0:
            p = item.summary_paragraphs;

            break;

        case 1:
            p = item.elements_paragraphs;

            break;

        case 2:
            p = item.phases_paragraphs;


            break;

        case 3:
            p = item.cost_to_use_paragraph;

            break;

        default:
            Debug.LogError("Paragraph with number " + paragraph.ToString() + " is not handled !!!");
            break;
        }

        return(p);
    }
コード例 #2
0
        private void FillTranslationCultures(List <string> alreadyDefinedCultures)
        {
            List <CultureItem> cultureItemsList = new List <CultureItem>();

            foreach (var subdir in alreadyDefinedCultures)
            {
                if (subdir == DefaultCulture.CultureCode.ToLower())
                {
                    continue;
                }

                if (!Culture.IsValid(subdir))
                {
                    continue;
                }

                CultureItem culture = new CultureItem(new TranslationCulture(subdir, 0), "", 0);
                cultureItemsList.Add(culture);
            }

            cultureItemsList.Sort((culture1, culture2) => culture1.Culture.Description.CompareTo(culture2.Culture.Description));

            __TranslationCultures.Clear();
            foreach (var culture in cultureItemsList)
            {
                __TranslationCultures.Add(culture);
            }

            AllCultures.IsChecked = true;
        }
コード例 #3
0
        /// <summary>
        /// Initialisiert den Dialog.
        /// </summary>
        /// <param name="sender">Wird ignoriert.</param>
        /// <param name="e">Wird ignoriert.</param>
        private void UserProfileManager_Load(object sender, EventArgs e)
        {
            // The default
            CultureItem selectedItem = null;

            // Load the preferred language
            string preferred = UserProfile.RawLanguage;

            // Fill language list
            foreach (CultureInfo info in CultureInfo.GetCultures(CultureTypes.NeutralCultures))
            {
                if (info.NativeName.IndexOf('(') < 0)
                {
                    // Create
                    CultureItem item = new CultureItem(info);

                    // Add to map
                    selLanguage.Items.Add(item);

                    // Remember default
                    if (0 == string.Compare(preferred, info.TwoLetterISOLanguageName, true))
                    {
                        selectedItem = item;
                    }
                }
            }

            // Copy over
            selLanguage.SelectedItem = selectedItem;

            // Load all profiles
            LoadProfiles();
        }
コード例 #4
0
        /// <summary>
        /// Initialisiert den Dialog.
        /// </summary>
        /// <param name="sender">Wird ignoriert.</param>
        /// <param name="e">Wird ignoriert.</param>
        private void UserProfileManager_Load( object sender, EventArgs e )
        {
            // The default
            CultureItem selectedItem = null;

            // Load the preferred language
            string preferred = UserProfile.RawLanguage;

            // Fill language list
            foreach (CultureInfo info in CultureInfo.GetCultures( CultureTypes.NeutralCultures ))
                if (info.NativeName.IndexOf( '(' ) < 0)
                {
                    // Create
                    CultureItem item = new CultureItem( info );

                    // Add to map
                    selLanguage.Items.Add( item );

                    // Remember default
                    if (0 == string.Compare( preferred, info.TwoLetterISOLanguageName, true ))
                        selectedItem = item;
                }

            // Copy over
            selLanguage.SelectedItem = selectedItem;

            // Load all profiles
            LoadProfiles();
        }
コード例 #5
0
            public int CompareTo(object obj)
            {
                CultureItem other = (CultureItem)obj;

                if (App.Settings.View.NativeCultureNames)
                {
                    return(CultureInfo.NativeName.CompareTo(other.CultureInfo.NativeName));
                }
                else
                {
                    return(CultureInfo.DisplayName.CompareTo(other.CultureInfo.DisplayName));
                }
            }
コード例 #6
0
        /// <summary>
        /// Speichert das Benutzerprofil.
        /// </summary>
        /// <param name="sender">Wird ignoriert.</param>
        /// <param name="e">Wird ignoriert.</param>
        private void cmdSave_Click(object sender, EventArgs e)
        {
            // Load selections
            CultureItem culture = (CultureItem)selLanguage.SelectedItem;
            Profile     profile = (Profile)selProfile.SelectedItem;

            // Update the all
            UserProfile.RawLanguage         = (null == culture) ? null : culture.Info.TwoLetterISOLanguageName;
            UserProfile.RawProfileName      = (null == profile) ? null : profile.Name;
            UserProfile.RawAlwaysShowDialog = ckAllways.Checked;

            // Store
            UserProfile.Save();
        }
コード例 #7
0
    public CultureItem GetCultureItem(string itemName)
    {
        CultureItem item = null;

        for (int i = 0; i < allCultureItems.Length; i++)
        {
            if (itemName.Equals(allCultureItems[i].Nomination))
            {
                item = allCultureItems[i];
                break;
            }
        }

        return(item);
    }
コード例 #8
0
    void SetItem()
    {
        if (culture_item_setter == null)
        {
            culture_item_setter = FindObjectOfType <CultureItemSetter>();
        }

        CultureItem culture = culture_item_setter.GetCultureItem(cultureName);

        if (tmp == null)
        {
            tmp = GetComponentInChildren <TextMeshProUGUI>(true);
        }
        tmp.SetText(culture.Nomination);
        cultureImage.sprite = culture.culture_sprite;
    }
コード例 #9
0
        public Settings()
        {
            SqlCeConnection _connection = new SqlCeConnection("Data Source=db.sdf");

            _maxRepliesCount = Int32.Parse(_settingsRepository.GetAll().Where(r => r.Name.Equals("MaxRepliesCount")).First().Value);
            _soundPing       = (SoundPing)Enum.Parse(typeof(SoundPing), _settingsRepository.GetAll().Where(r => r.Name == "SoundPing").First().Value);
            string language = _settingsRepository.GetAll().Where(r => r.Name == "Language").First().Value;

            if (language == "system")
            {
                _language = new CultureItem(CultureInfo.InstalledUICulture, true);
            }
            else
            {
                _language = new CultureItem(new CultureInfo(language));
            }
            CultureManager.UICulture = _language.CultureInfo;
        }
コード例 #10
0
    public void SetCultureItem(string itemName)
    {
        CultureItem itemToSet = null;

        for (int i = 0; i < allCultureItems.Length; i++)
        {
            if (itemName == allCultureItems[i].Nomination)
            {
                itemToSet = allCultureItems[i];
                break;
            }
        }

        cultureItemReader.item = itemToSet;

        cultureImage_on_singleCanvas.sprite = itemToSet.culture_sprite;
        cultureNomination_on_singleCanvas.SetText(itemToSet.Nomination);
    }
コード例 #11
0
        private void CodeText_TextChanged(object sender, TextChangedEventArgs e)
        {
            if (updating)
            {
                return;
            }

            LoadCultures();

            CultureItem selci = CulturesList.Items.OfType <CultureItem>()
                                .FirstOrDefault(ci => ci.CultureInfo.IetfLanguageTag.Equals(CodeText.Text, StringComparison.InvariantCultureIgnoreCase));

            AddButton.IsEnabled = selci != null;
            if (selci != null)
            {
                CulturesList.SelectedItem = selci;
                CulturesList.ScrollIntoView(selci);
                UpdateSystemKeysCheckBox(selci.CultureInfo.Name);
            }
            else
            {
                UpdateSystemKeysCheckBox(null);
            }
        }
コード例 #12
0
        public VCRNETControl( string[] args )
        {
            // Report
            Log( "VCC [2013/06/01] starting up" );

            // Autostart service
            if (m_Settings.AutoStartService)
                if (!ThreadPool.QueueUserWorkItem( StartService ))
                    StartService( null );

            // This is us
            Type me = GetType();

            // Pattern start
            string prefix = me.Namespace + ".TrayIcons.";
            string suffix = ".ICO";

            // Load tray icons
            foreach (string resname in me.Assembly.GetManifestResourceNames())
                if (resname.StartsWith( prefix ))
                    if (resname.EndsWith( suffix ))
                    {
                        // Icon
                        string iconname = resname.Substring( prefix.Length, resname.Length - prefix.Length - suffix.Length );

                        // Load
                        using (Stream stream = me.Assembly.GetManifestResourceStream( resname ))
                        {
                            // Load the icon
                            Icon icon = new Icon( stream );

                            // Check for debugger
                            if (Debugger.IsAttached)
                                using (var bmp = icon.ToBitmap())
                                {
                                    // Change
                                    using (var gc = Graphics.FromImage( bmp ))
                                    using (var color = new SolidBrush( Color.Black ))
                                    {
                                        // Paint
                                        gc.FillRectangle( color, 0, 15, bmp.Width, 5 );
                                    }

                                    // Free icon
                                    icon.Dispose();

                                    // Reload
                                    icon = Icon.FromHandle( bmp.GetHicon() );
                                }

                            // Get the related color
                            var colorIndex = (TrayColors)Enum.Parse( typeof( TrayColors ), iconname, true );

                            // Add to map
                            m_TrayIcons[colorIndex] = icon;
                        }
                    }

            // Load picture
            using (var stream = me.Assembly.GetManifestResourceStream( me.Namespace + ".Icons.Connected.ico" ))
                m_Connected = Image.FromStream( stream );

            // Startup
            InitializeComponent();

            // Load the top menu string
            m_TopMenu = mnuDefault.Text;

            // Correct IDE problems (destroyed when language changes)
            selHibernate.Value = 5;
            selHibernate.Minimum = 1;
            selHibernate.Maximum = 30;
            selInterval.Value = 10;
            selInterval.Minimum = 5;
            selInterval.Maximum = 300;
            selPort.Maximum = ushort.MaxValue;
            selPort.Value = 80;
            selPort.Minimum = 1;
            selStreamPort.Maximum = ushort.MaxValue;
            selStreamPort.Value = 2910;
            selStreamPort.Minimum = 1;
            lstServers.View = View.Details;
            errorMessages.SetIconAlignment( txArgs, ErrorIconAlignment.MiddleLeft );
            errorMessages.SetIconAlignment( txMultiCast, ErrorIconAlignment.MiddleLeft );

            // Make sure that handle exists
            CreateHandle();

            // Load servers
            if (null != m_Settings.Servers)
                foreach (var setting in m_Settings.Servers)
                    lstServers.Items.Add( setting.View );

            // Load settings
            ckAutoStart.Checked = m_Settings.AutoStartService;
            ckHibernate.Checked = (m_Settings.HibernationDelay > 0);
            selHibernate.Value = ckHibernate.Checked ? (int)m_Settings.HibernationDelay : 5;
            txMultiCast.Text = m_Settings.MulticastIP;
            selStreamPort.Value = m_Settings.MinPort;
            selDelay.Value = m_Settings.StartupDelay;
            txArgs.Text = m_Settings.ViewerArgs;
            txViewer.Text = m_Settings.Viewer;

            // The default
            CultureItem selectedItem = null;

            // Fill language list
            foreach (var info in CultureInfo.GetCultures( CultureTypes.NeutralCultures ))
            {
                // Skip all sub-languages
                if (info.NativeName.IndexOf( '(' ) >= 0) continue;

                // Create
                var item = new CultureItem( info );

                // Add to map
                selLanguage.Items.Add( item );

                // Remember default
                if (Equals( m_Settings.Language, info.TwoLetterISOLanguageName )) selectedItem = item;
            }

            // Copy over
            selLanguage.SelectedItem = selectedItem;

            // Update GUI
            CheckLocal();
            CheckStream();

            // No local service
            frameLocal.Enabled = false;

            // See if local service exists
            try
            {
                // Attach to registry
                using (var vcr = Registry.LocalMachine.OpenSubKey( @"SYSTEM\CurrentControlSet\Services\VCR.NET Service" ))
                    if (null != vcr)
                    {
                        // Load path
                        string image = (string)vcr.GetValue( "ImagePath" );
                        if (!string.IsNullOrEmpty( image ))
                        {
                            // Correct
                            if (image.StartsWith( "\"" ) && image.EndsWith( "\"" ) && (image.Length > 1))
                            {
                                // Remove quotes
                                image = image.Substring( 1, image.Length - 2 ).Replace( "\"\"", "\"" );
                            }
                        }

                        // Attach to configuration file
                        var config = new FileInfo( image + ".config" );
                        if (config.Exists)
                        {
                            // Load DOM
                            XmlDocument dom = new XmlDocument();
                            dom.Load( config.FullName );

                            // Check for port
                            var portNode = (XmlElement)dom.SelectSingleNode( "configuration/appSettings/add[@key='TCPPort']" );
                            var port = ushort.Parse( portNode.GetAttribute( "value" ) );

                            // At least there is a valid local server
                            frameLocal.Enabled = true;

                            // Check for defaulting
                            if (lstServers.Items.Count < 1)
                            {
                                // Create a new entry
                                var settings =
                                    new PerServerSettings
                                    {
                                        ServerName = "localhost",
                                        RefreshInterval = 10,
                                        ServerPort = port,
                                    };

                                // Add
                                m_Settings.Servers = new PerServerSettings[] { settings };

                                // Try add
                                try
                                {
                                    // Save
                                    m_Settings.Save();

                                    // Add to list
                                    lstServers.Items.Add( settings.View );
                                }
                                catch
                                {
                                    // Reset
                                    m_Settings.Servers = null;
                                }
                            }
                        }
                    }
            }
            catch
            {
                // Ignore any error
            }

            // Install tray icons
            CreateTrayIcons();

            // Prepare buttons
            lstServers_SelectedIndexChanged( lstServers, EventArgs.Empty );
        }
コード例 #13
0
        // Кнопка "Ок"
        private void OkButton_Click(object sender, EventArgs e)
        {
            // [Общие]
            Properties.Settings.Default.data_source   = DataSourceComboBox.SelectedIndex;
            Properties.Settings.Default.min_accuracy  = Convert.ToInt32(MinAccuracyNumericUpDown.Value);
            Properties.Settings.Default.max_data      = Convert.ToInt32(MaxDataNumericUpDown.Value);
            Properties.Settings.Default.tray_minimize = SysTrayCheckBox.Checked;
            Properties.Settings.Default.disable_exit  = DisableExitCheckBox.Checked;
            // Общие: язык интерфейса
            int    culture_index     = 0;
            string selected_language = string.Empty;

            CultureInfo[] CulturesList = CultureInfo.GetCultures(CultureTypes.NeutralCultures);
            foreach (CultureInfo CultureItem in CulturesList)
            {
                try
                {
                    ResourceSet CultureResource = MainForm.Translate.GetResourceSet(CultureItem, true, false);
                    if (CultureResource != null)
                    {
                        culture_index = culture_index + 1;
                        if (LanguageComboBox.SelectedIndex == culture_index)
                        {
                            selected_language = CultureItem.ToString();
                        }
                    }
                }
                catch
                {
                }
            }
            if (Properties.Settings.Default.language != selected_language)
            {
                Properties.Settings.Default.language = selected_language;
                MainForm.Culture = (selected_language.Length > 0) ? CultureInfo.CreateSpecificCulture(selected_language) : CultureInfo.CurrentCulture;
                MainForm Parent = (MainForm)Owner;
                Parent.reloadForm();
            }

            // [COM порт]
            Properties.Settings.Default.com_port  = (SelectPortRadioButton.Checked ? ComPortComboBox.SelectedItem.ToString() : ComPortTextBox.Text);
            Properties.Settings.Default.baud_rate = (BaudRateRadioButton.Checked ? Int32.Parse(BaudRateComboBox.SelectedItem.ToString()) : Int32.Parse(BaudRateTextBox.Text));
            Properties.Settings.Default.data_bits = Int32.Parse(DataBitsComboBox.SelectedItem.ToString());
            Properties.Settings.Default.stop_bits = StopBitsComboBox.SelectedIndex;
            Properties.Settings.Default.parity    = ParityComboBox.SelectedIndex;

            // [HTTP запрос]
            Properties.Settings.Default.http_url           = HttpUrlTextBox.Text;
            Properties.Settings.Default.http_method        = (HttpGetRadioButton.Checked ? 0 : 1);
            Properties.Settings.Default.http_data          = HttpDataTextBox.Text;
            Properties.Settings.Default.http_useragent     = HttpUserAgentTextBox.Text;
            Properties.Settings.Default.http_interval      = Int32.Parse(IntervalTextBox.Text);
            Properties.Settings.Default.http_response      = HttpResponseMethodComboBox.SelectedIndex;
            Properties.Settings.Default.http_accuracy      = HttpAccuracyCheckBox.Checked;
            Properties.Settings.Default.http_accuracy_exp  = HttpAccuracyTextBox.Text;
            Properties.Settings.Default.http_radiation     = HttpRadiationCheckBox.Checked;
            Properties.Settings.Default.http_radiation_exp = HttpRadiationTextBox.Text;
            Properties.Settings.Default.http_unit          = HttpUnitTextBox.Text;

            // [Автозагрузка]
            RegistryKey reg_key = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);

            if (AutostartCheckBox.Checked)
            {
                string reg_value = "\"" + Application.ExecutablePath + "\"";
                reg_value += (MinimizeCheckBox.Checked) ? " /minimize" : "";
                reg_value += (MaximizeCheckBox.Checked) ? " /maximize" : "";
                reg_value += (AutoconnectCheckBox.Checked) ? " /connect" : "";
                reg_key.SetValue(System.Reflection.Assembly.GetExecutingAssembly().GetName().Name, reg_value);
            }
            else
            {
                if (reg_key.GetValue(System.Reflection.Assembly.GetExecutingAssembly().GetName().Name) != null)
                {
                    reg_key.DeleteValue(System.Reflection.Assembly.GetExecutingAssembly().GetName().Name);
                }
            }

            // [Допуски]
            Properties.Settings.Default.warning_level = Convert.ToSingle(WarningLvlNumericUpDown.Value);
            Properties.Settings.Default.danger_level  = Convert.ToSingle(DangerLvlNumericUpDown.Value);

            // [Уведомления]
            Properties.Settings.Default.voice_notify = VoiceNotifyCheckBox.Checked;
            Properties.Settings.Default.tray_notify  = TrayNotifyCheckBox.Checked;

            // Сохраняем
            Properties.Settings.Default.Save();
            this.Close();
        }
コード例 #14
0
        // Окно настроек загружено
        private void SettingsForm_Load(object sender, EventArgs e)
        {
            int selected_index;

            this.Text         = MainForm.Translate.GetString("settings", MainForm.Culture);
            OkButton.Text     = MainForm.Translate.GetString("ok", MainForm.Culture);
            CancelButton.Text = MainForm.Translate.GetString("cancel", MainForm.Culture);

            // [Общее]
            tabGeneral.Text = MainForm.Translate.GetString("general", MainForm.Culture);
            // Общее: язык интерфейса
            LanguageLabel.Text    = MainForm.Translate.GetString("language", MainForm.Culture);
            LanguageComboBox.Left = LanguageLabel.Left + LanguageLabel.Width + 6;
            selected_index        = 0;
            LanguageComboBox.Items.Clear();
            LanguageComboBox.Items.Add(MainForm.Translate.GetString("autodetect", MainForm.Culture));
            CultureInfo[] CulturesList = CultureInfo.GetCultures(CultureTypes.NeutralCultures);
            foreach (CultureInfo CultureItem in CulturesList)
            {
                try
                {
                    ResourceSet CultureResource = MainForm.Translate.GetResourceSet(CultureItem, true, false);
                    if (CultureResource != null)
                    {
                        int index = LanguageComboBox.Items.Add(CultureItem.NativeName[0].ToString().ToUpper() + CultureItem.NativeName.Substring(1));
                        if (Properties.Settings.Default.language == CultureItem.ToString())
                        {
                            selected_index = index;
                        }
                    }
                }
                catch
                {
                }
            }
            LanguageComboBox.SelectedIndex = selected_index;
            // Общее: источник данных
            DataSourceLabel.Text    = MainForm.Translate.GetString("data_source", MainForm.Culture);
            DataSourceComboBox.Left = DataSourceLabel.Left + DataSourceLabel.Width + 6;
            DataSourceComboBox.Items.Clear();
            DataSourceComboBox.Items.Add(MainForm.Translate.GetString("com_port", MainForm.Culture));
            DataSourceComboBox.Items.Add(MainForm.Translate.GetString("http_request", MainForm.Culture));
            DataSourceComboBox.SelectedIndex = Properties.Settings.Default.data_source;
            // Общее: минимальная точность
            MinAccuracyLabel.Text          = MainForm.Translate.GetString("min_accuracy", MainForm.Culture);
            MinAccuracyNumericUpDown.Left  = MinAccuracyLabel.Left + MinAccuracyLabel.Width + 6;
            MinAccuracyNumericUpDown.Value = Properties.Settings.Default.min_accuracy;
            // Общее: размер буфера
            MaxDataLabel.Text          = MainForm.Translate.GetString("max_data", MainForm.Culture);
            MaxDataNumericUpDown.Left  = MaxDataLabel.Left + MaxDataLabel.Width + 6;
            MaxDataNumericUpDown.Value = Properties.Settings.Default.max_data;
            // Общее: сворачивать в системный трей
            SysTrayCheckBox.Text    = MainForm.Translate.GetString("tray_minimize", MainForm.Culture);
            SysTrayCheckBox.Checked = Properties.Settings.Default.tray_minimize;
            // Общее: отключить кнопку выхода
            DisableExitCheckBox.Text    = MainForm.Translate.GetString("disable_exit", MainForm.Culture);
            DisableExitCheckBox.Checked = Properties.Settings.Default.disable_exit;

            // [COM порт]
            tabCOMport.Text = MainForm.Translate.GetString("com_port", MainForm.Culture);
            // COM порт: выбор порта (combo box)
            SelectPortRadioButton.Text = MainForm.Translate.GetString("select_com_port", MainForm.Culture);
            ComPortComboBox.Left       = SelectPortRadioButton.Left + SelectPortRadioButton.Width + 6;
            selected_index             = -1;
            string[] ports = SerialPort.GetPortNames();
            ComPortComboBox.Items.Clear();
            foreach (var port in ports)
            {
                int index = ComPortComboBox.Items.Add(port);
                if (port == Properties.Settings.Default.com_port)
                {
                    selected_index = index;
                    SelectPortRadioButton.Checked = true;
                }
            }
            ComPortComboBox.SelectedIndex = (selected_index < 0 ? 0 : selected_index);
            SelectPortRadioButton_CheckedChanged(this, null);
            // COM порт: выбор порта (text box)
            ComPortCustomRadioButton.Left    = ComPortComboBox.Left + ComPortComboBox.Width + 6;
            ComPortCustomRadioButton.Text    = MainForm.Translate.GetString("com_port_custom", MainForm.Culture);
            ComPortTextBox.Left              = ComPortCustomRadioButton.Left + ComPortCustomRadioButton.Width + 6;
            ComPortTextBox.Text              = (selected_index < 0 ? Properties.Settings.Default.com_port : string.Empty);
            ComPortCustomRadioButton.Checked = (selected_index < 0);
            ComPortCustomRadioButton_CheckedChanged(this, null);
            // COM порт: скорость (combo box)
            BaudRateRadioButton.Text = MainForm.Translate.GetString("baud_rate", MainForm.Culture);
            BaudRateComboBox.Left    = BaudRateRadioButton.Left + BaudRateRadioButton.Width + 6;
            selected_index           = -1;
            string[] baud_rates = { "300", "600", "1200", "2400", "4800", "9600", "14400", "19200", "28800", "38400", "56000", "57600", "115200", "128000", "256000" };
            BaudRateComboBox.Items.Clear();
            foreach (var baud_rate in baud_rates)
            {
                int index = BaudRateComboBox.Items.Add(baud_rate);
                if (baud_rate == Properties.Settings.Default.baud_rate.ToString())
                {
                    selected_index = index;
                    BaudRateRadioButton.Checked = true;
                }
            }
            BaudRateComboBox.SelectedIndex = (selected_index < 0 ? 0 : selected_index);
            BaudRateRadioButton_CheckedChanged(this, null);
            // COM порт: скорость (text box)
            BaudRateCustomRadioButton.Left    = BaudRateComboBox.Left + BaudRateComboBox.Width + 6;
            BaudRateCustomRadioButton.Text    = MainForm.Translate.GetString("baud_rate_custom", MainForm.Culture);
            BaudRateTextBox.Left              = BaudRateCustomRadioButton.Left + BaudRateCustomRadioButton.Width + 6;
            BaudRateTextBox.Text              = (selected_index < 0 ? Properties.Settings.Default.baud_rate.ToString() : string.Empty);
            BaudRateCustomRadioButton.Checked = (selected_index < 0);
            BaudRateCustomRadioButton_CheckedChanged(this, null);
            // COM порт: биты данных
            DataBitsLabel.Text    = MainForm.Translate.GetString("data_bits", MainForm.Culture);
            DataBitsComboBox.Left = DataBitsLabel.Left + DataBitsLabel.Width + 6;
            selected_index        = -1;
            string[] data_bits = { "4", "5", "6", "7", "8" };
            DataBitsComboBox.Items.Clear();
            foreach (var data_bit in data_bits)
            {
                int index = DataBitsComboBox.Items.Add(data_bit);
                if (data_bit == Properties.Settings.Default.data_bits.ToString())
                {
                    selected_index = index;
                }
            }
            DataBitsComboBox.SelectedIndex = (selected_index < 0 ? 0 : selected_index);
            // COM порт: стоповые биты
            StopBitsLabel.Text    = MainForm.Translate.GetString("stop_bits", MainForm.Culture);
            StopBitsComboBox.Left = StopBitsLabel.Left + StopBitsLabel.Width + 6;
            selected_index        = -1;
            string[] stop_bits = { "1", "1.5", "2" };
            StopBitsComboBox.Items.Clear();
            foreach (var stop_bit in stop_bits)
            {
                int index = StopBitsComboBox.Items.Add(stop_bit);
                if (index == Properties.Settings.Default.stop_bits)
                {
                    selected_index = index;
                }
            }
            StopBitsComboBox.SelectedIndex = (selected_index < 0 ? 0 : selected_index);
            // COM порт: четность
            ParityLabel.Text    = MainForm.Translate.GetString("parity", MainForm.Culture);
            ParityComboBox.Left = ParityLabel.Left + ParityLabel.Width + 6;
            selected_index      = -1;
            string[] paritys =
            {
                MainForm.Translate.GetString("parity_even",  MainForm.Culture),
                MainForm.Translate.GetString("parity_odd",   MainForm.Culture),
                MainForm.Translate.GetString("parity_none",  MainForm.Culture),
                MainForm.Translate.GetString("parity_mark",  MainForm.Culture),
                MainForm.Translate.GetString("parity_space", MainForm.Culture)
            };
            ParityComboBox.Items.Clear();
            foreach (var parity in paritys)
            {
                int index = ParityComboBox.Items.Add(parity);
                if (index == Properties.Settings.Default.parity)
                {
                    selected_index = index;
                }
            }
            ParityComboBox.SelectedIndex = (selected_index < 0 ? 0 : selected_index);

            // [HTTP запрос]
            tabHTTP.Text = MainForm.Translate.GetString("http_request", MainForm.Culture);
            // HTTP запрос: параметры запроса
            HttpUrlLabel.Text           = MainForm.Translate.GetString("http_url", MainForm.Culture);
            HttpUrlTextBox.Left         = HttpUrlLabel.Left + HttpUrlLabel.Width + 6;
            HttpUrlTextBox.Text         = Properties.Settings.Default.http_url;
            HttpMethodPanel.Left        = HttpUrlTextBox.Left + HttpUrlTextBox.Width + 6;
            HttpMethodPanel.Width       = tabHTTP.Width - HttpMethodPanel.Left - 6;
            HttpGetRadioButton.Text     = MainForm.Translate.GetString("http_get", MainForm.Culture);
            HttpGetRadioButton.Checked  = (Properties.Settings.Default.http_method == 0);
            HttpPostRadioButton.Left    = HttpGetRadioButton.Left + HttpGetRadioButton.Width + 6;
            HttpPostRadioButton.Text    = MainForm.Translate.GetString("http_post", MainForm.Culture);
            HttpPostRadioButton.Checked = (Properties.Settings.Default.http_method == 1);
            HttpPostRadioButton_CheckedChanged(this, null);
            HttpDataLabel.Text        = MainForm.Translate.GetString("http_data", MainForm.Culture);
            HttpDataTextBox.Left      = HttpDataLabel.Left + HttpDataLabel.Width + 6;
            HttpDataTextBox.Text      = Properties.Settings.Default.http_data;
            HttpUserAgentLabel.Text   = MainForm.Translate.GetString("http_useragent", MainForm.Culture);
            HttpUserAgentTextBox.Left = HttpUserAgentLabel.Left + HttpUserAgentLabel.Width + 6;
            HttpUserAgentTextBox.Text = Properties.Settings.Default.http_useragent;
            IntervalLabel.Left        = HttpUserAgentTextBox.Left + HttpUserAgentTextBox.Width + 6;
            IntervalLabel.Text        = MainForm.Translate.GetString("http_interval", MainForm.Culture);
            IntervalTextBox.Left      = IntervalLabel.Left + IntervalLabel.Width + 6;
            IntervalTextBox.Text      = Properties.Settings.Default.http_interval.ToString();
            // HTTP запрос: обработка ответа
            HttpResponseGroupBox.Text       = MainForm.Translate.GetString("http_response", MainForm.Culture);
            HttpResponseMethodLabel.Text    = MainForm.Translate.GetString("http_method", MainForm.Culture);
            HttpResponseMethodComboBox.Left = HttpResponseMethodLabel.Left + HttpResponseMethodLabel.Width + 6;
            selected_index = -1;
            string[] methods = { "JSON", "XML", "RegExp" };
            HttpResponseMethodComboBox.Items.Clear();
            foreach (var method in methods)
            {
                int index = HttpResponseMethodComboBox.Items.Add(method);
                if (index == Properties.Settings.Default.http_response)
                {
                    selected_index = index;
                }
            }
            HttpResponseMethodComboBox.SelectedIndex = (selected_index < 0 ? 0 : selected_index);
            HttpExpressionsGroupBox.Text             = MainForm.Translate.GetString("http_expressions", MainForm.Culture);
            HttpAccuracyCheckBox.Text    = MainForm.Translate.GetString("http_accuracy", MainForm.Culture);
            HttpAccuracyCheckBox.Checked = Properties.Settings.Default.http_accuracy;
            HttpAccuracyCheckBox_CheckedChanged(this, null);
            HttpAccuracyTextBox.Left      = HttpAccuracyCheckBox.Left + HttpAccuracyCheckBox.Width + 6;
            HttpAccuracyTextBox.Text      = Properties.Settings.Default.http_accuracy_exp;
            HttpRadiationCheckBox.Text    = MainForm.Translate.GetString("http_radiation", MainForm.Culture);
            HttpRadiationCheckBox.Checked = Properties.Settings.Default.http_radiation;
            HttpRadiationCheckBox_CheckedChanged(this, null);
            HttpRadiationTextBox.Left = HttpRadiationCheckBox.Left + HttpRadiationCheckBox.Width + 6;
            HttpRadiationTextBox.Text = Properties.Settings.Default.http_radiation_exp;
            HttpUnitLabel.Left        = HttpRadiationTextBox.Left + HttpRadiationTextBox.Width + 6;
            HttpUnitLabel.Text        = MainForm.Translate.GetString("http_unit", MainForm.Culture);
            HttpUnitTextBox.Left      = HttpUnitLabel.Left + HttpUnitLabel.Width + 6;
            HttpUnitTextBox.Text      = Properties.Settings.Default.http_unit;

            // [Автозагрузка]
            tabAutostart.Text = MainForm.Translate.GetString("autostart", MainForm.Culture);
            // Автозагрузка: чекбоксы
            AutostartCheckBox.Text   = MainForm.Translate.GetString("run_windows", MainForm.Culture);
            MinimizeCheckBox.Text    = MainForm.Translate.GetString("run_minimized", MainForm.Culture);
            MaximizeCheckBox.Text    = MainForm.Translate.GetString("run_maximized", MainForm.Culture);
            AutoconnectCheckBox.Text = MainForm.Translate.GetString("run_connected", MainForm.Culture);
            // Автозагрузка: устанавливаем значения
            RegistryKey reg_key   = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", false);
            object      reg_value = reg_key.GetValue(System.Reflection.Assembly.GetExecutingAssembly().GetName().Name);

            if (reg_value != null)
            {
                AutostartCheckBox.Checked   = true;
                MinimizeCheckBox.Checked    = (reg_value.ToString().IndexOf("/minimize") > -1) ? true : false;
                MaximizeCheckBox.Checked    = (reg_value.ToString().IndexOf("/maximize") > -1) ? true : false;
                AutoconnectCheckBox.Checked = (reg_value.ToString().IndexOf("/connect") > -1) ? true : false;
            }
            else
            {
                AutostartCheckBox.Checked   = false;
                MinimizeCheckBox.Checked    = false;
                MaximizeCheckBox.Checked    = false;
                AutoconnectCheckBox.Checked = false;
            }

            // [Допуски]
            tabLevels.Text = MainForm.Translate.GetString("levels", MainForm.Culture);
            // Допуски: повышеный уровень
            WarningLvlLabel.Text          = MainForm.Translate.GetString("lvl_warning", MainForm.Culture);
            WarningLvlNumericUpDown.Left  = WarningLvlLabel.Left + WarningLvlLabel.Width + 6;
            WarningLvlNumericUpDown.Value = Convert.ToDecimal(Properties.Settings.Default.warning_level);
            // Допуски: опасный уровень
            DangerLvlLabel.Text          = MainForm.Translate.GetString("lvl_danger", MainForm.Culture);
            DangerLvlNumericUpDown.Left  = DangerLvlLabel.Left + DangerLvlLabel.Width + 6;
            DangerLvlNumericUpDown.Value = Convert.ToDecimal(Properties.Settings.Default.danger_level);

            // [Уведомления]
            tabNotify.Text = MainForm.Translate.GetString("notifications", MainForm.Culture);
            // Уведомления: чекбоксы
            VoiceNotifyCheckBox.Text    = MainForm.Translate.GetString("notify_voice", MainForm.Culture);
            TrayNotifyCheckBox.Text     = MainForm.Translate.GetString("nitify_tray", MainForm.Culture);
            VoiceNotifyCheckBox.Checked = Properties.Settings.Default.voice_notify;
            TrayNotifyCheckBox.Checked  = Properties.Settings.Default.tray_notify;
        }