예제 #1
0
        /*
         * fremファイル読み込み
         *
         * return: true 読み込み成功、false 読み込みエラー
         */
        public bool fremRead(string fremFile)
        {
            // 既に開いているファイル
            if (appSettings.currentInfo.ContainsKey(fremFile))
            {
                return(false);
            }

            bool currentTab_initialFlg = appSettings.currentFileInfo.initialFlg;
            bool currentTab_alreadyFlg = appSettings.currentFileInfo.already_saveflg;

            filepaths fP = new filepaths();

            // fremファイル読み込み
            util.xmlRead(ref fP, fremFile, "1");
            // 読み込んだファイルをタブに追加
            addTabMain(fremFile, new fileInfomation {
                fPs = fP, already_saveflg = true, initialFlg = false
            });

            // 追加前のタブが一個で新規でかつ保存済みの場合、新規タブを削除する
            if (currentTab_initialFlg && currentTab_alreadyFlg && this.tabControl1.TabPages.Count == 2)
            {
                removeTabMain(0);
            }

            return(true);
        }
예제 #2
0
 public fileInfomation()
 {
     fPs             = new filepaths();
     already_saveflg = true;
     initialFlg      = true;
     updateFlg       = false;
 }
예제 #3
0
        /*
         * ファイル保存
         */
        private void fileSaveOut(FileType filetype, SaveType savetype = SaveType.DEFAULT)
        {
            // 保存ファイルフルパス
            string fileNameFullPath = appSettings.currentFileName[(int)filetype];

            filepaths fP = appSettings.currentFilePathClass;

            // 保存ファイル切り替え
            switch (filetype)
            {
            case FileType.FREM:         // fremファイル

                util.xmlWrite(fP, fileNameFullPath, "書込みエラー");

                switch (savetype)
                {
                case SaveType.SAVE_AS:          // 名前を付けて保存のときは新規にタブを追加する

                    // 保存した情報をタブに新規追加
                    addTabMain(fileNameFullPath, new fileInfomation {
                        fPs = fP, already_saveflg = true, initialFlg = false
                    });
                    // タブを更新したため現在のタブを削除
                    removeTabMain(appSettings.currentTabIndex - 1, savetype);

                    break;

                case SaveType.OVERWRITE:            // 上書き保存のときは更新だけする

                    appSettings.currentFileInfo.already_saveflg = true;
                    appSettings.currentFileInfo.initialFlg      = true;

                    reminderTabs.tabs[appSettings.currentTabIndex].Text = Path.GetFileName(appSettings.currentFrem);

                    break;
                }

                // フォームタイトル更新
                formTitleRefresh();

                overwriteToolStripMenuItem.Enabled = false;

                break;

            case FileType.MPCPL:        // mpcplファイル

                int lineCnt = 1;

                // ファイルを上書きし、書き込む
                StreamWriter sw = new StreamWriter(fileNameFullPath, false, Encoding.GetEncoding("utf-8"));

                sw.WriteLine("MPCPLAYLIST");

                foreach (string item in fP.filepathList)
                {
                    if (File.Exists(item))
                    {
                        if (movie_ext.Contains(Path.GetExtension(item)))
                        {
                            sw.WriteLine(string.Format("{0},type,0", lineCnt));
                            sw.WriteLine(string.Format("{0},filename,{1}", lineCnt, item));
                            lineCnt++;
                        }
                    }
                }
                // 閉じる
                sw.Close();

                break;

            default:
                break;
            }
        }