Exemple #1
0
        public static void SavePacketLog(bool overwrite, bool rule)
        {
            if (InvokeRequired)
            {
                Invoke((SavePacketLogDelegate)SavePacketLog, overwrite, rule);
                return;
            }

            var file = (FileControlParam)null;

            /* 保存先とフォーマットを取得 */
            if ((overwrite) &&
                (last_save_path_ != null) &&
                (last_save_format_ != null)
                )
            {
                /* Save */
                file = new FileControlParam()
                {
                    FilePath = last_save_path_,
                    Format   = last_save_format_,
                    Option   = last_save_option_,
                };
            }
            else
            {
                /* Save As */
                file = FileManager.PacketLogSave.SelectWriteControllerFromDialog(ConfigManager.GetCurrentDirectory());
            }

            if (file == null)
            {
                return;
            }

            if (rule)
            {
                GatePacketManager.SavePacketFile(file, FormTaskManager.GetPacketConverterClone());
            }
            else
            {
                GatePacketManager.SavePacketFile(file, null);
            }

            last_save_path_   = file.FilePath;
            last_save_format_ = file.Format;
            last_save_option_ = file.Option;

            /* カレントディレクトリ更新 */
            ConfigManager.SetCurrentDirectory(Path.GetDirectoryName(last_save_path_));
        }