public MainForm() { InitializeComponent(); // 設定が無い場合初期化 if (Settings.Default.SearchDirectories == null) Settings.Default.SearchDirectories = new System.Collections.Specialized.StringCollection(); if (Settings.Default.ExtensionFilters == null) { Settings.Default.ExtensionFilters = new System.Collections.Specialized.StringCollection(); Settings.Default.ExtensionFilters.AddRange(new []{ "False,*,全てのファイル", "True,txt,テキストファイル", "False,md|markdown,Markdown ファイル", }); } if (Settings.Default.EditorPath == null) Settings.Default.EditorPath = String.Empty; if (Settings.Default.EditorCommandLine == null) Settings.Default.EditorCommandLine = String.Empty; // 設定をロード searchDirectories = new List<string>(Settings.Default.SearchDirectories.Cast<string>()); extensionFilters = ExtensionFilters.Deserialize(Settings.Default.ExtensionFilters.Cast<string>()); editorPath = Settings.Default.EditorPath; editorCommandLine = Settings.Default.EditorCommandLine; }
public SelectExtensionsDialog(ExtensionFilters filters) { InitializeComponent(); Filters = filters; // コピーオンライトするため直接セットする if (Filters.Filters.Count() >= 1) { extensionsView.Items.Clear(); var items = new List<ListViewItem>(); foreach (var f in Filters.Filters) { var item = new ListViewItem(new[] {"", f.ExtensionsString, f.Description}); item.Checked = f.Enabled; items.Add(item); } extensionsView.Items.AddRange(items.ToArray()); } // else if count == 0 : ListViewにデフォルトのフィルタ列をセット (フォームデザイナ) }
private void okButton_Click(object sender, EventArgs e) { var filters = from item in extensionsView.Items.Cast<ListViewItem>() select new ExtensionFilter(item.Checked, item.SubItems[1].Text, item.SubItems[2].Text); Filters = new ExtensionFilters(filters); // 新しい設定に置き換える }
public SelectExtensionsDialog() { InitializeComponent(); Filters = new ExtensionFilters(); }
/// <summary> /// イベント : メニューの「設定 >> 検索する拡張子を選択」が選択された /// 検索する拡張子選択ダイアログを表示する。 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void SelectExtensionsItem_Click(object sender, EventArgs e) { var dialog = new SelectExtensionsDialog(extensionFilters); if (dialog.ShowDialog(this) == DialogResult.OK) { extensionFilters = dialog.Filters; System.Diagnostics.Debug.WriteLine(String.Join("\n", extensionFilters.Serialize())); } }