From e3b324e3c8be9c29fa0be014d69010591bf2ab5f Mon Sep 17 00:00:00 2001 From: Hylke Bons Date: Wed, 22 Dec 2010 00:01:36 +0100 Subject: [PATCH] [osx] Set a custom icon for ~/SparkleShare --- .../Mac/SparkleShare/SparkleMacController.cs | 24 +++++++++++++++---- SparkleShare/Mac/SparkleShare/SparkleUI.cs | 8 ++++--- 2 files changed, 24 insertions(+), 8 deletions(-) diff --git a/SparkleShare/Mac/SparkleShare/SparkleMacController.cs b/SparkleShare/Mac/SparkleShare/SparkleMacController.cs index 7cdf0df7..3937009b 100644 --- a/SparkleShare/Mac/SparkleShare/SparkleMacController.cs +++ b/SparkleShare/Mac/SparkleShare/SparkleMacController.cs @@ -15,6 +15,9 @@ // along with this program. If not, see . +using MonoMac.Foundation; +using MonoMac.AppKit; +using MonoMac.ObjCRuntime; using SparkleLib; using System; using System.Diagnostics; @@ -24,12 +27,10 @@ namespace SparkleShare { public class SparkleMacController : SparkleController { - // Creates a .desktop entry in autostart folder to - // start SparkleShare automatically at login public override void EnableSystemAutostart () { - + // N/A } @@ -39,7 +40,7 @@ namespace SparkleShare { public override void InstallLauncher () { - + // N/A } @@ -58,8 +59,21 @@ namespace SparkleShare { public override bool CreateSparkleShareFolder () { - return true; + if (!Directory.Exists (SparklePaths.SparklePath)) { + + Directory.CreateDirectory (SparklePaths.SparklePath); + + NSWorkspace.SharedWorkspace.SetIconforFile (NSImage.ImageNamed ("sparkleshare.icns"), + SparklePaths.SparklePath, 0); + + return true; + } else { + + return false; + + } + } diff --git a/SparkleShare/Mac/SparkleShare/SparkleUI.cs b/SparkleShare/Mac/SparkleShare/SparkleUI.cs index 9c69afff..f551d6dd 100644 --- a/SparkleShare/Mac/SparkleShare/SparkleUI.cs +++ b/SparkleShare/Mac/SparkleShare/SparkleUI.cs @@ -36,6 +36,7 @@ namespace SparkleShare { public static SparkleStatusIcon StatusIcon; public static List OpenLogs; + public SparkleUI () @@ -43,8 +44,9 @@ namespace SparkleShare { NSApplication.Init (); - NSApplication.SharedApplication.applicationIconImage = NSImage.ImageNamed ("sparkleshare.icns"); - + NSApplication.SharedApplication.applicationIconImage + = NSImage.ImageNamed ("sparkleshare.icns"); + OpenLogs = new List (); StatusIcon = new SparkleStatusIcon (); @@ -59,5 +61,5 @@ namespace SparkleShare { } } - + }