Example #1
0
        /* ----------------------------------------------------------------- */
        ///
        /// Save
        /// 
        /// <summary>
        /// CubePDF.UserSetting クラスの現在の設定を指定されたパスにXML
        /// 形式で保存します.
        /// </summary>
        /// 
        /* ----------------------------------------------------------------- */
        public bool Save(string path)
        {
            bool status = true;

            try
            {
                var param = new ParameterManager();
                this.Save(param);
                param.Save(path, ParameterFileType.XML);
            }
            catch (Exception /* err */)
            {
                status = false;
            }

            return status;
        }
Example #2
0
        /* ----------------------------------------------------------------- */
        ///
        /// Save
        /// 
        /// <summary>
        /// CubePDF.UserSetting クラスの現在の設定をレジストリに保存します.
        /// </summary>
        /// 
        /* ----------------------------------------------------------------- */
        public bool Save()
        {
            bool status = true;

            try
            {
                var param = new ParameterManager();
                this.Save(param);

                using (var root = Registry.CurrentUser.CreateSubKey(REG_ROOT + '\\' + REG_VERSION))
                {
                    param.Save(root);
                }
            }
            catch (Exception /* err */)
            {
                status = false;
            }

            return status;
        }
Example #3
0
        /* ----------------------------------------------------------------- */
        ///
        /// Save
        ///
        /// <summary>
        /// 設定情報を ParameterList クラスに保存する.尚,アップデートを
        /// チェックする項目のみ,チェックの有無にしたがって Startup に
        /// 関係するレジストリの内容を変更しなければならないので,その処理
        /// もこのメソッドで行う.
        /// </summary>
        ///
        /* ----------------------------------------------------------------- */
        private void Save(ParameterManager config)
        {
            // パス関連
            config.Parameters.Add(new ParameterElement(REG_LAST_OUTPUT_ACCESS, ParameterType.String, _output));
            config.Parameters.Add(new ParameterElement(REG_LAST_INPUT_ACCESS, ParameterType.String, _input));
            config.Parameters.Add(new ParameterElement(REG_USER_PROGRAM, ParameterType.String, _program));
            config.Parameters.Add(new ParameterElement(REG_USER_ARGUMENTS, ParameterType.String, _argument));

            // チェックボックスのフラグ関連
            int flag = _rotation ? 1 : 0;
            config.Parameters.Add(new ParameterElement(REG_PAGE_ROTATION, ParameterType.Integer, flag));
            flag = _embed ? 1 : 0;
            config.Parameters.Add(new ParameterElement(REG_EMBED_FONT, ParameterType.Integer, flag));
            flag = _grayscale ? 1 : 0;
            config.Parameters.Add(new ParameterElement(REG_GRAYSCALE, ParameterType.Integer, flag));
            flag = _web ? 1 : 0;
            config.Parameters.Add(new ParameterElement(REG_WEB_OPTIMIZE, ParameterType.Integer, flag));
            flag = _save ? 1 : 0;
            config.Parameters.Add(new ParameterElement(REG_SAVE_SETTING, ParameterType.Integer, flag));
            flag = _update ? 1 : 0;
            config.Parameters.Add(new ParameterElement(REG_CHECK_UPDATE, ParameterType.Integer, flag));
            flag = _advance ? 1 : 0;
            config.Parameters.Add(new ParameterElement(REG_ADVANCED_MODE, ParameterType.Integer, flag));
            flag = _visible ? 1 : 0;
            config.Parameters.Add(new ParameterElement(REG_VISIBLE, ParameterType.Integer, flag));
            flag = _selectable ? 1 : 0;
            config.Parameters.Add(new ParameterElement(REG_SELECT_INPUT, ParameterType.Integer, flag));

            // コンボボックスのインデックス関連
            config.Parameters.Add(new ParameterElement(REG_FILETYPE, ParameterType.Integer, (int)_type));
            config.Parameters.Add(new ParameterElement(REG_PDF_VERSION, ParameterType.Integer, (int)_pdfver));
            config.Parameters.Add(new ParameterElement(REG_RESOLUTION, ParameterType.Integer, (int)_resolution));
            config.Parameters.Add(new ParameterElement(REG_EXISTED_FILE, ParameterType.Integer, (int)_exist));
            config.Parameters.Add(new ParameterElement(REG_POST_PROCESS, ParameterType.Integer, (int)_postproc));
            config.Parameters.Add(new ParameterElement(REG_DOWNSAMPLING, ParameterType.Integer, (int)_downsampling));
            config.Parameters.Add(new ParameterElement(REG_IMAGEFILTER, ParameterType.Integer, (int)_filter));

            // アップデートプログラムの登録および削除
            using (var startup = Registry.CurrentUser.CreateSubKey(@"Software\Microsoft\Windows\CurrentVersion\Run"))
            {
                if (_update)
                {
                    string value = startup.GetValue(UPDATE_PROGRAM) as string;
                    if (startup.GetValue(UPDATE_PROGRAM) == null && _install.Length > 0)
                    {
                        startup.SetValue(UPDATE_PROGRAM, '"' + _install + '\\' + UPDATE_PROGRAM + ".exe\"");
                    }
                }
                else startup.DeleteValue(UPDATE_PROGRAM, false);
            }
        }
Example #4
0
        /* ----------------------------------------------------------------- */
        ///
        /// Load
        /// 
        /// <summary>
        /// ユーザ毎の設定情報をロードします.引数なしでLoad() メソッドを
        /// 実行した場合,レジストリに保存されてある情報をロードします.
        /// </summary>
        /// 
        /* ----------------------------------------------------------------- */
        public bool Load()
        {
            bool status = true;

            try
            {
                using (RegistryKey root = Registry.CurrentUser.OpenSubKey(REG_ROOT + '\\' + REG_VERSION, false))
                {
                    var param = new ParameterManager();
                    param.Load(root);
                    this.Load(param);
                }
            }
            catch (Exception /* err */)
            {
                status = false;
            }

            return status;
        }
Example #5
0
        /* ----------------------------------------------------------------- */
        ///
        /// Load
        ///
        /// <summary>
        /// ParameterList クラスにロードされた内容を元に設定情報をロード
        /// する.
        /// </summary>
        ///
        /* ----------------------------------------------------------------- */
        private void Load(ParameterManager param)
        {
            var v = param.Parameters;

            // パス関連
            string desktop = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);
            string s = v.Contains(REG_LAST_OUTPUT_ACCESS) ? (string)v.Find(REG_LAST_OUTPUT_ACCESS).Value : "";
            _output = (s.Length > 0) ? s : desktop;
            s = v.Contains(REG_LAST_INPUT_ACCESS) ? (string)v.Find(REG_LAST_INPUT_ACCESS).Value : "";
            _input = (s.Length > 0) ? s : desktop;
            s = v.Contains(REG_USER_PROGRAM) ? (string)v.Find(REG_USER_PROGRAM).Value : "";
            _program = s;
            s = v.Contains(REG_USER_ARGUMENTS) ? (string)v.Find(REG_USER_ARGUMENTS).Value : "%%FILE%%";
            _argument = s;

            // チェックボックスのフラグ関連
            int value = v.Contains(REG_PAGE_ROTATION) ? (int)v.Find(REG_PAGE_ROTATION).Value : 1;
            _rotation = (value != 0);
            value = v.Contains(REG_EMBED_FONT) ? (int)v.Find(REG_EMBED_FONT).Value : 1;
            _embed = (value != 0);
            value = v.Contains(REG_GRAYSCALE) ? (int)v.Find(REG_GRAYSCALE).Value : 0;
            _grayscale = (value != 0);
            value = v.Contains(REG_WEB_OPTIMIZE) ? (int)v.Find(REG_WEB_OPTIMIZE).Value : 0;
            _web = (value != 0);
            value = v.Contains(REG_SAVE_SETTING) ? (int)v.Find(REG_SAVE_SETTING).Value : 0;
            _save = (value != 0);
            value = v.Contains(REG_CHECK_UPDATE) ? (int)v.Find(REG_CHECK_UPDATE).Value : 1;
            _update = (value != 0);
            value = v.Contains(REG_ADVANCED_MODE) ? (int)v.Find(REG_ADVANCED_MODE).Value : 0;
            _advance = (value != 0);
            value = v.Contains(REG_VISIBLE) ? (int)v.Find(REG_VISIBLE).Value : 1;
            _visible = (value != 0);
            value = v.Contains(REG_SELECT_INPUT) ? (int)v.Find(REG_SELECT_INPUT).Value : 0;
            _selectable = (value != 0);

            // コンボボックスのインデックス関連
            value = v.Contains(REG_FILETYPE) ? (int)v.Find(REG_FILETYPE).Value : 0;
            foreach (int x in Enum.GetValues(typeof(Parameter.FileTypes)))
            {
                if (x == value) _type = (Parameter.FileTypes)value;
            }

            value = v.Contains(REG_PDF_VERSION) ? (int)v.Find(REG_PDF_VERSION).Value : 0;
            foreach (int x in Enum.GetValues(typeof(Parameter.PDFVersions)))
            {
                if (x == value) _pdfver = (Parameter.PDFVersions)value;
            }

            value = v.Contains(REG_RESOLUTION) ? (int)v.Find(REG_RESOLUTION).Value : 0;
            foreach (int x in Enum.GetValues(typeof(Parameter.Resolutions)))
            {
                if (x == value) _resolution = (Parameter.Resolutions)value;
            }

            value = v.Contains(REG_EXISTED_FILE) ? (int)v.Find(REG_EXISTED_FILE).Value : 0;
            foreach (int x in Enum.GetValues(typeof(Parameter.ExistedFiles)))
            {
                if (x == value) _exist = (Parameter.ExistedFiles)value;
            }

            value = v.Contains(REG_POST_PROCESS) ? (int)v.Find(REG_POST_PROCESS).Value : 0;
            foreach (int x in Enum.GetValues(typeof(Parameter.PostProcesses)))
            {
                if (x == value) _postproc = (Parameter.PostProcesses)value;
            }

            value = v.Contains(REG_DOWNSAMPLING) ? (int)v.Find(REG_DOWNSAMPLING).Value : 0;
            foreach (int x in Enum.GetValues(typeof(Parameter.DownSamplings)))
            {
                if (x == value) _downsampling = (Parameter.DownSamplings)value;
            }

            value = v.Contains(REG_IMAGEFILTER) ? (int)v.Find(REG_IMAGEFILTER).Value : 0;
            foreach (int x in Enum.GetValues(typeof(Parameter.ImageFilters)))
            {
                if (x == value) _filter = (Parameter.ImageFilters)value;
            }
        }