Sophie

Sophie

distrib > Mandriva > 2009.0 > i586 > by-pkgid > c6618fceaf17a54e27c90bc5f0022c1d > files > 10

logjam-4.5.3-1mdv2009.0.src.rpm

diff -ru logjam-4.5.3.orig/src/docklet.c logjam-4.5.3/src/docklet.c
--- logjam-4.5.3.orig/src/docklet.c	Mon Feb 21 18:27:51 2005
+++ logjam-4.5.3/src/docklet.c	Mon Jul 24 16:13:32 2006
@@ -8,19 +8,84 @@
 
 #include "gtk-all.h"
 
+#include "jam.h"
 #include "conf.h"
 #include "eggtrayicon.h"
+#include "settings.h"
 
 static void
 docklet_destroy_cb(GtkWidget *widget) {
 	app.docklet = NULL;
 }
 
+void about_dlg(GtkWidget *mainwin);
+void menu_friends_manager(JamWin *jw);
+
+static void
+docklet_menu(GtkWidget *win) {
+	static GtkWidget *menu = NULL;
+	GtkWidget *entry;
+	GtkWidget *menuitem;
+	GtkWidget *image;
+
+	if (menu) {
+		gtk_widget_destroy(menu);
+	}
+
+	menu = gtk_menu_new();
+
+ 	{ /* About... */
+		menuitem = gtk_image_menu_item_new_with_mnemonic(_("About LogJam..."));
+		image = gtk_image_new_from_stock("logjam-goat", GTK_ICON_SIZE_MENU);
+		gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menuitem), image);
+		gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);
+		g_signal_connect_swapped(G_OBJECT(menuitem), "activate", G_CALLBACK(about_dlg), win);
+		gtk_widget_show_all(menuitem);
+	}
+
+	{ /* Friends... */
+		menuitem = gtk_menu_item_new_with_mnemonic(_("Friends..."));
+		gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);
+		g_signal_connect_swapped(G_OBJECT(menuitem), "activate", G_CALLBACK(menu_friends_manager), win);
+		gtk_widget_show_all(menuitem);
+	}
+
+	{ /* Preferences... */
+		menuitem = gtk_image_menu_item_new_with_mnemonic(_("Preferences..."));
+		image = gtk_image_new_from_stock(GTK_STOCK_PREFERENCES, GTK_ICON_SIZE_MENU);
+		gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menuitem), image);
+		gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);
+		g_signal_connect_swapped(G_OBJECT(menuitem), "activate", G_CALLBACK(settings_run), win);
+		gtk_widget_show_all(menuitem);
+	}
+
+	{ /* -------------- */
+		menuitem = gtk_separator_menu_item_new();
+		gtk_widget_show(menuitem);
+		gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);
+	}
+
+	{ /* Quit */
+		menuitem = gtk_image_menu_item_new_with_mnemonic(_("Quit"));
+		image = gtk_image_new_from_stock(GTK_STOCK_QUIT, GTK_ICON_SIZE_MENU);
+		gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menuitem), image);
+		gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);
+		g_signal_connect_swapped(G_OBJECT(menuitem), "activate", G_CALLBACK(jam_quit), win);
+		gtk_widget_show_all(menuitem);
+	}
+
+	gtk_widget_show_all(menu);
+	gtk_menu_popup(GTK_MENU(menu), NULL, NULL,
+	              NULL /*ui_ops->position_menu*/,
+                  NULL, 0, gtk_get_current_event_time());
+
+}
+
 static gboolean
 click_cb(GtkWidget* w, GdkEventButton *ev, GtkWidget *win) {
 	/* right-clicks start context menu (note: this case is terminal) */
 	if (ev->button == 3) {
-		//cf_context_menu(cfi, ev);
+		docklet_menu(win);
 		return TRUE;
 	}
 
diff -ru logjam-4.5.3.orig/src/menu.c logjam-4.5.3/src/menu.c
--- logjam-4.5.3.orig/src/menu.c	Sun Oct 23 17:11:08 2005
+++ logjam-4.5.3/src/menu.c	Mon Jul 24 13:45:02 2006
@@ -289,7 +289,7 @@
 	console_dialog_run(GTK_WINDOW(jw), JAM_ACCOUNT_LJ(jw->account));
 }
 
-static void
+void
 menu_friends_manager(JamWin *jw) {
 	g_assert(JAM_ACCOUNT_IS_LJ(jw->account));
 	friends_manager_show(GTK_WINDOW(jw), JAM_ACCOUNT_LJ(jw->account));