linux: fix build and clean up

This commit is contained in:
Hylke Bons 2012-11-25 13:22:23 +00:00
parent 676a3c2c45
commit 38b4fd8e81

View file

@ -130,124 +130,88 @@ namespace SparkleShare {
}; };
Controller.UpdateMenuEvent += delegate (IconState state) { Controller.UpdateMenuEvent += delegate (IconState state) {
Application.Invoke (delegate { Application.Invoke (delegate { CreateMenu (); });
CreateMenu ();
});
}; };
} }
public void CreateMenu () public void CreateMenu ()
{ {
this.menu = new Menu (); this.menu = new Menu ();
this.state_item = new MenuItem (Controller.StateText) { Sensitive = false };
this.state_item = new MenuItem (Controller.StateText) { ImageMenuItem folder_item = new SparkleMenuItem ("SparkleShare");
Sensitive = false folder_item.Image = new Image (SparkleUIHelpers.GetIcon ("sparkleshare", 16));
};
this.menu.Add (this.state_item); this.menu.Add (this.state_item);
this.menu.Add (new SeparatorMenuItem ()); this.menu.Add (new SeparatorMenuItem ());
ImageMenuItem folder_item = new SparkleMenuItem ("SparkleShare"){
Image = new Image (SparkleUIHelpers.GetIcon ("sparkleshare", 16))
};
this.menu.Add (folder_item); this.menu.Add (folder_item);
if (Program.Controller.Folders.Count > 0) { if (Program.Controller.Folders.Count > 0) {
int i = 0; int i = 0;
foreach (string folder_name in Controller.Folders) { foreach (string folder_name in Controller.Folders) {
ImageMenuItem item = new SparkleMenuItem (folder_name); ImageMenuItem item = new SparkleMenuItem (folder_name);
Gdk.Pixbuf folder_icon; Gdk.Pixbuf folder_icon;
if (!string.IsNullOrEmpty (Controller.FolderErrors [i])) { if (!string.IsNullOrEmpty (Controller.FolderErrors [i])) {
folder_icon = IconTheme.Default.LoadIcon ("dialog-warning", 16, IconLookupFlags.GenericFallback); folder_icon = IconTheme.Default.LoadIcon ("dialog-warning", 16, IconLookupFlags.GenericFallback);
item.Submenu = new Menu (); item.Submenu = new Menu ();
MenuItem error_item = new MenuItem (Controller.FolderErrors [i]) {
Sensitive = false
};
MenuItem try_again_item = new MenuItem ("Try Again"); MenuItem error_item = new MenuItem (Controller.FolderErrors [i]) { Sensitive = false };
try_again_item.Activated += Controller.TryAgainDelegate (folder_name); MenuItem try_again_item = new MenuItem ("Try Again");
try_again_item.Activated += Controller.TryAgainDelegate (folder_name);
(item.Submenu as Menu).Add (error_item); (item.Submenu as Menu).Add (error_item);
(item.Submenu as Menu).Add (new SeparatorMenuItem ()); (item.Submenu as Menu).Add (new SeparatorMenuItem ());
(item.Submenu as Menu).Add (try_again_item); (item.Submenu as Menu).Add (try_again_item);
} else { } else {
folder_icon = IconTheme.Default.LoadIcon ("folder", 16, IconLookupFlags.GenericFallback); folder_icon = IconTheme.Default.LoadIcon ("folder", 16, IconLookupFlags.GenericFallback);
item.Activated += Controller.OpenFolderDelegate (folder_name); item.Activated += Controller.OpenFolderDelegate (folder_name);
}
item.Image = new Image (folder_icon);
(item.Child as Label).UseUnderline = false;
this.menu.Add (item);
i++;
} }
Menu submenu = new Menu (); (item.Child as Label).UseUnderline = false;
item.Image = new Image (folder_icon);
this.menu.Add (item);
i++;
} }
}
this.menu.Add (new SeparatorMenuItem ());
this.recent_events_item = new MenuItem ("Recent Changes…"); this.recent_events_item = new MenuItem ("Recent Changes…");
this.recent_events_item.Sensitive = Controller.RecentEventsItemEnabled;
this.recent_events_item.Sensitive = Controller.RecentEventsItemEnabled; this.recent_events_item.Activated += Controller.RecentEventsClicked;
this.recent_events_item.Activated += delegate {
Controller.RecentEventsClicked ();
};
MenuItem sync_item = new MenuItem ("Add Hosted Project…");
sync_item.Activated += delegate {
Controller.AddHostedProjectClicked ();
};
MenuItem add_item = new MenuItem ("Add Hosted Project…");
add_item.Activated += Controller.AddHostedProjectClicked;
MenuItem notify_item; MenuItem notify_item;
if (Program.Controller.NotificationsEnabled) if (Program.Controller.NotificationsEnabled)
notify_item = new MenuItem ("Turn Notifications Off"); notify_item = new MenuItem ("Turn Notifications Off");
else else
notify_item = new MenuItem ("Turn Notifications On"); notify_item = new MenuItem ("Turn Notifications On");
notify_item.Activated += delegate { notify_item.Activated += delegate {
Application.Invoke (delegate { Program.Controller.ToggleNotifications ();
Program.Controller.ToggleNotifications ();
if (Program.Controller.NotificationsEnabled)
(notify_item.Child as Label).Text = "Turn Notifications Off";
else
(notify_item.Child as Label).Text = "Turn Notifications On";
});
};
Application.Invoke (delegate {
if (Program.Controller.NotificationsEnabled)
(notify_item.Child as Label).Text = "Turn Notifications Off";
else
(notify_item.Child as Label).Text = "Turn Notifications On";
});
};
MenuItem about_item = new MenuItem ("About SparkleShare"); MenuItem about_item = new MenuItem ("About SparkleShare");
about_item.Activated += Controller.AboutClicked;
about_item.Activated += delegate { this.quit_item = new MenuItem ("Quit") { Sensitive = Controller.QuitItemEnabled };
Controller.AboutClicked (); this.quit_item.Activated += Controller.QuitClicked;
};
this.quit_item = new MenuItem ("Quit") {
Sensitive = Controller.QuitItemEnabled
};
this.quit_item.Activated += delegate {
Controller.QuitClicked ();
};
folder_item.Submenu = new Menu (); folder_item.Submenu = new Menu ();
(folder_item.Submenu as Menu).Add (this.recent_events_item); (folder_item.Submenu as Menu).Add (this.recent_events_item);
(folder_item.Submenu as Menu).Add (sync_item); (folder_item.Submenu as Menu).Add (add_item);
(folder_item.Submenu as Menu).Add (new SeparatorMenuItem ()); (folder_item.Submenu as Menu).Add (new SeparatorMenuItem ());
(folder_item.Submenu as Menu).Add (notify_item); (folder_item.Submenu as Menu).Add (notify_item);
(folder_item.Submenu as Menu).Add (new SeparatorMenuItem ()); (folder_item.Submenu as Menu).Add (new SeparatorMenuItem ());