Ejemplo n.º 1
0
 /* ----------------------------------------------------------------- */
 ///
 /// LoadUserSetting
 ///
 /// <summary>
 /// レジストリからユーザ設定をロードします。
 /// </summary>
 ///
 /* ----------------------------------------------------------------- */
 private static void LoadUserSetting(UserSetting setting, CubePdf.Settings.CommandLine cmdline)
 {
     if (cmdline.Options.ContainsKey("Em"))
     {
         setting.Load(cmdline.Options["UserName"]);
         setting.EmergencyMode = true;
         setting.PostProcess   = Parameter.PostProcesses.OpenFolder;
     }
     else
     {
         setting.Load();
     }
 }
Ejemplo n.º 2
0
        /* ----------------------------------------------------------------- */
        ///
        /// SetupUserSetting
        ///
        /// <summary>
        /// プログラムに指定された引数等を用いて、UserSetting オブジェクトを
        /// 初期化します。
        /// </summary>
        ///
        /* ----------------------------------------------------------------- */
        private static void SetupUserSetting(UserSetting setting, string[] args)
        {
            var cmdline = new CubePdf.Settings.CommandLine(args);

            var  docname   = cmdline.Options.ContainsKey("DocumentName") ? cmdline.Options["DocumentName"] : "";
            bool is_config = false;

            try
            {
                if (docname.Length > 0 && Path.GetExtension(docname) == setting.Extension && File.Exists(docname))
                {
                    is_config = true;
                }
            }
            catch (Exception err)
            {
                // docname に Windows のファイル名に使用できない記号が含まれる
                // 場合に例外が送出されるので、その対策。
                Trace.TraceError(err.ToString());
                is_config = false;
            }

            if (is_config)
            {
                setting.Load(docname);
            }
            else
            {
                setting.Load();
                var filename = DocumentName.CreateFileName(docname);
                if (filename != null)
                {
                    string ext = Parameter.Extension((Parameter.FileTypes)setting.FileType);
                    filename = Path.ChangeExtension(filename, ext);
                    string dir = (setting.OutputPath.Length == 0 || Directory.Exists(setting.OutputPath)) ?
                                 setting.OutputPath : Path.GetDirectoryName(setting.OutputPath);
                    setting.OutputPath = dir + '\\' + filename;
                }
            }

            setting.InputPath     = cmdline.Options.ContainsKey("InputFile") ? cmdline.Options["InputFile"] : "";
            setting.DeleteOnClose = cmdline.Options.ContainsKey("DeleteOnClose");
        }
Ejemplo n.º 3
0
        static void Main(string[] args)
        {
            var exec    = System.Reflection.Assembly.GetEntryAssembly();
            var dir     = IoEx.Path.GetDirectoryName(exec.Location);
            var setting = new UserSetting(false);

            SetupLog(dir + @"\cubepdf.log");
            var edition = (IntPtr.Size == 4) ? "x86" : "x64";

            CubePdf.Message.Trace(string.Format("CubePDF {0} ({1})", setting.Version, edition));
            CubePdf.Message.Trace(Environment.OSVersion.ToString());
            CubePdf.Message.Trace(string.Format(".NET Framework {0}", Environment.Version.ToString()));
            var message = "Arguments";

            foreach (var s in args)
            {
                message += string.Format("{0}\t{1}", Environment.NewLine, s);
            }
            CubePdf.Message.Trace(message);

            var cmdline = new CubePdf.Settings.CommandLine(args);

            SetupUserSetting(setting, cmdline);
            CheckUpdate(setting);

            if (setting.EmergencyMode)
            {
                ExecConvert(setting);
            }
            else
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.Run(new MainForm(setting));
            }

            Trace.Close();
        }
Ejemplo n.º 4
0
        /* ----------------------------------------------------------------- */
        ///
        /// SetupUserSetting
        ///
        /// <summary>
        /// プログラムに指定された引数等を用いて、UserSetting オブジェクトを
        /// 初期化します。
        /// </summary>
        ///
        /* ----------------------------------------------------------------- */
        private static void SetupUserSetting(UserSetting setting, CubePdf.Settings.CommandLine cmdline)
        {
            var  docname   = cmdline.Options.ContainsKey("DocumentName") ? cmdline.Options["DocumentName"] : "";
            bool is_config = false;

            try
            {
                if (!string.IsNullOrEmpty(docname) &&
                    IoEx.Path.GetExtension(docname) == setting.Extension &&
                    IoEx.File.Exists(docname))
                {
                    is_config = true;
                }
            }
            catch (Exception err)
            {
                // docname に Windows のファイル名に使用できない記号が含まれる
                // 場合に例外が送出されるので、その対策。
                CubePdf.Message.Trace(err.ToString());
                is_config = false;
            }

            if (is_config)
            {
                setting.LoadXml(docname);
            }
            else
            {
                LoadUserSetting(setting, cmdline);
                var filename = DocumentName.CreateFileName(docname);
                if (filename != null)
                {
                    string ext = Parameter.GetExtension((Parameter.FileTypes)setting.FileType);
                    filename = IoEx.Path.ChangeExtension(filename, ext);
                    string dir = "";
                    if (setting.OutputPath == String.Empty)
                    {
                        dir = setting.LibPath;
                    }
                    else
                    {
                        dir = (IoEx.Directory.Exists(setting.OutputPath)) ?
                              setting.OutputPath : IoEx.Path.GetDirectoryName(setting.OutputPath);
                    }
                    setting.OutputPath = dir + '\\' + filename;
                    CubePdf.Message.Debug(setting.OutputPath);
                }
            }

            setting.UserName      = cmdline.Options.ContainsKey("UserName") ? cmdline.Options["UserName"] : "";
            setting.InputPath     = cmdline.Options.ContainsKey("InputFile") ? cmdline.Options["InputFile"] : "";
            setting.DeleteOnClose = cmdline.Options.ContainsKey("DeleteOnClose");

            if (IoEx.Directory.Exists(setting.LibPath))
            {
                System.Environment.SetEnvironmentVariable("TEMP", setting.LibPath, EnvironmentVariableTarget.Process);
            }
            else
            {
                CubePdf.Message.Trace("LibPath Not Found");
            }
        }
Ejemplo n.º 5
0
        static void Main(string[] args)
        {
            var exec = System.Reflection.Assembly.GetEntryAssembly();
            var dir = IoEx.Path.GetDirectoryName(exec.Location);
            var setting = new UserSetting(false);

            SetupLog(dir + @"\cubepdf.log");
            var edition = (IntPtr.Size == 4) ? "x86" : "x64";
            CubePdf.Message.Trace(string.Format("CubePDF {0} ({1})", setting.Version, edition));
            CubePdf.Message.Trace(Environment.OSVersion.ToString());
            CubePdf.Message.Trace(string.Format(".NET Framework {0}", Environment.Version.ToString()));
            var message = "Arguments";
            foreach (var s in args) message += string.Format("{0}\t{1}", Environment.NewLine, s);
            CubePdf.Message.Trace(message);

            var cmdline = new CubePdf.Settings.CommandLine(args);
            SetupUserSetting(setting, cmdline);
            CheckUpdate(setting);

            if (setting.EmergencyMode) ExecConvert(setting);
            else
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.Run(new MainForm(setting));
            }

            Trace.Close();
        }
Ejemplo n.º 6
0
        /* ----------------------------------------------------------------- */
        ///
        /// SetupUserSetting
        ///
        /// <summary>
        /// プログラムに指定された引数等を用いて、UserSetting オブジェクトを
        /// 初期化します。
        /// </summary>
        ///
        /* ----------------------------------------------------------------- */
        private static void SetupUserSetting(UserSetting setting, string[] args)
        {
            var cmdline = new CubePdf.Settings.CommandLine(args);

            var docname = cmdline.Options.ContainsKey("DocumentName") ? cmdline.Options["DocumentName"] : "";
            bool is_config = false;
            try
            {
                if (docname.Length > 0 && Path.GetExtension(docname) == setting.Extension && File.Exists(docname)) is_config = true;
            }
            catch (Exception err)
            {
                // docname に Windows のファイル名に使用できない記号が含まれる
                // 場合に例外が送出されるので、その対策。
                Trace.TraceError(err.ToString());
                is_config = false;
            }

            if (is_config) setting.Load(docname);
            else
            {
                setting.Load();
                var filename = DocumentName.CreateFileName(docname);
                if (filename != null)
                {
                    string ext = Parameter.Extension((Parameter.FileTypes)setting.FileType);
                    filename = Path.ChangeExtension(filename, ext);
                    string dir = (setting.OutputPath.Length == 0 || Directory.Exists(setting.OutputPath)) ?
                        setting.OutputPath : Path.GetDirectoryName(setting.OutputPath);
                    setting.OutputPath = dir + '\\' + filename;
                }
            }

            setting.InputPath = cmdline.Options.ContainsKey("InputFile") ? cmdline.Options["InputFile"] : "";
            setting.DeleteOnClose = cmdline.Options.ContainsKey("DeleteOnClose");
        }