Example #1
0
        private void DebugShowThemeEditor()
        {
            var w = new ThemeEditor()
            {
                Owner = Owner
            };

            w.Show();
        }
Example #2
0
        public ThemeEditorViewmodel(ThemeEditor owner)
        {
            Owner = owner;

            var dt = ThemeManager.Inst.Cache.GetDefault();

            foreach (var at in ThemeManager.Inst.Cache.GetAllAvailable())
            {
                var newEntry = new ThemeEditorEntry
                {
                    SourceFilename = at.SourceFilename,
                    Name           = at.Name,
                    Source         = at.Source,
                    OriginalSource = at.Source,
                    ParsedTheme    = at,
                    ParsedSet      = new AlephThemeSet(dt, at, new AlephTheme[0]),
                };
                Entries.Add(newEntry);
                if (at == ThemeManager.Inst.CurrentBaseTheme)
                {
                    _selectedEntry = newEntry;
                }
            }

            var def = new AlephThemeSet(dt, dt, new AlephTheme[0]);

            foreach (var prop in AlephTheme.THEME_PROPERTIES)
            {
                DefaultValues.Add(new ThemeEditorDV
                {
                    Key     = prop.Item1,
                    Default = dt.GetXmlStr(prop.Item1.ToLower()),
                    TypeStr = prop.Item2.ToString(),
                    Value   = SelectedEntry?.ParsedSet?.GetStrRepr(prop.Item1),
                    Changed = SelectedEntry?.ParsedSet?.GetStrRepr(prop.Item1) != def?.GetStrRepr(prop.Item1)
                });
            }
        }
        public ThemeEditorViewmodel(ThemeEditor owner)
        {
            Owner = owner;

            foreach (var at in ThemeManager.Inst.Cache.GetAllAvailable())
            {
                var newEntry = new ThemeEditorEntry()
                {
                    SourceFilename = at.SourceFilename,
                    Name           = at.Name,
                    Source         = at.Source,
                    OriginalSource = at.Source,
                    Parsed         = at,
                };
                Entries.Add(newEntry);
                if (at == ThemeManager.Inst.CurrentTheme)
                {
                    _selectedEntry = newEntry;
                }
            }

            var dprop = ThemeManager.Inst.Cache.GetDefaultParserProperties();
            var def   = ThemeManager.Inst.Cache.GetByFilename("default.xml", out _);

            foreach (var prop in AlephTheme.THEME_PROPERTIES)
            {
                DefaultValues.Add(new ThemeEditorDV()
                {
                    Key     = prop.Item1,
                    Default = dprop[prop.Item1.ToLower()],
                    TypeStr = prop.Item2.ToString(),
                    Value   = SelectedEntry?.Parsed?.GetStrRepr(prop.Item1),
                    Changed = SelectedEntry?.Parsed?.GetStrRepr(prop.Item1) != def?.GetStrRepr(prop.Item1)
                });
            }
        }