Mercurial > pidgin.yaz
comparison pidgin/gtkutils.c @ 26817:3912f55a1633
propagate from branch 'im.pidgin.pidgin' (head fbb4fe5da444943eecc76bdcd6c8ba967790b6c8)
to branch 'im.pidgin.cpw.darkrain42.xmpp.bosh' (head 601bc627c9430320848361f0ed81c6c4c6ee53e0)
author | Paul Aurich <paul@darkrain42.org> |
---|---|
date | Tue, 28 Apr 2009 18:43:57 +0000 |
parents | 4a3a0c47dfe1 |
children | 89f613b16e2b |
comparison
equal
deleted
inserted
replaced
26743:de9816c970fe | 26817:3912f55a1633 |
---|---|
356 pidgin_set_accessible_label (menuitem, label); | 356 pidgin_set_accessible_label (menuitem, label); |
357 return menuitem; | 357 return menuitem; |
358 } | 358 } |
359 | 359 |
360 GtkWidget *pidgin_new_check_item(GtkWidget *menu, const char *str, | 360 GtkWidget *pidgin_new_check_item(GtkWidget *menu, const char *str, |
361 GtkSignalFunc sf, gpointer data, gboolean checked) | 361 GCallback cb, gpointer data, gboolean checked) |
362 { | 362 { |
363 GtkWidget *menuitem; | 363 GtkWidget *menuitem; |
364 menuitem = gtk_check_menu_item_new_with_mnemonic(str); | 364 menuitem = gtk_check_menu_item_new_with_mnemonic(str); |
365 | 365 |
366 if (menu) | 366 if (menu) |
367 gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); | 367 gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); |
368 | 368 |
369 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menuitem), checked); | 369 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menuitem), checked); |
370 | 370 |
371 if (sf) | 371 if (cb) |
372 g_signal_connect(G_OBJECT(menuitem), "activate", sf, data); | 372 g_signal_connect(G_OBJECT(menuitem), "activate", cb, data); |
373 | 373 |
374 gtk_widget_show_all(menuitem); | 374 gtk_widget_show_all(menuitem); |
375 | 375 |
376 return menuitem; | 376 return menuitem; |
377 } | 377 } |
437 | 437 |
438 return button; | 438 return button; |
439 } | 439 } |
440 | 440 |
441 | 441 |
442 GtkWidget *pidgin_new_item_from_stock(GtkWidget *menu, const char *str, const char *icon, GtkSignalFunc sf, gpointer data, guint accel_key, guint accel_mods, char *mod) | 442 GtkWidget *pidgin_new_item_from_stock(GtkWidget *menu, const char *str, const char *icon, GCallback cb, gpointer data, guint accel_key, guint accel_mods, char *mod) |
443 { | 443 { |
444 GtkWidget *menuitem; | 444 GtkWidget *menuitem; |
445 /* | 445 /* |
446 GtkWidget *hbox; | 446 GtkWidget *hbox; |
447 GtkWidget *label; | 447 GtkWidget *label; |
454 menuitem = gtk_image_menu_item_new_with_mnemonic(str); | 454 menuitem = gtk_image_menu_item_new_with_mnemonic(str); |
455 | 455 |
456 if (menu) | 456 if (menu) |
457 gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); | 457 gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); |
458 | 458 |
459 if (sf) | 459 if (cb) |
460 g_signal_connect(G_OBJECT(menuitem), "activate", sf, data); | 460 g_signal_connect(G_OBJECT(menuitem), "activate", cb, data); |
461 | 461 |
462 if (icon != NULL) { | 462 if (icon != NULL) { |
463 image = gtk_image_new_from_stock(icon, gtk_icon_size_from_name(PIDGIN_ICON_SIZE_TANGO_EXTRA_SMALL)); | 463 image = gtk_image_new_from_stock(icon, gtk_icon_size_from_name(PIDGIN_ICON_SIZE_TANGO_EXTRA_SMALL)); |
464 gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menuitem), image); | 464 gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menuitem), image); |
465 } | 465 } |
1462 purple_notify_error(NULL, NULL, | 1462 purple_notify_error(NULL, NULL, |
1463 _("Failed to load image"), | 1463 _("Failed to load image"), |
1464 str); | 1464 str); |
1465 g_free(str); | 1465 g_free(str); |
1466 | 1466 |
1467 return; | 1467 break; |
1468 } | 1468 } |
1469 | 1469 |
1470 buddy = purple_find_buddy(data->account, data->who); | 1470 buddy = purple_find_buddy(data->account, data->who); |
1471 if (!buddy) { | 1471 if (!buddy) { |
1472 purple_debug_info("custom-icon", "You can only set custom icons for people on your buddylist.\n"); | 1472 purple_debug_info("custom-icon", "You can only set custom icons for people on your buddylist.\n"); |
1492 str); | 1492 str); |
1493 | 1493 |
1494 g_error_free(err); | 1494 g_error_free(err); |
1495 g_free(str); | 1495 g_free(str); |
1496 | 1496 |
1497 return; | 1497 break; |
1498 } | 1498 } |
1499 id = purple_imgstore_add_with_id(filedata, size, data->filename); | 1499 id = purple_imgstore_add_with_id(filedata, size, data->filename); |
1500 | 1500 |
1501 gtk_text_buffer_get_iter_at_mark(GTK_IMHTML(gtkconv->entry)->text_buffer, &iter, | 1501 gtk_text_buffer_get_iter_at_mark(GTK_IMHTML(gtkconv->entry)->text_buffer, &iter, |
1502 gtk_text_buffer_get_insert(GTK_IMHTML(gtkconv->entry)->text_buffer)); | 1502 gtk_text_buffer_get_insert(GTK_IMHTML(gtkconv->entry)->text_buffer)); |
1625 account, who, NULL, | 1625 account, who, NULL, |
1626 data, | 1626 data, |
1627 _("Set as buddy icon"), DND_BUDDY_ICON, | 1627 _("Set as buddy icon"), DND_BUDDY_ICON, |
1628 (ft ? _("Send image file") : _("Insert in message")), (ft ? DND_FILE_TRANSFER : DND_IM_IMAGE), | 1628 (ft ? _("Send image file") : _("Insert in message")), (ft ? DND_FILE_TRANSFER : DND_IM_IMAGE), |
1629 NULL); | 1629 NULL); |
1630 gdk_pixbuf_unref(pb); | 1630 g_object_unref(G_OBJECT(pb)); |
1631 return; | 1631 return; |
1632 } | 1632 } |
1633 | 1633 |
1634 #ifndef _WIN32 | 1634 #ifndef _WIN32 |
1635 /* Are we trying to send a .desktop file? */ | 1635 /* Are we trying to send a .desktop file? */ |
1713 | 1713 |
1714 GdkPixbuf * pidgin_create_status_icon(PurpleStatusPrimitive prim, GtkWidget *w, const char *size) | 1714 GdkPixbuf * pidgin_create_status_icon(PurpleStatusPrimitive prim, GtkWidget *w, const char *size) |
1715 { | 1715 { |
1716 GtkIconSize icon_size = gtk_icon_size_from_name(size); | 1716 GtkIconSize icon_size = gtk_icon_size_from_name(size); |
1717 GdkPixbuf *pixbuf = NULL; | 1717 GdkPixbuf *pixbuf = NULL; |
1718 | 1718 const char *stock = pidgin_stock_id_from_status_primitive(prim); |
1719 if (prim == PURPLE_STATUS_UNAVAILABLE) | 1719 |
1720 pixbuf = gtk_widget_render_icon (w, PIDGIN_STOCK_STATUS_BUSY, | 1720 pixbuf = gtk_widget_render_icon (w, stock ? stock : PIDGIN_STOCK_STATUS_AVAILABLE, |
1721 icon_size, "GtkWidget"); | 1721 icon_size, "GtkWidget"); |
1722 else if (prim == PURPLE_STATUS_AWAY) | |
1723 pixbuf = gtk_widget_render_icon (w, PIDGIN_STOCK_STATUS_AWAY, | |
1724 icon_size, "GtkWidget"); | |
1725 else if (prim == PURPLE_STATUS_EXTENDED_AWAY) | |
1726 pixbuf = gtk_widget_render_icon (w, PIDGIN_STOCK_STATUS_XA, | |
1727 icon_size, "GtkWidget"); | |
1728 else if (prim == PURPLE_STATUS_INVISIBLE) | |
1729 pixbuf = gtk_widget_render_icon (w, PIDGIN_STOCK_STATUS_INVISIBLE, | |
1730 icon_size, "GtkWidget"); | |
1731 else if (prim == PURPLE_STATUS_OFFLINE) | |
1732 pixbuf = gtk_widget_render_icon (w, PIDGIN_STOCK_STATUS_OFFLINE, | |
1733 icon_size, "GtkWidget"); | |
1734 else | |
1735 pixbuf = gtk_widget_render_icon (w, PIDGIN_STOCK_STATUS_AVAILABLE, | |
1736 icon_size, "GtkWidget"); | |
1737 return pixbuf; | 1722 return pixbuf; |
1738 | 1723 } |
1739 } | 1724 |
1740 | 1725 const char * |
1726 pidgin_stock_id_from_status_primitive(PurpleStatusPrimitive prim) | |
1727 { | |
1728 const char *stock = NULL; | |
1729 switch (prim) { | |
1730 case PURPLE_STATUS_UNSET: | |
1731 stock = NULL; | |
1732 break; | |
1733 case PURPLE_STATUS_UNAVAILABLE: | |
1734 stock = PIDGIN_STOCK_STATUS_BUSY; | |
1735 break; | |
1736 case PURPLE_STATUS_AWAY: | |
1737 stock = PIDGIN_STOCK_STATUS_AWAY; | |
1738 break; | |
1739 case PURPLE_STATUS_EXTENDED_AWAY: | |
1740 stock = PIDGIN_STOCK_STATUS_XA; | |
1741 break; | |
1742 case PURPLE_STATUS_INVISIBLE: | |
1743 stock = PIDGIN_STOCK_STATUS_INVISIBLE; | |
1744 break; | |
1745 case PURPLE_STATUS_OFFLINE: | |
1746 stock = PIDGIN_STOCK_STATUS_OFFLINE; | |
1747 break; | |
1748 default: | |
1749 stock = PIDGIN_STOCK_STATUS_AVAILABLE; | |
1750 break; | |
1751 } | |
1752 return stock; | |
1753 } | |
1741 | 1754 |
1742 GdkPixbuf * | 1755 GdkPixbuf * |
1743 pidgin_create_prpl_icon(PurpleAccount *account, PidginPrplIconSize size) | 1756 pidgin_create_prpl_icon(PurpleAccount *account, PidginPrplIconSize size) |
1744 { | 1757 { |
1745 PurplePlugin *prpl; | 1758 PurplePlugin *prpl; |
2941 #else | 2954 #else |
2942 /* do something else? */ | 2955 /* do something else? */ |
2943 #endif | 2956 #endif |
2944 } | 2957 } |
2945 | 2958 |
2946 GSList *minidialogs = NULL; | 2959 static GSList *minidialogs = NULL; |
2947 | 2960 |
2948 static void * | 2961 static void * |
2949 pidgin_utils_get_handle(void) | 2962 pidgin_utils_get_handle(void) |
2950 { | 2963 { |
2951 static int handle; | 2964 static int handle; |