Browse Source

some little updates and fixes

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@785 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Mathias Simmack 20 years ago
parent
commit
ec26b2fb35
  1. 242
      src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/DynamicHelpPad.cs
  2. 50
      src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/FavoritesPad.cs
  3. 36
      src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/IndexPad.cs
  4. 17
      src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/IndexResultsPad.cs
  5. 28
      src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/SearchPad.cs
  6. 12
      src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/SearchResultsPad.cs
  7. 57
      src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/TocPad.cs
  8. 4
      src/AddIns/Misc/HtmlHelp2/Project/src/BrowserControl/ShowHelpBrowser.cs
  9. 4
      src/AddIns/Misc/HtmlHelp2/Project/src/Service/Help2ControlsValidation.cs
  10. 47
      src/AddIns/Misc/HtmlHelp2/Project/src/Service/Help2RegistryWalker.cs
  11. 6
      src/AddIns/Misc/HtmlHelp2/Project/src/Service/HtmlHelp2Dialog.cs
  12. 10
      src/AddIns/Misc/HtmlHelp2/Project/src/Service/HtmlHelp2Options.cs
  13. 22
      src/AddIns/Misc/HtmlHelp2/Project/src/Service/HtmlHelp2Service.cs
  14. 18
      src/AddIns/Misc/HtmlHelp2/Project/src/Service/SharpDevLanguageClass.cs

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

@ -31,7 +31,7 @@ namespace HtmlHelp2
public override void Run() public override void Run()
{ {
PadDescriptor dynamicHelp = WorkbenchSingleton.Workbench.GetPad(typeof(HtmlHelp2DynamicHelpPad)); PadDescriptor dynamicHelp = WorkbenchSingleton.Workbench.GetPad(typeof(HtmlHelp2DynamicHelpPad));
if(dynamicHelp != null) dynamicHelp.BringPadToFront(); if (dynamicHelp != null) dynamicHelp.BringPadToFront();
} }
} }
@ -57,7 +57,8 @@ namespace HtmlHelp2
{ {
dynamicHelpBrowser = new HtmlHelp2DynamicHelpBrowserControl(); dynamicHelpBrowser = new HtmlHelp2DynamicHelpBrowserControl();
dynamicHelpBrowser.LoadDynamicHelpPage(); dynamicHelpBrowser.LoadDynamicHelpPage();
dynamicHelpBrowser.BuildANothing(); // while (!dynamicHelpBrowser.BrowserIsReady) {}
// dynamicHelpBrowser.BuildANothing();
ParserService.ParserUpdateStepFinished += UpdateTick; ParserService.ParserUpdateStepFinished += UpdateTick;
PropertyPad.SelectedObjectChanged += new EventHandler(this.FormsDesignerSelectedObjectChanged); PropertyPad.SelectedObjectChanged += new EventHandler(this.FormsDesignerSelectedObjectChanged);
@ -68,28 +69,28 @@ namespace HtmlHelp2
#region Dynamic Help Calls #region Dynamic Help Calls
private void BuildDynamicHelpList() private void BuildDynamicHelpList()
{ {
if(this.dynamicHelpTerms.Count == 0) return; if (this.dynamicHelpTerms.Count == 0) return;
dynamicHelpBrowser.RemoveAllChildren(); dynamicHelpBrowser.RemoveAllChildren();
this.debugPreElement = String.Empty; this.debugPreElement = String.Empty;
bool helpResults = false; bool helpResults = false;
Cursor.Current = Cursors.WaitCursor; Cursor.Current = Cursors.WaitCursor;
foreach(string currentHelpTerm in this.dynamicHelpTerms) foreach (string currentHelpTerm in this.dynamicHelpTerms)
{ {
if(!currentHelpTerm.StartsWith("!")) if (!currentHelpTerm.StartsWith("!"))
{ {
helpResults = (this.CallDynamicHelp(currentHelpTerm, false) || helpResults); helpResults = (this.CallDynamicHelp(currentHelpTerm, false) || helpResults);
} }
} }
foreach(string currentHelpTerm in this.dynamicHelpTerms) foreach (string currentHelpTerm in this.dynamicHelpTerms)
{ {
if(currentHelpTerm.StartsWith("!")) if (currentHelpTerm.StartsWith("!"))
{ {
helpResults = (this.CallDynamicHelp(currentHelpTerm.Substring(1), true) || helpResults); helpResults = (this.CallDynamicHelp(currentHelpTerm.Substring(1), true) || helpResults);
} }
} }
if(!helpResults) if (!helpResults)
{ {
dynamicHelpBrowser.BuildANothing(); dynamicHelpBrowser.BuildANothing();
} }
@ -97,12 +98,12 @@ namespace HtmlHelp2
this.debugPreElement += String.Format("<br>Current project language: {0}", this.debugPreElement += String.Format("<br>Current project language: {0}",
SharpDevLanguage.GetPatchedLanguage()); SharpDevLanguage.GetPatchedLanguage());
if(this.enableDebugInfo) dynamicHelpBrowser.CreateDebugPre(this.debugPreElement); if (this.enableDebugInfo) dynamicHelpBrowser.CreateDebugPre(this.debugPreElement);
} }
private bool CallDynamicHelp(string searchTerm, bool keywordSearch) private bool CallDynamicHelp(string searchTerm, bool keywordSearch)
{ {
if(!HtmlHelp2Environment.IsReady || HtmlHelp2Environment.DynamicHelpIsBusy) return false; if (!HtmlHelp2Environment.IsReady || HtmlHelp2Environment.DynamicHelpIsBusy) return false;
bool result = false; bool result = false;
IHxTopicList topics = null; IHxTopicList topics = null;
@ -117,12 +118,12 @@ namespace HtmlHelp2
} }
catch {} catch {}
if(result) if (result)
{ {
List<IHxTopic> newTopics = this.SortTopics(topics); List<IHxTopic> newTopics = this.SortTopics(topics);
foreach(IHxTopic topic in newTopics) foreach (IHxTopic topic in newTopics)
{ {
if((keywordSearch)?SharpDevLanguage.CheckUniqueTopicLanguage(topic):SharpDevLanguage.CheckTopicLanguage(topic)) if ((keywordSearch)?SharpDevLanguage.CheckUniqueTopicLanguage(topic):SharpDevLanguage.CheckTopicLanguage(topic))
{ {
this.BuildNewChild(topic.Location, this.BuildNewChild(topic.Location,
topic.get_Title(HxTopicGetTitleType.HxTopicGetRLTitle, topic.get_Title(HxTopicGetTitleType.HxTopicGetRLTitle,
@ -146,9 +147,9 @@ namespace HtmlHelp2
this.dynamicHelpTerms.Clear(); this.dynamicHelpTerms.Clear();
ResolveResult res = ResolveAtCaret(e); ResolveResult res = ResolveAtCaret(e);
if(res == null) return; if (res == null) return;
if(res != null && res.ResolvedType != null) if (res != null && res.ResolvedType != null)
{ {
this.AddToStringCollection(res.ResolvedType.FullyQualifiedName); this.AddToStringCollection(res.ResolvedType.FullyQualifiedName);
} }
@ -158,19 +159,19 @@ namespace HtmlHelp2
MethodResolveResult method = res as MethodResolveResult; MethodResolveResult method = res as MethodResolveResult;
TypeResolveResult types = res as TypeResolveResult; TypeResolveResult types = res as TypeResolveResult;
if(member != null && member.ResolvedMember != null) if (member != null && member.ResolvedMember != null)
{ {
this.AddToStringCollection(0, member.ResolvedMember.FullyQualifiedName); this.AddToStringCollection(0, member.ResolvedMember.FullyQualifiedName);
} }
if(nspace != null) if (nspace != null)
{ {
this.AddToStringCollection(0, nspace.Name); this.AddToStringCollection(0, nspace.Name);
} }
if(method != null && method.ContainingType != null) if (method != null && method.ContainingType != null)
{ {
this.AddToStringCollection(0, method.ContainingType.FullyQualifiedName); this.AddToStringCollection(0, method.ContainingType.FullyQualifiedName);
} }
if(types != null && types.ResolvedClass != null) if (types != null && types.ResolvedClass != null)
{ {
this.AddToStringCollection(0, types.ResolvedClass.FullyQualifiedName); this.AddToStringCollection(0, types.ResolvedClass.FullyQualifiedName);
} }
@ -222,13 +223,13 @@ namespace HtmlHelp2
{ {
try try
{ {
if(selectedObject == null) return; if (selectedObject == null) return;
this.dynamicHelpTerms.Clear(); this.dynamicHelpTerms.Clear();
Type myObject = selectedObject.GetType(); Type myObject = selectedObject.GetType();
if(selectedItem != null) 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("{0}.{1}", type.FullName, selectedItem.Label));
} }
@ -255,10 +256,12 @@ namespace HtmlHelp2
private void AddToStringCollection(int insertWhere, string searchTerm) private void AddToStringCollection(int insertWhere, string searchTerm)
{ {
if(this.dynamicHelpTerms.IndexOf(searchTerm) == -1) if (this.dynamicHelpTerms.IndexOf(searchTerm) == -1)
{ {
if(insertWhere == -1) this.dynamicHelpTerms.Add(searchTerm); if (insertWhere == -1)
else this.dynamicHelpTerms.Insert(insertWhere, searchTerm); this.dynamicHelpTerms.Add(searchTerm);
else
this.dynamicHelpTerms.Insert(insertWhere, searchTerm);
} }
} }
@ -268,11 +271,11 @@ namespace HtmlHelp2
try try
{ {
if(topics != null && topics.Count > 0) if (topics != null && topics.Count > 0)
{ {
foreach(IHxTopic topic in topics) foreach (IHxTopic topic in topics)
{ {
if(!result.Contains(topic)) result.Add(topic); if (!result.Contains(topic)) result.Add(topic);
} }
TopicComparer topicComparer = new TopicComparer(); TopicComparer topicComparer = new TopicComparer();
@ -325,7 +328,7 @@ namespace HtmlHelp2
public void RedrawContent() public void RedrawContent()
{ {
for(int i = 0; i < toolbarButtons.Length; i++) for (int i = 0; i < toolbarButtons.Length; i++)
{ {
dynamicHelpToolbar.Items[i].ToolTipText = StringParser.Parse(toolbarButtons[i]); dynamicHelpToolbar.Items[i].ToolTipText = StringParser.Parse(toolbarButtons[i]);
} }
@ -346,6 +349,8 @@ namespace HtmlHelp2
axWebBrowser.WebBrowserShortcutsEnabled = false; axWebBrowser.WebBrowserShortcutsEnabled = false;
axWebBrowser.IsWebBrowserContextMenuEnabled = false; axWebBrowser.IsWebBrowserContextMenuEnabled = false;
axWebBrowser.AllowWebBrowserDrop = false; axWebBrowser.AllowWebBrowserDrop = false;
axWebBrowser.DocumentCompleted +=
new WebBrowserDocumentCompletedEventHandler(this.OnDocumentCompleted);
Controls.Add(dynamicHelpToolbar); Controls.Add(dynamicHelpToolbar);
dynamicHelpToolbar.Dock = DockStyle.Top; dynamicHelpToolbar.Dock = DockStyle.Top;
@ -353,7 +358,7 @@ namespace HtmlHelp2
dynamicHelpToolbar.ShowItemToolTips = false; dynamicHelpToolbar.ShowItemToolTips = false;
dynamicHelpToolbar.GripStyle = ToolStripGripStyle.Hidden; dynamicHelpToolbar.GripStyle = ToolStripGripStyle.Hidden;
dynamicHelpToolbar.Enabled = HtmlHelp2Environment.IsReady; dynamicHelpToolbar.Enabled = HtmlHelp2Environment.IsReady;
for(int i = 0; i < toolbarButtons.Length; i++) for (int i = 0; i < toolbarButtons.Length; i++)
{ {
ToolStripButton button = new ToolStripButton(); ToolStripButton button = new ToolStripButton();
button.Text = StringParser.Parse(toolbarButtons[i]); button.Text = StringParser.Parse(toolbarButtons[i]);
@ -370,7 +375,7 @@ namespace HtmlHelp2
dynamicHelpToolbar.ImageList.Images.Add(ResourcesHelper.GetBitmap("HtmlHelp2.16x16.Index.png")); dynamicHelpToolbar.ImageList.Images.Add(ResourcesHelper.GetBitmap("HtmlHelp2.16x16.Index.png"));
dynamicHelpToolbar.ImageList.Images.Add(ResourcesHelper.GetBitmap("HtmlHelp2.16x16.Search.png")); dynamicHelpToolbar.ImageList.Images.Add(ResourcesHelper.GetBitmap("HtmlHelp2.16x16.Search.png"));
if(HtmlHelp2Environment.IsReady) if (HtmlHelp2Environment.IsReady)
{ {
HtmlHelp2Environment.NamespaceReloaded += new EventHandler(this.NamespaceReloaded); HtmlHelp2Environment.NamespaceReloaded += new EventHandler(this.NamespaceReloaded);
} }
@ -379,11 +384,18 @@ namespace HtmlHelp2
public void LoadDynamicHelpPage() public void LoadDynamicHelpPage()
{ {
if(!HtmlHelp2Environment.IsReady) return; if (!HtmlHelp2Environment.IsReady) return;
string url = String.Format("res://{0}/context", Assembly.GetExecutingAssembly().Location); string url = String.Format("res://{0}/context", Assembly.GetExecutingAssembly().Location);
axWebBrowser.Navigate(url); axWebBrowser.Navigate(url);
} }
private void OnDocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
this.RemoveAllChildren();
this.BuildANothing();
}
private void RenderModeChanged(object sender, EventArgs e) private void RenderModeChanged(object sender, EventArgs e)
{ {
dynamicHelpToolbar.Renderer = ToolbarService.Renderer; dynamicHelpToolbar.Renderer = ToolbarService.Renderer;
@ -394,7 +406,7 @@ namespace HtmlHelp2
ToolStripItem item = (ToolStripItem)sender; ToolStripItem item = (ToolStripItem)sender;
PadDescriptor pad = null; PadDescriptor pad = null;
switch(item.ImageIndex) switch (item.ImageIndex)
{ {
case 0: case 0:
pad = WorkbenchSingleton.Workbench.GetPad(typeof(HtmlHelp2TocPad)); pad = WorkbenchSingleton.Workbench.GetPad(typeof(HtmlHelp2TocPad));
@ -414,7 +426,6 @@ namespace HtmlHelp2
private void NamespaceReloaded(object sender, EventArgs e) private void NamespaceReloaded(object sender, EventArgs e)
{ {
this.LoadDynamicHelpPage(); this.LoadDynamicHelpPage();
this.RemoveAllChildren();
} }
#endregion #endregion
@ -425,22 +436,26 @@ namespace HtmlHelp2
{ {
HtmlElementCollection children = axWebBrowser.Document.Body.GetElementsByTagName("span"); HtmlElementCollection children = axWebBrowser.Document.Body.GetElementsByTagName("span");
if(children.Count > 0) if (children.Count > 0)
{ {
foreach(HtmlElement elem in children) foreach (HtmlElement elem in children)
{ {
if(elem.GetAttribute("className") == "section") if (elem.GetAttribute("className") == "section")
{ {
HtmlElement sectionBlock = elem.FirstChild.NextSibling; HtmlElement sectionBlock = elem.FirstChild.NextSibling;
HtmlElement contentSpan = sectionBlock.NextSibling.NextSibling; HtmlElement contentSpan = sectionBlock.NextSibling.NextSibling;
if(sectionBlock.TagName == "B" && sectionBlock.InnerText == sectionName && if (sectionBlock.TagName == "B" && sectionBlock.InnerText == sectionName &&
contentSpan.TagName == "SPAN" && contentSpan.GetAttribute("className") == "content") contentSpan.TagName == "SPAN" && contentSpan.GetAttribute("className") == "content")
{ {
if(!this.DoesLinkExist(contentSpan, topicName, topicUrl)) if (!this.DoesLinkExist(contentSpan, topicName, topicUrl))
{ {
contentSpan.AppendChild(this.CreateNewLink(topicUrl, topicName)); HtmlElement newLink = this.CreateNewLink(topicUrl, topicName);
contentSpan.AppendChild(this.CreateABreak()); if (newLink != null)
{
contentSpan.AppendChild(newLink);
contentSpan.AppendChild(this.CreateABreak());
}
} }
return; return;
@ -454,86 +469,57 @@ namespace HtmlHelp2
HtmlElement linkContent = null; HtmlElement linkContent = null;
HtmlElement htmlSection = this.CreateNewSection(sectionName, out linkContent); HtmlElement htmlSection = this.CreateNewSection(sectionName, out linkContent);
axWebBrowser.Document.Body.InsertAdjacentElement(HtmlElementInsertionOrientation.BeforeEnd,
htmlSection); if (htmlSection != null)
linkContent.AppendChild(this.CreateNewLink(topicUrl, topicName)); {
linkContent.AppendChild(this.CreateABreak()); axWebBrowser.Document.Body.InsertAdjacentElement(HtmlElementInsertionOrientation.BeforeEnd,
htmlSection);
this.internalIndex++; linkContent.AppendChild(this.CreateNewLink(topicUrl, topicName));
linkContent.AppendChild(this.CreateABreak());
this.internalIndex++;
}
} }
catch(Exception ex) catch (Exception ex)
{ {
LoggingService.Error("Help 2.0: cannot build node for dynamic help; " + ex.ToString()); LoggingService.Error("Help 2.0: " + ex.ToString());
} }
} }
private HtmlElement CreateNewSection(string sectionName, out HtmlElement linkNode) private HtmlElement CreateNewSection(string sectionName, out HtmlElement linkNode)
{ {
HtmlElement span = null; HtmlElement span = axWebBrowser.Document.CreateElement("SPAN");
linkNode = null; span.SetAttribute("className", "section");
span.InnerHtml = String.Format(
try "<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>",
span = axWebBrowser.Document.CreateElement("span"); this.internalIndex, sectionName);
span.SetAttribute("className", "section");
HtmlElement img = axWebBrowser.Document.CreateElement("img");
img.Style = "width:16px;height:16px;margin-right:5px";
img.Id = String.Format("image_{0}", this.internalIndex.ToString());
img.SetAttribute("src", "open");
span.AppendChild(img);
HtmlElement b = axWebBrowser.Document.CreateElement("b");
b.InnerText = sectionName;
b.Style = "cursor:auto";
b.Id = this.internalIndex.ToString();
b.Click += new HtmlElementEventHandler(this.OnSectionClick);
span.AppendChild(b);
span.AppendChild(this.CreateABreak());
HtmlElement content = axWebBrowser.Document.CreateElement("span"); linkNode = axWebBrowser.Document.CreateElement("SPAN");
content.Id = String.Format("content_{0}", this.internalIndex.ToString()); linkNode.SetAttribute("className", "content");
content.SetAttribute("className", "content"); linkNode.Id = String.Format("content_{0}", this.internalIndex);
span.AppendChild(content); span.AppendChild(linkNode);
linkNode = content;
}
catch {}
return span; return span;
} }
private HtmlElement CreateNewLink(string topicUrl, string topicName) private HtmlElement CreateNewLink(string topicUrl, string topicName)
{ {
HtmlElement span = null; HtmlElement span = axWebBrowser.Document.CreateElement("A");
span.InnerText = topicName;
try span.SetAttribute("src", topicUrl);
{ span.SetAttribute("className", "link");
span = axWebBrowser.Document.CreateElement("a"); span.SetAttribute("title", topicName);
span.InnerText = topicName; span.Click += new HtmlElementEventHandler(OnLinkClick);
span.SetAttribute("src", topicUrl); span.MouseOver += new HtmlElementEventHandler(OnMouseOver);
span.SetAttribute("className", "link"); span.MouseLeave += new HtmlElementEventHandler(OnMouseOut);
span.SetAttribute("title", topicName);
span.Click += new HtmlElementEventHandler(OnLinkClick);
span.MouseOver += new HtmlElementEventHandler(OnMouseOver);
span.MouseLeave += new HtmlElementEventHandler(OnMouseOut);
}
catch {}
return span; return span;
} }
private HtmlElement CreateABreak() private HtmlElement CreateABreak()
{ {
HtmlElement br = null; HtmlElement br = axWebBrowser.Document.CreateElement("BR");
try
{
br = axWebBrowser.Document.CreateElement("br");
}
catch {}
return br; return br;
} }
@ -541,14 +527,16 @@ namespace HtmlHelp2
{ {
try try
{ {
HtmlElement nothing = axWebBrowser.Document.CreateElement("b"); HtmlElement nothing = axWebBrowser.Document.CreateElement("B");
nothing.InnerText = "No data is available for the current selection."; nothing.InnerText = StringParser.Parse("${res:AddIns.HtmlHelp2.NoDataIsAvailableForDynamicHelp}");
nothing.SetAttribute("title", nothing.InnerText); nothing.SetAttribute("title", nothing.InnerText);
axWebBrowser.Document.Body.InnerHtml = "";
axWebBrowser.Document.Body.InsertAdjacentElement(HtmlElementInsertionOrientation.AfterBegin, axWebBrowser.Document.Body.AppendChild(nothing);
nothing); }
catch(Exception ex)
{
LoggingService.Error(ex.Message);
} }
catch {}
} }
private bool DoesLinkExist(HtmlElement parentNode, string topicName, string topicUrl) private bool DoesLinkExist(HtmlElement parentNode, string topicName, string topicUrl)
@ -556,12 +544,12 @@ namespace HtmlHelp2
try try
{ {
HtmlElementCollection allLinks = parentNode.GetElementsByTagName("a"); HtmlElementCollection allLinks = parentNode.GetElementsByTagName("a");
if(allLinks.Count > 0) if (allLinks.Count > 0)
{ {
foreach(HtmlElement link in allLinks) foreach (HtmlElement link in allLinks)
{ {
if(String.Compare(topicName, link.InnerText) == 0 && if (String.Compare(topicName, link.InnerText) == 0 &&
String.Compare(topicUrl, link.GetAttribute("src")) == 0) String.Compare(topicUrl, link.GetAttribute("src")) == 0)
{ {
return true; return true;
} }
@ -587,27 +575,12 @@ namespace HtmlHelp2
StatusBarService.SetMessage(""); StatusBarService.SetMessage("");
} }
private void OnSectionClick(object sender, HtmlElementEventArgs e)
{
try
{
string sectionId = ((HtmlElement)sender).Id;
object[] objArray = new object[1];
objArray[0] = (object)sectionId;
axWebBrowser.Document.InvokeScript("ExpandCollapse", objArray);
}
catch(Exception ex)
{
LoggingService.Error("Help 2.0: cannot run script; " + ex.ToString());
}
}
private void OnLinkClick(object sender, HtmlElementEventArgs e) private void OnLinkClick(object sender, HtmlElementEventArgs e)
{ {
try try
{ {
string url = ((HtmlElement)sender).GetAttribute("src"); string url = ((HtmlElement)sender).GetAttribute("src");
if(url != null && url != String.Empty) ShowHelpBrowser.OpenHelpView(url); if(url != null && url.Length > 0) ShowHelpBrowser.OpenHelpView(url);
} }
catch {} catch {}
} }
@ -619,14 +592,17 @@ namespace HtmlHelp2
this.internalIndex = 0; this.internalIndex = 0;
axWebBrowser.Document.Body.InnerHtml = ""; axWebBrowser.Document.Body.InnerHtml = "";
} }
catch {} catch (Exception ex)
{
LoggingService.Error("Help 2.0: error while removing HTML children; " + ex.ToString());
}
} }
#endregion #endregion
#region DebugInfo #region DebugInfo
public void CreateDebugPre(string debugInformation) public void CreateDebugPre(string debugInformation)
{ {
if(debugInformation == String.Empty) return; if (debugInformation == String.Empty) return;
try try
{ {
@ -654,13 +630,13 @@ namespace HtmlHelp2
MemberInfo[] memberInfos = type.GetMember(memberName); MemberInfo[] memberInfos = type.GetMember(memberName);
List<Type> declaringTypes = new List<Type>(); List<Type> declaringTypes = new List<Type>();
foreach(MemberInfo memberInfo in memberInfos) foreach (MemberInfo memberInfo in memberInfos)
{ {
if(!declaringTypes.Contains(memberInfo.DeclaringType)) if (!declaringTypes.Contains(memberInfo.DeclaringType))
declaringTypes.Add(memberInfo.DeclaringType); declaringTypes.Add(memberInfo.DeclaringType);
} }
foreach(Type declaringType in declaringTypes) foreach (Type declaringType in declaringTypes)
{ {
yield return declaringType; yield return declaringType;
} }

50
src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/FavoritesPad.cs

@ -25,7 +25,7 @@ namespace HtmlHelp2
public override void Run() public override void Run()
{ {
PadDescriptor favorites = WorkbenchSingleton.Workbench.GetPad(typeof(HtmlHelp2FavoritesPad)); PadDescriptor favorites = WorkbenchSingleton.Workbench.GetPad(typeof(HtmlHelp2FavoritesPad));
if(favorites != null) favorites.BringPadToFront(); if (favorites != null) favorites.BringPadToFront();
} }
} }
@ -51,7 +51,7 @@ namespace HtmlHelp2
public override void RedrawContent() public override void RedrawContent()
{ {
for(int i = 0; i < toolbarButtons.Length; i++) for (int i = 0; i < toolbarButtons.Length; i++)
{ {
toolStrip.Items[i].ToolTipText = StringParser.Parse(toolbarButtons[i]); toolStrip.Items[i].ToolTipText = StringParser.Parse(toolbarButtons[i]);
} }
@ -83,7 +83,7 @@ namespace HtmlHelp2
toolStrip.Dock = DockStyle.Top; toolStrip.Dock = DockStyle.Top;
toolStrip.Enabled = Help2EnvIsReady; toolStrip.Enabled = Help2EnvIsReady;
toolStrip.AllowItemReorder = false; toolStrip.AllowItemReorder = false;
for(int i = 0; i < toolbarButtons.Length; i++) for (int i = 0; i < toolbarButtons.Length; i++)
{ {
ToolStripButton button = new ToolStripButton(); ToolStripButton button = new ToolStripButton();
button.ToolTipText = StringParser.Parse(toolbarButtons[i]); button.ToolTipText = StringParser.Parse(toolbarButtons[i]);
@ -102,7 +102,7 @@ namespace HtmlHelp2
toolStrip.ImageList.Images.Add(ResourcesHelper.GetBitmap("Favorites.16x16.Rename.bmp")); toolStrip.ImageList.Images.Add(ResourcesHelper.GetBitmap("Favorites.16x16.Rename.bmp"));
toolStrip.ImageList.Images.Add(ResourcesHelper.GetBitmap("Favorites.16x16.Delete.bmp")); toolStrip.ImageList.Images.Add(ResourcesHelper.GetBitmap("Favorites.16x16.Delete.bmp"));
if(Help2EnvIsReady) this.LoadFavorites(); if (Help2EnvIsReady) this.LoadFavorites();
} }
#region TreeView #region TreeView
@ -123,9 +123,9 @@ namespace HtmlHelp2
private void AfterLabelEdit(object Sender, NodeLabelEditEventArgs e) private void AfterLabelEdit(object Sender, NodeLabelEditEventArgs e)
{ {
if(e.Label != null && e.Label.Length > 0) if (e.Label != null && e.Label.Length > 0)
{ {
if(e.Node.Tag != null && e.Node.Tag is string && (string)e.Node.Tag != "") if (e.Node.Tag != null && e.Node.Tag is string && (string)e.Node.Tag != "")
{ {
this.PatchFavoriteName(e.Label.ToString(), (string)e.Node.Tag); this.PatchFavoriteName(e.Label.ToString(), (string)e.Node.Tag);
} }
@ -134,9 +134,9 @@ namespace HtmlHelp2
private void TreeViewKeyDown(object sender, KeyEventArgs e) private void TreeViewKeyDown(object sender, KeyEventArgs e)
{ {
if(tv.SelectedNode != null) if (tv.SelectedNode != null)
{ {
switch(e.KeyCode) switch (e.KeyCode)
{ {
case Keys.F2: case Keys.F2:
tv.SelectedNode.BeginEdit(); tv.SelectedNode.BeginEdit();
@ -153,7 +153,7 @@ namespace HtmlHelp2
{ {
TreeNode tn = tv.SelectedNode; TreeNode tn = tv.SelectedNode;
if(tn != null && tn.Tag != null && tn.Tag is string && (string)tn.Tag != "") if (tn != null && tn.Tag != null && tn.Tag is string && (string)tn.Tag != "")
{ {
ShowHelpBrowser.OpenHelpView((string)tn.Tag); ShowHelpBrowser.OpenHelpView((string)tn.Tag);
} }
@ -163,12 +163,12 @@ namespace HtmlHelp2
#region ToolStrip #region ToolStrip
private void ToolStripButtonClicked(object sender, EventArgs e) private void ToolStripButtonClicked(object sender, EventArgs e)
{ {
if(tv.SelectedNode == null) return; if (tv.SelectedNode == null) return;
ToolStripItem item = (ToolStripItem)sender; ToolStripItem item = (ToolStripItem)sender;
TreeNode tempNode = null; TreeNode tempNode = null;
switch(item.ImageIndex) switch (item.ImageIndex)
{ {
case 0: case 0:
tempNode = (TreeNode)tv.SelectedNode.Clone(); tempNode = (TreeNode)tv.SelectedNode.Clone();
@ -180,8 +180,10 @@ namespace HtmlHelp2
case 1: case 1:
tempNode = (TreeNode)tv.SelectedNode.Clone(); tempNode = (TreeNode)tv.SelectedNode.Clone();
TreeNode nextNextNode = tv.SelectedNode.NextNode.NextNode; TreeNode nextNextNode = tv.SelectedNode.NextNode.NextNode;
if(nextNextNode == null) tv.Nodes.Add(tempNode); if (nextNextNode == null)
else tv.Nodes.Insert(nextNextNode.Index, tempNode); tv.Nodes.Add(tempNode);
else
tv.Nodes.Insert(nextNextNode.Index, tempNode);
tv.Nodes.Remove(tv.SelectedNode); tv.Nodes.Remove(tv.SelectedNode);
tv.SelectedNode = tempNode; tv.SelectedNode = tempNode;
this.SaveFavorites(); this.SaveFavorites();
@ -196,7 +198,7 @@ namespace HtmlHelp2
MessageBoxButtons.YesNo, MessageBoxButtons.YesNo,
MessageBoxIcon.Question, MessageBoxIcon.Question,
MessageBoxDefaultButton.Button2); MessageBoxDefaultButton.Button2);
if(result == DialogResult.Yes) if (result == DialogResult.Yes)
{ {
tv.Nodes.Remove(tv.SelectedNode); tv.Nodes.Remove(tv.SelectedNode);
this.SaveFavorites(); this.SaveFavorites();
@ -220,12 +222,12 @@ namespace HtmlHelp2
xmldoc.Load(PropertyService.ConfigDirectory + help2FavoritesFile); xmldoc.Load(PropertyService.ConfigDirectory + help2FavoritesFile);
XmlNodeList nl = xmldoc.SelectNodes("favorites/favorite"); XmlNodeList nl = xmldoc.SelectNodes("favorites/favorite");
for(int i = 0; i < nl.Count; i++) for (int i = 0; i < nl.Count; i++)
{ {
XmlNode title = nl.Item(i).SelectSingleNode("title"); XmlNode title = nl.Item(i).SelectSingleNode("title");
XmlNode url = nl.Item(i).SelectSingleNode("url"); XmlNode url = nl.Item(i).SelectSingleNode("url");
if(title != null && url != null && title.InnerText != "" && url.InnerText != "") if (title != null && url != null && title.InnerText != "" && url.InnerText != "")
{ {
TreeNode node = new TreeNode(); TreeNode node = new TreeNode();
node.Text = title.InnerText; node.Text = title.InnerText;
@ -246,9 +248,9 @@ namespace HtmlHelp2
XmlDocument xmldoc = new XmlDocument(); XmlDocument xmldoc = new XmlDocument();
xmldoc.LoadXml("<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?><favorites/>"); xmldoc.LoadXml("<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?><favorites/>");
foreach(TreeNode node in tv.Nodes) foreach (TreeNode node in tv.Nodes)
{ {
if(node.Text != "" && node.Tag != null && node.Tag is string && (string)node.Tag != "") if (node.Text != "" && node.Tag != null && node.Tag is string && (string)node.Tag != "")
{ {
XmlNode favorite = xmldoc.CreateElement("favorite"); XmlNode favorite = xmldoc.CreateElement("favorite");
@ -278,7 +280,7 @@ namespace HtmlHelp2
XmlNode node = xmldoc.SelectSingleNode(String.Format("/favorites/favorite[url=\"{0}\"]/title", topicUrl)); XmlNode node = xmldoc.SelectSingleNode(String.Format("/favorites/favorite[url=\"{0}\"]/title", topicUrl));
if(node != null) if (node != null)
{ {
node.InnerText = newName; node.InnerText = newName;
xmldoc.Save(PropertyService.ConfigDirectory + help2FavoritesFile); xmldoc.Save(PropertyService.ConfigDirectory + help2FavoritesFile);
@ -289,20 +291,22 @@ namespace HtmlHelp2
public void AddToFavorites(string topicName, string topicUrl) public void AddToFavorites(string topicName, string topicUrl)
{ {
if(Help2EnvIsReady && topicName != "" && topicUrl != "") if (Help2EnvIsReady && topicName != "" && topicUrl != "")
{ {
bool urlFound = false; bool urlFound = false;
foreach(TreeNode node in tv.Nodes) foreach (TreeNode node in tv.Nodes)
{ {
if(node.Tag != null && node.Tag is string && String.Compare(topicUrl, (string)node.Tag) == 0) if (node.Tag != null &&
node.Tag is string &&
String.Compare(topicUrl, (string)node.Tag) == 0)
{ {
urlFound = true; urlFound = true;
break; break;
} }
} }
if(!urlFound) if (!urlFound)
{ {
TreeNode node = new TreeNode(); TreeNode node = new TreeNode();
node.Text = topicName; node.Text = topicName;

36
src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/IndexPad.cs

@ -25,7 +25,7 @@ namespace HtmlHelp2
public override void Run() public override void Run()
{ {
PadDescriptor index = WorkbenchSingleton.Workbench.GetPad(typeof(HtmlHelp2IndexPad)); PadDescriptor index = WorkbenchSingleton.Workbench.GetPad(typeof(HtmlHelp2IndexPad));
if(index != null) index.BringPadToFront(); if (index != null) index.BringPadToFront();
} }
} }
@ -51,7 +51,7 @@ namespace HtmlHelp2
public HtmlHelp2IndexPad() public HtmlHelp2IndexPad()
{ {
help2IndexControl = new MsHelp2IndexControl(); help2IndexControl = new MsHelp2IndexControl();
if(help2IndexControl.IsEnabled) help2IndexControl.LoadIndex(); if (help2IndexControl.IsEnabled) help2IndexControl.LoadIndex();
} }
} }
@ -68,7 +68,7 @@ namespace HtmlHelp2
protected override void Dispose(bool disposing) protected override void Dispose(bool disposing)
{ {
base.Dispose(disposing); base.Dispose(disposing);
if(disposing && indexControl != null) { indexControl.Dispose(); } if (disposing && indexControl != null) { indexControl.Dispose(); }
} }
public bool IsEnabled public bool IsEnabled
@ -87,7 +87,7 @@ namespace HtmlHelp2
this.controlIsEnabled = (HtmlHelp2Environment.IsReady && this.controlIsEnabled = (HtmlHelp2Environment.IsReady &&
Help2ControlsValidation.IsIndexControlRegistered); Help2ControlsValidation.IsIndexControlRegistered);
if(this.controlIsEnabled) if (this.controlIsEnabled)
{ {
try try
{ {
@ -104,7 +104,7 @@ namespace HtmlHelp2
HtmlHelp2Environment.FilterQueryChanged += new EventHandler(FilterQueryChanged); HtmlHelp2Environment.FilterQueryChanged += new EventHandler(FilterQueryChanged);
HtmlHelp2Environment.NamespaceReloaded += new EventHandler(NamespaceReloaded); HtmlHelp2Environment.NamespaceReloaded += new EventHandler(NamespaceReloaded);
} }
catch(Exception ex) catch (Exception ex)
{ {
LoggingService.Error("Help 2.0: Index control failed; " + ex.ToString()); LoggingService.Error("Help 2.0: Index control failed; " + ex.ToString());
this.FakeHelpControl(); this.FakeHelpControl();
@ -155,7 +155,7 @@ namespace HtmlHelp2
private void FakeHelpControl() private void FakeHelpControl()
{ {
if(indexControl != null) indexControl.Dispose(); if (indexControl != null) indexControl.Dispose();
indexControl = null; indexControl = null;
Controls.Clear(); Controls.Clear();
@ -167,7 +167,7 @@ namespace HtmlHelp2
public void LoadIndex() public void LoadIndex()
{ {
if(!this.controlIsEnabled) return; if (!this.controlIsEnabled) return;
searchTerm.Text = ""; searchTerm.Text = "";
searchTerm.Items.Clear(); searchTerm.Items.Clear();
@ -181,7 +181,7 @@ namespace HtmlHelp2
{ {
string selectedString = filterCombobox.SelectedItem.ToString(); string selectedString = filterCombobox.SelectedItem.ToString();
if(selectedString != "") if (selectedString != "")
{ {
Cursor.Current = Cursors.WaitCursor; Cursor.Current = Cursors.WaitCursor;
indexControl.IndexData = HtmlHelp2Environment.GetIndex(HtmlHelp2Environment.FindFilterQuery(selectedString)); indexControl.IndexData = HtmlHelp2Environment.GetIndex(HtmlHelp2Environment.FindFilterQuery(selectedString));
@ -195,7 +195,7 @@ namespace HtmlHelp2
Application.DoEvents(); Application.DoEvents();
string currentFilterName = filterCombobox.SelectedItem.ToString(); string currentFilterName = filterCombobox.SelectedItem.ToString();
if(String.Compare(currentFilterName, HtmlHelp2Environment.CurrentFilterName) != 0) if (String.Compare(currentFilterName, HtmlHelp2Environment.CurrentFilterName) != 0)
{ {
filterCombobox.SelectedIndexChanged -= new EventHandler(FilterChanged); filterCombobox.SelectedIndexChanged -= new EventHandler(FilterChanged);
filterCombobox.SelectedIndex = filterCombobox.Items.IndexOf(HtmlHelp2Environment.CurrentFilterName); filterCombobox.SelectedIndex = filterCombobox.Items.IndexOf(HtmlHelp2Environment.CurrentFilterName);
@ -212,7 +212,7 @@ namespace HtmlHelp2
private void SearchTextChanged(object sender, EventArgs e) private void SearchTextChanged(object sender, EventArgs e)
{ {
if(!itemClicked && searchTerm.Text != "") if (!itemClicked && searchTerm.Text != "")
{ {
indexControl.Selection = indexControl.IndexData.GetSlotFromString(searchTerm.Text); indexControl.Selection = indexControl.IndexData.GetSlotFromString(searchTerm.Text);
} }
@ -220,14 +220,14 @@ namespace HtmlHelp2
private void KeyPressed(object sender, KeyPressEventArgs e) private void KeyPressed(object sender, KeyPressEventArgs e)
{ {
if(e.KeyChar == (char)13) if (e.KeyChar == (char)13)
{ {
int indexSlot = indexControl.IndexData.GetSlotFromString(searchTerm.Text); int indexSlot = indexControl.IndexData.GetSlotFromString(searchTerm.Text);
string indexTerm = indexControl.IndexData.GetFullStringFromSlot(indexSlot, ","); string indexTerm = indexControl.IndexData.GetFullStringFromSlot(indexSlot, ",");
searchTerm.Items.Insert(0,indexTerm); searchTerm.Items.Insert(0,indexTerm);
searchTerm.SelectedIndex = 0; searchTerm.SelectedIndex = 0;
if(searchTerm.Items.Count > 10) searchTerm.Items.RemoveAt(10); if (searchTerm.Items.Count > 10) searchTerm.Items.RemoveAt(10);
this.ShowSelectedItemEntry(indexTerm, indexSlot); this.ShowSelectedItemEntry(indexTerm, indexSlot);
} }
@ -248,9 +248,9 @@ namespace HtmlHelp2
private void ShowSelectedItemEntry(string indexTerm, int indexSlot) private void ShowSelectedItemEntry(string indexTerm, int indexSlot)
{ {
PadDescriptor indexResults = WorkbenchSingleton.Workbench.GetPad(typeof(HtmlHelp2IndexResultsPad)); PadDescriptor indexResults =
if(indexResults == null) WorkbenchSingleton.Workbench.GetPad(typeof(HtmlHelp2IndexResultsPad));
return; if (indexResults == null) return;
try try
{ {
@ -261,7 +261,7 @@ namespace HtmlHelp2
((HtmlHelp2IndexResultsPad)indexResults.PadContent).CleanUp(); ((HtmlHelp2IndexResultsPad)indexResults.PadContent).CleanUp();
((HtmlHelp2IndexResultsPad)indexResults.PadContent).IndexResultsListView.BeginUpdate(); ((HtmlHelp2IndexResultsPad)indexResults.PadContent).IndexResultsListView.BeginUpdate();
foreach(IHxTopic topic in matchingTopics) foreach (IHxTopic topic in matchingTopics)
{ {
ListViewItem lvi = new ListViewItem(); ListViewItem lvi = new ListViewItem();
lvi.Text = topic.get_Title(HxTopicGetTitleType.HxTopicGetRLTitle, lvi.Text = topic.get_Title(HxTopicGetTitleType.HxTopicGetRLTitle,
@ -278,7 +278,7 @@ namespace HtmlHelp2
((HtmlHelp2IndexResultsPad)indexResults.PadContent).SetStatusMessage(indexTerm); ((HtmlHelp2IndexResultsPad)indexResults.PadContent).SetStatusMessage(indexTerm);
} }
switch(matchingTopics.Count) switch (matchingTopics.Count)
{ {
case 0: case 0:
break; break;
@ -291,7 +291,7 @@ namespace HtmlHelp2
break; break;
} }
} }
catch(Exception ex) catch (Exception ex)
{ {
LoggingService.Error("Help 2.0: cannot get matching index entries; " + ex.ToString()); LoggingService.Error("Help 2.0: cannot get matching index entries; " + ex.ToString());
} }

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

@ -22,7 +22,7 @@ namespace HtmlHelp2
public override void Run() public override void Run()
{ {
PadDescriptor indexResults = WorkbenchSingleton.Workbench.GetPad(typeof(HtmlHelp2IndexResultsPad)); PadDescriptor indexResults = WorkbenchSingleton.Workbench.GetPad(typeof(HtmlHelp2IndexResultsPad));
if(indexResults != null) indexResults.BringPadToFront(); if (indexResults != null) indexResults.BringPadToFront();
} }
} }
@ -90,7 +90,7 @@ namespace HtmlHelp2
private void ListViewDoubleClick(object sender, EventArgs e) private void ListViewDoubleClick(object sender, EventArgs e)
{ {
ListViewItem lvi = listView.SelectedItems[0]; ListViewItem lvi = listView.SelectedItems[0];
if(lvi != null && lvi.Tag != null && lvi.Tag is IHxTopic) if (lvi != null && lvi.Tag != null && lvi.Tag is IHxTopic)
{ {
ShowHelpBrowser.OpenHelpView((IHxTopic)lvi.Tag); ShowHelpBrowser.OpenHelpView((IHxTopic)lvi.Tag);
} }
@ -103,7 +103,7 @@ namespace HtmlHelp2
public void CleanUp() public void CleanUp()
{ {
foreach(ListViewItem lvi in listView.Items) foreach (ListViewItem lvi in listView.Items)
{ {
if(lvi.Tag != null) { lvi.Tag = null; } if(lvi.Tag != null) { lvi.Tag = null; }
} }
@ -113,13 +113,7 @@ namespace HtmlHelp2
public void SetStatusMessage(string indexTerm) public void SetStatusMessage(string indexTerm)
{ {
/* if (listView.Items.Count > 1)
* @SharpDevelop developers: I would like to have the possibility to
* change the Pad's title. It works without, but it would look
* better if I could write what was searched and how many topics are
* matching.
*/
if(listView.Items.Count > 1)
{ {
string text = StringParser.Parse("${res:AddIns.HtmlHelp2.ResultsOfIndexResults}", string text = StringParser.Parse("${res:AddIns.HtmlHelp2.ResultsOfIndexResults}",
new string[,] new string[,]
@ -144,7 +138,8 @@ namespace HtmlHelp2
public int Compare(object x, object y) public int Compare(object x, object y)
{ {
return String.Compare(((ListViewItem)x).SubItems[col].Text, ((ListViewItem)y).SubItems[col].Text); return String.Compare(((ListViewItem)x).SubItems[col].Text,
((ListViewItem)y).SubItems[col].Text);
} }
} }
#endregion #endregion

28
src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/SearchPad.cs

@ -144,7 +144,7 @@ namespace HtmlHelp2
filterCombobox.Enabled = HtmlHelp2Environment.IsReady; filterCombobox.Enabled = HtmlHelp2Environment.IsReady;
filterCombobox.SelectedIndexChanged += new EventHandler(FilterChanged); filterCombobox.SelectedIndexChanged += new EventHandler(FilterChanged);
if(HtmlHelp2Environment.IsReady) if (HtmlHelp2Environment.IsReady)
{ {
HtmlHelp2Environment.BuildFilterList(filterCombobox); HtmlHelp2Environment.BuildFilterList(filterCombobox);
HtmlHelp2Environment.FilterQueryChanged += new EventHandler(FilterQueryChanged); HtmlHelp2Environment.FilterQueryChanged += new EventHandler(FilterQueryChanged);
@ -182,7 +182,7 @@ namespace HtmlHelp2
private void FilterChanged(object sender, EventArgs e) private void FilterChanged(object sender, EventArgs e)
{ {
object selectedItem = filterCombobox.SelectedItem; object selectedItem = filterCombobox.SelectedItem;
if(selectedItem != null) if (selectedItem != null)
{ {
selectedQuery = HtmlHelp2Environment.FindFilterQuery(selectedItem.ToString()); selectedQuery = HtmlHelp2Environment.FindFilterQuery(selectedItem.ToString());
} }
@ -194,7 +194,7 @@ namespace HtmlHelp2
mainPanel.Refresh(); mainPanel.Refresh();
string currentFilterName = filterCombobox.SelectedItem.ToString(); string currentFilterName = filterCombobox.SelectedItem.ToString();
if(String.Compare(currentFilterName, HtmlHelp2Environment.CurrentFilterName) != 0) if (String.Compare(currentFilterName, HtmlHelp2Environment.CurrentFilterName) != 0)
{ {
filterCombobox.SelectedIndexChanged -= new EventHandler(FilterChanged); filterCombobox.SelectedIndexChanged -= new EventHandler(FilterChanged);
filterCombobox.SelectedIndex = filterCombobox.Items.IndexOf(HtmlHelp2Environment.CurrentFilterName); filterCombobox.SelectedIndex = filterCombobox.Items.IndexOf(HtmlHelp2Environment.CurrentFilterName);
@ -215,7 +215,7 @@ namespace HtmlHelp2
private void SearchButtonClick(object sender, EventArgs e) private void SearchButtonClick(object sender, EventArgs e)
{ {
if(searchTerm.Text != "") if (searchTerm.Text != "")
{ {
this.AddTermToList(searchTerm.Text); this.AddTermToList(searchTerm.Text);
this.PerformFTS(searchTerm.Text); this.PerformFTS(searchTerm.Text);
@ -229,7 +229,7 @@ namespace HtmlHelp2
private void KeyPressed(object sender, KeyPressEventArgs e) private void KeyPressed(object sender, KeyPressEventArgs e)
{ {
if(e.KeyChar == (char)13 && searchTerm.Text != null) if (e.KeyChar == (char)13 && searchTerm.Text != null)
{ {
e.Handled = true; e.Handled = true;
this.AddTermToList(searchTerm.Text); this.AddTermToList(searchTerm.Text);
@ -239,10 +239,10 @@ namespace HtmlHelp2
private void AddTermToList(string searchText) private void AddTermToList(string searchText)
{ {
if(searchTerm.Items.IndexOf(searchText) == -1) if (searchTerm.Items.IndexOf(searchText) == -1)
{ {
searchTerm.Items.Insert(0, searchText); searchTerm.Items.Insert(0, searchText);
if(searchTerm.Items.Count > 10) searchTerm.Items.RemoveAt(10); if (searchTerm.Items.Count > 10) searchTerm.Items.RemoveAt(10);
searchTerm.SelectedIndex = 0; searchTerm.SelectedIndex = 0;
} }
} }
@ -255,8 +255,7 @@ namespace HtmlHelp2
private void PerformFTS(string searchWord, bool useDynamicHelp) private void PerformFTS(string searchWord, bool useDynamicHelp)
{ {
if(!HtmlHelp2Environment.IsReady || searchIsBusy) if (!HtmlHelp2Environment.IsReady || searchIsBusy) return;
return;
HtmlHelp2SearchResultsView searchResults = HtmlHelp2SearchResultsView.Instance; HtmlHelp2SearchResultsView searchResults = HtmlHelp2SearchResultsView.Instance;
@ -278,7 +277,7 @@ namespace HtmlHelp2
searchDialog.Show(); searchDialog.Show();
Application.DoEvents(); Application.DoEvents();
Cursor.Current = Cursors.WaitCursor; Cursor.Current = Cursors.WaitCursor;
if(useDynamicHelp) if (useDynamicHelp)
matchingTopics = HtmlHelp2Environment.GetMatchingTopicsForDynamicHelp(searchWord); matchingTopics = HtmlHelp2Environment.GetMatchingTopicsForDynamicHelp(searchWord);
else else
matchingTopics = HtmlHelp2Environment.FTS.Query(searchWord, searchFlags); matchingTopics = HtmlHelp2Environment.FTS.Query(searchWord, searchFlags);
@ -290,9 +289,9 @@ namespace HtmlHelp2
searchResults.CleanUp(); searchResults.CleanUp();
searchResults.SearchResultsListView.BeginUpdate(); searchResults.SearchResultsListView.BeginUpdate();
foreach(IHxTopic topic in matchingTopics) foreach (IHxTopic topic in matchingTopics)
{ {
if(useCurrentLang.Checked && !useDynamicHelp && !SharpDevLanguage.CheckTopicLanguage(topic)) if (useCurrentLang.Checked && !useDynamicHelp && !SharpDevLanguage.CheckTopicLanguage(topic))
continue; continue;
ListViewItem lvi = new ListViewItem(); ListViewItem lvi = new ListViewItem();
@ -315,7 +314,7 @@ namespace HtmlHelp2
searchIsBusy = false; searchIsBusy = false;
} }
} }
catch(Exception ex) catch (Exception ex)
{ {
LoggingService.Error("Help 2.0: cannot get matching search word; " + ex.ToString()); LoggingService.Error("Help 2.0: cannot get matching search word; " + ex.ToString());
} }
@ -332,8 +331,7 @@ namespace HtmlHelp2
public bool PerformF1FTS(string keyword, bool useDynamicHelp) public bool PerformF1FTS(string keyword, bool useDynamicHelp)
{ {
if(!HtmlHelp2Environment.IsReady || searchIsBusy) if (!HtmlHelp2Environment.IsReady || searchIsBusy) return false;
return false;
this.PerformFTS(keyword, useDynamicHelp); this.PerformFTS(keyword, useDynamicHelp);

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

@ -96,7 +96,7 @@ namespace HtmlHelp2
bool hiliteMatches = (search != null && ((HtmlHelp2SearchPad)search.PadContent).HiliteEnabled); bool hiliteMatches = (search != null && ((HtmlHelp2SearchPad)search.PadContent).HiliteEnabled);
ListViewItem lvi = listView.SelectedItems[0]; ListViewItem lvi = listView.SelectedItems[0];
if(lvi != null && lvi.Tag != null && lvi.Tag is IHxTopic) if (lvi != null && lvi.Tag != null && lvi.Tag is IHxTopic)
{ {
ShowHelpBrowser.OpenHelpView((IHxTopic)lvi.Tag, hiliteMatches); ShowHelpBrowser.OpenHelpView((IHxTopic)lvi.Tag, hiliteMatches);
} }
@ -110,7 +110,7 @@ namespace HtmlHelp2
public void CleanUp() public void CleanUp()
{ {
foreach(ListViewItem lvi in listView.Items) foreach (ListViewItem lvi in listView.Items)
{ {
if(lvi.Tag != null) { lvi.Tag = null; } if(lvi.Tag != null) { lvi.Tag = null; }
} }
@ -120,12 +120,6 @@ namespace HtmlHelp2
public void SetStatusMessage(string indexTerm) public void SetStatusMessage(string indexTerm)
{ {
/*
* @SharpDevelop developers: I would like to have the possibility to
* change the Pad's title. It works without, but it would look
* better if I could write what was searched and how many topics are
* matching.
*/
string text = StringParser.Parse("${res:AddIns.HtmlHelp2.ResultsOfSearchResults}", string text = StringParser.Parse("${res:AddIns.HtmlHelp2.ResultsOfSearchResults}",
new string[,] new string[,]
{{"0", indexTerm}, {{"0", indexTerm},
@ -148,7 +142,7 @@ namespace HtmlHelp2
public int Compare(object x, object y) public int Compare(object x, object y)
{ {
switch(col) switch (col)
{ {
case 2: case 2:
int a = Int32.Parse(((ListViewItem)x).SubItems[col].Text); int a = Int32.Parse(((ListViewItem)x).SubItems[col].Text);

57
src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/TocPad.cs

@ -22,6 +22,7 @@ namespace HtmlHelp2
using HtmlHelp2.Environment; using HtmlHelp2.Environment;
using HtmlHelp2.ControlsValidation; using HtmlHelp2.ControlsValidation;
using HtmlHelp2.ResourcesHelperClass; using HtmlHelp2.ResourcesHelperClass;
using PrintOptions = MSHelpServices.HxHierarchy_PrintNode_Options;
public class ShowTocMenuCommand : AbstractMenuCommand public class ShowTocMenuCommand : AbstractMenuCommand
@ -29,7 +30,7 @@ namespace HtmlHelp2
public override void Run() public override void Run()
{ {
PadDescriptor toc = WorkbenchSingleton.Workbench.GetPad(typeof(HtmlHelp2TocPad)); PadDescriptor toc = WorkbenchSingleton.Workbench.GetPad(typeof(HtmlHelp2TocPad));
if(toc != null) toc.BringPadToFront(); if (toc != null) toc.BringPadToFront();
} }
} }
@ -55,32 +56,32 @@ namespace HtmlHelp2
public HtmlHelp2TocPad() public HtmlHelp2TocPad()
{ {
help2TocControl = new MsHelp2TocControl(); help2TocControl = new MsHelp2TocControl();
if(help2TocControl.IsEnabled) help2TocControl.LoadToc(); if (help2TocControl.IsEnabled) help2TocControl.LoadToc();
} }
public void SyncToc(string topicUrl) public void SyncToc(string topicUrl)
{ {
if(help2TocControl.IsEnabled) help2TocControl.SynToc(topicUrl); if (help2TocControl.IsEnabled) help2TocControl.SynchronizeToc(topicUrl);
} }
public void GetPrevFromNode() public void GetPrevFromNode()
{ {
if(help2TocControl.IsEnabled) help2TocControl.GetPrevFromNode(); if (help2TocControl.IsEnabled) help2TocControl.GetPrevFromNode();
} }
public void GetPrevFromUrl(string topicUrl) public void GetPrevFromUrl(string topicUrl)
{ {
if(help2TocControl.IsEnabled) help2TocControl.GetPrevFromUrl(topicUrl); if (help2TocControl.IsEnabled) help2TocControl.GetPrevFromUrl(topicUrl);
} }
public void GetNextFromNode() public void GetNextFromNode()
{ {
if(help2TocControl.IsEnabled) help2TocControl.GetNextFromNode(); if (help2TocControl.IsEnabled) help2TocControl.GetNextFromNode();
} }
public void GetNextFromUrl(string topicUrl) public void GetNextFromUrl(string topicUrl)
{ {
if(help2TocControl.IsEnabled) help2TocControl.GetNextFromUrl(topicUrl); if (help2TocControl.IsEnabled) help2TocControl.GetNextFromUrl(topicUrl);
} }
public bool IsNotFirstNode public bool IsNotFirstNode
@ -96,10 +97,6 @@ namespace HtmlHelp2
public class MsHelp2TocControl : UserControl public class MsHelp2TocControl : UserControl
{ {
HxTocCtrlClass tocv2 = new HxTocCtrlClass();
AxHxTocCtrl tocControl = null; AxHxTocCtrl tocControl = null;
ComboBox filterCombobox = new ComboBox(); ComboBox filterCombobox = new ComboBox();
Label label1 = new Label(); Label label1 = new Label();
@ -111,7 +108,7 @@ namespace HtmlHelp2
protected override void Dispose(bool disposing) protected override void Dispose(bool disposing)
{ {
base.Dispose(disposing); base.Dispose(disposing);
if(disposing && tocControl != null) { tocControl.Dispose(); } if (disposing && tocControl != null) { tocControl.Dispose(); }
} }
public bool IsEnabled public bool IsEnabled
@ -129,15 +126,17 @@ namespace HtmlHelp2
this.controlIsEnabled = (HtmlHelp2Environment.IsReady && this.controlIsEnabled = (HtmlHelp2Environment.IsReady &&
Help2ControlsValidation.IsTocControlRegistered); Help2ControlsValidation.IsTocControlRegistered);
if(this.controlIsEnabled) if (this.controlIsEnabled)
{ {
try try
{ {
tocControl = new AxHxTocCtrl(); tocControl = new AxHxTocCtrl();
tocControl.BeginInit(); tocControl.BeginInit();
tocControl.Dock = DockStyle.Fill; tocControl.Dock = DockStyle.Fill;
tocControl.NodeClick += new AxMSHelpControls.IHxTreeViewEvents_NodeClickEventHandler(this.TocNodeClicked); tocControl.NodeClick +=
tocControl.NodeRightClick += new AxMSHelpControls.IHxTreeViewEvents_NodeRightClickEventHandler(this.TocNodeRightClicked); new AxMSHelpControls.IHxTreeViewEvents_NodeClickEventHandler(this.TocNodeClicked);
tocControl.NodeRightClick +=
new AxMSHelpControls.IHxTreeViewEvents_NodeRightClickEventHandler(this.TocNodeRightClicked);
tocControl.EndInit(); tocControl.EndInit();
Controls.Add(tocControl); Controls.Add(tocControl);
tocControl.CreateControl(); tocControl.CreateControl();
@ -160,7 +159,7 @@ namespace HtmlHelp2
ToolbarService.RendererChanged += new EventHandler(this.RenderModeChanged); ToolbarService.RendererChanged += new EventHandler(this.RenderModeChanged);
} }
catch(Exception ex) catch (Exception ex)
{ {
LoggingService.Error("Help 2.0: TOC control failed; " + ex.ToString()); LoggingService.Error("Help 2.0: TOC control failed; " + ex.ToString());
this.FakeHelpControl(); this.FakeHelpControl();
@ -190,7 +189,7 @@ namespace HtmlHelp2
label1.TextAlign = ContentAlignment.MiddleLeft; label1.TextAlign = ContentAlignment.MiddleLeft;
label1.Enabled = this.controlIsEnabled; label1.Enabled = this.controlIsEnabled;
if(this.controlIsEnabled) if (this.controlIsEnabled)
{ {
HtmlHelp2Environment.FilterQueryChanged += new EventHandler(this.FilterQueryChanged); HtmlHelp2Environment.FilterQueryChanged += new EventHandler(this.FilterQueryChanged);
HtmlHelp2Environment.NamespaceReloaded += new EventHandler(this.NamespaceReloaded); HtmlHelp2Environment.NamespaceReloaded += new EventHandler(this.NamespaceReloaded);
@ -209,7 +208,7 @@ namespace HtmlHelp2
private void RenderModeChanged(object sender, EventArgs e) private void RenderModeChanged(object sender, EventArgs e)
{ {
if(ToolbarService.Renderer is ToolStripProfessionalRenderer) if (ToolbarService.Renderer is ToolStripProfessionalRenderer)
{ {
ProfessionalColorTable colorTable = new ProfessionalColorTable(); ProfessionalColorTable colorTable = new ProfessionalColorTable();
colorTable.UseSystemColors = true; colorTable.UseSystemColors = true;
@ -223,7 +222,7 @@ namespace HtmlHelp2
public void LoadToc() public void LoadToc()
{ {
if(!this.controlIsEnabled) return; if (!this.controlIsEnabled) return;
tocControl.Hierarchy = HtmlHelp2Environment.GetTocHierarchy(HtmlHelp2Environment.CurrentFilterQuery); tocControl.Hierarchy = HtmlHelp2Environment.GetTocHierarchy(HtmlHelp2Environment.CurrentFilterQuery);
filterCombobox.SelectedIndexChanged -= new EventHandler(this.FilterChanged); filterCombobox.SelectedIndexChanged -= new EventHandler(this.FilterChanged);
@ -235,7 +234,7 @@ namespace HtmlHelp2
{ {
string selectedString = filterCombobox.SelectedItem.ToString(); string selectedString = filterCombobox.SelectedItem.ToString();
if(selectedString != null && selectedString != "") if (selectedString != null && selectedString != "")
{ {
Cursor.Current = Cursors.WaitCursor; Cursor.Current = Cursors.WaitCursor;
tocControl.Hierarchy = HtmlHelp2Environment.GetTocHierarchy(HtmlHelp2Environment.FindFilterQuery(selectedString)); tocControl.Hierarchy = HtmlHelp2Environment.GetTocHierarchy(HtmlHelp2Environment.FindFilterQuery(selectedString));
@ -249,7 +248,7 @@ namespace HtmlHelp2
Application.DoEvents(); Application.DoEvents();
string currentFilterName = filterCombobox.SelectedItem.ToString(); string currentFilterName = filterCombobox.SelectedItem.ToString();
if(String.Compare(currentFilterName, HtmlHelp2Environment.CurrentFilterName) != 0) if (String.Compare(currentFilterName, HtmlHelp2Environment.CurrentFilterName) != 0)
{ {
filterCombobox.SelectedIndexChanged -= new EventHandler(this.FilterChanged); filterCombobox.SelectedIndexChanged -= new EventHandler(this.FilterChanged);
filterCombobox.SelectedIndex = filterCombobox.Items.IndexOf(HtmlHelp2Environment.CurrentFilterName); filterCombobox.SelectedIndex = filterCombobox.Items.IndexOf(HtmlHelp2Environment.CurrentFilterName);
@ -266,9 +265,9 @@ namespace HtmlHelp2
private void CallHelp(string topicUrl, bool syncToc) private void CallHelp(string topicUrl, bool syncToc)
{ {
if(topicUrl != null && topicUrl != "") if (topicUrl != null && topicUrl != "")
{ {
if(syncToc) this.SynToc(topicUrl); if (syncToc) this.SynchronizeToc(topicUrl);
ShowHelpBrowser.OpenHelpView(topicUrl); ShowHelpBrowser.OpenHelpView(topicUrl);
} }
} }
@ -282,7 +281,7 @@ namespace HtmlHelp2
#region Printing #region Printing
private void TocNodeRightClicked(object sender, IHxTreeViewEvents_NodeRightClickEvent e) private void TocNodeRightClicked(object sender, IHxTreeViewEvents_NodeRightClickEvent e)
{ {
if(e.hNode != 0) if (e.hNode != 0)
{ {
printTopic.Enabled = tocControl.Hierarchy.GetURL(e.hNode) != ""; printTopic.Enabled = tocControl.Hierarchy.GetURL(e.hNode) != "";
printChildTopics.Enabled = tocControl.Hierarchy.GetFirstChild(e.hNode) != 0; printChildTopics.Enabled = tocControl.Hierarchy.GetFirstChild(e.hNode) != 0;
@ -298,27 +297,27 @@ namespace HtmlHelp2
private void PrintTopic(object sender, EventArgs e) private void PrintTopic(object sender, EventArgs e)
{ {
if(tocControl.Selection != 0) if (tocControl.Selection != 0)
{ {
tocControl.Hierarchy.PrintNode(0, tocControl.Hierarchy.PrintNode(0,
tocControl.Selection, tocControl.Selection,
HxHierarchy_PrintNode_Options.HxHierarchy_PrintNode_Option_Node); PrintOptions.HxHierarchy_PrintNode_Option_Node);
} }
} }
private void PrintTopicAndSubtopics(object sender, EventArgs e) private void PrintTopicAndSubtopics(object sender, EventArgs e)
{ {
if(tocControl.Selection != 0) if (tocControl.Selection != 0)
{ {
tocControl.Hierarchy.PrintNode(0, tocControl.Hierarchy.PrintNode(0,
tocControl.Selection, tocControl.Selection,
HxHierarchy_PrintNode_Options.HxHierarchy_PrintNode_Option_Children); PrintOptions.HxHierarchy_PrintNode_Option_Children);
} }
} }
#endregion #endregion
#region published Help2 TOC Commands #region published Help2 TOC Commands
public void SynToc(string topicUrl) public void SynchronizeToc(string topicUrl)
{ {
tocControl.Synchronize(topicUrl); tocControl.Synchronize(topicUrl);
} }

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

@ -45,7 +45,7 @@ namespace HtmlHelp2
lastTopic = topic; lastTopic = topic;
BrowserPane help2Browser = GetActiveHelp2BrowserView(); BrowserPane help2Browser = GetActiveHelp2BrowserView();
if(help2Browser != null) if (help2Browser != null)
{ {
help2Browser.Load(topicUrl); help2Browser.Load(topicUrl);
help2Browser.WorkbenchWindow.SelectWindow(); help2Browser.WorkbenchWindow.SelectWindow();
@ -55,7 +55,7 @@ namespace HtmlHelp2
public static BrowserPane GetActiveHelp2BrowserView() public static BrowserPane GetActiveHelp2BrowserView()
{ {
IWorkbenchWindow window = WorkbenchSingleton.Workbench.ActiveWorkbenchWindow; IWorkbenchWindow window = WorkbenchSingleton.Workbench.ActiveWorkbenchWindow;
if(window != null) if (window != null)
{ {
BrowserPane browserPane = window.ActiveViewContent as BrowserPane; BrowserPane browserPane = window.ActiveViewContent as BrowserPane;
if (browserPane != null && browserPane.Url.Scheme == "ms-help") if (browserPane != null && browserPane.Url.Scheme == "ms-help")

4
src/AddIns/Misc/HtmlHelp2/Project/src/Service/Help2ControlsValidation.cs

@ -48,5 +48,9 @@ namespace HtmlHelp2.ControlsValidation
public Help2ControlsValidation() public Help2ControlsValidation()
{ {
} }
static Help2ControlsValidation()
{
}
} }
} }

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

@ -15,9 +15,20 @@ namespace HtmlHelp2.RegistryWalker
public sealed class Help2RegistryWalker public sealed class Help2RegistryWalker
{ {
private static HxRegNamespacePropId NamespaceDescription =
HxRegNamespacePropId.HxRegNamespaceDescription;
public Help2RegistryWalker()
{
}
static Help2RegistryWalker()
{
}
public static void BuildNamespacesList(ComboBox help2Collections, string selectedHelp2Collection) public static void BuildNamespacesList(ComboBox help2Collections, string selectedHelp2Collection)
{ {
if(help2Collections == null) return; if (help2Collections == null) return;
help2Collections.Items.Clear(); help2Collections.Items.Clear();
help2Collections.BeginUpdate(); help2Collections.BeginUpdate();
@ -27,18 +38,19 @@ namespace HtmlHelp2.RegistryWalker
HxRegistryWalker regWalker = new HxRegistryWalker(); HxRegistryWalker regWalker = new HxRegistryWalker();
IHxRegNamespaceList namespaces = regWalker.get_RegisteredNamespaceList(""); IHxRegNamespaceList namespaces = regWalker.get_RegisteredNamespaceList("");
foreach(IHxRegNamespace currentNamespace in namespaces) foreach (IHxRegNamespace currentNamespace in namespaces)
{ {
help2Collections.Items.Add((string)currentNamespace.GetProperty(HxRegNamespacePropId.HxRegNamespaceDescription)); help2Collections.Items.Add((string)currentNamespace.GetProperty(NamespaceDescription));
if(selectedHelp2Collection != "" && if (selectedHelp2Collection != "" &&
String.Compare(selectedHelp2Collection, currentNamespace.Name) == 0) String.Compare(selectedHelp2Collection, currentNamespace.Name) == 0)
{ {
currentDescription = (string)currentNamespace.GetProperty(HxRegNamespacePropId.HxRegNamespaceDescription); currentDescription =
(string)currentNamespace.GetProperty(NamespaceDescription);
} }
} }
if(currentDescription != "") if (currentDescription != "")
help2Collections.SelectedIndex = help2Collections.Items.IndexOf(currentDescription); help2Collections.SelectedIndex = help2Collections.Items.IndexOf(currentDescription);
else else
help2Collections.SelectedIndex = 0; help2Collections.SelectedIndex = 0;
@ -58,10 +70,10 @@ namespace HtmlHelp2.RegistryWalker
HxRegistryWalker regWalker = new HxRegistryWalker(); HxRegistryWalker regWalker = new HxRegistryWalker();
IHxRegNamespaceList namespaces = regWalker.get_RegisteredNamespaceList(""); IHxRegNamespaceList namespaces = regWalker.get_RegisteredNamespaceList("");
foreach(IHxRegNamespace currentNamespace in namespaces) foreach (IHxRegNamespace currentNamespace in namespaces)
{ {
string currentNamespaceName = (string)currentNamespace.GetProperty(HxRegNamespacePropId.HxRegNamespaceDescription); string currentNamespaceName = (string)currentNamespace.GetProperty(NamespaceDescription);
if(String.Compare(namespaceDescription, currentNamespaceName) == 0) if (String.Compare(namespaceDescription, currentNamespaceName) == 0)
{ {
return currentNamespace.Name; return currentNamespace.Name;
} }
@ -81,9 +93,9 @@ namespace HtmlHelp2.RegistryWalker
HxRegistryWalker regWalker = new HxRegistryWalker(); HxRegistryWalker regWalker = new HxRegistryWalker();
IHxRegNamespaceList namespaces = regWalker.get_RegisteredNamespaceList(""); IHxRegNamespaceList namespaces = regWalker.get_RegisteredNamespaceList("");
foreach(IHxRegNamespace currentNamespace in namespaces) foreach (IHxRegNamespace currentNamespace in namespaces)
{ {
if(String.Compare(namespaceName, currentNamespace.Name) == 0) if (String.Compare(namespaceName, currentNamespace.Name) == 0)
{ {
return namespaceName; return namespaceName;
} }
@ -99,17 +111,16 @@ namespace HtmlHelp2.RegistryWalker
public static string GetFirstMatchingNamespaceName(string matchingNamespaceName) public static string GetFirstMatchingNamespaceName(string matchingNamespaceName)
{ {
if(matchingNamespaceName == "") if (matchingNamespaceName == "") return "";
return "";
try try
{ {
HxRegistryWalker regWalker = new HxRegistryWalker(); HxRegistryWalker regWalker = new HxRegistryWalker();
IHxRegNamespaceList nl = regWalker.get_RegisteredNamespaceList(""); IHxRegNamespaceList nl = regWalker.get_RegisteredNamespaceList("");
foreach(IHxRegNamespace currentNamespace in nl) foreach (IHxRegNamespace currentNamespace in nl)
{ {
if(PathMatchSpec(currentNamespace.Name, matchingNamespaceName)) if (PathMatchSpec(currentNamespace.Name, matchingNamespaceName))
{ {
return currentNamespace.Name; return currentNamespace.Name;
} }
@ -120,10 +131,6 @@ namespace HtmlHelp2.RegistryWalker
return ""; return "";
} }
public Help2RegistryWalker()
{
}
#region PatchMatchSpec@Win32API #region PatchMatchSpec@Win32API
[DllImport("shlwapi.dll")] [DllImport("shlwapi.dll")]
static extern bool PathMatchSpec(string pwszFile, string pwszSpec); static extern bool PathMatchSpec(string pwszFile, string pwszSpec);

6
src/AddIns/Misc/HtmlHelp2/Project/src/Service/HtmlHelp2Dialog.cs

@ -17,8 +17,10 @@ namespace HtmlHelp2.HelperDialog
public Icon Icon public Icon Icon
{ {
get { return this.icon; } get
{
return this.icon;
}
set set
{ {
this.icon = value; this.icon = value;

10
src/AddIns/Misc/HtmlHelp2/Project/src/Service/HtmlHelp2Options.cs

@ -56,14 +56,18 @@ namespace HtmlHelp2.OptionsPanel
Help2RegistryWalker.BuildNamespacesList(help2Collections, selectedHelp2Collection); Help2RegistryWalker.BuildNamespacesList(help2Collections, selectedHelp2Collection);
} }
catch {} catch(Exception ex)
{
LoggingService.Error("Help 2.0: Cannot initialize options panel; " + ex.Message);
}
} }
private void NamespaceNameChanged(object sender, EventArgs e) private void NamespaceNameChanged(object sender, EventArgs e)
{ {
if(help2Collections.SelectedItem != null) if (help2Collections.SelectedItem != null)
{ {
selectedHelp2Collection = Help2RegistryWalker.GetNamespaceName(help2Collections.SelectedItem.ToString()); selectedHelp2Collection =
Help2RegistryWalker.GetNamespaceName(help2Collections.SelectedItem.ToString());
} }
} }

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

@ -93,7 +93,7 @@ namespace HtmlHelp2.Environment
XmlNode node = xmldoc.SelectSingleNode("/help2environment/collection"); XmlNode node = xmldoc.SelectSingleNode("/help2environment/collection");
if(node != null) DefaultNamespaceName = node.InnerText; if(node != null) DefaultNamespaceName = node.InnerText;
LoggingService.Info("Help 2.0: using saved configuration"); LoggingService.Info("Help 2.0: using last configuration");
} }
catch catch
{ {
@ -200,12 +200,13 @@ namespace HtmlHelp2.Environment
{ {
try try
{ {
IHxHierarchy defaultToc = (IHxHierarchy)session.GetNavigationInterface("!DefaultTOC", filterQuery, ref TocGuid); IHxHierarchy defaultToc =
(IHxHierarchy)session.GetNavigationInterface("!DefaultTOC", filterQuery, ref TocGuid);
return defaultToc; return defaultToc;
} }
catch catch
{ {
LoggingService.Error("Help 2.0: cannot connect to IHxHierarchy interface (TOC)"); LoggingService.Error("Help 2.0: cannot connect to IHxHierarchy interface (Contents)");
return null; return null;
} }
} }
@ -214,7 +215,10 @@ namespace HtmlHelp2.Environment
{ {
try try
{ {
IHxIndex defaultIndex = (IHxIndex)session.GetNavigationInterface("!DefaultKeywordIndex", filterQuery, ref IndexGuid); IHxIndex defaultIndex =
(IHxIndex)session.GetNavigationInterface("!DefaultKeywordIndex",
filterQuery,
ref IndexGuid);
return defaultIndex; return defaultIndex;
} }
catch catch
@ -246,7 +250,7 @@ namespace HtmlHelp2.Environment
} }
catch(Exception ex) catch(Exception ex)
{ {
LoggingService.Error("Help 2.0: cannot build filters; " + ex.ToString()); LoggingService.Error("Help 2.0: cannot build filters; " + ex.Message);
} }
filterCombobox.EndUpdate(); filterCombobox.EndUpdate();
@ -280,10 +284,9 @@ namespace HtmlHelp2.Environment
{ {
if(dynamicHelpIsBusy) return null; if(dynamicHelpIsBusy) return null;
IHxTopicList topics = null; IHxTopicList topics = null;
dynamicHelpIsBusy = true;
try try
{ {
dynamicHelpIsBusy = true;
topics = dynamicHelp.GetTopicsFromString(searchTerm, 0); topics = dynamicHelp.GetTopicsFromString(searchTerm, 0);
LoggingService.Info("Help 2.0: Dynamic Help called"); LoggingService.Info("Help 2.0: Dynamic Help called");
} }
@ -291,7 +294,10 @@ namespace HtmlHelp2.Environment
{ {
LoggingService.Error("Help 2.0: Dynamic Help search failed"); LoggingService.Error("Help 2.0: Dynamic Help search failed");
} }
dynamicHelpIsBusy = false; finally
{
dynamicHelpIsBusy = false;
}
return topics; return topics;
} }
#endregion #endregion

18
src/AddIns/Misc/HtmlHelp2/Project/src/Service/SharpDevLanguageClass.cs

@ -33,9 +33,9 @@ namespace HtmlHelp2.SharpDevLanguageClass
{ {
int counter = 0; int counter = 0;
IHxAttributeList topicAttributes = topic.Attributes; IHxAttributeList topicAttributes = topic.Attributes;
foreach(IHxAttribute attr in topicAttributes) foreach (IHxAttribute attr in topicAttributes)
{ {
if(String.Compare(attr.DisplayName, "DevLang") == 0) if (String.Compare(attr.DisplayName, "DevLang") == 0)
{ {
counter++; counter++;
} }
@ -55,12 +55,12 @@ namespace HtmlHelp2.SharpDevLanguageClass
public static bool CheckTopicLanguage(IHxTopic topic, string expectedLanguage) public static bool CheckTopicLanguage(IHxTopic topic, string expectedLanguage)
{ {
if(expectedLanguage == String.Empty) { return true; } if (expectedLanguage == String.Empty) { return true; }
if(topic == null) { return false; } if (topic == null) { return false; }
string tempLanguage = String.Empty; string tempLanguage = String.Empty;
if(!languages.ContainsKey(expectedLanguage) || if (!languages.ContainsKey(expectedLanguage) ||
!languages.TryGetValue(expectedLanguage, out tempLanguage)) !languages.TryGetValue(expectedLanguage, out tempLanguage))
{ {
tempLanguage = expectedLanguage; tempLanguage = expectedLanguage;
} }
@ -90,10 +90,10 @@ namespace HtmlHelp2.SharpDevLanguageClass
{ {
string tempLanguage = expectedLanguage; string tempLanguage = expectedLanguage;
if(tempLanguage != String.Empty) if (tempLanguage != String.Empty)
{ {
if(!languages.ContainsKey(expectedLanguage) || if (!languages.ContainsKey(expectedLanguage) ||
!languages.TryGetValue(expectedLanguage, out tempLanguage)) !languages.TryGetValue(expectedLanguage, out tempLanguage))
{ {
tempLanguage = expectedLanguage; tempLanguage = expectedLanguage;
} }

Loading…
Cancel
Save