Esempio n. 1
0
        public static void SaveBootstrapSettings(BootstrapSettings settings, string filename)
        {
            var serializer = new DataContractSerializer(typeof(BootstrapSettings));

            using (var stream = new FileStream(filename, FileMode.Create, FileAccess.Write))
                using (var writer = XmlDictionaryWriter.CreateTextWriter(stream)) {
                    serializer.WriteObject(writer, settings);
                }
        }
Esempio n. 2
0
        // ========================================
        // static method
        // ========================================
        public static BootstrapSettings LoadBootstrapSettings(string filename)
        {
            var ret = default(BootstrapSettings);

            try {
                if (File.Exists(filename))
                {
                    var serializer = new DataContractSerializer(typeof(BootstrapSettings));
                    using (var stream = new FileStream(filename, FileMode.Open, FileAccess.Read)) {
                        ret = serializer.ReadObject(stream) as BootstrapSettings;
                    }
                }
            } catch (Exception e) {
                Logger.Warn("Bootstrap Settings load failed", e);
            }

            if (ret == null)
            {
                ret = new BootstrapSettings();
            }

            return(ret);
        }
Esempio n. 3
0
        // ========================================
        // static method
        // ========================================
        static MemopadConsts()
        {
            UnlicensedMaxMemoCreationCount = 30;
            UnlicensedMaxMemoLoadCount     = 200;
            UnlicensedMaxTagCreationCount  = 10;

            var localAppDataFolder = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);

            AppDataRoot = Path.Combine(localAppDataFolder, @"mocha\MochaNote\4.0");

            LogRoot = Path.Combine(AppDataRoot, LogRootName);

            BootstrapSettingsFilePath = Path.Combine(AppDataRoot, @"bootstrap.xml");
            BootstrapSettings         = BootstrapSettings.LoadBootstrapSettings(BootstrapSettingsFilePath);

            BootstrapSettingsV1FilePath = Path.Combine(localAppDataFolder, @"mocha\MochaNote\1.0\bootstrap.xml");

            var myDocPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);

            MyDocumentsRootPath   = Path.Combine(myDocPath, @"MochaNote");
            AutoFileImportDirPath = Path.Combine(myDocPath, @"MochaNote\Import");

            /// MemoRootの初期化
            var clArgs = System.Environment.GetCommandLineArgs();

            if (clArgs != null && clArgs.Length > 1)
            {
                /// コマンドライン引数からMemoRoot取得
                MemoRoot = clArgs[1];
                UseCommandLineMemoRoot = true;
            }
            else
            {
                /// bootstrap.xmlからMemoRoot取得
                if (string.IsNullOrEmpty(BootstrapSettings.MemoRoot))
                {
                    BootstrapSettings.MemoRoot = Path.Combine(AppDataRoot, @"note");
                }
                MemoRoot = BootstrapSettings.MemoRoot;
                UseCommandLineMemoRoot = false;
            }

            LockFileName = "lock";
            LockFilePath = Path.Combine(MemoRoot, LockFileName);

            EmbeddedRoot      = Path.Combine(MemoRoot, EmbeddedRootName);
            EmbeddedFileRoot  = Path.Combine(EmbeddedRoot, "file");
            EmbeddedImageRoot = Path.Combine(EmbeddedRoot, "image");

            SettingsFilePath       = Path.Combine(MemoRoot, "settings.xml");
            WindowSettingsFilePath = Path.Combine(MemoRoot, "window." + Environment.MachineName + ".xml");

            MemoSdfFilePath         = Path.Combine(MemoRoot, "note.sdf");
            ExtendedDataSdfFilePath = Path.Combine(MemoRoot, "exdata.sdf");

            RecentlyClosedMemoIdsFilePath   = Path.Combine(MemoRoot, "recentlyclosed.xml");
            RecentlyCreatedMemoIdsFilePath  = Path.Combine(MemoRoot, "recentlycreated.xml");
            RecentlyModifiedMemoIdsFilePath = Path.Combine(MemoRoot, "recentlymodified.xml");

            FusenMemoIdsFilePath = Path.Combine(MemoRoot, "fusen.xml");

            AbbrevWordDictionaryPath = Path.Combine(MemoRoot, "abbrev.txt");

            ProxyRoot             = Path.Combine(AppDataRoot, "proxy");
            ProxyAssemblyFilePath = Path.Combine(ProxyRoot, ProxyAssemblyName + ".dll");

            StartUpShortcutFilePath = Path.Combine(
                Environment.GetFolderPath(Environment.SpecialFolder.Startup),
                "MochaNote.lnk"
                );
        }