diff --git a/src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/DynamicHelpPad.cs b/src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/DynamicHelpPad.cs index 7735fd7e6a..525e5e3e39 100644 --- a/src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/DynamicHelpPad.cs +++ b/src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/DynamicHelpPad.cs @@ -44,21 +44,17 @@ namespace HtmlHelp2 private int internalIndex = 0; private StringCollection dynamicHelpTerms = new StringCollection(); private string debugPreElement = String.Empty; - private bool enableDebugInfo = true; + private bool enableDebugInfo = false; public override Control Control { get { return dynamicHelpBrowser; } } - public override void Dispose() - { - try - { - dynamicHelpBrowser.Dispose(); - } - catch {} - } +// public override void Dispose() +// { +// dynamicHelpBrowser.Dispose(); +// } public override void RedrawContent() { @@ -78,64 +74,47 @@ namespace HtmlHelp2 private void BuildDynamicHelpList(string expectedLanguage) { if(this.dynamicHelpTerms.Count == 0) return; + this.RemoveAllChildren(); + this.debugPreElement = String.Empty; - try + Cursor.Current = Cursors.WaitCursor; + foreach(string currentHelpTerm in dynamicHelpTerms) { - this.RemoveAllChildren(); - this.debugPreElement = String.Empty; - bool result = false; - - Cursor.Current = Cursors.WaitCursor; - foreach(string currentHelpTerm in dynamicHelpTerms) - { - if(currentHelpTerm.StartsWith("!") && !result) - { - result = this.CallDynamicHelp(currentHelpTerm.Substring(1), expectedLanguage, false); - } - else if(!currentHelpTerm.StartsWith("!")) - { - this.CallDynamicHelp(currentHelpTerm, expectedLanguage, false); - } - } - Cursor.Current = Cursors.Default; - - if(this.enableDebugInfo) this.CreateDebugPre(); + this.CallDynamicHelp(currentHelpTerm, expectedLanguage, false); } - catch {} + Cursor.Current = Cursors.Default; + if(this.enableDebugInfo) this.CreateDebugPre(); } private bool CallDynamicHelp(string searchTerm, string expectedLanguage, bool keywordSearch) { if(!HtmlHelp2Environment.IsReady || HtmlHelp2Environment.DynamicHelpIsBusy) return false; - bool result = false; + bool result = false; + IHxTopicList topics = null; try { - IHxTopicList topics = null; if(keywordSearch) topics = HtmlHelp2Environment.GetMatchingTopicsForKeywordSearch(searchTerm); else topics = HtmlHelp2Environment.GetMatchingTopicsForDynamicHelp(searchTerm); + result = (topics != null && topics.Count > 0); this.debugPreElement += String.Format("{0} ({1}): {2} {3}
", searchTerm, (keywordSearch)?"Kwd":"DH", topics.Count.ToString(), (topics.Count == 1)?"topic":"topics"); + } + catch {} - if(topics.Count > 0) + if(result) + { + List newTopics = this.SortTopics(topics); + foreach(IHxTopic topic in newTopics) { - result = true; - - List newTopics = this.SortTopics(topics); -// IHxTopic[] newTopics = this.SortTopics(topics); - foreach(IHxTopic topic in newTopics) - { - this.BuildNewChild(topic.Location, - topic.get_Title(HxTopicGetTitleType.HxTopicGetTOCTitle, - HxTopicGetTitleDefVal.HxTopicGetTitleFileName), - topic.URL); - } + this.BuildNewChild(topic.Location, + topic.get_Title(HxTopicGetTitleType.HxTopicGetTOCTitle, + HxTopicGetTitleDefVal.HxTopicGetTitleFileName), + topic.URL); } } - catch {} - return result; } @@ -158,24 +137,20 @@ namespace HtmlHelp2 { if(elem.GetAttribute("className") == "section") { - try - { - HtmlElement sectionBlock = elem.FirstChild.NextSibling; - HtmlElement contentSpan = sectionBlock.NextSibling.NextSibling; + HtmlElement sectionBlock = elem.FirstChild.NextSibling; + HtmlElement contentSpan = sectionBlock.NextSibling.NextSibling; - if(sectionBlock.TagName == "B" && sectionBlock.InnerText == sectionName && - contentSpan.TagName == "SPAN" && contentSpan.GetAttribute("className") == "content") + if(sectionBlock.TagName == "B" && sectionBlock.InnerText == sectionName && + 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)); - contentSpan.AppendChild(this.CreateABreak()); - } - - return; + contentSpan.AppendChild(this.CreateNewLink(topicUrl, topicName)); + contentSpan.AppendChild(this.CreateABreak()); } + + return; } - catch {} } } @@ -191,7 +166,10 @@ namespace HtmlHelp2 this.internalIndex++; } - catch {} + catch(Exception ex) + { + LoggingService.Error("Help 2.0: cannot build node for dynamic help; " + ex.ToString()); + } } private HtmlElement CreateNewSection(string sectionName, out HtmlElement linkNode) @@ -310,7 +288,10 @@ namespace HtmlHelp2 objArray[0] = (object)sectionId; dynamicHelpBrowser.Document.InvokeScript("ExpandCollapse", objArray); } - catch {} + catch(Exception ex) + { + LoggingService.Error("Help 2.0: cannot run script; " + ex.ToString()); + } } private void OnLinkClick(object sender, HtmlElementEventArgs e) @@ -326,43 +307,39 @@ namespace HtmlHelp2 #region Taken from DefinitionView.cs private void UpdateTick(object sender, ParserUpdateStepEventArgs e) { - try - { - this.dynamicHelpTerms.Clear(); + this.dynamicHelpTerms.Clear(); - ResolveResult res = ResolveAtCaret(e); - if(res == null) return; + ResolveResult res = ResolveAtCaret(e); + if(res == null) return; - if(res != null && res.ResolvedType != null) - { - this.AddToStringCollection(res.ResolvedType.FullyQualifiedName); - } + if(res != null && res.ResolvedType != null) + { + this.AddToStringCollection(res.ResolvedType.FullyQualifiedName); + } - MemberResolveResult member = res as MemberResolveResult; - NamespaceResolveResult nspace = res as NamespaceResolveResult; - MethodResolveResult method = res as MethodResolveResult; - TypeResolveResult types = res as TypeResolveResult; + MemberResolveResult member = res as MemberResolveResult; + NamespaceResolveResult nspace = res as NamespaceResolveResult; + MethodResolveResult method = res as MethodResolveResult; + TypeResolveResult types = res as TypeResolveResult; - if(member != null && member.ResolvedMember != null) - { - this.AddToStringCollection(0, member.ResolvedMember.FullyQualifiedName); - } - if(nspace != null) - { - this.AddToStringCollection(0, nspace.Name); - } - if(method != null && method.ContainingType != null) - { - this.AddToStringCollection(0, method.ContainingType.FullyQualifiedName); - } - if(types != null && types.ResolvedClass != null) - { - this.AddToStringCollection(0, types.ResolvedClass.FullyQualifiedName); - } - - WorkbenchSingleton.SafeThreadAsyncCall(this, "BuildDynamicHelpList", ""); + if(member != null && member.ResolvedMember != null) + { + this.AddToStringCollection(0, member.ResolvedMember.FullyQualifiedName); } - catch {} + if(nspace != null) + { + this.AddToStringCollection(0, nspace.Name); + } + if(method != null && method.ContainingType != null) + { + this.AddToStringCollection(0, method.ContainingType.FullyQualifiedName); + } + if(types != null && types.ResolvedClass != null) + { + this.AddToStringCollection(0, types.ResolvedClass.FullyQualifiedName); + } + + WorkbenchSingleton.SafeThreadAsyncCall(this, "BuildDynamicHelpList", ""); } private ResolveResult ResolveAtCaret(ParserUpdateStepEventArgs e) @@ -403,28 +380,19 @@ namespace HtmlHelp2 private void CallDynamicHelpForFormsDesigner(object selectedObject, GridItem selectedItem) { if(selectedObject == null) return; + this.dynamicHelpTerms.Clear(); - try + Type myObject = selectedObject.GetType(); + if(selectedItem != null) { - this.dynamicHelpTerms.Clear(); - - 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("{0}.{1}", type.FullName, selectedItem.Label)); } - this.AddToStringCollection(myObject.FullName); - - WorkbenchSingleton.SafeThreadAsyncCall(this, - "BuildDynamicHelpList", - ""); } - catch {} + this.AddToStringCollection(myObject.FullName); + + WorkbenchSingleton.SafeThreadAsyncCall(this, "BuildDynamicHelpList", ""); } #endregion @@ -435,8 +403,10 @@ namespace HtmlHelp2 try { - dynamicHelpBrowser.Document.Body.InsertAdjacentElement(HtmlElementInsertionOrientation.BeforeEnd, this.CreateABreak()); - dynamicHelpBrowser.Document.Body.InsertAdjacentElement(HtmlElementInsertionOrientation.BeforeEnd, this.CreateABreak()); + dynamicHelpBrowser.Document.Body.InsertAdjacentElement(HtmlElementInsertionOrientation.BeforeEnd, + this.CreateABreak()); + dynamicHelpBrowser.Document.Body.InsertAdjacentElement(HtmlElementInsertionOrientation.BeforeEnd, + this.CreateABreak()); HtmlElement pre = dynamicHelpBrowser.CreateHtmlElement("pre"); pre.InnerHtml = "--- Dynamic Help Debug ---
" + this.debugPreElement; @@ -484,7 +454,10 @@ namespace HtmlHelp2 result.Sort(topicComparer); } } - catch {} + catch(Exception ex) + { + LoggingService.Error("Help 2.0: error while rebuild topics; " + ex.ToString()); + } return result; } @@ -530,33 +503,18 @@ namespace HtmlHelp2 public void RemoveAllChildren() { - try - { - axWebBrowser.Document.Body.InnerHtml = ""; - } - catch {} + axWebBrowser.Document.Body.InnerHtml = ""; } public HtmlElement CreateHtmlElement(string elementName) { - try - { - HtmlElement newElement = axWebBrowser.Document.CreateElement(elementName); - return newElement; - } - catch - { - return null; - } + HtmlElement newElement = axWebBrowser.Document.CreateElement(elementName); + return newElement; } public void InsertHtmlElement(HtmlElementInsertionOrientation insertWhere, HtmlElement insertWhat) { - try - { - axWebBrowser.Document.Body.InsertAdjacentElement(insertWhere, insertWhat); - } - catch {} + axWebBrowser.Document.Body.InsertAdjacentElement(insertWhere, insertWhat); } @@ -580,14 +538,15 @@ namespace HtmlHelp2 Size = new Size(500, 500); Controls.Add(axWebBrowser); - axWebBrowser.Dock = DockStyle.Fill; - axWebBrowser.WebBrowserShortcutsEnabled = false; + axWebBrowser.Dock = DockStyle.Fill; + axWebBrowser.WebBrowserShortcutsEnabled = false; axWebBrowser.IsWebBrowserContextMenuEnabled = false; - axWebBrowser.AllowWebBrowserDrop = false; + axWebBrowser.AllowWebBrowserDrop = false; Controls.Add(dynamicHelpToolbar); - dynamicHelpToolbar.Dock = DockStyle.Top; - dynamicHelpToolbar.AllowItemReorder = false; + dynamicHelpToolbar.Dock = DockStyle.Top; + dynamicHelpToolbar.AllowItemReorder = false; + dynamicHelpToolbar.Enabled = HtmlHelp2Environment.IsReady; for(int i = 0; i < toolbarButtons.Length; i++) { ToolStripButton button = new ToolStripButton(); @@ -612,15 +571,13 @@ namespace HtmlHelp2 private void LoadDynamicHelpPage() { - try - { - string url = String.Format("{0}\\context.html", - Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)); + if(!HtmlHelp2Environment.IsReady) return; - if(!File.Exists(url)) url = "about:blank"; - axWebBrowser.Navigate(url); - } - catch {} + string url = String.Format("{0}\\context.html", + Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)); + + if(!File.Exists(url)) url = "about:blank"; + axWebBrowser.Navigate(url); } private void ToolStripButtonClicked(object sender, EventArgs e) diff --git a/src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/IndexPad.cs b/src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/IndexPad.cs index eaf4ab015f..ae464de980 100644 --- a/src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/IndexPad.cs +++ b/src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/IndexPad.cs @@ -67,11 +67,7 @@ namespace HtmlHelp2 protected override void Dispose(bool disposing) { base.Dispose(disposing); - - if(disposing && indexControl != null) - { - indexControl.Dispose(); - } + if(disposing && indexControl != null) { indexControl.Dispose(); } } public void RedrawContent() @@ -102,8 +98,9 @@ namespace HtmlHelp2 HtmlHelp2Environment.FilterQueryChanged += new EventHandler(FilterQueryChanged); HtmlHelp2Environment.NamespaceReloaded += new EventHandler(NamespaceReloaded); } - catch + catch(Exception ex) { + LoggingService.Error("Help 2.0: Index control failed; " + ex.ToString()); this.FakeHelpControl(); } } @@ -163,39 +160,30 @@ namespace HtmlHelp2 public void LoadIndex() { - try - { - searchTerm.Text = ""; - searchTerm.Items.Clear(); - - indexControl.IndexData = HtmlHelp2Environment.GetIndex(HtmlHelp2Environment.CurrentFilterQuery); - filterCombobox.SelectedIndexChanged -= new EventHandler(FilterChanged); - HtmlHelp2Environment.BuildFilterList(filterCombobox); - filterCombobox.SelectedIndexChanged += new EventHandler(FilterChanged); - } - catch {} + searchTerm.Text = ""; + searchTerm.Items.Clear(); + indexControl.IndexData = HtmlHelp2Environment.GetIndex(HtmlHelp2Environment.CurrentFilterQuery); + filterCombobox.SelectedIndexChanged -= new EventHandler(FilterChanged); + HtmlHelp2Environment.BuildFilterList(filterCombobox); + filterCombobox.SelectedIndexChanged += new EventHandler(FilterChanged); } private void FilterChanged(object sender, EventArgs e) { - string selectedString = filterCombobox.SelectedItem.ToString(); + string selectedString = filterCombobox.SelectedItem.ToString(); if(selectedString != "") { - try - { - Cursor.Current = Cursors.WaitCursor; - indexControl.IndexData = HtmlHelp2Environment.GetIndex(HtmlHelp2Environment.FindFilterQuery(selectedString)); - Cursor.Current = Cursors.Default; - } - catch {} + Cursor.Current = Cursors.WaitCursor; + indexControl.IndexData = HtmlHelp2Environment.GetIndex(HtmlHelp2Environment.FindFilterQuery(selectedString)); + Cursor.Current = Cursors.Default; } } #region Help 2.0 Environment Events private void FilterQueryChanged(object sender, EventArgs e) { - indexControl.Refresh(); + Application.DoEvents(); string currentFilterName = filterCombobox.SelectedItem.ToString(); if(String.Compare(currentFilterName, HtmlHelp2Environment.CurrentFilterName) != 0) @@ -255,7 +243,8 @@ namespace HtmlHelp2 if(indexResults == null) return; - try { + try + { IHxTopicList matchingTopics = indexControl.IndexData.GetTopicsFromSlot(indexSlot); try @@ -263,18 +252,14 @@ namespace HtmlHelp2 ((HtmlHelp2IndexResultsPad)indexResults.PadContent).CleanUp(); ((HtmlHelp2IndexResultsPad)indexResults.PadContent).IndexResultsListView.BeginUpdate(); - for(int i = 1; i <= matchingTopics.Count; i++) + foreach(IHxTopic topic in matchingTopics) { - IHxTopic topic = matchingTopics.ItemAt(i); - - if(topic != null) { - ListViewItem lvi = new ListViewItem(); - lvi.Text = topic.get_Title(HxTopicGetTitleType.HxTopicGetRLTitle,HxTopicGetTitleDefVal.HxTopicGetTitleFileName); - lvi.SubItems.Add(topic.Location); - lvi.Tag = topic; - - ((HtmlHelp2IndexResultsPad)indexResults.PadContent).IndexResultsListView.Items.Add(lvi); - } + ListViewItem lvi = new ListViewItem(); + lvi.Text = topic.get_Title(HxTopicGetTitleType.HxTopicGetRLTitle, + HxTopicGetTitleDefVal.HxTopicGetTitleFileName); + lvi.Tag = topic; + lvi.SubItems.Add(topic.Location); + ((HtmlHelp2IndexResultsPad)indexResults.PadContent).IndexResultsListView.Items.Add(lvi); } } finally @@ -297,7 +282,10 @@ namespace HtmlHelp2 break; } } - catch {} + catch(Exception ex) + { + LoggingService.Error("Help 2.0: cannot get matching index entries; " + ex.ToString()); + } } } } diff --git a/src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/SearchPad.cs b/src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/SearchPad.cs index e3c506a44a..2939b50939 100644 --- a/src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/SearchPad.cs +++ b/src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/SearchPad.cs @@ -170,11 +170,7 @@ namespace HtmlHelp2 object selectedItem = filterCombobox.SelectedItem; if(selectedItem != null) { - try - { - selectedQuery = HtmlHelp2Environment.FindFilterQuery(selectedItem.ToString()); - } - catch {} + selectedQuery = HtmlHelp2Environment.FindFilterQuery(selectedItem.ToString()); } } @@ -195,16 +191,11 @@ namespace HtmlHelp2 private void NamespaceReloaded(object sender, EventArgs e) { - try - { - searchTerm.Text = ""; - searchTerm.Items.Clear(); - - filterCombobox.SelectedIndexChanged -= new EventHandler(FilterChanged); - HtmlHelp2Environment.BuildFilterList(filterCombobox); - filterCombobox.SelectedIndexChanged += new EventHandler(FilterChanged); - } - catch {} + searchTerm.Text = ""; + searchTerm.Items.Clear(); + filterCombobox.SelectedIndexChanged -= new EventHandler(FilterChanged); + HtmlHelp2Environment.BuildFilterList(filterCombobox); + filterCombobox.SelectedIndexChanged += new EventHandler(FilterChanged); } #endregion @@ -272,20 +263,13 @@ namespace HtmlHelp2 {{"0", searchWord}}); searchDialog.Show(); Application.DoEvents(); - - Cursor.Current = Cursors.WaitCursor; - + Cursor.Current = Cursors.WaitCursor; if(useDynamicHelp) - { matchingTopics = HtmlHelp2Environment.GetMatchingTopicsForDynamicHelp(searchWord); - } else - { matchingTopics = HtmlHelp2Environment.FTS.Query(searchWord, searchFlags); - } - Cursor.Current = Cursors.Default; - + Cursor.Current = Cursors.Default; searchDialog.Dispose(); try @@ -293,23 +277,34 @@ namespace HtmlHelp2 searchResults.CleanUp(); searchResults.SearchResultsListView.BeginUpdate(); - for(int i = 1; i <= matchingTopics.Count; i++) + foreach(IHxTopic topic in matchingTopics) { - IHxTopic topic = matchingTopics.ItemAt(i); - - if(topic != null) - { - ListViewItem lvi = new ListViewItem(); - lvi.Text = topic.get_Title(HxTopicGetTitleType.HxTopicGetRLTitle, - HxTopicGetTitleDefVal.HxTopicGetTitleFileName); - lvi.SubItems.Add(topic.Location); - lvi.SubItems.Add(topic.Rank.ToString()); - lvi.Tag = topic; - - searchResults.SearchResultsListView.Items.Add(lvi); - } + ListViewItem lvi = new ListViewItem(); + lvi.Text = topic.get_Title(HxTopicGetTitleType.HxTopicGetRLTitle, + HxTopicGetTitleDefVal.HxTopicGetTitleFileName); + lvi.Tag = topic; + lvi.SubItems.Add(topic.Location); + lvi.SubItems.Add(topic.Rank.ToString()); + searchResults.SearchResultsListView.Items.Add(lvi); } +// for(int i = 1; i <= matchingTopics.Count; i++) +// { +// IHxTopic topic = matchingTopics.ItemAt(i); +// +// if(topic != null) +// { +// ListViewItem lvi = new ListViewItem(); +// lvi.Text = topic.get_Title(HxTopicGetTitleType.HxTopicGetRLTitle, +// HxTopicGetTitleDefVal.HxTopicGetTitleFileName); +// lvi.SubItems.Add(topic.Location); +// lvi.SubItems.Add(topic.Rank.ToString()); +// lvi.Tag = topic; +// +// searchResults.SearchResultsListView.Items.Add(lvi); +// } +// } + reuseMatches.Enabled = true; } finally @@ -320,7 +315,10 @@ namespace HtmlHelp2 searchIsBusy = false; } } - catch {} + catch(Exception ex) + { + LoggingService.Error("Help 2.0: cannot get matching search word; " + ex.ToString()); + } } public bool PerformF1FTS(string keyword) diff --git a/src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/SearchResultsPad.cs b/src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/SearchResultsPad.cs index 8114162125..c4a9f15a68 100644 --- a/src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/SearchResultsPad.cs +++ b/src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/SearchResultsPad.cs @@ -30,8 +30,7 @@ namespace HtmlHelp2 { get { - if (instance == null) - instance = new HtmlHelp2SearchResultsView(); + if (instance == null) instance = new HtmlHelp2SearchResultsView(); return instance; } } diff --git a/src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/TocPad.cs b/src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/TocPad.cs index f1601a8e71..383fc729b2 100644 --- a/src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/TocPad.cs +++ b/src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/TocPad.cs @@ -44,11 +44,7 @@ namespace HtmlHelp2 public override void Dispose() { - try - { - help2TocControl.Dispose(); - } - catch {} + help2TocControl.Dispose(); } public override void RedrawContent() @@ -64,29 +60,17 @@ namespace HtmlHelp2 public void SyncToc(string topicUrl) { - try - { - help2TocControl.SynToc(topicUrl); - } - catch {} + help2TocControl.SynToc(topicUrl); } public void GetPrevFromNode() { - try - { - help2TocControl.GetPrevFromNode(); - } - catch {} + help2TocControl.GetPrevFromNode(); } public void GetNextFromNode() { - try - { - help2TocControl.GetNextFromNode(); - } - catch {} + help2TocControl.GetNextFromNode(); } public bool IsNotFirstNode @@ -112,11 +96,7 @@ namespace HtmlHelp2 protected override void Dispose(bool disposing) { base.Dispose(disposing); - - if(disposing && tocControl != null) - { - tocControl.Dispose(); - } + if(disposing && tocControl != null) { tocControl.Dispose(); } } public void RedrawContent() @@ -155,8 +135,9 @@ namespace HtmlHelp2 printPopup.Items.Add(printChildTopics); printChildTopics.Click += new EventHandler(this.PrintTopicAndSubtopics); } - catch + catch(Exception ex) { + LoggingService.Error("Help 2.0: TOC control failed; " + ex.ToString()); this.FakeHelpControl(); } } @@ -203,14 +184,10 @@ namespace HtmlHelp2 public void LoadToc() { - try - { - tocControl.Hierarchy = HtmlHelp2Environment.GetTocHierarchy(HtmlHelp2Environment.CurrentFilterQuery); - filterCombobox.SelectedIndexChanged -= new EventHandler(this.FilterChanged); - HtmlHelp2Environment.BuildFilterList(filterCombobox); - filterCombobox.SelectedIndexChanged += new EventHandler(this.FilterChanged); - } - catch {} + tocControl.Hierarchy = HtmlHelp2Environment.GetTocHierarchy(HtmlHelp2Environment.CurrentFilterQuery); + filterCombobox.SelectedIndexChanged -= new EventHandler(this.FilterChanged); + HtmlHelp2Environment.BuildFilterList(filterCombobox); + filterCombobox.SelectedIndexChanged += new EventHandler(this.FilterChanged); } private void FilterChanged(object sender, EventArgs e) @@ -219,20 +196,16 @@ namespace HtmlHelp2 if(selectedString != null && selectedString != "") { - try - { - Cursor.Current = Cursors.WaitCursor; - tocControl.Hierarchy = HtmlHelp2Environment.GetTocHierarchy(HtmlHelp2Environment.FindFilterQuery(selectedString)); - Cursor.Current = Cursors.Default; - } - catch {} + Cursor.Current = Cursors.WaitCursor; + tocControl.Hierarchy = HtmlHelp2Environment.GetTocHierarchy(HtmlHelp2Environment.FindFilterQuery(selectedString)); + Cursor.Current = Cursors.Default; } } #region Help 2.0 Environment Events private void FilterQueryChanged(object sender, EventArgs e) { - tocControl.Refresh(); + Application.DoEvents(); string currentFilterName = filterCombobox.SelectedItem.ToString(); if(String.Compare(currentFilterName, HtmlHelp2Environment.CurrentFilterName) != 0) @@ -306,33 +279,21 @@ namespace HtmlHelp2 #region published Help2 TOC Commands public void SynToc(string topicUrl) { - try - { - tocControl.Synchronize(topicUrl); - } - catch {} + tocControl.Synchronize(topicUrl); } public void GetNextFromNode() { - try - { - int currentNode = tocControl.Hierarchy.GetNextFromNode(tocControl.Selection); - string TopicUrl = tocControl.Hierarchy.GetURL(currentNode); - this.CallHelp(TopicUrl,true); - } - catch {} + int currentNode = tocControl.Hierarchy.GetNextFromNode(tocControl.Selection); + string TopicUrl = tocControl.Hierarchy.GetURL(currentNode); + this.CallHelp(TopicUrl,true); } public void GetPrevFromNode() { - try - { - int currentNode = tocControl.Hierarchy.GetPrevFromNode(tocControl.Selection); - string TopicUrl = tocControl.Hierarchy.GetURL(currentNode); - this.CallHelp(TopicUrl,true); - } - catch {} + int currentNode = tocControl.Hierarchy.GetPrevFromNode(tocControl.Selection); + string TopicUrl = tocControl.Hierarchy.GetURL(currentNode); + this.CallHelp(TopicUrl,true); } public bool IsNotFirstNode diff --git a/src/AddIns/Misc/HtmlHelp2/Project/src/Service/Help2RegistryWalker.cs b/src/AddIns/Misc/HtmlHelp2/Project/src/Service/Help2RegistryWalker.cs index 74669a185c..54ee9db118 100644 --- a/src/AddIns/Misc/HtmlHelp2/Project/src/Service/Help2RegistryWalker.cs +++ b/src/AddIns/Misc/HtmlHelp2/Project/src/Service/Help2RegistryWalker.cs @@ -10,39 +10,43 @@ namespace HtmlHelp2.RegistryWalker using System; using System.Runtime.InteropServices; using System.Windows.Forms; + using ICSharpCode.Core; using MSHelpServices; public sealed class Help2RegistryWalker { public static void BuildNamespacesList(ComboBox help2Collections, string selectedHelp2Collection) { - if(help2Collections == null) - return; - + if(help2Collections == null) return; help2Collections.Items.Clear(); help2Collections.BeginUpdate(); try { - string currentDescription = ""; - - HxRegistryWalker regWalker = new HxRegistryWalker(); + string currentDescription = ""; + HxRegistryWalker regWalker = new HxRegistryWalker(); IHxRegNamespaceList namespaces = regWalker.get_RegisteredNamespaceList(""); foreach(IHxRegNamespace currentNamespace in namespaces) { help2Collections.Items.Add((string)currentNamespace.GetProperty(HxRegNamespacePropId.HxRegNamespaceDescription)); - if(selectedHelp2Collection != "" && String.Compare(selectedHelp2Collection, currentNamespace.Name) == 0) + if(selectedHelp2Collection != "" && + String.Compare(selectedHelp2Collection, currentNamespace.Name) == 0) { currentDescription = (string)currentNamespace.GetProperty(HxRegNamespacePropId.HxRegNamespaceDescription); } } - if(currentDescription != "") help2Collections.SelectedIndex = help2Collections.Items.IndexOf(currentDescription); - else help2Collections.SelectedIndex = 0; + if(currentDescription != "") + help2Collections.SelectedIndex = help2Collections.Items.IndexOf(currentDescription); + else + help2Collections.SelectedIndex = 0; + } + catch + { + LoggingService.Error("Help 2.0: cannot build namespaces list for Options dialog"); } - catch {} help2Collections.EndUpdate(); } @@ -51,23 +55,23 @@ namespace HtmlHelp2.RegistryWalker { try { - HxRegistryWalker regWalker = new HxRegistryWalker(); + HxRegistryWalker regWalker = new HxRegistryWalker(); IHxRegNamespaceList namespaces = regWalker.get_RegisteredNamespaceList(""); foreach(IHxRegNamespace currentNamespace in namespaces) { - if(String.Compare(namespaceDescription, (string)currentNamespace.GetProperty(HxRegNamespacePropId.HxRegNamespaceDescription)) == 0) + string currentNamespaceName = (string)currentNamespace.GetProperty(HxRegNamespacePropId.HxRegNamespaceDescription); + if(String.Compare(namespaceDescription, currentNamespaceName) == 0) { return currentNamespace.Name; } } - - return ""; } catch { - return ""; + LoggingService.Error("Help 2.0: cannot find selected namespace name"); } + return ""; } public static string GetFirstNamespace(string namespaceName) diff --git a/src/AddIns/Misc/HtmlHelp2/Project/src/Service/HtmlHelp2Options.cs b/src/AddIns/Misc/HtmlHelp2/Project/src/Service/HtmlHelp2Options.cs index fed73403f3..878f49b0c6 100644 --- a/src/AddIns/Misc/HtmlHelp2/Project/src/Service/HtmlHelp2Options.cs +++ b/src/AddIns/Misc/HtmlHelp2/Project/src/Service/HtmlHelp2Options.cs @@ -63,11 +63,7 @@ namespace HtmlHelp2.OptionsPanel { if(help2Collections.SelectedItem != null) { - try - { - selectedHelp2Collection = Help2RegistryWalker.GetNamespaceName(help2Collections.SelectedItem.ToString()); - } - catch {} + selectedHelp2Collection = Help2RegistryWalker.GetNamespaceName(help2Collections.SelectedItem.ToString()); } } @@ -84,8 +80,13 @@ namespace HtmlHelp2.OptionsPanel xmldoc.DocumentElement.AppendChild(node); xmldoc.Save(PropertyService.ConfigDirectory + help2EnvironmentFile); + + LoggingService.Info("Help 2.0: new configuration saved"); + } + catch + { + LoggingService.Error("Help 2.0: error while trying to save configuration"); } - catch {} } #region ReRegister diff --git a/src/AddIns/Misc/HtmlHelp2/Project/src/Service/HtmlHelp2Service.cs b/src/AddIns/Misc/HtmlHelp2/Project/src/Service/HtmlHelp2Service.cs index 9e8d40068d..5acf021090 100644 --- a/src/AddIns/Misc/HtmlHelp2/Project/src/Service/HtmlHelp2Service.cs +++ b/src/AddIns/Misc/HtmlHelp2/Project/src/Service/HtmlHelp2Service.cs @@ -92,8 +92,14 @@ namespace HtmlHelp2.Environment XmlNode node = xmldoc.SelectSingleNode("/help2environment/collection"); if(node != null) DefaultNamespaceName = node.InnerText; + + LoggingService.Info(String.Format("Help 2.0: using \"{0}\" as default namespace", + DefaultNamespaceName)); + } + catch + { + LoggingService.Info("Help 2.0: using default configuration"); } - catch {} } public static void ReloadNamespace() @@ -131,35 +137,24 @@ namespace HtmlHelp2.Environment ReloadDynamicHelpSystem(); initDialog.Dispose(); + + LoggingService.Info("Help 2.0: service sucessfully loaded"); } - catch + catch(Exception ex) { + LoggingService.Error("Help 2.0: not initialize service; " + ex.ToString()); session = null; } } private static void ReloadFTSSystem() { - try - { - fulltextSearch = (IHxQuery)session.GetNavigationInterface("!DefaultFullTextSearch", currentSelectedFilterQuery, ref QueryGuid); - } - catch - { - fulltextSearch = null; - } + fulltextSearch = (IHxQuery)session.GetNavigationInterface("!DefaultFullTextSearch", currentSelectedFilterQuery, ref QueryGuid); } private static void ReloadDynamicHelpSystem() { - try - { - dynamicHelp = (IHxIndex)session.GetNavigationInterface("!DefaultContextWindowIndex", currentSelectedFilterQuery, ref IndexGuid); - } - catch - { - dynamicHelp = null; - } + dynamicHelp = (IHxIndex)session.GetNavigationInterface("!DefaultContextWindowIndex", currentSelectedFilterQuery, ref IndexGuid); } private static void ReloadDefaultPages() @@ -174,7 +169,9 @@ namespace HtmlHelp2.Environment try { - IHxIndex namedUrlIndex = (IHxIndex)session.GetNavigationInterface("!DefaultNamedUrlIndex", "", ref IndexGuid); + IHxIndex namedUrlIndex = (IHxIndex)session.GetNavigationInterface("!DefaultNamedUrlIndex", + "", + ref IndexGuid); IHxTopicList topics = null; topics = namedUrlIndex.GetTopicsFromString(pageName, 0); @@ -207,6 +204,7 @@ namespace HtmlHelp2.Environment } catch { + LoggingService.Error("Help 2.0: cannot connect to IHxHierarchy interface (TOC)"); return null; } } @@ -220,6 +218,7 @@ namespace HtmlHelp2.Environment } catch { + LoggingService.Error("Help 2.0: cannot connect to IHxIndex interface (Index)"); return null; } } @@ -231,25 +230,23 @@ namespace HtmlHelp2.Environment try { - for(int i = 1; i <= namespaceFilters.Count; i++) + foreach(IHxRegFilter filter in namespaceFilters) { - IHxRegFilter filter = namespaceFilters.ItemAt(i); - string filterName = (string)filter.GetProperty(HxRegFilterPropId.HxRegFilterName); + string filterName = (string)filter.GetProperty(HxRegFilterPropId.HxRegFilterName); filterCombobox.Items.Add(filterName); - - if(currentSelectedFilterName == "" && i == 1) - { - currentSelectedFilterName = filterName; - } + if(currentSelectedFilterName == "") currentSelectedFilterName = filterName; } if(namespaceFilters.Count == 0) filterCombobox.Items.Add(StringParser.Parse("${res:AddIns.HtmlHelp2.DefaultEmptyFilter}")); if(currentSelectedFilterName == "") filterCombobox.SelectedIndex = 0; - else filterCombobox.SelectedIndex = filterCombobox.Items.IndexOf(currentSelectedFilterName); + else filterCombobox.SelectedIndex = filterCombobox.Items.IndexOf(currentSelectedFilterName); + } + catch(Exception ex) + { + LoggingService.Error("Help 2.0: cannot build filters; " + ex.ToString()); } - catch {} filterCombobox.EndUpdate(); } @@ -281,33 +278,37 @@ namespace HtmlHelp2.Environment public static IHxTopicList GetMatchingTopicsForDynamicHelp(string searchTerm) { if(dynamicHelpIsBusy) return null; + IHxTopicList topics = null; + dynamicHelpIsBusy = true; try { - dynamicHelpIsBusy = true; - IHxTopicList topics = ((IHxIndex)dynamicHelp).GetTopicsFromString(searchTerm, 0); - return topics; + topics = ((IHxIndex)dynamicHelp).GetTopicsFromString(searchTerm, 0); } - finally + catch { - dynamicHelpIsBusy = false; + LoggingService.Error("Help 2.0: Dynamic Help search failed"); } + dynamicHelpIsBusy = false; + return topics; } public static IHxTopicList GetMatchingTopicsForKeywordSearch(string searchTerm) { if(dynamicHelpIsBusy) return null; + IHxTopicList topics = null; + dynamicHelpIsBusy = true; try { - dynamicHelpIsBusy = true; - IHxTopicList topics = GetIndex(currentSelectedFilterQuery).GetTopicsFromString(searchTerm, 0); - return topics; + topics = GetIndex(currentSelectedFilterQuery).GetTopicsFromString(searchTerm, 0); } - finally + catch { - dynamicHelpIsBusy = false; + LoggingService.Error("Help 2.0: Keyword search failed"); } + dynamicHelpIsBusy = false; + return topics; } #endregion