From 3e15a3c76ad2f44808fd80ba9cd36eddece8699c Mon Sep 17 00:00:00 2001 From: Jaex Date: Sun, 17 Jan 2016 10:40:26 +0200 Subject: [PATCH] fixed #1251: Get proper size tray icon in high dpi --- ShareX/Forms/MainForm.cs | 2 +- ShareX/Forms/ScreenRecordForm.cs | 2 +- ShareX/TaskHelpers.cs | 8 ++++++++ ShareX/TaskManager.cs | 4 ++-- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/ShareX/Forms/MainForm.cs b/ShareX/Forms/MainForm.cs index 538412618..d9f770fc2 100644 --- a/ShareX/Forms/MainForm.cs +++ b/ShareX/Forms/MainForm.cs @@ -515,7 +515,7 @@ private void CleanCustomClipboardFormats() private void LoadSettings() { - niTray.Icon = ShareXResources.Icon; + niTray.Icon = TaskHelpers.GetTrayIcon(); niTray.Visible = Program.Settings.ShowTray; if (Program.Settings.RecentLinksRemember) diff --git a/ShareX/Forms/ScreenRecordForm.cs b/ShareX/Forms/ScreenRecordForm.cs index db69a35cb..146e835a0 100644 --- a/ShareX/Forms/ScreenRecordForm.cs +++ b/ShareX/Forms/ScreenRecordForm.cs @@ -53,7 +53,7 @@ public partial class ScreenRecordForm : BaseForm public ScreenRecordForm(Rectangle regionRectangle, bool activateWindow = true, float duration = 0) { InitializeComponent(); - niTray.Icon = ShareXResources.Icon; + niTray.Icon = TaskHelpers.GetTrayIcon(); this.activateWindow = activateWindow; this.duration = duration; diff --git a/ShareX/TaskHelpers.cs b/ShareX/TaskHelpers.cs index 12581e54f..0e34b4871 100644 --- a/ShareX/TaskHelpers.cs +++ b/ShareX/TaskHelpers.cs @@ -332,6 +332,14 @@ public static PointInfo SelectPointColor() return null; } + public static Icon GetTrayIcon() + { + using (Icon icon = ShareXResources.Icon) + { + return new Icon(icon, SystemInformation.SmallIconSize); + } + } + public static Icon GetProgressIcon(int percentage) { using (Bitmap bmp = new Bitmap(16, 16)) diff --git a/ShareX/TaskManager.cs b/ShareX/TaskManager.cs index ec0e0d410..100f32a41 100644 --- a/ShareX/TaskManager.cs +++ b/ShareX/TaskManager.cs @@ -451,12 +451,12 @@ public static void UpdateTrayIcon(int progress = -1) DebugHelper.WriteException(e); progress = -1; if (lastIconStatus == progress) return; - icon = ShareXResources.Icon; + icon = TaskHelpers.GetTrayIcon(); } } else { - icon = ShareXResources.Icon; + icon = TaskHelpers.GetTrayIcon(); } using (Icon oldIcon = Program.MainForm.niTray.Icon)