Merged in CMaiku/pidgin (pull request #333)

Fri, 04 May 2018 02:03:03 +0000

author
Gary Kramlich <grim@reaperworld.com>
date
Fri, 04 May 2018 02:03:03 +0000
changeset 39009
2ef48f087c74
parent 39006
e054b983976c (current diff)
parent 39008
a705bd1673dd (diff)
child 39013
3d8d5a8a36c7

Merged in CMaiku/pidgin (pull request #333)

Port the XMPP Service Discovery (GtkDisco) plugin off of GtkStock

Approved-by: Eion Robb <eionrobb@gmail.com>
Approved-by: Gary Kramlich <grim@reaperworld.com>

pidgin/gtkutils.c file | annotate | diff | comparison | revisions
--- a/pidgin/gtkutils.c	Fri May 04 01:58:01 2018 +0000
+++ b/pidgin/gtkutils.c	Fri May 04 02:03:03 2018 +0000
@@ -273,8 +273,18 @@
 GtkWidget *pidgin_dialog_add_button(GtkDialog *dialog, const char *label,
 		GCallback callback, gpointer callbackdata)
 {
-	GtkWidget *button = gtk_button_new_from_stock(label);
+	GtkWidget *button = gtk_button_new_with_mnemonic(label);
 	GtkWidget *bbox = pidgin_dialog_get_action_area(dialog);
+
+	/* Handle stock labels if passed in until nothing calls this
+	 * expecting a GtkStock button */
+	if (label != NULL) {
+		GtkStockItem item;
+		if (gtk_stock_lookup(label, &item)) {
+			g_object_set(button, "use-stock", TRUE, NULL);
+		}
+	}
+
 	gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 0);
 	if (callback)
 		g_signal_connect(G_OBJECT(button), "clicked", callback, callbackdata);
--- a/pidgin/plugins/disco/gtkdisco.c	Fri May 04 01:58:01 2018 +0000
+++ b/pidgin/plugins/disco/gtkdisco.c	Fri May 04 02:03:03 2018 +0000
@@ -304,7 +304,7 @@
 	menu = gtk_menu_new();
 
 	if (service->flags & XMPP_DISCO_ADD)
-		pidgin_new_menu_item(menu, _("Add to Buddy List"), GTK_STOCK_ADD,
+		pidgin_new_menu_item(menu, _("Add to Buddy List"), NULL,
                                 G_CALLBACK(add_to_blist_cb), pdl->dialog);
 
 	if (service->flags & XMPP_DISCO_REGISTER) {
@@ -666,19 +666,15 @@
 
 	/* stop button */
 	dialog->stop_button =
-		pidgin_dialog_add_button(GTK_DIALOG(window), GTK_STOCK_STOP,
+		pidgin_dialog_add_button(GTK_DIALOG(window), _("_Stop"),
 		                         G_CALLBACK(stop_button_cb), dialog);
 	gtk_widget_set_sensitive(dialog->stop_button, FALSE);
 
 	/* browse button */
 	dialog->browse_button =
-		pidgin_pixbuf_button_from_stock(_("_Browse"), GTK_STOCK_REFRESH,
-		                                PIDGIN_BUTTON_HORIZONTAL);
-	gtk_box_pack_start(GTK_BOX(bbox), dialog->browse_button, FALSE, FALSE, 0);
-	g_signal_connect(G_OBJECT(dialog->browse_button), "clicked",
-	                 G_CALLBACK(browse_button_cb), dialog);
+		pidgin_dialog_add_button(GTK_DIALOG(window), _("_Browse"),
+		                         G_CALLBACK(browse_button_cb), dialog);
 	gtk_widget_set_sensitive(dialog->browse_button, dialog->account != NULL);
-	gtk_widget_show(dialog->browse_button);
 
 	/* register button */
 	dialog->register_button =
@@ -688,17 +684,13 @@
 
 	/* add button */
 	dialog->add_button =
-		pidgin_pixbuf_button_from_stock(_("_Add"), GTK_STOCK_ADD,
-	                                    PIDGIN_BUTTON_HORIZONTAL);
-	gtk_box_pack_start(GTK_BOX(bbox), dialog->add_button, FALSE, FALSE, 0);
-	g_signal_connect(G_OBJECT(dialog->add_button), "clicked",
-	                 G_CALLBACK(add_to_blist_cb), dialog);
+		pidgin_dialog_add_button(GTK_DIALOG(dialog->window), _("_Add"),
+		                         G_CALLBACK(add_to_blist_cb), dialog);
 	gtk_widget_set_sensitive(dialog->add_button, FALSE);
-	gtk_widget_show(dialog->add_button);
 
 	/* close button */
 	dialog->close_button =
-		pidgin_dialog_add_button(GTK_DIALOG(window), GTK_STOCK_CLOSE,
+		pidgin_dialog_add_button(GTK_DIALOG(window), _("_Close"),
 		                         G_CALLBACK(close_button_cb), dialog);
 
 	/* show the dialog window and return the dialog */

mercurial