Browse Source

Help 2.0: more suggestions made by FxCop

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@1571 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Mathias Simmack 19 years ago
parent
commit
a34ddc9e98
  1. 3
      src/AddIns/Misc/HtmlHelp2/Project/Configuration/AssemblyInfo.cs
  2. 2
      src/AddIns/Misc/HtmlHelp2/Project/HtmlHelp2.addin
  3. 88
      src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/DynamicHelpPad.cs
  4. 3
      src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/IndexResultsPad.cs
  5. 12
      src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/SearchResultsPad.cs
  6. 16
      src/AddIns/Misc/HtmlHelp2/Project/src/BrowserControl/HelpBrowserCommands.cs
  7. 12
      src/AddIns/Misc/HtmlHelp2/Project/src/BrowserControl/ShowHelpBrowser.cs
  8. 26
      src/AddIns/Misc/HtmlHelp2/Project/src/BrowserScheme.cs
  9. 30
      src/AddIns/Misc/HtmlHelp2/Project/src/MsHelpProvider.cs
  10. 48
      src/AddIns/Misc/HtmlHelp2/Project/src/Service/Help2RegistryWalker.cs
  11. 38
      src/AddIns/Misc/HtmlHelp2/Project/src/Service/HtmlHelp2Service.cs

3
src/AddIns/Misc/HtmlHelp2/Project/Configuration/AssemblyInfo.cs

@ -7,6 +7,7 @@ @@ -7,6 +7,7 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Security.Permissions;
// Information about this assembly is defined by the following
// attributes.
@ -21,3 +22,5 @@ using System.Runtime.CompilerServices; @@ -21,3 +22,5 @@ using System.Runtime.CompilerServices;
[assembly: AssemblyCulture("")]
[assembly: System.Runtime.InteropServices.ComVisible(false)]
[assembly: System.CLSCompliant(false)]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, Execution = true)]

2
src/AddIns/Misc/HtmlHelp2/Project/HtmlHelp2.addin

@ -16,7 +16,7 @@ @@ -16,7 +16,7 @@
</Path>
<Path name = "/SharpDevelop/Services/HelpProvider">
<Class id = "HtmlHelp2" class = "HtmlHelp2.MsHelpProvider"/>
<Class id = "HtmlHelp2" class = "HtmlHelp2.MSHelpProvider"/>
</Path>
<Path name = "/SharpDevelop/Workbench/Pads">

88
src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/DynamicHelpPad.cs

@ -11,6 +11,8 @@ namespace HtmlHelp2 @@ -11,6 +11,8 @@ namespace HtmlHelp2
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Drawing;
using System.Globalization;
using System.Security.Permissions;
using System.Windows.Forms;
using System.Reflection;
using ICSharpCode.Core;
@ -35,7 +37,7 @@ namespace HtmlHelp2 @@ -35,7 +37,7 @@ namespace HtmlHelp2
public class HtmlHelp2DynamicHelpPad : AbstractPadContent
{
protected HtmlHelp2DynamicHelpBrowserControl dynamicHelpBrowser;
HtmlHelp2DynamicHelpBrowserControl dynamicHelpBrowser;
private StringCollection dynamicHelpTerms = new StringCollection();
private Point lastPoint = Point.Empty;
private string debugPreElement = String.Empty;
@ -51,6 +53,7 @@ namespace HtmlHelp2 @@ -51,6 +53,7 @@ namespace HtmlHelp2
dynamicHelpBrowser.RedrawContent();
}
[PermissionSet(SecurityAction.LinkDemand, Name="Execution")]
public HtmlHelp2DynamicHelpPad()
{
dynamicHelpBrowser = new HtmlHelp2DynamicHelpBrowserControl();
@ -95,11 +98,11 @@ namespace HtmlHelp2 @@ -95,11 +98,11 @@ namespace HtmlHelp2
if (this.enableDebugInfo)
{
this.debugPreElement +=
string.Format("<br>Current project language: {0}", SharpDevLanguage.GetPatchedLanguage());
string.Format(CultureInfo.InvariantCulture, "<br>Current project language: {0}", SharpDevLanguage.GetPatchedLanguage());
dynamicHelpBrowser.CreateDebugPre(this.debugPreElement);
}
}
catch (Exception ex)
catch (System.Runtime.InteropServices.COMException ex)
{
LoggingService.Error("Help 2.0: Dynamic Help Call Exception; " + ex.ToString());
}
@ -122,12 +125,13 @@ namespace HtmlHelp2 @@ -122,12 +125,13 @@ namespace HtmlHelp2
// debug info
this.debugPreElement +=
string.Format("{0} ({1}): {2} {3}<br>", searchTerm, (keywordSearch)?"Kwd":"DH",
string.Format(CultureInfo.InvariantCulture,
"{0} ({1}): {2} {3}<br>", searchTerm, (keywordSearch)?"Kwd":"DH",
topics.Count, (topics.Count==1)?"topic":"topics");
if (result)
{
List<IHxTopic> newTopics = this.SortTopics(topics);
List<IHxTopic> newTopics = SortTopics(topics);
foreach (IHxTopic topic in newTopics)
{
if ((keywordSearch)?SharpDevLanguage.CheckUniqueTopicLanguage(topic):SharpDevLanguage.CheckTopicLanguage(topic))
@ -207,7 +211,7 @@ namespace HtmlHelp2 @@ -207,7 +211,7 @@ namespace HtmlHelp2
// save the current position
if(this.lastPoint != null && this.lastPoint == caret.Position) return null;
this.lastPoint = caret.Position;
this.AddToStringCollection(String.Format("!{0}", expr.Expression));
this.AddToStringCollection(string.Format(CultureInfo.InvariantCulture, "!{0}", expr.Expression));
return ParserService.Resolve(expr, caret.Line + 1, caret.Column + 1, fileName, content);
}
@ -228,24 +232,21 @@ namespace HtmlHelp2 @@ -228,24 +232,21 @@ namespace HtmlHelp2
private void CallDynamicHelpForFormsDesigner(object selectedObject, GridItem selectedItem)
{
try
{
if (selectedObject == null) return;
this.dynamicHelpTerms.Clear();
if (selectedObject == null) return;
this.dynamicHelpTerms.Clear();
Type myObject = selectedObject.GetType();
if (selectedItem != null)
Type myObject = selectedObject.GetType();
if (selectedItem != null)
{
foreach (Type type in TypeHandling.FindDeclaringType(myObject, selectedItem.Label))
{
foreach (Type type in TypeHandling.FindDeclaringType(myObject, selectedItem.Label))
{
this.AddToStringCollection(String.Format("{0}.{1}", type.FullName, selectedItem.Label));
}
this.AddToStringCollection(string.Format(CultureInfo.InvariantCulture,
"{0}.{1}", type.FullName, selectedItem.Label));
}
this.AddToStringCollection(myObject.FullName);
WorkbenchSingleton.SafeThreadAsyncCall(this, "BuildDynamicHelpList");
}
catch {}
this.AddToStringCollection(myObject.FullName);
WorkbenchSingleton.SafeThreadAsyncCall(this, "BuildDynamicHelpList");
}
#endregion
@ -271,7 +272,7 @@ namespace HtmlHelp2 @@ -271,7 +272,7 @@ namespace HtmlHelp2
}
}
private List<IHxTopic> SortTopics(IHxTopicList topics)
private static List<IHxTopic> SortTopics(IHxTopicList topics)
{
if (topics == null || topics.Count == 0)
{
@ -301,7 +302,7 @@ namespace HtmlHelp2 @@ -301,7 +302,7 @@ namespace HtmlHelp2
return result;
}
private int CompareType(string topicType, IHxTopic x, IHxTopic y)
private static int CompareType(string topicType, IHxTopic x, IHxTopic y)
{
if(x.HasAttribute("TopicType", topicType) && !y.HasAttribute("TopicType", topicType))
return -1;
@ -323,7 +324,7 @@ namespace HtmlHelp2 @@ -323,7 +324,7 @@ namespace HtmlHelp2
{
WebBrowser axWebBrowser = new WebBrowser();
ToolStrip dynamicHelpToolbar = new ToolStrip();
int internalIndex = 0;
int internalIndex;
string[] toolbarButtons = new string[] {
"${res:AddIns.HtmlHelp2.Contents}",
"${res:AddIns.HtmlHelp2.Index}",
@ -338,11 +339,13 @@ namespace HtmlHelp2 @@ -338,11 +339,13 @@ namespace HtmlHelp2
}
}
[PermissionSet(SecurityAction.LinkDemand, Name="Execution")]
public HtmlHelp2DynamicHelpBrowserControl()
{
this.InitializeComponents();
}
[PermissionSet(SecurityAction.LinkDemand, Name="Execution")]
private void InitializeComponents()
{
Dock = DockStyle.Fill;
@ -385,9 +388,10 @@ namespace HtmlHelp2 @@ -385,9 +388,10 @@ namespace HtmlHelp2
}
}
[PermissionSet(SecurityAction.LinkDemand, Name="Execution")]
public void LoadDynamicHelpPage()
{
string url = String.Format("res://{0}/context", Assembly.GetExecutingAssembly().Location);
string url = string.Format(CultureInfo.InvariantCulture, "res://{0}/context", Assembly.GetExecutingAssembly().Location);
axWebBrowser.Navigate(url);
}
@ -425,7 +429,8 @@ namespace HtmlHelp2 @@ -425,7 +429,8 @@ namespace HtmlHelp2
#endregion
#region WebBrowser Scripting
public void BuildNewChild(string sectionName, string topicName, string topicUrl)
[PermissionSet(SecurityAction.LinkDemand, Name="Execution")]
public void BuildNewChild(string sectionName, string topicName, string topicLink)
{
HtmlElementCollection children =
axWebBrowser.Document.Body.GetElementsByTagName("span");
@ -441,9 +446,9 @@ namespace HtmlHelp2 @@ -441,9 +446,9 @@ namespace HtmlHelp2
contentSpan.TagName == "SPAN" &&
contentSpan.GetAttribute("className") == "content")
{
if (!this.DoesLinkExist(contentSpan, topicName, topicUrl))
if (!DoesLinkExist(contentSpan, topicName, topicLink))
{
HtmlElement newLink = this.CreateNewLink(topicUrl, topicName);
HtmlElement newLink = this.CreateNewLink(topicLink, topicName);
if (newLink != null)
{
contentSpan.AppendChild(newLink);
@ -469,7 +474,7 @@ namespace HtmlHelp2 @@ -469,7 +474,7 @@ namespace HtmlHelp2
axWebBrowser.Document.Body.InsertAdjacentElement
(HtmlElementInsertionOrientation.BeforeEnd, htmlSection);
HtmlElement newLink = this.CreateNewLink(topicUrl, topicName);
HtmlElement newLink = this.CreateNewLink(topicLink, topicName);
if (newLink != null)
{
linkContent.AppendChild(newLink);
@ -480,23 +485,26 @@ namespace HtmlHelp2 @@ -480,23 +485,26 @@ namespace HtmlHelp2
}
}
[PermissionSet(SecurityAction.LinkDemand, Name="Execution")]
private HtmlElement CreateNewSection(string sectionName, out HtmlElement linkNode)
{
HtmlElement span = axWebBrowser.Document.CreateElement("span");
span.SetAttribute("className", "section");
span.InnerHtml = String.Format
("<img style=\"width:16px;height:16px;margin-right:5px\" id=\"image_{0}\" src=\"open\">" +
span.InnerHtml = string.Format
(CultureInfo.InvariantCulture,
"<img style=\"width:16px;height:16px;margin-right:5px\" id=\"image_{0}\" src=\"open\">" +
"<b style=\"cursor:auto;\" id=\"{0}\" onclick=\"ExpandCollapse({0})\">{1}</b><br>",
this.internalIndex, sectionName);
linkNode = axWebBrowser.Document.CreateElement("span");
linkNode.SetAttribute("className", "content");
linkNode.Id = String.Format("content_{0}", this.internalIndex);
linkNode.Id = string.Format(CultureInfo.InvariantCulture, "content_{0}", this.internalIndex);
span.AppendChild(linkNode);
return span;
}
[PermissionSet(SecurityAction.LinkDemand, Name="Execution")]
private HtmlElement CreateNewLink(string topicUrl, string topicName)
{
HtmlElement span = axWebBrowser.Document.CreateElement("a");
@ -511,13 +519,15 @@ namespace HtmlHelp2 @@ -511,13 +519,15 @@ namespace HtmlHelp2
return span;
}
[PermissionSet(SecurityAction.LinkDemand, Name="Execution")]
private HtmlElement CreateABreak()
{
HtmlElement br = axWebBrowser.Document.CreateElement("br");
return br;
}
private bool DoesLinkExist(HtmlElement parentNode, string topicName, string topicUrl)
[PermissionSet(SecurityAction.LinkDemand, Name="Execution")]
private static bool DoesLinkExist(HtmlElement parentNode, string topicName, string topicUrl)
{
HtmlElementCollection links = parentNode.GetElementsByTagName("a");
foreach (HtmlElement link in links)
@ -533,9 +543,10 @@ namespace HtmlHelp2 @@ -533,9 +543,10 @@ namespace HtmlHelp2
private void OnMouseOver(object sender, HtmlElementEventArgs e)
{
if (sender is HtmlElement)
HtmlElement link = sender as HtmlElement;
if (link != null)
{
StatusBarService.SetMessage(((HtmlElement)sender).GetAttribute("src"));
StatusBarService.SetMessage(link.GetAttribute("src"));
}
}
@ -546,13 +557,15 @@ namespace HtmlHelp2 @@ -546,13 +557,15 @@ namespace HtmlHelp2
private void OnLinkClick(object sender, HtmlElementEventArgs e)
{
if (sender is HtmlElement)
HtmlElement link = sender as HtmlElement;
if (link != null)
{
string url = ((HtmlElement)sender).GetAttribute("src");
string url = link.GetAttribute("src");
if (!string.IsNullOrEmpty(url)) ShowHelpBrowser.OpenHelpView(url);
}
}
[PermissionSet(SecurityAction.LinkDemand, Name="Execution")]
public void RemoveAllChildren()
{
try
@ -560,7 +573,7 @@ namespace HtmlHelp2 @@ -560,7 +573,7 @@ namespace HtmlHelp2
this.internalIndex = 0;
axWebBrowser.Document.Body.InnerHtml = string.Empty;
}
catch (Exception ex)
catch (System.NotSupportedException ex)
{
LoggingService.Error("Help 2.0: Clean-up Call Exception; " + ex.ToString());
}
@ -568,6 +581,7 @@ namespace HtmlHelp2 @@ -568,6 +581,7 @@ namespace HtmlHelp2
#endregion
#region DebugInfo
[PermissionSet(SecurityAction.LinkDemand, Name="Execution")]
public void CreateDebugPre(string debugInformation)
{
if (!string.IsNullOrEmpty(debugInformation))

3
src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/IndexResultsPad.cs

@ -9,6 +9,7 @@ namespace HtmlHelp2 @@ -9,6 +9,7 @@ namespace HtmlHelp2
{
using System;
using System.Collections;
using System.Globalization;
using System.Windows.Forms;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop;
@ -118,7 +119,7 @@ namespace HtmlHelp2 @@ -118,7 +119,7 @@ namespace HtmlHelp2
string text = StringParser.Parse("${res:AddIns.HtmlHelp2.ResultsOfIndexResults}",
new string[,]
{{"0", indexTerm},
{"1", listView.Items.Count.ToString()},
{"1", listView.Items.Count.ToString(CultureInfo.InvariantCulture)},
{"2", (listView.Items.Count == 1)?"${res:AddIns.HtmlHelp2.SingleTopic}":"${res:AddIns.HtmlHelp2.MultiTopic}"}}
);

12
src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/SearchResultsPad.cs

@ -9,6 +9,7 @@ namespace HtmlHelp2 @@ -9,6 +9,7 @@ namespace HtmlHelp2
{
using System;
using System.Collections;
using System.Globalization;
using System.Windows.Forms;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop;
@ -123,7 +124,7 @@ namespace HtmlHelp2 @@ -123,7 +124,7 @@ namespace HtmlHelp2
string text = StringParser.Parse("${res:AddIns.HtmlHelp2.ResultsOfSearchResults}",
new string[,]
{{"0", indexTerm},
{"1", listView.Items.Count.ToString()},
{"1", listView.Items.Count.ToString(CultureInfo.InvariantCulture)},
{"2", (listView.Items.Count == 1)?"${res:AddIns.HtmlHelp2.SingleTopic}":"${res:AddIns.HtmlHelp2.MultiTopic}"}}
);
@ -142,16 +143,19 @@ namespace HtmlHelp2 @@ -142,16 +143,19 @@ namespace HtmlHelp2
public int Compare(object x, object y)
{
ListViewItem itemA = x as ListViewItem;
ListViewItem itemB = y as ListViewItem;
switch (col)
{
case 2:
int a = Int32.Parse(((ListViewItem)x).SubItems[col].Text);
int b = Int32.Parse(((ListViewItem)y).SubItems[col].Text);
int a = Int32.Parse(itemA.SubItems[col].Text, CultureInfo.InvariantCulture);
int b = Int32.Parse(itemB.SubItems[col].Text, CultureInfo.InvariantCulture);
if(a > b) return 1;
else if(a < b) return -1;
else return 0;
default:
return String.Compare(((ListViewItem)x).SubItems[col].Text, ((ListViewItem)y).SubItems[col].Text);
return string.Compare(itemA.SubItems[col].Text, itemB.SubItems[col].Text);
}
}
}

16
src/AddIns/Misc/HtmlHelp2/Project/src/BrowserControl/HelpBrowserCommands.cs

@ -7,8 +7,8 @@ @@ -7,8 +7,8 @@
using System;
using System.Drawing;
using System.Security.Permissions;
using System.Windows.Forms;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Gui;
@ -19,7 +19,7 @@ namespace HtmlHelp2 @@ -19,7 +19,7 @@ namespace HtmlHelp2
{
public abstract class HelpToolbarCommand : AbstractCommand
{
public HtmlHelp2TocPad TocPad
public static HtmlHelp2TocPad TocPad
{
get
{
@ -35,12 +35,14 @@ namespace HtmlHelp2 @@ -35,12 +35,14 @@ namespace HtmlHelp2
}
}
public void BringTocPadToFront()
public static void BringTocPadToFront()
{
WorkbenchSingleton.Workbench.GetPad(typeof(HtmlHelp2TocPad)).BringPadToFront();
}
}
[PermissionSet(SecurityAction.LinkDemand, Name="Execution")]
[PermissionSet(SecurityAction.InheritanceDemand, Name="Execution")]
public class SyncTocCommand : HelpToolbarCommand
{
public override void Run()
@ -50,6 +52,8 @@ namespace HtmlHelp2 @@ -50,6 +52,8 @@ namespace HtmlHelp2
}
}
[PermissionSet(SecurityAction.LinkDemand, Name="Execution")]
[PermissionSet(SecurityAction.InheritanceDemand, Name="Execution")]
public class PreviousTopicCommand : HelpToolbarCommand
{
public override void Run()
@ -58,7 +62,7 @@ namespace HtmlHelp2 @@ -58,7 +62,7 @@ namespace HtmlHelp2
{
TocPad.GetPrevFromNode();
}
catch
catch (System.ArgumentException)
{
TocPad.GetPrevFromUrl(Browser.Url.ToString());
}
@ -66,6 +70,8 @@ namespace HtmlHelp2 @@ -66,6 +70,8 @@ namespace HtmlHelp2
}
}
[PermissionSet(SecurityAction.LinkDemand, Name="Execution")]
[PermissionSet(SecurityAction.InheritanceDemand, Name="Execution")]
public class NextTopicCommand : HelpToolbarCommand
{
public override void Run()
@ -74,7 +80,7 @@ namespace HtmlHelp2 @@ -74,7 +80,7 @@ namespace HtmlHelp2
{
TocPad.GetNextFromNode();
}
catch
catch (System.ArgumentException)
{
TocPad.GetNextFromUrl(Browser.Url.ToString());
}

12
src/AddIns/Misc/HtmlHelp2/Project/src/BrowserControl/ShowHelpBrowser.cs

@ -38,17 +38,17 @@ namespace HtmlHelp2 @@ -38,17 +38,17 @@ namespace HtmlHelp2
OpenHelpView(topic.URL, topic, hiliteMatchingWords);
}
public static void OpenHelpView(string topicUrl)
public static void OpenHelpView(string topicLink)
{
OpenHelpView(topicUrl, null, false);
OpenHelpView(topicLink, null, false);
}
public static void OpenHelpView(string topicUrl, bool hiliteMatchingWords)
public static void OpenHelpView(string topicLink, bool hiliteMatchingWords)
{
OpenHelpView(topicUrl, null, hiliteMatchingWords);
OpenHelpView(topicLink, null, hiliteMatchingWords);
}
public static void OpenHelpView(string topicUrl, IHxTopic topic, bool hiliteMatchingWords)
public static void OpenHelpView(string topicLink, IHxTopic topic, bool hiliteMatchingWords)
{
hiliteMatches = hiliteMatchingWords;
lastTopic = topic;
@ -56,7 +56,7 @@ namespace HtmlHelp2 @@ -56,7 +56,7 @@ namespace HtmlHelp2
if (help2Browser != null)
{
help2Browser.Load(topicUrl);
help2Browser.Load(topicLink);
help2Browser.WorkbenchWindow.SelectWindow();
}
}

26
src/AddIns/Misc/HtmlHelp2/Project/src/BrowserScheme.cs

@ -7,6 +7,8 @@ @@ -7,6 +7,8 @@
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Security.Permissions;
using System.Windows.Forms;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop.Gui;
@ -22,16 +24,29 @@ namespace HtmlHelp2 @@ -22,16 +24,29 @@ namespace HtmlHelp2
public override void GoHome(HtmlViewPane pane)
{
pane.Navigate(HtmlHelp2Environment.DefaultPage);
if (pane == null)
{
throw new ArgumentNullException("pane");
}
pane.Navigate(new Uri(HtmlHelp2Environment.DefaultPage));
}
public override void GoSearch(HtmlViewPane pane)
{
pane.Navigate(HtmlHelp2Environment.SearchPage);
if (pane == null)
{
throw new ArgumentNullException("pane");
}
pane.Navigate(new Uri(HtmlHelp2Environment.SearchPage));
}
// [PermissionSet(SecurityAction.LinkDemand, Name="Execution")]
public override void InterceptNavigate(HtmlViewPane pane, WebBrowserNavigatingEventArgs e)
{
if (pane == null)
{
throw new ArgumentNullException("pane");
}
if (scriptObject == null) {
scriptObject = new JScriptExternal();
LoadHelpState();
@ -64,9 +79,14 @@ namespace HtmlHelp2 @@ -64,9 +79,14 @@ namespace HtmlHelp2
}
PropertyService.Set("HtmlHelpPersistedJScriptGlobals", lines.ToArray());
}
// [PermissionSet(SecurityAction.LinkDemand, Name="Execution")]
public override void DocumentCompleted(HtmlViewPane pane, WebBrowserDocumentCompletedEventArgs e)
{
if (pane == null)
{
throw new ArgumentNullException("pane");
}
ShowHelpBrowser.HighlightDocument(pane);
}
}

30
src/AddIns/Misc/HtmlHelp2/Project/src/MsHelpProvider.cs

@ -13,36 +13,36 @@ namespace HtmlHelp2 @@ -13,36 +13,36 @@ namespace HtmlHelp2
using ICSharpCode.SharpDevelop.Gui;
using ICSharpCode.SharpDevelop.Dom;
public class MsHelpProvider : HelpProvider
public class MSHelpProvider : HelpProvider
{
public override bool TryShowHelp(string fullTypeName)
{
LoggingService.Info("Help 2.0: MsHelpProvider.TryShowHelp");
try
{
// try
// {
PadDescriptor search = WorkbenchSingleton.Workbench.GetPad(typeof(HtmlHelp2SearchPad));
return ((HtmlHelp2SearchPad)search.PadContent).PerformF1Fts(fullTypeName, true);
}
catch
{
return false;
}
// }
// catch
// {
// return false;
// }
}
public override bool TryShowHelpByKeyword(string keyword)
{
LoggingService.Info("Help 2.0: MsHelpProvider.TryShowHelpByKeyword");
try
{
// try
// {
PadDescriptor search = WorkbenchSingleton.Workbench.GetPad(typeof(HtmlHelp2SearchPad));
return ((HtmlHelp2SearchPad)search.PadContent).PerformF1Fts(keyword);
}
catch
{
return false;
}
// }
// catch
// {
// return false;
// }
}
}
}

48
src/AddIns/Misc/HtmlHelp2/Project/src/Service/Help2RegistryWalker.cs

@ -73,48 +73,6 @@ namespace HtmlHelp2.Environment @@ -73,48 +73,6 @@ namespace HtmlHelp2.Environment
help2Collections.EndUpdate();
}
return true;
// if (help2Collections == null)
// {
// return false;
// }
// help2Collections.Items.Clear();
// help2Collections.BeginUpdate();
// bool result = true;
//
// try
// {
// string currentDescription = string.Empty;
// HxRegistryWalkerClass registryWalker = new HxRegistryWalkerClass();
// IHxRegNamespaceList namespaces = registryWalker.get_RegisteredNamespaceList("");
//
// foreach (IHxRegNamespace currentNamespace in namespaces)
// {
// help2Collections.Items.Add
// ((string)currentNamespace.GetProperty(HxRegNamespacePropId.HxRegNamespaceDescription));
//
// if (!string.IsNullOrEmpty(selectedHelp2Collection) &&
// string.Compare(selectedHelp2Collection, currentNamespace.Name) == 0)
// {
// currentDescription =
// (string)currentNamespace.GetProperty(HxRegNamespacePropId.HxRegNamespaceDescription);
// }
// }
//
// if (!string.IsNullOrEmpty(currentDescription))
// help2Collections.SelectedIndex = help2Collections.Items.IndexOf(currentDescription);
// else
// help2Collections.SelectedIndex = 0;
// }
// catch
// {
// result = false;
// }
// finally
// {
// help2Collections.EndUpdate();
// }
//
// return result;
}
public static string GetNamespaceName(string description)
@ -192,9 +150,7 @@ namespace HtmlHelp2.Environment @@ -192,9 +150,7 @@ namespace HtmlHelp2.Environment
registryWalker = null;
}
if (registryWalker == null ||
help2Namespaces == null || help2Namespaces.Count == 0 ||
string.IsNullOrEmpty(matchingName))
if (registryWalker == null || help2Namespaces == null || help2Namespaces.Count == 0 || string.IsNullOrEmpty(matchingName))
{
return string.Empty;
}
@ -205,7 +161,7 @@ namespace HtmlHelp2.Environment @@ -205,7 +161,7 @@ namespace HtmlHelp2.Environment
return currentNamespace.Name;
}
}
return string.Empty;
return help2Namespaces.ItemAt(1).Name;
}
}

38
src/AddIns/Misc/HtmlHelp2/Project/src/Service/HtmlHelp2Service.cs

@ -8,6 +8,7 @@ @@ -8,6 +8,7 @@
namespace HtmlHelp2.Environment
{
using System;
using System.Globalization;
using System.IO;
using System.Windows.Forms;
using System.Xml;
@ -24,15 +25,13 @@ namespace HtmlHelp2.Environment @@ -24,15 +25,13 @@ namespace HtmlHelp2.Environment
static IHxRegFilterList namespaceFilters;
static IHxQuery fulltextSearch;
static IHxIndex dynamicHelp;
static string defaultNamespaceName =
Help2RegistryWalker.GetFirstMatchingNamespaceName("MS.NETFramework.v20*");
static string currentSelectedFilterQuery = "";
static string currentSelectedFilterName = "";
static string defaultNamespaceName;
static string currentSelectedFilterQuery;
static string currentSelectedFilterName;
static string defaultPage = "about:blank";
static string searchPage = "http://msdn.microsoft.com";
static bool dynamicHelpIsBusy;
static HtmlHelp2Options config = new HtmlHelp2Options();
HtmlHelp2Environment()
{
@ -40,8 +39,7 @@ namespace HtmlHelp2.Environment @@ -40,8 +39,7 @@ namespace HtmlHelp2.Environment
static HtmlHelp2Environment()
{
LoadHelp2Config();
InitializeNamespace(defaultNamespaceName);
InitializeNamespace();
}
#region Properties
@ -94,24 +92,36 @@ namespace HtmlHelp2.Environment @@ -94,24 +92,36 @@ namespace HtmlHelp2.Environment
#region Namespace Functions
private static void LoadHelp2Config()
{
if (string.IsNullOrEmpty(defaultNamespaceName))
{
defaultNamespaceName =
Help2RegistryWalker.GetFirstMatchingNamespaceName("MS.NETFramework.v20*");
}
else
{
defaultNamespaceName = Help2RegistryWalker.GetFirstNamespace(defaultNamespaceName);
}
LoadConfiguration();
if (!string.IsNullOrEmpty(config.SelectedCollection))
{
defaultNamespaceName = config.SelectedCollection;
defaultNamespaceName =
Help2RegistryWalker.GetFirstNamespace(config.SelectedCollection);
}
}
public static void ReloadNamespace()
{
LoadHelp2Config();
defaultNamespaceName = Help2RegistryWalker.GetFirstNamespace(defaultNamespaceName);
InitializeNamespace(defaultNamespaceName);
InitializeNamespace();
OnNamespaceReloaded(EventArgs.Empty);
}
private static void InitializeNamespace(string namespaceName)
private static void InitializeNamespace()
{
if (string.IsNullOrEmpty(namespaceName))
LoadHelp2Config();
if (string.IsNullOrEmpty(defaultNamespaceName))
{
return;
}
@ -130,7 +140,7 @@ namespace HtmlHelp2.Environment @@ -130,7 +140,7 @@ namespace HtmlHelp2.Environment
currentSelectedFilterName = string.Empty;
session = new HxSession();
session.Initialize(String.Format(null, "ms-help://{0}", namespaceName), 0);
session.Initialize(String.Format(CultureInfo.InvariantCulture, "ms-help://{0}", defaultNamespaceName), 0);
namespaceFilters = session.GetFilterList();
ReloadDefaultPages();

Loading…
Cancel
Save