Пример #1
0
 public void Save(StyleConfiguration config)
 {
     StyleConfiguration.SetValue("Adaptive", config.Adaptive, RegistryValueKind.String);
     StyleConfiguration.SetValue("TextColor", config.TextColor, RegistryValueKind.String);
     StyleConfiguration.SetValue("Font", config.FontFamily, RegistryValueKind.String);
     StyleConfiguration.SetValue("Icon", config.Icon, RegistryValueKind.String);
 }
Пример #2
0
        private void MergeDictionaries(StyleConfiguration config, bool addDefaults)
        {
            if (config != null)
            {
                if (config.ColorConfiguration != null)
                {
                    _resources.MergedDictionaries.Remove(defaultColors.Value);
                    _resources.MergedDictionaries.Add(new Colors(config.ColorConfiguration));
                }
                else if (addDefaults && !_resources.MergedDictionaries.Contains((defaultColors.Value)))
                {
                    _resources.MergedDictionaries.Add(defaultColors.Value);
                }

                if (config.FontConfiguration != null)
                {
                    _resources.MergedDictionaries.Remove(defaultTypos.Value);
                    _resources.MergedDictionaries.Add(new Typography(config.FontConfiguration));
                }
                else if (addDefaults && !_resources.MergedDictionaries.Contains((defaultTypos.Value)))
                {
                    _resources.MergedDictionaries.Add(defaultTypos.Value);
                }
            }

            if (addDefaults)
            {
                if (config == null)
                {
                    if (!_resources.MergedDictionaries.Contains((defaultColors.Value)))
                    {
                        _resources.MergedDictionaries.Add(defaultColors.Value);
                    }

                    if (!_resources.MergedDictionaries.Contains((defaultTypos.Value)))
                    {
                        _resources.MergedDictionaries.Add(defaultTypos.Value);
                    }
                }

                if (!_resources.MergedDictionaries.Contains((defaultSizes.Value)))
                {
                    _resources.MergedDictionaries.Add(defaultSizes.Value);
                }
            }

            // MERGE YOUR PREDEFINED STYLES HERE
            _resources.MergedDictionaries.Add(new Base());
        }
Пример #3
0
        private void BtnSaveStyle_Click(object sender, EventArgs e)
        {
            if (ComboboxFont.SelectedItem != null)
            {
                StyleConfiguration styleConfiguration = new StyleConfiguration
                {
                    Adaptive   = ToggleAdaptive.Checked,
                    TextColor  = ColorTranslator.ToHtml(colorGrid1.Color),
                    FontFamily = ComboboxFont.SelectedItem.ToString()
                };

                if (radioPictArrow.Checked == true)
                {
                    styleConfiguration.Icon = IconStyle.Arrow;
                }
                else if (radioPictTriangleArrow.Checked == true)
                {
                    styleConfiguration.Icon = IconStyle.TriangleArrow;
                }
                else if (radioPictOutline.Checked == true)
                {
                    styleConfiguration.Icon = IconStyle.Outline_Arrow;
                }

                registryManager.Save(styleConfiguration);
            }
            else
            {
                MessageBox.Show(this, "You have not chosen font style", "Oopss!!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            try
            {
                NativeMethods.PostMessage(new IntPtr(Convert.ToInt32(registryManager.GetHwnd())), NativeMethods.WM_RESTART, IntPtr.Zero, IntPtr.Zero);
            }
            catch { }
        }
Пример #4
0
        private void ConfigureStyle()
        {
            Thread styleThread = new Thread(delegate()
            {
                this.BeginInvoke(new MethodInvoker(delegate()
                {
                    this.BackColor     = ColorTranslator.FromHtml("#000");
                    styleConfiguration = registryManager.GetStyleConfiguration();

                    LblUpload.ForeColor   = ColorTranslator.FromHtml(styleConfiguration.TextColor);
                    LblDownload.ForeColor = LblUpload.ForeColor;

                    LblUpload.Font   = new Font(styleConfiguration.FontFamily, LblUpload.Font.Size);
                    LblDownload.Font = LblUpload.Font;

                    bool IsDark = false;

                    try
                    {
                        var taskBar        = new TaskBarHelper();
                        Color taskBarColor = taskBar.GetColourAt(taskBar.GetTaskbarPosition().Location);
                        IsDark             = taskBar.IsDarkColor((int)taskBarColor.R, (int)taskBarColor.G, (int)taskBarColor.B);
                    }
                    catch
                    {
                        goto setIcon;
                    }

                    setIcon:

                    if (styleConfiguration.Icon == IconStyle.Arrow && IsDark == false)
                    {
                        pictUpload.Image   = Properties.Resources.up_black_16px;
                        pictDownload.Image = Properties.Resources.down_black_16px;

                        pictDownload.Location = new Point(11, 17);
                    }
                    else if (styleConfiguration.Icon == IconStyle.Arrow && IsDark)
                    {
                        pictUpload.Image   = Properties.Resources.up_white_16px;
                        pictDownload.Image = Properties.Resources.down_white_16px;

                        pictDownload.Location = new Point(11, 17);
                    }
                    else if (styleConfiguration.Icon == IconStyle.TriangleArrow && IsDark == false)
                    {
                        pictUpload.Image   = Properties.Resources.Triangle_up_arrow_black_16px;
                        pictDownload.Image = Properties.Resources.Triangle_down_arrow_black_16px;
                    }
                    else if (styleConfiguration.Icon == IconStyle.TriangleArrow && IsDark)
                    {
                        pictUpload.Image   = Properties.Resources.Triangle_up_arrow_16px;
                        pictDownload.Image = Properties.Resources.Triangle_down_arrow_16px;
                    }
                    else if (styleConfiguration.Icon == IconStyle.Outline_Arrow && IsDark == false)
                    {
                        pictUpload.Image   = Properties.Resources.outline_arrow_up_black_16px;
                        pictDownload.Image = Properties.Resources.outline_arrow_down_black_16px;
                    }
                    else if (styleConfiguration.Icon == IconStyle.Outline_Arrow && IsDark)
                    {
                        pictUpload.Image   = Properties.Resources.outline_arrow_up_white_16px;
                        pictDownload.Image = Properties.Resources.outline_arrow_down_white_16px;
                    }
                }));
            });

            styleThread.Start();
        }
Пример #5
0
 /// <summary>
 /// Configure's the current app's resources by merging pre-defined  resources and creating new resources based on the <see cref="Configuration"/>'s properties.
 /// </summary>
 /// <param name="app">The cross-platform mobile application that is running.</param>
 /// <param name="config">The object containing the <see cref="ColorConfiguration"/> and <see cref="FontConfiguration"/>.</param>
 /// <exception cref="ArgumentNullException" />
 public static void Init(Application app, StyleConfiguration config)
 {
     new ProjectStyle(app ?? throw new ArgumentNullException(nameof(app)), config ?? throw new ArgumentNullException(nameof(config)));
 }
Пример #6
0
 internal ProjectStyle(Application app, StyleConfiguration config = null)
 {
     _resources = app.Resources;
     MergeDictionaries(config, config == null);
 }
Пример #7
0
        private void OnGettingConfiguration(object sender, DoWorkEventArgs e)
        {
            BeginInvoke(new MethodInvoker(delegate() { configuration = registryManager.GetGeneralConfiguration(); }));

            Style = registryManager.GetStyleConfiguration();
        }