fixed #1251: Get proper size tray icon in high dpi

This commit is contained in:
Jaex 2016-01-17 10:40:26 +02:00
parent ead29ac5fb
commit 3e15a3c76a
4 changed files with 12 additions and 4 deletions

View file

@ -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)

View file

@ -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;

View file

@ -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))

View file

@ -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)