diff --git a/SparkleShare/Mac/Info.plist b/SparkleShare/Mac/Info.plist index 97d1ab96..4867455e 100755 --- a/SparkleShare/Mac/Info.plist +++ b/SparkleShare/Mac/Info.plist @@ -8,9 +8,11 @@ org.sparkleshare.sparkleshare CFBundleName SparkleShare + CFBundleVersion + 1 LSMinimumSystemVersion 10.6 - CFBundleVersion + LSUIElement 1 NSMainNibFile MainMenu diff --git a/SparkleShare/Mac/SparkleEventLog.cs b/SparkleShare/Mac/SparkleEventLog.cs index 8c80b493..ad9c40ab 100755 --- a/SparkleShare/Mac/SparkleEventLog.cs +++ b/SparkleShare/Mac/SparkleEventLog.cs @@ -28,6 +28,8 @@ using MonoMac.WebKit; namespace SparkleShare { public class SparkleEventLog : NSWindow { + + public SparkleEventLogController Controller = new SparkleEventLogController (); @@ -51,7 +53,7 @@ namespace SparkleShare { // TODO: Window needs to be made resizable public SparkleEventLog () : base () - { + { Title = "Recent Events"; Delegate = new SparkleEventsDelegate (); diff --git a/SparkleShare/Mac/SparkleShare.csproj b/SparkleShare/Mac/SparkleShare.csproj old mode 100755 new mode 100644 index f7b1d6f1..02ce4513 --- a/SparkleShare/Mac/SparkleShare.csproj +++ b/SparkleShare/Mac/SparkleShare.csproj @@ -6,7 +6,7 @@ 10.0.0 2.0 {CF5BC8DB-A633-4FCC-8A3E-E3AC9B59FABC} - {1C533B1C-72DD-4CB1-9F6B-BF11D93BCFBE};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + {948B3504-5B70-4649-8FE4-BDE1FB46EC69};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} Exe SparkleShare SparkleShare @@ -116,7 +116,7 @@ - + diff --git a/SparkleShare/Mac/SparkleStatusIcon.cs b/SparkleShare/Mac/SparkleStatusIcon.cs index 1e414857..a980e8ab 100755 --- a/SparkleShare/Mac/SparkleStatusIcon.cs +++ b/SparkleShare/Mac/SparkleStatusIcon.cs @@ -46,6 +46,7 @@ namespace SparkleShare { private NSMenuItem AboutMenuItem; private NSMenuItem NotificationsMenuItem; private NSMenuItem RecentEventsMenuItem; + private NSMenuItem QuitAppMenuItem; private NSImage [] AnimationFrames; private NSImage [] AnimationFramesActive; private NSImage ErrorImage; @@ -251,6 +252,9 @@ namespace SparkleShare { if (Controller.Folders.Length > 0) { RecentEventsMenuItem.Activated += delegate { InvokeOnMainThread (delegate { + //Show the icon in Dock + Program.UI.SetRegularActivationPolicy(); + NSApplication.SharedApplication.ActivateIgnoringOtherApps (true); if (SparkleUI.EventLog == null) @@ -303,9 +307,21 @@ namespace SparkleShare { }); }; + + QuitAppMenuItem = new NSMenuItem () { + Title = "Quit SparkleShare", + Enabled = true + }; + + QuitAppMenuItem.Activated += delegate { + InvokeOnMainThread (delegate { + NSApplication.SharedApplication.Terminate(this); + + }); + }; - Menu.AddItem (AboutMenuItem); + Menu.AddItem (QuitAppMenuItem); StatusItem.Menu = Menu; StatusItem.Menu.Update (); diff --git a/SparkleShare/Mac/SparkleUI.cs b/SparkleShare/Mac/SparkleUI.cs index 1e512d4d..3826148a 100755 --- a/SparkleShare/Mac/SparkleUI.cs +++ b/SparkleShare/Mac/SparkleUI.cs @@ -67,6 +67,8 @@ namespace SparkleShare { Bubbles = new SparkleBubbles (); if (Program.Controller.FirstRun) { + //Show Icon in Dock + this.SetRegularActivationPolicy(); Setup = new SparkleSetup (); Setup.Controller.ShowSetupPage (); } @@ -90,6 +92,11 @@ namespace SparkleShare { { NSApplication.Main (new string [0]); } + + public void SetRegularActivationPolicy() + { + NSApplication.SharedApplication.ActivationPolicy = NSApplicationActivationPolicy.Regular; + } [Export("registrationDictionaryForGrowl")]