teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

追記:

2017/11/11 07:17

投稿

KSwordOfHaste
KSwordOfHaste

スコア18404

answer CHANGED
@@ -10,4 +10,23 @@
10
10
  (2) ファイルがあってもファイル名が衝突しない限り元合ったファイルは無視するか
11
11
  (3) ファイルがあったら無条件に消すか
12
12
 
13
- (1)は比較的ユーザー操作ミスが少ない方法(2),(3)になるにつれてユーザーに慎重な配慮が必要です。また(3)についていえばアプリケーション側でも「ユーザーが危険なディレクトリーを指定してしまった場合に、それを無暗に信じて大事なファイルを消さないようにする配慮」も必要になると思います。ホームディレクトリーを誤って指定された際に「その下をごっそり消してしまう」と致命的ですね・・・。
13
+ (1)は比較的ユーザー操作ミスが少ない方法(2),(3)になるにつれてユーザーに慎重な配慮が必要です。また(3)についていえばアプリケーション側でも「ユーザーが危険なディレクトリーを指定してしまった場合に、それを無暗に信じて大事なファイルを消さないようにする配慮」も必要になると思います。ホームディレクトリーを誤って指定された際に「その下をごっそり消してしまう」と致命的ですね・・・。
14
+
15
+ ---
16
+ 追記:
17
+
18
+ UIで指定させたディレクトリーが「まだ存在しないものであること」が必要なのでしたら、そのような新しいディレクトリーを指定することができるような「ディレクトリーを指定するための特化UI」は標準機能の中にはないと思います。
19
+
20
+ こうした場合は既存のUIを組み合わせて作ることになりますが、考えられる方法としては
21
+
22
+ (1) TextFieldにフルパスを直接指定させる
23
+ (2) DirectoryChooserで出力ディレクトリの親ディレクトリーを指定させ、TextFieldに作成するディレクトリー名(サブディレクトリー名)を指定させる
24
+ (3) (1),(2)の複合
25
+
26
+ (3)の一例ですが、
27
+
28
+ (A) TextField(サブディレクトリー名)
29
+ (B) 新規作成するディレクトリーのフルパス名(最後のパスは(A)と同じになる)
30
+ (C) (A)を生成する場所(既存ディレクトリー)を指定するためのDirectoryChooserを開くボタン
31
+
32
+ をUIとして用意し、(A)だけ指定してデフォルトのベースディレクトリーの下にサブディレクトリー名のみ指定したり、(B)で任意のディレクトリーをフルパスで直接指定したり、(C)でサブディレクトリーを作成する場所を指定したりと、「簡便さ」と「柔軟さ」を両立したようなUIも考えられます。(例えばIntelliJ IDEAのようなIDEで新規プロジェクトを作成する場合、こんな感じになってます)

1

誤記訂正

2017/11/11 07:17

投稿

KSwordOfHaste
KSwordOfHaste

スコア18404

answer CHANGED
@@ -1,4 +1,4 @@
1
- > 場合ディレクトリの場所を決めさせるのみで、作成するディレクトリ名を入力させる事は出来ません。
1
+ > ...ディレクトリの場所を決めさせるのみで、作成するディレクトリ名を入力させる事は出来ません。
2
2
 
3
3
  OSによって機能に差があるかも知れませんが、例えばWindowsのDirectoryChooserは左上に「新しいフォルダー」という目立たないボタンがあり、それを押すと任意の場所に任意の名前で「新しいディレクトリー」を生成することができます。
4
4