tasque r121 - trunk/src



Author: sharm
Date: Mon Sep 29 15:09:21 2008
New Revision: 121
URL: http://svn.gnome.org/viewvc/tasque?rev=121&view=rev

Log:
2008-09-29  Sandy Armstrong <sanfordarmstrong gmail com> 

	* src/Application.cs: Use OSXApplication if OSX is defined.


Added:
   trunk/src/OSXApplication.cs
Modified:
   trunk/src/Application.cs

Modified: trunk/src/Application.cs
==============================================================================
--- trunk/src/Application.cs	(original)
+++ trunk/src/Application.cs	Mon Sep 29 15:09:21 2008
@@ -183,7 +183,9 @@
 
 		private void Init(string[] args)
 		{
-#if WIN32
+#if OSX
+			nativeApp = new OSXApplication ();
+#elif WIN32
 			nativeApp = new GtkApplication ();
 #else
 			nativeApp = new GnomeApplication ();

Added: trunk/src/OSXApplication.cs
==============================================================================
--- (empty file)
+++ trunk/src/OSXApplication.cs	Mon Sep 29 15:09:21 2008
@@ -0,0 +1,75 @@
+
+
+using System;
+using Gtk;
+using IgeMacIntegration;
+using Mono.Unix;
+
+
+namespace Tasque
+{
+	
+	
+	public class OSXApplication : GtkApplication
+	{
+		private const string osxMenuXml =@"
+<ui>
+
+  <menubar name=""MainMenu"">
+    <menu name=""FileMenu"" action=""FileMenuAction"">
+
+
+      <menuitem action=""RefreshAction""/>
+
+    </menu>
+  </menubar>
+</ui>
+";
+		public override void InitializeIdle ()
+		{
+			ActionGroup mainMenuActionGroup = new ActionGroup ("Main");
+			mainMenuActionGroup.Add (new ActionEntry [] {
+				new ActionEntry ("FileMenuAction",
+				                 null,
+				                 Catalog.GetString ("_File"),
+				                 null,
+				                 null,
+				                 null)
+			});
+			
+			UIManager uiManager = Application.Instance.UIManager;
+			
+			uiManager.AddUiFromString (osxMenuXml);
+			uiManager.InsertActionGroup (mainMenuActionGroup, 1);
+			
+			// This totally doesn't work...is my lib too old?
+			IgeMacDock dock = new IgeMacDock();
+			dock.Clicked += delegate (object sender, EventArgs args) { Logger.Debug ("doc clicked");};
+			dock.QuitActivate += delegate (object sender, EventArgs args) { Application.Instance.Quit (); };
+			
+			MenuShell mainMenu = uiManager.GetWidget ("/MainMenu") as MenuShell;
+			mainMenu.Show ();
+			IgeMacMenu.MenuBar = mainMenu;
+			
+
+			MenuItem about_item = uiManager.GetWidget ("/TrayIconMenu/AboutAction") as MenuItem;
+			MenuItem prefs_item = uiManager.GetWidget ("/TrayIconMenu/PreferencesAction") as MenuItem;
+			MenuItem quit_item  = uiManager.GetWidget ("/TrayIconMenu/QuitAction") as MenuItem;
+			
+
+			IgeMacMenuGroup about_group = IgeMacMenu.AddAppMenuGroup ();
+			IgeMacMenuGroup prefs_group = IgeMacMenu.AddAppMenuGroup ();
+
+
+			
+
+			about_group.AddMenuItem (about_item, null);
+			prefs_group.AddMenuItem (prefs_item, null);
+			
+			IgeMacMenu.QuitMenuItem = quit_item;
+			
+			// Hide StatusIcon
+			Application.Instance.Tray.Visible = false;
+		}
+	}
+}



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]