aboutsummaryrefslogtreecommitdiffstatsci
path: root/src/Interface.cs
diff options
context:
space:
mode:
authorJean-Philippe Bruyère <jp_bruyere@hotmail.com>2018-01-31 14:27:38 +0100
committerJean-Philippe Bruyère <jp_bruyere@hotmail.com>2018-01-31 14:57:11 +0100
commite316a004e9ea26f9ec0b79e3149046466a5d304e (patch)
tree0e0d657c62b5a6dc9e73e939c6169048aaa1f830 /src/Interface.cs
parentb68c2ebb337936f952cd7fdae829ee9b04315ac1 (diff)
:memo:
Diffstat (limited to 'src/Interface.cs')
-rw-r--r--src/Interface.cs25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/Interface.cs b/src/Interface.cs
index 19f4a889..188c4a39 100644
--- a/src/Interface.cs
+++ b/src/Interface.cs
@@ -53,6 +53,14 @@ namespace Crow
{
#region CTOR
static Interface(){
+ CrowConfigRoot =
+ System.IO.Path.Combine(
+ Environment.GetFolderPath(Environment.SpecialFolder.UserProfile),
+ ".config");
+ CrowConfigRoot = System.IO.Path.Combine (CrowConfigRoot, "crow");
+ if (!Directory.Exists (CrowConfigRoot))
+ Directory.CreateDirectory (CrowConfigRoot);
+
loadCursors ();
loadStyling ();
findAvailableTemplates ();
@@ -70,6 +78,10 @@ namespace Crow
#endregion
#region Static and constants
+ /// <summary>
+ /// Crow configuration root path
+ /// </summary>
+ public static string CrowConfigRoot;
/// <summary>If true, mouse focus is given when mouse is over control</summary>
public static bool FocusOnHover = false;
/// <summary> Threshold to catch borders for sizing </summary>
@@ -217,9 +229,22 @@ namespace Crow
public static Dictionary<string, string> DefaultTemplates = new Dictionary<string, string>();
/// <summary>Finds available default templates at startup</summary>
static void findAvailableTemplates(){
+ searchTemplatesOnDisk ("./");
+ string defTemplatePath = System.IO.Path.Combine (CrowConfigRoot, "defaultTemplates");
+ searchTemplatesOnDisk (defTemplatePath);
searchTemplatesIn (Assembly.GetEntryAssembly ());
searchTemplatesIn (Assembly.GetExecutingAssembly ());
}
+ static void searchTemplatesOnDisk (string templatePath){
+ if (!Directory.Exists (templatePath))
+ return;
+ foreach (string f in Directory.GetFiles(templatePath, "*.template",SearchOption.AllDirectories)) {
+ string clsName = System.IO.Path.GetFileNameWithoutExtension(f);
+ if (DefaultTemplates.ContainsKey (clsName))
+ continue;
+ DefaultTemplates [clsName] = f;
+ }
+ }
static void searchTemplatesIn(Assembly assembly){
foreach (string resId in assembly
.GetManifestResourceNames ()