diff --git a/AideDeJeu/AideDeJeu/App.xaml b/AideDeJeu/AideDeJeu/App.xaml index 755505b0..eb3c8914 100644 --- a/AideDeJeu/AideDeJeu/App.xaml +++ b/AideDeJeu/AideDeJeu/App.xaml @@ -13,6 +13,7 @@ #9B1C47 + #5B61FF #563F5A #6F5B73 #7C7B7B @@ -225,7 +226,7 @@ diff --git a/AideDeJeu/AideDeJeu/Tools/Converters.cs b/AideDeJeu/AideDeJeu/Tools/Converters.cs index 73dd7831..b18ee70d 100644 --- a/AideDeJeu/AideDeJeu/Tools/Converters.cs +++ b/AideDeJeu/AideDeJeu/Tools/Converters.cs @@ -72,7 +72,18 @@ namespace AideDeJeu.Tools var level = value as int?; if(level.HasValue) { - return Application.Current.Resources[$"heading{level.Value+1}"]; + int finallevel = level.Value; + int baselevel = 1; + if(int.TryParse(parameter as string, out baselevel)) + { + finallevel += baselevel; + } + finallevel = Math.Max(1, Math.Min(6, finallevel)); + var heading = $"heading{finallevel}"; + if (Application.Current.Resources.ContainsKey(heading)) + { + return Application.Current.Resources[heading]; + } } return Application.Current.Resources["paragraph"]; } diff --git a/AideDeJeu/AideDeJeu/ViewModels/StoreViewModel.cs b/AideDeJeu/AideDeJeu/ViewModels/StoreViewModel.cs index 68b47365..f6aaebcf 100644 --- a/AideDeJeu/AideDeJeu/ViewModels/StoreViewModel.cs +++ b/AideDeJeu/AideDeJeu/ViewModels/StoreViewModel.cs @@ -111,35 +111,45 @@ namespace AideDeJeu.ViewModels return currentItem; } - public void ParseItemProperties(string source, Item item, Block block) + public bool ParseItemProperties(string source, Item item, Block block) { switch (block) { case Markdig.Extensions.Tables.Table table: - ParseItemProperties(source, item, table); - break; + return ParseItemProperties(source, item, table); case ContainerBlock blocks: - ParseItemProperties(source, item, blocks); - break; + return ParseItemProperties(source, item, blocks); case LeafBlock leaf: - ParseItemProperties(source, item, leaf.Inline); - break; + bool isname = ParseItemProperties(source, item, leaf.Inline); + if(isname) + { + if(leaf is HeadingBlock) + { + var headingBlock = leaf as HeadingBlock; + item.NameLevel = headingBlock.Level; + } + } + return isname; } + return false; } - public void ParseItemProperties(string source, Item item, ContainerBlock blocks) + public bool ParseItemProperties(string source, Item item, ContainerBlock blocks) { + bool isname = false; foreach (var block in blocks) { - ParseItemProperties(source, item, block); + isname |= ParseItemProperties(source, item, block); } + return isname; } - public void ParseItemProperties(string source, Item item, ContainerInline inlines) + public bool ParseItemProperties(string source, Item item, ContainerInline inlines) { + bool isname = false; if (inlines == null) { - return; + return isname; } PropertyInfo prop = null; foreach (var inline in inlines) @@ -158,6 +168,10 @@ namespace AideDeJeu.ViewModels else if (tag.StartsWith("