public static DirectoryInfo PrefsDir() { DirectoryInfo dipref = AbnakiFile.CombinedDirectoryPath(ApplicationProfileDir(), "prefs"); dipref.Create(); return(dipref); }
void ReadDefaultLayout() { FileInfo fi = AbnakiFile.CombinedFilePath(Preference.ApplicationDefaultDir(), Preference.ClassPrefsFileOnly <MainWindow>(layoutFileQualifier)); InvokeRestoringPanelLayout(fi); }
public void TestRelativePath() { DirectoryInfo diCurrent = new DirectoryInfo(Environment.CurrentDirectory); DirectoryInfo diGrandparent = diCurrent.Parent.Parent; string rdir = AbnakiFile.RelativePath(diCurrent, diGrandparent); Debug.WriteLine(rdir); // should be subdir such as bin/Debug rdir = AbnakiFile.RelativePath(diGrandparent, diCurrent); Debug.WriteLine(rdir); // should be ..\.. }
public static DirectoryInfo ApplicationProfileDir() { string appDir = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData, Environment.SpecialFolderOption.Create); Assembly appa = Assembly.GetEntryAssembly(); //AssemblyName appNameInfo = appa.GetName(); string company = appa.GetCustomAttribute <AssemblyCompanyAttribute>().Company; string title = appa.GetCustomAttribute <AssemblyTitleAttribute>().Title; DirectoryInfo subdir = AbnakiFile.CombinedDirectoryPath(appDir, company, title); subdir.Create(); return(subdir); }
/// <summary> /// In a profile subdirectory /// </summary> /// <typeparam name="T">type of most-responsible consumer class</typeparam> /// <param name="qualifier">can distinguish or clarify a special purpose file; be sure it's valid within filenames</param> /// <returns></returns> public static FileInfo ClassPrefsFile <T>(string qualifier = null) { string filename = ClassPrefsFileOnly <T>(qualifier); return(AbnakiFile.CombinedFilePath(PrefsDir(), filename)); }