pidgin/gtkrequest.c

branch
soc.2013.gobjectification.plugins
changeset 36706
de22c6f89190
parent 36701
5acd461707ae
parent 34943
088f823e196c
child 36712
84a411b5b569
equal deleted inserted replaced
36705:2961685df856 36706:de22c6f89190
321 STOCK_ITEMIZE(N_("Close"), GTK_STOCK_CLOSE); 321 STOCK_ITEMIZE(N_("Close"), GTK_STOCK_CLOSE);
322 STOCK_ITEMIZE(N_("Delete"), GTK_STOCK_DELETE); 322 STOCK_ITEMIZE(N_("Delete"), GTK_STOCK_DELETE);
323 STOCK_ITEMIZE(N_("Add"), GTK_STOCK_ADD); 323 STOCK_ITEMIZE(N_("Add"), GTK_STOCK_ADD);
324 STOCK_ITEMIZE(N_("Remove"), GTK_STOCK_REMOVE); 324 STOCK_ITEMIZE(N_("Remove"), GTK_STOCK_REMOVE);
325 STOCK_ITEMIZE(N_("Save"), GTK_STOCK_SAVE); 325 STOCK_ITEMIZE(N_("Save"), GTK_STOCK_SAVE);
326 STOCK_ITEMIZE(N_("Next"), GTK_STOCK_GO_FORWARD); 326 STOCK_ITEMIZE(N_("Next"), PIDGIN_STOCK_NEXT);
327 STOCK_ITEMIZE(N_("_Next"), PIDGIN_STOCK_NEXT);
327 STOCK_ITEMIZE(N_("Back"), GTK_STOCK_GO_BACK); 328 STOCK_ITEMIZE(N_("Back"), GTK_STOCK_GO_BACK);
329 STOCK_ITEMIZE(N_("_Back"), GTK_STOCK_GO_BACK);
328 STOCK_ITEMIZE(N_("Alias"), PIDGIN_STOCK_ALIAS); 330 STOCK_ITEMIZE(N_("Alias"), PIDGIN_STOCK_ALIAS);
329 331
330 return text; 332 return text;
331 } 333 }
332 334
429 431
430 return gtk_image_new_from_stock(PIDGIN_STOCK_DIALOG_QUESTION, 432 return gtk_image_new_from_stock(PIDGIN_STOCK_DIALOG_QUESTION,
431 gtk_icon_size_from_name(PIDGIN_ICON_SIZE_TANGO_HUGE)); 433 gtk_icon_size_from_name(PIDGIN_ICON_SIZE_TANGO_HUGE));
432 } 434 }
433 435
436 static void
437 pidgin_request_add_help(GtkDialog *dialog, PurpleRequestCommonParameters *cpar)
438 {
439 GtkWidget *button;
440 PurpleRequestHelpCb help_cb;
441 gpointer help_data;
442
443 help_cb = purple_request_cpar_get_help_cb(cpar, &help_data);
444 if (help_cb == NULL)
445 return;
446
447 button = gtk_dialog_add_button(dialog, GTK_STOCK_HELP,
448 GTK_RESPONSE_HELP);
449 g_signal_connect(G_OBJECT(button), "clicked", (GCallback)help_cb,
450 help_data);
451 }
452
434 static void * 453 static void *
435 pidgin_request_input(const char *title, const char *primary, 454 pidgin_request_input(const char *title, const char *primary,
436 const char *secondary, const char *default_value, 455 const char *secondary, const char *default_value,
437 gboolean multiline, gboolean masked, gchar *hint, 456 gboolean multiline, gboolean masked, gchar *hint,
438 const char *ok_text, GCallback ok_cb, 457 const char *ok_text, GCallback ok_cb,
488 507
489 /* Dialog icon. */ 508 /* Dialog icon. */
490 img = pidgin_request_dialog_icon(cpar); 509 img = pidgin_request_dialog_icon(cpar);
491 gtk_misc_set_alignment(GTK_MISC(img), 0, 0); 510 gtk_misc_set_alignment(GTK_MISC(img), 0, 0);
492 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); 511 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0);
512
513 pidgin_request_add_help(GTK_DIALOG(dialog), cpar);
493 514
494 /* Vertical box */ 515 /* Vertical box */
495 vbox = gtk_vbox_new(FALSE, PIDGIN_HIG_BORDER); 516 vbox = gtk_vbox_new(FALSE, PIDGIN_HIG_BORDER);
496 517
497 gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 0); 518 gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 0);
649 gtk_misc_set_alignment(GTK_MISC(img), 0, 0); 670 gtk_misc_set_alignment(GTK_MISC(img), 0, 0);
650 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); 671 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0);
651 672
652 pidgin_widget_decorate_account(hbox, purple_request_cpar_get_account(cpar)); 673 pidgin_widget_decorate_account(hbox, purple_request_cpar_get_account(cpar));
653 674
675 pidgin_request_add_help(GTK_DIALOG(dialog), cpar);
676
654 /* Vertical box */ 677 /* Vertical box */
655 vbox = gtk_vbox_new(FALSE, PIDGIN_HIG_BORDER); 678 vbox = gtk_vbox_new(FALSE, PIDGIN_HIG_BORDER);
656 gtk_box_pack_start(GTK_BOX(hbox), vbox, FALSE, FALSE, 0); 679 gtk_box_pack_start(GTK_BOX(hbox), vbox, FALSE, FALSE, 0);
657 680
658 /* Descriptive label */ 681 /* Descriptive label */
773 vbox = gtk_vbox_new(FALSE, PIDGIN_HIG_BORDER); 796 vbox = gtk_vbox_new(FALSE, PIDGIN_HIG_BORDER);
774 gtk_box_pack_start(GTK_BOX(hbox), vbox, FALSE, FALSE, 0); 797 gtk_box_pack_start(GTK_BOX(hbox), vbox, FALSE, FALSE, 0);
775 798
776 pidgin_widget_decorate_account(hbox, 799 pidgin_widget_decorate_account(hbox,
777 purple_request_cpar_get_account(cpar)); 800 purple_request_cpar_get_account(cpar));
801
802 pidgin_request_add_help(GTK_DIALOG(dialog), cpar);
778 803
779 /* Descriptive label */ 804 /* Descriptive label */
780 primary_esc = pidgin_request_escape(cpar, primary); 805 primary_esc = pidgin_request_escape(cpar, primary);
781 secondary_esc = pidgin_request_escape(cpar, secondary); 806 secondary_esc = pidgin_request_escape(cpar, secondary);
782 label_text = g_strdup_printf((primary ? "<span weight=\"bold\" size=\"larger\">" 807 label_text = g_strdup_printf((primary ? "<span weight=\"bold\" size=\"larger\">"
1378 /* Dialog icon. */ 1403 /* Dialog icon. */
1379 img = pidgin_request_dialog_icon(cpar); 1404 img = pidgin_request_dialog_icon(cpar);
1380 gtk_misc_set_alignment(GTK_MISC(img), 0, 0); 1405 gtk_misc_set_alignment(GTK_MISC(img), 0, 0);
1381 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); 1406 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0);
1382 gtk_widget_show(img); 1407 gtk_widget_show(img);
1408
1409 pidgin_request_add_help(GTK_DIALOG(win), cpar);
1383 1410
1384 /* Cancel button */ 1411 /* Cancel button */
1385 button = pidgin_dialog_add_button(GTK_DIALOG(win), text_to_stock(cancel_text), G_CALLBACK(multifield_cancel_cb), data); 1412 button = pidgin_dialog_add_button(GTK_DIALOG(win), text_to_stock(cancel_text), G_CALLBACK(multifield_cancel_cb), data);
1386 gtk_widget_set_can_default(button, TRUE); 1413 gtk_widget_set_can_default(button, TRUE);
1387 1414
1774 : GTK_STOCK_OPEN, 1801 : GTK_STOCK_OPEN,
1775 GTK_RESPONSE_ACCEPT, 1802 GTK_RESPONSE_ACCEPT,
1776 NULL); 1803 NULL);
1777 gtk_dialog_set_default_response(GTK_DIALOG(filesel), GTK_RESPONSE_ACCEPT); 1804 gtk_dialog_set_default_response(GTK_DIALOG(filesel), GTK_RESPONSE_ACCEPT);
1778 1805
1806 pidgin_request_add_help(GTK_DIALOG(filesel), cpar);
1807
1779 if ((filename != NULL) && (*filename != '\0')) { 1808 if ((filename != NULL) && (*filename != '\0')) {
1780 if (savedialog) 1809 if (savedialog)
1781 gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(filesel), filename); 1810 gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(filesel), filename);
1782 else if (g_file_test(filename, G_FILE_TEST_EXISTS)) 1811 else if (g_file_test(filename, G_FILE_TEST_EXISTS))
1783 gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(filesel), filename); 1812 gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(filesel), filename);
1842 GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER, 1871 GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER,
1843 GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, 1872 GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
1844 GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, 1873 GTK_STOCK_OK, GTK_RESPONSE_ACCEPT,
1845 NULL); 1874 NULL);
1846 gtk_dialog_set_default_response(GTK_DIALOG(dirsel), GTK_RESPONSE_ACCEPT); 1875 gtk_dialog_set_default_response(GTK_DIALOG(dirsel), GTK_RESPONSE_ACCEPT);
1876
1877 pidgin_request_add_help(GTK_DIALOG(dirsel), cpar);
1847 1878
1848 if ((dirname != NULL) && (*dirname != '\0')) 1879 if ((dirname != NULL) && (*dirname != '\0'))
1849 gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(dirsel), dirname); 1880 gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(dirsel), dirname);
1850 1881
1851 g_signal_connect(G_OBJECT(GTK_FILE_CHOOSER(dirsel)), "response", 1882 g_signal_connect(G_OBJECT(GTK_FILE_CHOOSER(dirsel)), "response",

mercurial