OSDN Ticket Archive


Ticket #40322

iOS版 ファイル一覧でフォルダ表示をサポート

登録: 2020-04-12 21:49 最終更新: 2020-04-16 22:12

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

詳細

ファイル一覧でフォルダごとにグルーピングされたMIDIファイルを参照できるようにする。

現状、ファイル一覧では、アプリのDocumentsフォルダ直下に存在するファイルのみを表示しており、 フォルダやフォルダに格納されているファイルの表示は行なっていない。 しかし以下の操作により、フォルダを簡単に作成できるため、ファイル一覧でのフォルダ表示に対応する。

  • iTunesのファイル共有機能では、ファイルを格納したフォルダを、ドラッグ&ドロップでアプリのDocumentsフォルダにコピーできる。
  • File Appを利用すると、フォルダの作成やファイルの移動/コピーを簡単に行える。

チケットの履歴

2020-04-12 21:49 更新者: yknk
  • 新しいチケット "iOS版 ファイル一覧でフォルダ表示をサポート" が作成されました
2020-04-12 21:51 更新者: yknk
コメント

仕様

  • ファイル一覧にてフォルダも表示対象とする。ただし、"Inbox",".Trash"フォルダは表示対象外とする。
  • フォルダをタップしたら、新しいファイル一覧を表示し、タップしたフォルダに含まれるファイルとフォルダを一覧表示する。
  • ファイル検索機能の検索対象に一覧表示しているフォルダを含める。ただしサブフォルダ配下に存在するファイルとフォルダは検索対象としない。
  • 画像ファイルとWavetableファイルの一覧表示は変更せず、Documentsフォルダ直下に存在するファイルのみ選択可能とする。
  • ファイルと同様にディレクトリの名前編集と削除は可能とする。ディレクトリ配下にファイルが存在する場合でも削除可能(File Appと同様)。
2020-04-12 21:52 更新者: yknk
コメント

対策1:MIDITrailApp

MIDITrailApp::createViews

ファイルビューを生成するメソッドの引数追加(対象ディレクトリパス)に対応。

MIDITrailApp::openURL

指定URLオープン時に、ファイルビューに渡す値をファイル名からファイルパスに変更。

2020-04-12 21:52 更新者: yknk
コメント

対策2:MTFileSearchResultsViewCtrl

MTFileSearchResultsViewCtrl

ファイル検索結果ビュー制御クラスにメンバを追加。

  • ファイル属性辞書
  • ファイル選択通知名称

MTFileSearchResultsViewCtrl::makeFileCellForIndexPath

テーブルセル作成メソッドで、ディレクトリのセル作成に対応。ディレクトリの場合はアクセサリ">"を付与する。

MTFileSearchResultsViewCtrl::setResults

検索結果登録メソッドの引数にファイル属性辞書を追加。 メンバにコピーする処理を追加。

MTFileSearchResultsViewCtrl::onSelectFileCellForIndexPath

セル選択時の通知先をMIDITrailAppからファイルビューに変更。 ファイルビューで、ファイル選択時のディレクトリ選択時の処理を実装する。

MTFileSearchResultsViewCtrl::dealloc

追加したメンバの破棄処理を追加。

MTFileSearchResultsViewCtrl::setNotificationNameForSelectFile

ファイル選択通知名称設定メソッドを新規追加。

2020-04-12 21:53 更新者: yknk
コメント

対策3:MTFileViewCtrl

MTFileViewCtrl

ファイルビュー制御クラスにメンバを追加。

  • 対象ディレクトリパス
  • ファイル属性辞書
  • 子ファイルビュー制御

MTFileViewCtrl::initWithNibName

引数に対象ディレクトリパスを追加。 対象ディレクトリパス未指定時の初期化処理と、タイトル設定を追加。 追加したメンバの初期化処理を追加。

MTFileViewCtrl::viewDidLoad

検索結果でのファイル選択イベント通知先登録処理を追加。

MTFileViewCtrl::viewWillAppear

画面遷移でサブフォルダのファイルビューから戻ってきたときを想定して、子ビュー破棄処理を追加。

MTFileViewCtrl::viewWillDisappear

ログ出力処理を追加。

MTFileViewCtrl::makeFileList

メンバに保持している対象ディレクトリパスについて、ディレクトリ直下に存在するファイルとディレクトリの一覧を作成する処理に変更。 これまでディレクトリは無視して一覧には含めていなかった。 ファイル名をキーとしてファイル属性(標準ファイルorディレクトリ)をメンバの辞書に登録する処理を追加。

MTFileViewCtrl::makeFileCellForIndexPath

テーブルセル作成メソッドで、ディレクトリのセル作成に対応。ディレクトリの場合はアクセサリ">"を付与する。

MTFileViewCtrl::onSelectFileCellForIndexPath

テーブルセル選択イベントで、ディレクトリ選択時の処理を追加。 ディレクトリ選択時は、選択されたディレクトリを表示対象とする子のファイルビューを生成して、画面遷移する。

MTFileViewCtrl::selectedFilePath

子のファイルビューが存在する場合は、子から選択ファイルパスを取得する処理を追加。

MTFileViewCtrl::tableView:canEditRowAtIndexPath

コメント追加。

MTFileViewCtrl::onUpdateFileName

別のファイルビューで編集されたときはイベントを無視する処理を追加。 ファイル名変更時にファイル属性辞書を更新する処理を追加。

MTFileViewCtrl::updateSearchResultsForSearchController

検索結果ビューに検索結果を登録するとき、引数にファイル属性辞書を追加。

MTFileViewCtrl::onSelectFileInSearchResults

検索結果ビューでのファイル選択イベントハンドラを追加。 ディレクトリ選択時は、選択されたディレクトリを表示対象とする子のファイルビューを生成して、画面遷移する。 ファイル選択時は、MIDITrailAppにファイル選択を通知(検索結果ビューで実施していた処理をこちらに移動)。

MTFileViewCtrl::updateFileList

子のファイルビューが存在する場合は、子のファイル一覧更新を実施する処理を追加。

MTFileViewCtrl::scroolToFilePath

子のファイルビューが存在する場合は、子に処理任せるように修正。 指定ファイルが存在するディレクトリとファイルビューの対象ディレクトリが一致しない場合は、何もしないように修正。

MTFileViewCtrl::dealloc

デストラクタを追加。メンバオブジェクトの破棄を実施。

2020-04-14 23:01 更新者: yknk
コメント

対策4:MTFileViewCtrl その2

MTFileViewCtrl::makeFileCellForIndexPath

ファイルとディレクトリが一つも存在しなかった場合の表示メッセージにFiles Appを追加する。 Files AppはVer.1.3.1で対応済み。

変更前:You can import your MIDI files through iTunes File Sharing.
変更後:You can import your MIDI files through iTunes File Sharing or Files App.
以下メソッドについても同様に修正する。(背景画像ファイル選択、ウェーブテーブルファイル選択)

  • MTSettingBGIMGViewCtrl::makeFileCellForIndexPath
  • MTSettingWavetableViewCtrl::makeFileCellForIndexPath
2020-04-16 22:12 更新者: yknk
  • 解決法なし から 修正済み に更新されました
  • 状況オープン から 完了 に更新されました

添付ファイルリスト

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