From 2ca271aaa4746f29d2b0c97f0389823ec309edc4 Mon Sep 17 00:00:00 2001 From: Mathias Simmack Date: Mon, 31 Oct 2005 21:18:01 +0000 Subject: [PATCH] Help 2.0: added a new checkbox to limit the search results for the current project language if a project is loaded; if not, the checkbox disappears. I was too lazy to build a new version of the translation database, but the strings are entered. git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@662 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61 --- .../Project/src/BaseControls/IndexPad.cs | 3 +- .../Project/src/BaseControls/SearchPad.cs | 34 +++++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/IndexPad.cs b/src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/IndexPad.cs index 39c4f64e14..78c683b0c3 100644 --- a/src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/IndexPad.cs +++ b/src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/IndexPad.cs @@ -110,7 +110,8 @@ namespace HtmlHelp2 this.FakeHelpControl(); } } - else { + else + { this.FakeHelpControl(); } diff --git a/src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/SearchPad.cs b/src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/SearchPad.cs index 71770a4821..b03c1275d2 100644 --- a/src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/SearchPad.cs +++ b/src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/SearchPad.cs @@ -16,6 +16,7 @@ namespace HtmlHelp2 using ICSharpCode.SharpDevelop.Project; using HtmlHelp2.Environment; using HtmlHelp2.HelperDialog; + using HtmlHelp2.SharpDevLanguageClass; using MSHelpServices; @@ -42,6 +43,7 @@ namespace HtmlHelp2 CheckBox enableStemming = new CheckBox(); CheckBox reuseMatches = new CheckBox(); CheckBox hiliteTopics = new CheckBox(); + CheckBox useCurrentLang = new CheckBox(); Label label1 = new Label(); Label label2 = new Label(); string selectedQuery = ""; @@ -94,6 +96,7 @@ namespace HtmlHelp2 panel3.Controls.Add(enableStemming); panel3.Controls.Add(reuseMatches); panel3.Controls.Add(hiliteTopics); + panel3.Controls.Add(useCurrentLang); titlesOnly.Width = pw; titlesOnly.Text = StringParser.Parse("${res:AddIns.HtmlHelp2.SearchInTitlesOnly}"); @@ -120,6 +123,18 @@ namespace HtmlHelp2 hiliteTopics.Enabled = HtmlHelp2Environment.IsReady; hiliteTopics.Checked = true; + useCurrentLang.Width = pw; + useCurrentLang.Top = hiliteTopics.Top + hiliteTopics.Height; + + // TODO: just a little hack, I was too lazy to build a new database ;-) + string useCurrentLangString = StringParser.Parse("${res:AddIns.HtmlHelp2.UseCurrentProjectLanguageForSearch}"); + if(useCurrentLangString.StartsWith("${res")) + useCurrentLangString = "Use current Project language"; + useCurrentLang.Text = useCurrentLangString; + useCurrentLang.TextAlign = ContentAlignment.MiddleLeft; + useCurrentLang.Enabled = HtmlHelp2Environment.IsReady; + useCurrentLang.Visible = ProjectService.CurrentProject != null; + panel3.Dock = DockStyle.Fill; // Filter Combobox @@ -164,6 +179,9 @@ namespace HtmlHelp2 label2.Dock = DockStyle.Top; label2.TextAlign = ContentAlignment.MiddleLeft; label2.Enabled = HtmlHelp2Environment.IsReady; + + ProjectService.SolutionLoaded += this.SolutionLoaded; + ProjectService.SolutionClosed += this.SolutionUnloaded; } private void FilterChanged(object sender, EventArgs e) @@ -280,6 +298,9 @@ namespace HtmlHelp2 foreach(IHxTopic topic in matchingTopics) { + if(useCurrentLang.Checked && !useDynamicHelp && !SharpDevLanguage.CheckTopicLanguage(topic)) + continue; + ListViewItem lvi = new ListViewItem(); lvi.Text = topic.get_Title(HxTopicGetTitleType.HxTopicGetRLTitle, HxTopicGetTitleDefVal.HxTopicGetTitleFileName); @@ -322,5 +343,18 @@ namespace HtmlHelp2 return searchResults.SearchResultsListView.Items.Count > 0; } #endregion + + #region Project Events to hide/show the new "Use language" checkbox + private void SolutionLoaded(object sender, SolutionEventArgs e) + { + useCurrentLang.Visible = true; + } + + private void SolutionUnloaded(object sender, EventArgs e) + { + useCurrentLang.Visible = false; + useCurrentLang.Checked = false; + } + #endregion } }