Ejemplo n.º 1
0
        public override async Task Execute(params object[] args)
        {
            using (var one = new OneNote(out var page, out _))
            {
                var color = page.GetPageColor(out _, out _);

                using (var dialog = new ChangePageColorDialog(color))
                {
                    if (dialog.ShowDialog(owner) != DialogResult.OK)
                    {
                        return;
                    }

                    UpdatePageColor(page, dialog.PageColor);
                    ThemeProvider.RecordTheme(dialog.ThemeKey);

                    if (dialog.ApplyStyle)
                    {
                        new ApplyStylesCommand().Apply(page);
                    }
                }

                await one.Update(page);
            }
        }
Ejemplo n.º 2
0
        public override async Task Execute(params object[] args)
        {
            using (var one = new OneNote(out var page, out _))
            {
                var currentColor   = page.GetPageColor(out _, out _);
                var currentlydDark = currentColor.GetBrightness() < 0.5;

                using (var dialog = new ChangePageColorDialog(currentColor))
                {
                    if (dialog.ShowDialog(owner) != DialogResult.OK)
                    {
                        return;
                    }

                    var element = page.Root
                                  .Elements(page.Namespace + "PageSettings")
                                  .FirstOrDefault();

                    if (element != null)
                    {
                        var attr = element.Attribute("color");
                        if (attr != null)
                        {
                            attr.Value = dialog.PageColor;
                        }
                        else
                        {
                            element.Add(new XAttribute("color", dialog.PageColor));
                        }

                        // if light->dark or dark->light, apply appropriate theme...

                        var dark = false;
                        if (dialog.PageColor != "automatic")
                        {
                            dark = ColorTranslator.FromHtml(dialog.PageColor).GetBrightness() < 0.5;
                        }

                        if (dark != currentlydDark)
                        {
                            //
                        }

                        await one.Update(page);
                    }
                    else
                    {
                        logger.WriteLine("ChangePageColor failed because PageSettings not found");
                    }
                }
            }
        }