Aoi32(0, 0, 6, 6/Osaki #65) -入力内容が変更されている状態でメニューアイテムの"開く"を選択された時の挙動.

変更状態で"開く"を押すと、結構ややこしいことになるので、その部分の処理を書いた。

変更されている場合は、保存するかどうかダイアログを表示し、"はい"なら保存、"いいえ"なら保存しない、"キャンセル"ならその先の処理をしない、という分岐をする必要がある。
そして、その後、ファイルを開く処理をしないといけない。

アプリを起動
アプリを起動

アプリを起動。

新規に入力
新規に入力

新規に入力。

開く
開く

開く。

変更状態だとダイアログ表示
変更状態だとダイアログ表示

変更状態だとダイアログ表示。

"はい"でtest1.txtで保存
"はい"でtest1.txtで保存

"はい"でtest1.txtで保存。

そのあとすかさず開くダイアログなのでtest1.txtを開く
そのあとすかさず開くダイアログなのでtest1.txtを開く

そのあとすかさず開くダイアログなのでtest1.txtを開く。

newtest1.txtが表示
newtest1.txtが表示

newtest1.txtが表示。

今度は新規ではなくnewtest1.txtをこのまま編集
今度は新規ではなくnewtest1.txtをこのまま編集

今度は新規ではなくnewtest1.txtをこのまま編集。

開く
開く

開く。

"はい"でnewtest1.txtを保存
"はい"でnewtest1.txtを保存

"はい"でnewtest1.txtを保存。

"開く"ではtest2.txt
"開く"ではtest2.txt

"開く"ではtest2.txt。

test2.txtが開かれる
test2.txtが開かれる

test2.txtが開かれる。

test2.txtを編集
test2.txtを編集

test2.txtを編集。

"いいえ"の場合
"いいえ"の場合

"いいえ"の場合。

未保存状態で"開く"が出てnewtest1.txtを選択
未保存状態で"開く"が出てnewtest1.txtを選択

未保存状態で"開く"が出てnewtest1.txtを選択。

newtest1.txtになる
newtest1.txtになる

newtest1.txtになる。
ちなみにtest2.txtを開いたら、

元に戻ってる
元に戻ってる

元に戻ってる。
保存してないので。

また新規の編集
また新規の編集

また新規の編集。

今度は"キャンセル"の場合
今度は"キャンセル"の場合

今度は"キャンセル"の場合。

未保存状態でここに戻る
未保存状態でここに戻る

未保存状態でここに戻る。

今度は"はい"を選択
今度は"はい"を選択

今度は"はい"を選択。

"名前を付けて保存"ダイアログでキャンセルの場合
"名前を付けて保存"ダイアログでキャンセルの場合

"名前を付けて保存"ダイアログでキャンセルの場合。

これもさっきのところに戻る
これもさっきのところに戻る

これもさっきのところに戻る。

"いいえ"の場合は
"いいえ"の場合は

"いいえ"の場合は。

"名前を付けて保存"は出ないが"開く"は出る。
"名前を付けて保存"は出ないが"開く"は出る。

"名前を付けて保存"は出ないが"開く"は出る。
ここでキャンセルを押すと、

やはりここに戻ってくる
やはりここに戻ってくる

やはりここに戻ってくる。
これで"開く"と"名前を付けて保存"の基本的な動作はいったん完了かな。

-入力内容が変更されている状態でメニューアイテムの"開く"を選択された時の挙動. · bg1bgst333/Aoi32@82d6109 · GitHub