OSDN Ticket Archive


Ticket #46249

iOS版 テキストファイルビューア追加

登録: 2022-12-10 23:58 最終更新: 2022-12-11 00:32

報告者:
yknk
担当者:
yknk
チケットの種類:
機能リクエスト
状況:
完了
コンポーネント:
MIDITrail Ver.2.x.x for iOS
マイルストーン:
Version 2.0.0 for iOS (完了済み)
優先度:
5 - 中
重要度:
5 - 中
解決法:
修正済み
ファイル:
なし

詳細

ファイル一覧ビューにて、テキストファイルを参照可能にする。 現在、ファイル一覧ビューでテキストファイルを選択すると、MIDIファイルを開く処理が実行されてエラーとなる。

チケットの履歴

2022-12-10 23:58 更新者: yknk
  • 新しいチケット "iOS版 テキストファイルビューア追加" が作成されました
2022-12-11 00:30 更新者: yknk
コメント

仕様

  • ファイルの拡張子が .txt .doc .hed (*1)の場合に、テキストファイルと認識する。
  • ファイル一覧ビューにて、テキストファイルのアイコンを表示する。
  • ファイル一覧ビューにて、テキストファイルが選択されたとき、テキストファイルの内容を表示する。
  • テキストファイルの文字コードは、設定ビューの"MIDI FILE / Character Encoding"で選択されているエンコーディングであると想定する。
  • "MIDI FILE / Character Encoding"で選択されているエンコーディグでファイル読み込みが失敗した場合は、エンコーディングをUTF-8として再度読み込みを試みる。
  • UTF-8でも読み込みが失敗した場合は、テキストは何も表示しない。

(*1)パソコン通信の時代は、MIDIファイルと共に配布する説明テキストファイルの拡張子に .txt だけでなく .doc .hed が使用されていた。

2022-12-11 00:31 更新者: yknk
コメント

対策1:リソース追加

MTTextView_iPhone.xib, MTTextView_iPad.xib

  • テキストビューを追加。

MTTextViewCtrl

  • テキストビューア制御クラスを追加。
2022-12-11 00:31 更新者: yknk
コメント

対策2:アプリケーションクラス修正

MIDITrailApp:createViews

  • ファイル一覧ビュー生成メソッドの引数に設定ビューを追加する。設定ビューの文字エンコーディング情報を参照するため。
2022-12-11 00:31 更新者: yknk
コメント

対策3:ファイル一覧ビュークラス修正

MTFileViewCtrl

  • メンバに設定ビュー制御 m_pSettingViewCtrl を追加。
  • メンバにテキストビューア制御 m_pTextViewCtrl を追加。

MTFileViewCtrl:initWithNibName:bundle:targetDirPath:settingViewCtrl

  • 引数に設定ビューを追加。
  • テキストビューア制御の生成処理を追加。

MTFileViewCtrl:makeFileCellForIndexPath

  • テキストファイルのセル作成処理を追加。

MTFileViewCtrl:onSelectFileCellForIndexPath

  • ディレクトリ選択時に子ファイル一覧ビューを生成するときの引数に設定ビューを追加。
  • ファイル選択時にファイルオープンメソッドを呼び出すように修正。

MTFileViewCtrl:openFile

  • ファイルオープンメソッドを追加。
  • テキストファイル選択時はファイルビューアを表示する。
  • テキストファイル以外が選択されたときは、ファイル選択通知を発行する。

MTFileViewCtrl:onSelectFileInSearchResults

  • ディレクトリ選択時に子ファイル一覧ビューを生成するときの引数に設定ビューを追加。
  • ファイル選択時にファイルオープンメソッドを呼び出すように修正。

MTFileViewCtrl:findNextFileWithRepeat

  • 次ファイル検索でテキストファイルを無視するように修正。

MTFileViewCtrl:autoSelectNextFileWithRepeat

  • 次ファイル検索でテキストファイルを無視するように修正。

MTFileViewCtrl:isTextFile

  • テキストファイル判定メソッドを追加。
2022-12-11 00:31 更新者: yknk
コメント

対策4:ファイル検索結果ビュー制御クラス修正

MTFileSearchResultsViewCtrl:makeFileCellForIndexPath

  • テキストファイルのセル作成処理を追加。

MTFileSearchResultsViewCtrl:isTextFile

  • テキストファイル判定メソッドを追加。
2022-12-11 00:32 更新者: yknk
コメント

リファクタリング

ワーカースレッドからファイル一覧ビューにアクセスしないようにする。

MIDITrailApp

  • メンバに選択ファイルパス m_pSelectedFilePath を追加。

MIDITrailApp:init

  • 選択ファイルパスの初期化処理を追加。

MIDITrailApp:onSelectFile

  • ファイル一覧ビューから選択ファイルパスを取得する処理を追加。

MIDITrailApp:thread_CreateScene

  • SMFファイルリーダにメンバの選択ファイルパスを指定するように修正。
2022-12-11 00:32 更新者: yknk
  • 状況オープン から 完了 に更新されました
  • 解決法なし から 修正済み に更新されました

添付ファイルリスト

添付ファイルはありません