public GeneralSettingsPanel() : base()
        {
            this.Title = "TXT_S_GENERALSETTINGS";
            InitializeComponent();

            bool allowGUISetup = AppConfig.AllowRealtimeGUISetup;

            #region Languages

            foreach (CultureInfo ci in AppConfig.SupportedCultures)
            {
                cmbLanguages.Items.Add(new Language(ci.Name));
            }

            curLangID = Translator.GetInterfaceLanguage();
            for (int i = 0; i < cmbLanguages.Items.Count; i++)
            {
                if ((cmbLanguages.Items[i] as Language).ID == curLangID)
                {
                    cmbLanguages.SelectedIndex = i;
                    break;
                }
            }
            this.cmbLanguages.SelectedIndexChanged += new System.EventHandler(this.OnSettingsChanged);

            lblSetLanguage.Visible = allowGUISetup;
            cmbLanguages.Visible   = allowGUISetup;

            #endregion

            #region Themes

            cmbThemes.DataSource   = ThemeManager.Themes;
            cmbThemes.SelectedItem = AppConfig.SkinType;
            _initialSkinType       = AppConfig.SkinType;

            lblSetSkin.Visible = (allowGUISetup && cmbThemes.Items.Count > 1);
            cmbThemes.Visible  = (allowGUISetup && cmbThemes.Items.Count > 1);

            this.cmbThemes.SelectedIndexChanged += new System.EventHandler(this.OnThemeChanged);
            #endregion

            labelProductName.Text = $"{Constants.SuiteName} - {Translator.TranslatedAppName}";

            labelVersion.Text = Translator.Translate("TXT_VERSION",
                                                     AssemblyInfo.GetVersionNumber(Assembly.GetEntryAssembly()));

            labelCopyright.Text = AssemblyInfo.GetCopyright(Assembly.GetEntryAssembly());

            chkAllowAutoUpdates.Checked              = AppConfig.AllowAutomaticUpdates;
            this.chkAllowAutoUpdates.CheckedChanged += new System.EventHandler(this.OnSettingsChanged);

            chkAllowAutoUpdates.Visible = allowGUISetup;
            btnCheckUpdates.Visible     = allowGUISetup;
        }
        public static void ShowAboutBox()
        {
            Assembly thisAssembly = Assembly.GetEntryAssembly();

            string msgFmt          = "{0}\n{1}\n{2}\n";
            string caption         = Translator.Translate("TXT_ABOUT", Translator.TranslatedAppName);
            string copyrightNotice = AssemblyInfo.GetCopyright(Assembly.GetEntryAssembly());

            DateTime?buildDate = ApplicationInfo.BuildDateTime;

            string message = string.Format(msgFmt,
                                           Translator.TranslatedAppName,
                                           Translator.Translate("TXT_VERSION", AssemblyInfo.GetVersionNumber(thisAssembly)),
                                           buildDate.HasValue ?
                                           $"{copyrightNotice}, 2005-{buildDate.Value.Year}" :
                                           copyrightNotice);

            MessageDisplay dlg = new MessageDisplay(message, caption, MessageBoxIcon.None);

            dlg._isAboutBox = true;
            dlg.ShowDialog();
        }