Exemplo n.º 1
0
 public void ShowIgnoreEditFormFromSetting(string dirPath)
 {
     // 無視設定フォームを開く
     OwnerForm.InvokeOnUIThread((form) =>
     {
         // 無視設定ダイアログを開く
         var dialog = new IgnoreEditForm(IgnoreEditForm.EditMode.UPDATE, dirPath, "", App);
         var res    = dialog.ShowDialog(form);
         if (res == DialogResult.OK)
         {
             // 無視設定を更新した場合、常駐クロール実行中であれば再起動
             App.RestartAlwaysCrawlIfRunning(OwnerForm);
         }
     });
 }
Exemplo n.º 2
0
            public void ShowIgnoreEditFormFromSearchResult(string path)
            {
                // 無視設定フォームを開く
                OwnerForm.InvokeOnUIThread((form) =>
                {
                    // 登録された対象フォルダのリストを取得し、パスが長い順に並べておく
                    var folders = App.UserSettings.TargetFolders.OrderByDescending(folder => folder.Path.Length);

                    // クリックしたファイルについて、どの対象フォルダに存在するかを特定(最もパスが長い=階層が深いものを優先)
                    var dirPath     = Path.GetDirectoryName(path);
                    var baseDirPath = folders.First(folder => dirPath.ToLower().StartsWith(folder.Path.ToLower())).Path;

                    // 無視設定ダイアログを開く
                    var relPath        = path.Substring(baseDirPath.Length + 1);
                    var defaultPattern = (relPath.Contains(@"\") ? relPath : $@"\{relPath}");
                    var dialog         = new IgnoreEditForm(IgnoreEditForm.EditMode.APPEND, baseDirPath, defaultPattern, App);
                    var res            = dialog.ShowDialog(form);
                    if (res == DialogResult.OK)
                    {
                        // 無視設定を更新した場合、常駐クロール実行中であれば再起動
                        App.RestartAlwaysCrawlIfRunning(OwnerForm);
                    }
                });
            }