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); }
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()); }
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 { } }
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(); }
/// <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))); }
internal ProjectStyle(Application app, StyleConfiguration config = null) { _resources = app.Resources; MergeDictionaries(config, config == null); }
private void OnGettingConfiguration(object sender, DoWorkEventArgs e) { BeginInvoke(new MethodInvoker(delegate() { configuration = registryManager.GetGeneralConfiguration(); })); Style = registryManager.GetStyleConfiguration(); }