Beispiel #1
0
        public Settings()
        {
            // // To add event handlers for saving and changing settings, uncomment the lines below:
            //
            // this.SettingChanging += this.SettingChangingEventHandler;
            //
            // this.SettingsSaving += this.SettingsSavingEventHandler;
            //

            // http://stackoverflow.com/a/13807361
            // add the custom settings provider to all of the properties
            SettingsProvider provider = new CustomSettingsProvider();

            // Try to re-use an existing provider, since we cannot have multiple providers
            // with same name.
            if (Providers[provider.Name] == null)
            {
                Providers.Add(provider);
            }
            else
            {
                provider = Providers[provider.Name];
            }

            // Change default provider.
            foreach (SettingsProperty property in Properties)
            {
                if (property.PropertyType.GetCustomAttributes(typeof(SettingsProviderAttribute), false).Length == 0)
                {
                    property.Provider = provider;
                }
            }
        }
Beispiel #2
0
        public Settings()
        {
            // // To add event handlers for saving and changing settings, uncomment the lines below:
            //
            // this.SettingChanging += this.SettingChangingEventHandler;
            //
            // this.SettingsSaving += this.SettingsSavingEventHandler;
            //

            // http://stackoverflow.com/a/13807361
            // add the custom settings provider to all of the properties
            SettingsProvider provider = new CustomSettingsProvider();

            // Try to re-use an existing provider, since we cannot have multiple providers
            // with same name.
            if (Providers[provider.Name] == null)
            {
                Providers.Add(provider);
            }
            else
            {
                provider = Providers[provider.Name];
            }

            // Change default provider.
            foreach (SettingsProperty property in Properties)
            {
                if (property.PropertyType.GetCustomAttributes(typeof(SettingsProviderAttribute), false).Length == 0)
                {
                    property.Provider = provider;
                }
            }
        }
Beispiel #3
0
        private async Task <string> GetTheme()
        {
            var theme = await CustomSettingsProvider.GetParameter(CustomSettingsProvider.THEME_KEY);

            if (string.IsNullOrWhiteSpace(theme))
            {
                return(CustomSettingsProvider.THEME_WHITE);
            }

            return(theme);
        }
Beispiel #4
0
        public async Task OnThemeSelected(Syncfusion.EJ2.Blazor.SplitButtons.MenuEventArgs args)
        {
            if (args.Element.ID.Equals(CustomSettingsProvider.THEME_DARK, StringComparison.InvariantCultureIgnoreCase))
            {
                await CustomSettingsProvider.SetParameter(CustomSettingsProvider.THEME_KEY, CustomSettingsProvider.THEME_DARK);

                CurrentTheme = CustomSettingsProvider.THEME_DARK;
            }

            if (args.Element.ID.Equals(CustomSettingsProvider.THEME_WHITE, StringComparison.InvariantCultureIgnoreCase))
            {
                await CustomSettingsProvider.SetParameter(CustomSettingsProvider.THEME_KEY, CustomSettingsProvider.THEME_WHITE);

                CurrentTheme = CustomSettingsProvider.THEME_WHITE;
            }
        }
Beispiel #5
0
        private void ButtonOk_Click(object sender, EventArgs e)
        {
            Settings.Default.UseIconFromRootFolder =
                checkBoxUseIconFromRootFolder.Checked;

            SaveAutostart();
            void SaveAutostart()
            {
                if (checkBoxAutostart.Checked)
                {
                    RegistryKey key = Registry.CurrentUser.OpenSubKey(
                        @"SOFTWARE\Microsoft\Windows\CurrentVersion\Run", true);
                    key.SetValue(
                        Assembly.GetExecutingAssembly().GetName().Name,
                        System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName);
                    Settings.Default.IsAutostartActivated = true;
                }
                else
                {
                    RegistryKey key = Registry.CurrentUser.OpenSubKey(
                        @"SOFTWARE\Microsoft\Windows\CurrentVersion\Run", true);
                    key.DeleteValue("SystemTrayMenu", false);
                    Settings.Default.IsAutostartActivated = false;
                }
            }

            SaveHotkey();
            void SaveHotkey()
            {
                Settings.Default.HotKey =
                    new KeysConverter().ConvertToInvariantString(
                        textBoxHotkey.Hotkey | textBoxHotkey.HotkeyModifiers);
            }

            SaveLanguage();
            void SaveLanguage()
            {
                Settings.Default.CurrentCultureInfoName =
                    comboBoxLanguage.SelectedValue.ToString();
            }

            Settings.Default.OpenItemWithOneClick     = checkBoxOpenItemWithOneClick.Checked;
            Settings.Default.AppearAtMouseLocation    = checkBoxAppearAtMouseLocation.Checked;
            Settings.Default.MaximumMenuWidth         = (int)numericUpDownMenuWidth.Value;
            Settings.Default.MaximumMenuHeight        = (int)numericUpDownMenuHeight.Value;
            Settings.Default.StaysOpenWhenItemClicked = checkBoxStayOpenWhenItemClicked.Checked;
            Settings.Default.StaysOpenWhenFocusLost   = checkBoxStayOpenWhenFocusLost.Checked;
            Settings.Default.TimeUntilCloses          = (int)numericUpDownTimeUntilClose.Value;
            Settings.Default.TimeUntilOpens           = (int)numericUpDownTimeUntilOpens.Value;

            Settings.Default.IsDarkModeAlwaysOn = checkBoxDarkModeAlwaysOn.Checked;

            if (checkBoxStoreConfigAtAssemblyLocation.Checked)
            {
                CustomSettingsProvider.ActivateConfigPathAssembly();
                Settings.Default.Save();
            }
            else
            {
                Settings.Default.Save();
                CustomSettingsProvider.DeactivateConfigPathAssembly();
            }

            DialogResult = DialogResult.OK;
            Close();
        }
Beispiel #6
0
        public SettingsForm()
        {
            InitializeComponent();
            Icon = SystemTrayMenu;

            // Initialize and replace here here, because designer always removes it
            InitializeTextBoxHotkeyAndReplacetextBoxHotkeyPlaceholder();
            void InitializeTextBoxHotkeyAndReplacetextBoxHotkeyPlaceholder()
            {
                textBoxHotkey = new HotkeyTextboxControl.HotkeyControl
                {
                    Hotkey          = Keys.None,
                    HotkeyModifiers = Keys.None,
                    Name            = "textBoxHotkey",
                    Size            = new Size(200, 20),
                    Text            = "None",
                };
                textBoxHotkey.Enter += new EventHandler(TextBoxHotkeyEnter);
                textBoxHotkey.Leave += new EventHandler(TextBoxHotkey_Leave);
                tableLayoutPanelHotkey.Controls.Remove(textBoxHotkeyPlaceholder);
                tableLayoutPanelHotkey.Controls.Add(textBoxHotkey, 0, 0);
            }

            // designer always resets it to 1
            tabControl.SelectedIndex = 0;

            CombineControls(textBoxColorTitle, pictureBoxTitle);
            CombineControls(textBoxColorBackground, pictureBoxBackground);
            CombineControls(textBoxColorSearchField, pictureBoxSearchField);
            CombineControls(textBoxColorOpenFolder, pictureBoxOpenFolder);
            CombineControls(textBoxColorOpenFolderBorder, pictureBoxOpenFolderBorder);
            CombineControls(textBoxColorSelectedItem, pictureBoxSelectedItem);
            CombineControls(textBoxColorSelectedItemBorder, pictureBoxSelectedItemBorder);
            CombineControls(textBoxColorWarning, pictureBoxWarning);
            CombineControls(textBoxColorScrollbarBackground, pictureBoxScrollbarBackground);
            CombineControls(textBoxColorSlider, pictureBoxSlider);
            CombineControls(textBoxColorSliderDragging, pictureBoxSliderDragging);
            CombineControls(textBoxColorSliderHover, pictureBoxSliderHover);
            CombineControls(textBoxColorSliderArrowsAndTrackHover, pictureBoxSliderArrowsAndTrackHover);
            CombineControls(textBoxColorArrow, pictureBoxArrow);
            CombineControls(textBoxColorArrowClick, pictureBoxArrowClick);
            CombineControls(textBoxColorArrowClickBackground, pictureBoxArrowClickBackground);
            CombineControls(textBoxColorArrowHover, pictureBoxArrowHover);
            CombineControls(textBoxColorArrowHoverBackground, pictureBoxArrowHoverBackground);

            CombineControls(textBoxColorTitleDarkMode, pictureBoxTitleDarkMode);
            CombineControls(textBoxColorBackgroundDarkMode, pictureBoxBackgroundDarkMode);
            CombineControls(textBoxColorSearchFieldDarkMode, pictureBoxSearchFieldDarkMode);
            CombineControls(textBoxColorOpenFolderDarkMode, pictureBoxOpenFolderDarkMode);
            CombineControls(textBoxColorOpenFolderBorderDarkMode, pictureBoxOpenFolderBorderDarkMode);
            CombineControls(textBoxColorSelecetedItemDarkMode, pictureColorBoxSelectedItemDarkMode);
            CombineControls(textBoxColorSelectedItemBorderDarkMode, pictureBoxSelectedItemBorderDarkMode);
            CombineControls(textBoxColorWarningDarkMode, pictureBoxWarningDarkMode);
            CombineControls(textBoxColorScrollbarBackgroundDarkMode, pictureBoxScrollbarBackgroundDarkMode);
            CombineControls(textBoxColorSliderDarkMode, pictureBoxSliderDarkMode);
            CombineControls(textBoxColorSliderDraggingDarkMode, pictureBoxSliderDraggingDarkMode);
            CombineControls(textBoxColorSliderHoverDarkMode, pictureBoxSliderHoverDarkMode);
            CombineControls(textBoxColorSliderArrowsAndTrackHoverDarkMode, pictureBoxSliderArrowsAndTrackHoverDarkMode);
            CombineControls(textBoxColorArrowDarkMode, pictureBoxArrowDarkMode);
            CombineControls(textBoxColorArrowClickDarkMode, pictureBoxArrowClickDarkMode);
            CombineControls(textBoxColorArrowClickBackgroundDarkMode, pictureBoxArrowClickBackgroundDarkMode);
            CombineControls(textBoxColorArrowHoverDarkMode, pictureBoxArrowHoverDarkMode);
            CombineControls(textBoxColorArrowHoverBackgroundDarkMode, pictureBoxArrowHoverBackgroundDarkMode);
            void CombineControls(Control textBoxColor, Control pictureBox)
            {
                textBoxColor.Tag = pictureBox;
                pictureBox.Tag   = textBoxColor;
            }

            Translate();
            void Translate()
            {
                Text = Translator.GetText("Settings");
                tabPageGeneral.Text                = Translator.GetText("General");
                tabPageAdvanced.Text               = Translator.GetText("Advanced");
                tabPageCustomize.Text              = Translator.GetText("Customize");
                groupBoxFolder.Text                = Translator.GetText("Folder");
                buttonChangeFolder.Text            = Translator.GetText("Change folder");
                checkBoxUseIconFromRootFolder.Text = Translator.GetText("Use icon from folder");
                groupBoxUSB.Text = Translator.GetText("USB");
                buttonChangeRelativeFolder.Text            = Translator.GetText("Change to relative folder");
                checkBoxStoreConfigAtAssemblyLocation.Text = Translator.GetText("Store config at the assembly location");
                buttonOpenAssemblyLocation.Text            = Translator.GetText("Open the assembly location");
                groupBoxAutostart.Text               = Translator.GetText("Autostart");
                checkBoxAutostart.Text               = Translator.GetText("Launch on startup");
                groupBoxHotkey.Text                  = Translator.GetText("Hotkey");
                buttonHotkeyDefault.Text             = Translator.GetText("Default");
                groupBoxLanguage.Text                = Translator.GetText("Language");
                groupBoxClick.Text                   = Translator.GetText("Click");
                checkBoxOpenItemWithOneClick.Text    = Translator.GetText("Single click to start item");
                groupBoxSizeAndLocation.Text         = Translator.GetText("Size and location");
                checkBoxAppearAtMouseLocation.Text   = Translator.GetText("Appear at mouse location");
                labelMaxMenuWidth.Text               = Translator.GetText("Pixels maximum menu width");
                labelMaxMenuHeight.Text              = Translator.GetText("Pixels maximum menu height");
                groupBoxStaysOpen.Text               = Translator.GetText("Stays open");
                checkBoxStayOpenWhenItemClicked.Text = Translator.GetText("If an item was clicked");
                checkBoxStayOpenWhenFocusLost.Text   = Translator.GetText("If the focus is lost and if the mouse is still on the menu");
                labelTimeUntilCloses.Text            = Translator.GetText("Milliseconds until the menu closes if in this case the mouse then leaves the menu");
                groupBoxOpenSubmenus.Text            = Translator.GetText("Time until a menu opens");
                labelTimeUntilOpen.Text              = Translator.GetText("Milliseconds until a menu opens when the mouse is on it");
                buttonAdvancedDefault.Text           = Translator.GetText("Default");
                groupBoxColorsLightMode.Text         = Translator.GetText("Colors Light Mode");
                groupBoxColorsDarkMode.Text          = Translator.GetText("Colors Dark Mode");
                labelMenuLightMode.Text              = Translator.GetText("Menu");
                labelMenuDarkMode.Text               = Translator.GetText("Menu");
                labelScrollbarLightMode.Text         = Translator.GetText("Scrollbar");
                labelScrollbarDarkMode.Text          = Translator.GetText("Scrollbar");
                checkBoxDarkModeAlwaysOn.Text        = Translator.GetText("Dark Mode always active");
                labelTitle.Text                                  = Translator.GetText("Title");
                labelTitleDarkMode.Text                          = Translator.GetText("Title");
                labelBackground.Text                             = Translator.GetText("Background");
                labelBackgroundDarkMode.Text                     = Translator.GetText("Background");
                labelSearchField.Text                            = Translator.GetText("Search field");
                labelSearchFieldDarkMode.Text                    = Translator.GetText("Search field");
                labelOpenFolder.Text                             = Translator.GetText("Opened folder");
                labelOpenFolderDarkMode.Text                     = Translator.GetText("Opened folder");
                labelOpenFolderBorder.Text                       = Translator.GetText("Border of opened folder");
                labelOpenFolderBorderDarkMode.Text               = Translator.GetText("Border of opened folder");
                labelSelectedItem.Text                           = Translator.GetText("Selected item");
                labelSelectedItemDarkMode.Text                   = Translator.GetText("Selected item");
                labelSelectedItemBorder.Text                     = Translator.GetText("Border of selected item");
                labelSelectedItemBorderDarkMode.Text             = Translator.GetText("Border of selected item");
                labelWarning.Text                                = Translator.GetText("Warning");
                labelWarningDarkMode.Text                        = Translator.GetText("Warning");
                labelScrollbarBackground.Text                    = Translator.GetText("Background");
                labelColorDarkModeScrollbarBackground.Text       = Translator.GetText("Background");
                labelSlider.Text                                 = Translator.GetText("Slider");
                labelColorDarkModeSlider.Text                    = Translator.GetText("Slider");
                labelSliderDragging.Text                         = Translator.GetText("Slider while dragging");
                labelColorDarkModeSliderDragging.Text            = Translator.GetText("Slider while dragging");
                labelSliderHover.Text                            = Translator.GetText("Slider while mouse hovers 1");
                labelColorDarkModeSliderHover.Text               = Translator.GetText("Slider while mouse hovers 1");
                labelSliderArrowsAndTrackHover.Text              = Translator.GetText("Slider while mouse hovers 2");
                labelColorDarkModeSliderArrowsAndTrackHover.Text = Translator.GetText("Slider while mouse hovers 2");
                labelArrow.Text                                  = Translator.GetText("Arrow");
                labelColorDarkModeArrow.Text                     = Translator.GetText("Arrow");
                labelArrowClick.Text                             = Translator.GetText("Arrow when clicking");
                labelColorDarkModeArrowClick.Text                = Translator.GetText("Arrow when clicking");
                labelArrowClickBackground.Text                   = Translator.GetText("Background of arrow when clicking");
                labelColorDarkModeArrowClickBackground.Text      = Translator.GetText("Background of arrow when clicking");
                labelArrowHover.Text                             = Translator.GetText("Arrow while mouse hovers");
                labelColorDarkModeArrowHover.Text                = Translator.GetText("Arrow while mouse hovers");
                labelArrowHoverBackground.Text                   = Translator.GetText("Background of arrow while mouse hovers");
                labelColorDarkModeArrowHoverBackground.Text      = Translator.GetText("Background of arrow while mouse hovers");

                buttonColorsDefault.Text         = Translator.GetText("Default");
                buttonColorsDefaultDarkMode.Text = Translator.GetText("Default");
                buttonOk.Text     = Translator.GetText("buttonOk");
                buttonCancel.Text = Translator.GetText("buttonCancel");
            }

            InitializeFolder();
            void InitializeFolder()
            {
                textBoxFolder.Text = Config.Path;
                checkBoxUseIconFromRootFolder.Checked =
                    Settings.Default.UseIconFromRootFolder;
            }

            InitializeAutostart();
            void InitializeAutostart()
            {
                checkBoxAutostart.Checked =
                    Settings.Default.IsAutostartActivated;
            }

            InitializeHotkey();
            void InitializeHotkey()
            {
                textBoxHotkey.SetHotkey(Settings.Default.HotKey);
            }

            InitializeLanguage();
            void InitializeLanguage()
            {
                List <Language> dataSource = new List <Language>
                {
                    new Language()
                    {
                        Name = "čeština", Value = "cs"
                    },
                    new Language()
                    {
                        Name = "Deutsch", Value = "de"
                    },
                    new Language()
                    {
                        Name = "English", Value = "en"
                    },
                    new Language()
                    {
                        Name = "Español", Value = "es"
                    },
                    new Language()
                    {
                        Name = "Français", Value = "fr"
                    },
                    new Language()
                    {
                        Name = "Italiano", Value = "it"
                    },
                    new Language()
                    {
                        Name = "Nederlands", Value = "nl"
                    },
                    new Language()
                    {
                        Name = "Português (Brasil)", Value = "pt-BR"
                    },
                    new Language()
                    {
                        Name = "中文(简体)", Value = "zh-CN"
                    },
                    new Language()
                    {
                        Name = "日本語", Value = "ja"
                    },
                    new Language()
                    {
                        Name = "한국어", Value = "ko"
                    },
                    new Language()
                    {
                        Name = "русский", Value = "ru"
                    },
                    new Language()
                    {
                        Name = "Tiếng Việt", Value = "vi"
                    },

                    // new Language() { Name = "русский", Value = "ru" },
                };

                comboBoxLanguage.DataSource    = dataSource;
                comboBoxLanguage.DisplayMember = "Name";
                comboBoxLanguage.ValueMember   = "Value";
                comboBoxLanguage.SelectedValue =
                    Settings.Default.CurrentCultureInfoName;
                if (comboBoxLanguage.SelectedValue == null)
                {
                    comboBoxLanguage.SelectedValue = "en";
                }
            }

            checkBoxStoreConfigAtAssemblyLocation.Checked = CustomSettingsProvider.IsActivatedConfigPathAssembly();

            checkBoxOpenItemWithOneClick.Checked  = Settings.Default.OpenItemWithOneClick;
            checkBoxAppearAtMouseLocation.Checked = Settings.Default.AppearAtMouseLocation;

            numericUpDownMenuWidth.Minimum   = 50;
            numericUpDownMenuWidth.Maximum   = 1000;
            numericUpDownMenuWidth.Increment = 10;
            numericUpDownMenuWidth.Value     = Settings.Default.MaximumMenuWidth;

            numericUpDownMenuHeight.Minimum   = 200;
            numericUpDownMenuHeight.Maximum   = 4000;
            numericUpDownMenuHeight.Increment = 10;
            numericUpDownMenuHeight.Value     = Settings.Default.MaximumMenuHeight;

            checkBoxStayOpenWhenItemClicked.Checked = Settings.Default.StaysOpenWhenItemClicked;
            checkBoxStayOpenWhenFocusLost.Checked   = Settings.Default.StaysOpenWhenFocusLost;

            numericUpDownTimeUntilClose.Minimum   = 200;
            numericUpDownTimeUntilClose.Maximum   = 5000;
            numericUpDownTimeUntilClose.Increment = 100;
            numericUpDownTimeUntilClose.Value     = Settings.Default.TimeUntilCloses;

            numericUpDownTimeUntilOpens.Minimum   = 20;
            numericUpDownTimeUntilOpens.Maximum   = 1000;
            numericUpDownTimeUntilOpens.Increment = 10;
            numericUpDownTimeUntilOpens.Value     = Settings.Default.TimeUntilOpens;

            checkBoxDarkModeAlwaysOn.Checked            = Settings.Default.IsDarkModeAlwaysOn;
            textBoxColorSelectedItem.Text               = Settings.Default.ColorSelectedItem;
            textBoxColorSelecetedItemDarkMode.Text      = Settings.Default.ColorDarkModeSelecetedItem;
            textBoxColorSelectedItemBorder.Text         = Settings.Default.ColorSelectedItemBorder;
            textBoxColorSelectedItemBorderDarkMode.Text = Settings.Default.ColorDarkModeSelectedItemBorder;
            textBoxColorOpenFolder.Text               = Settings.Default.ColorOpenFolder;
            textBoxColorOpenFolderDarkMode.Text       = Settings.Default.ColorDarkModeOpenFolder;
            textBoxColorOpenFolderBorder.Text         = Settings.Default.ColorOpenFolderBorder;
            textBoxColorOpenFolderBorderDarkMode.Text = Settings.Default.ColorDarkModeOpenFolderBorder;
            textBoxColorWarning.Text             = Settings.Default.ColorWarning;
            textBoxColorWarningDarkMode.Text     = Settings.Default.ColorDarkModeWarning;
            textBoxColorTitle.Text               = Settings.Default.ColorTitle;
            textBoxColorTitleDarkMode.Text       = Settings.Default.ColorDarkModeTitle;
            textBoxColorBackground.Text          = Settings.Default.ColorBackground;
            textBoxColorBackgroundDarkMode.Text  = Settings.Default.ColorDarkModeBackground;
            textBoxColorSearchField.Text         = Settings.Default.ColorSearchField;
            textBoxColorSearchFieldDarkMode.Text = Settings.Default.ColorDarkModeSearchField;

            textBoxColorScrollbarBackground.Text = Settings.Default.ColorScrollbarBackground;
            textBoxColorSlider.Text                    = Settings.Default.ColorSlider;
            textBoxColorSliderDragging.Text            = Settings.Default.ColorSliderDragging;
            textBoxColorSliderHover.Text               = Settings.Default.ColorSliderHover;
            textBoxColorSliderArrowsAndTrackHover.Text = Settings.Default.ColorSliderArrowsAndTrackHover;
            textBoxColorArrow.Text                             = Settings.Default.ColorArrow;
            textBoxColorArrowClick.Text                        = Settings.Default.ColorArrowClick;
            textBoxColorArrowClickBackground.Text              = Settings.Default.ColorArrowClickBackground;
            textBoxColorArrowHover.Text                        = Settings.Default.ColorArrowHover;
            textBoxColorArrowHoverBackground.Text              = Settings.Default.ColorArrowHoverBackground;
            textBoxColorScrollbarBackgroundDarkMode.Text       = Settings.Default.ColorScrollbarBackgroundDarkMode;
            textBoxColorSliderDarkMode.Text                    = Settings.Default.ColorSliderDarkMode;
            textBoxColorSliderDraggingDarkMode.Text            = Settings.Default.ColorSliderDraggingDarkMode;
            textBoxColorSliderHoverDarkMode.Text               = Settings.Default.ColorSliderHoverDarkMode;
            textBoxColorSliderArrowsAndTrackHoverDarkMode.Text = Settings.Default.ColorSliderArrowsAndTrackHoverDarkMode;
            textBoxColorArrowDarkMode.Text                     = Settings.Default.ColorArrowDarkMode;
            textBoxColorArrowClickDarkMode.Text                = Settings.Default.ColorArrowClickDarkMode;
            textBoxColorArrowClickBackgroundDarkMode.Text      = Settings.Default.ColorArrowClickBackgroundDarkMode;
            textBoxColorArrowHoverDarkMode.Text                = Settings.Default.ColorArrowHoverDarkMode;
            textBoxColorArrowHoverBackgroundDarkMode.Text      = Settings.Default.ColorArrowHoverBackgroundDarkMode;
        }