From 9bf9c0e4e6aab284e3ca45199d3b6fb54989ccc2 Mon Sep 17 00:00:00 2001 From: Robin Date: Mon, 5 Sep 2016 11:12:33 +0200 Subject: [PATCH] BUG-2016: Added favicon support. --- GreenshotJiraPlugin/GreenshotJiraPlugin.csproj | 4 ++-- GreenshotJiraPlugin/JiraConnector.cs | 14 ++++++++++++++ GreenshotJiraPlugin/JiraDestination.cs | 12 ++++++++++-- GreenshotJiraPlugin/packages.config | 2 +- 4 files changed, 27 insertions(+), 5 deletions(-) diff --git a/GreenshotJiraPlugin/GreenshotJiraPlugin.csproj b/GreenshotJiraPlugin/GreenshotJiraPlugin.csproj index 850aafdbf..935db3188 100644 --- a/GreenshotJiraPlugin/GreenshotJiraPlugin.csproj +++ b/GreenshotJiraPlugin/GreenshotJiraPlugin.csproj @@ -34,8 +34,8 @@ - - ..\packages\Dapplo.HttpExtensions.0.5.32\lib\net45\Dapplo.HttpExtensions.dll + + ..\packages\Dapplo.HttpExtensions.0.5.33\lib\net45\Dapplo.HttpExtensions.dll True diff --git a/GreenshotJiraPlugin/JiraConnector.cs b/GreenshotJiraPlugin/JiraConnector.cs index ca697a21c..16f96e027 100644 --- a/GreenshotJiraPlugin/JiraConnector.cs +++ b/GreenshotJiraPlugin/JiraConnector.cs @@ -81,6 +81,7 @@ namespace GreenshotJiraPlugin { { Task.Run(async () => await LogoutAsync()).Wait(); } + FavIcon?.Dispose(); } /// @@ -97,6 +98,8 @@ namespace GreenshotJiraPlugin { /// public JiraMonitor Monitor { get; private set; } + public Bitmap FavIcon { get; private set; } + /// /// Internal login which catches the exceptions /// @@ -115,6 +118,17 @@ namespace GreenshotJiraPlugin { loginInfo = await _jiraApi.StartSessionAsync(user, password); Monitor = new JiraMonitor(); await Monitor.AddJiraInstanceAsync(_jiraApi); + + var favIconUri = _jiraApi.JiraBaseUri.AppendSegments("favicon.ico"); + try + { + FavIcon = await _jiraApi.GetUriContentAsync(favIconUri); + } + catch (Exception ex) + { + Log.WarnFormat("Couldn't load favicon from {0}", favIconUri); + Log.Warn("Exception details: ", ex); + } } catch (Exception) { diff --git a/GreenshotJiraPlugin/JiraDestination.cs b/GreenshotJiraPlugin/JiraDestination.cs index d221ba996..455fcd061 100644 --- a/GreenshotJiraPlugin/JiraDestination.cs +++ b/GreenshotJiraPlugin/JiraDestination.cs @@ -73,9 +73,17 @@ namespace GreenshotJiraPlugin { get { Image displayIcon = null; - if (_jiraIssue != null && JiraPlugin.Instance.CurrentJiraConnector != null) + var jiraConnector = JiraPlugin.Instance.CurrentJiraConnector; + if (jiraConnector != null) { - displayIcon = JiraPlugin.Instance.CurrentJiraConnector.GetIssueTypeBitmapAsync(_jiraIssue).Result; + if (_jiraIssue != null) + { + displayIcon = jiraConnector.GetIssueTypeBitmapAsync(_jiraIssue).Result; + } + else + { + displayIcon = jiraConnector.FavIcon; + } } if (displayIcon == null) { diff --git a/GreenshotJiraPlugin/packages.config b/GreenshotJiraPlugin/packages.config index 6fb907484..58ee11d6b 100644 --- a/GreenshotJiraPlugin/packages.config +++ b/GreenshotJiraPlugin/packages.config @@ -1,6 +1,6 @@  - +