@@ -19,6 +19,7 @@ public ProjectEditForm()
1919 InitializeComponent ( ) ;
2020 Settings = new ProjectSettings ( ) ;
2121 InitializeForm ( ) ;
22+ LoadSettings ( ) ;
2223 }
2324
2425 public ProjectEditForm ( ProjectSettings settings )
@@ -128,11 +129,11 @@ private void UpdateControlsState()
128129 narNameEdit . Enabled = needsNar ;
129130 narLocateButton . Enabled = needsNar ;
130131
131- // アップロード先選択(FTP/ななろだ)はUploadモード時のみ表示
132+ // アップロード先選択(FTP/ななろだ)はUploadモード時のみ有効
132133 bool isFtpUpload = isUpload && ftpRadio . Checked ;
133134 bool isNarNaLoaderUpload = isUpload && nanaloaderRadio . Checked ;
134- ftpRadio . Visible = isUpload ;
135- nanaloaderRadio . Visible = isUpload ;
135+ ftpRadio . Enabled = isUpload ;
136+ nanaloaderRadio . Enabled = isUpload ;
136137
137138 // FTP固有設定: ネットワーク更新 OR FTPアップロード時に有効
138139 bool needsFtpSettings = ( isNetwork || isFtpUpload ) ;
@@ -148,47 +149,13 @@ private void UpdateControlsState()
148149 useDefaultFTPCheck . Enabled = needsAuth ;
149150 setDefaultButton . Enabled = needsAuth ;
150151
151- // ななろだ設定はNarNaLoaderアップロード時のみ表示・有効
152- ghostIdLabel . Visible = isUpload ;
153- ghostIdEdit . Visible = isUpload ;
154- uploadUrlLabel . Visible = isUpload ;
155- uploadUrlEdit . Visible = isUpload ;
152+ // ななろだ設定の有効/無効制御
153+ // ラベルはUploadモード時に有効化
154+ ghostIdLabel . Enabled = isUpload ;
155+ uploadUrlLabel . Enabled = isUpload ;
156+ // テキストボックスはNarNaLoaderアップロード時のみ有効
156157 ghostIdEdit . Enabled = isNarNaLoaderUpload && ! useDefaultFTPCheck . Checked ;
157158 uploadUrlEdit . Enabled = isNarNaLoaderUpload && ! useDefaultFTPCheck . Checked ;
158-
159- // アーカイブ生成時の必須ファイル追加
160- if ( needsNar )
161- {
162- EnsurePatternExists ( processNameMemo , "install.txt" ) ;
163- EnsurePatternExists ( processNameMemo , "updates2.dau" ) ;
164- EnsurePatternExists ( processNameMemo , "ghost/master/updates2.dau" ) ;
165- }
166- else
167- {
168- // ネットワーク更新時は不要なパターンを削除
169- RemovePattern ( processNameMemo , "install.txt" ) ;
170- RemovePattern ( processNameMemo , "updates2.dau" ) ;
171- RemovePattern ( processNameMemo , "ghost/master/updates2.dau" ) ;
172- }
173- }
174-
175- private void EnsurePatternExists ( TextBox textBox , string pattern )
176- {
177- var lines = textBox . Lines ;
178- foreach ( var line in lines )
179- {
180- if ( line . Trim ( ) == pattern )
181- return ;
182- }
183-
184- textBox . AppendText ( Environment . NewLine + pattern ) ;
185- }
186-
187- private void RemovePattern ( TextBox textBox , string pattern )
188- {
189- var lines = new System . Collections . Generic . List < string > ( textBox . Lines ) ;
190- lines . RemoveAll ( line => line . Trim ( ) == pattern ) ;
191- textBox . Lines = lines . ToArray ( ) ;
192159 }
193160
194161 private void networkRadio_CheckedChanged ( object sender , EventArgs e )
@@ -429,5 +396,33 @@ private void LoadUploadSettings()
429396 ghostIdEdit . Text = Settings . NarNaLoaderGhostId ;
430397 uploadUrlEdit . Text = config . NarNaLoaderUploadUrl ;
431398 }
399+
400+ private void resetProcessNameButton_Click ( object sender , EventArgs e )
401+ {
402+ var result = MessageBox . Show (
403+ "処理ファイル名条件をデフォルト値にリセットしますか?" ,
404+ "確認" ,
405+ MessageBoxButtons . YesNo ,
406+ MessageBoxIcon . Question ) ;
407+
408+ if ( result == DialogResult . Yes )
409+ {
410+ processNameMemo . Text = ProjectSettings . GetDefaultProcessPatterns ( ) ;
411+ }
412+ }
413+
414+ private void resetEscapeNameButton_Click ( object sender , EventArgs e )
415+ {
416+ var result = MessageBox . Show (
417+ "除外ファイル名条件をデフォルト値にリセットしますか?" ,
418+ "確認" ,
419+ MessageBoxButtons . YesNo ,
420+ MessageBoxIcon . Question ) ;
421+
422+ if ( result == DialogResult . Yes )
423+ {
424+ escapeNameMemo . Text = ProjectSettings . GetDefaultExcludePatterns ( ) ;
425+ }
426+ }
432427 }
433428}
0 commit comments