pidgin/gtkutils.c

changeset 39007
76bcdc258fb2
parent 38993
7ea9422c67f3
child 39009
2ef48f087c74
equal deleted inserted replaced
38995:80586ad5c5a4 39007:76bcdc258fb2
271 } 271 }
272 272
273 GtkWidget *pidgin_dialog_add_button(GtkDialog *dialog, const char *label, 273 GtkWidget *pidgin_dialog_add_button(GtkDialog *dialog, const char *label,
274 GCallback callback, gpointer callbackdata) 274 GCallback callback, gpointer callbackdata)
275 { 275 {
276 GtkWidget *button = gtk_button_new_from_stock(label); 276 GtkWidget *button = gtk_button_new_with_mnemonic(label);
277 GtkWidget *bbox = pidgin_dialog_get_action_area(dialog); 277 GtkWidget *bbox = pidgin_dialog_get_action_area(dialog);
278
279 /* Handle stock labels if passed in until nothing calls this
280 * expecting a GtkStock button */
281 if (label != NULL) {
282 GtkStockItem item;
283 if (gtk_stock_lookup(label, &item)) {
284 g_object_set(button, "use-stock", TRUE, NULL);
285 }
286 }
287
278 gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 0); 288 gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 0);
279 if (callback) 289 if (callback)
280 g_signal_connect(G_OBJECT(button), "clicked", callback, callbackdata); 290 g_signal_connect(G_OBJECT(button), "clicked", callback, callbackdata);
281 gtk_widget_show(button); 291 gtk_widget_show(button);
282 return button; 292 return button;

mercurial