| 17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
| 18 */ |
18 */ |
| 19 |
19 |
| 20 /* TODO: disable, when prpl doesn't support inline images */ |
20 /* TODO: disable, when prpl doesn't support inline images */ |
| 21 /* TODO: add "Insert screenshot" to the Conversation window menu */ |
21 /* TODO: add "Insert screenshot" to the Conversation window menu */ |
| |
22 /* TODO: add a possibility to change brush color */ |
| 22 |
23 |
| 23 #include "internal.h" |
24 #include "internal.h" |
| 24 |
25 |
| 25 #include <gdk/gdkkeysyms.h> |
26 #include <gdk/gdkkeysyms.h> |
| 26 |
27 |
| 666 |
667 |
| 667 scrncap_btn_wide = GTK_TOOL_ITEM(gtk_action_create_tool_item(action)); |
668 scrncap_btn_wide = GTK_TOOL_ITEM(gtk_action_create_tool_item(action)); |
| 668 scrncap_conv_set_data(gtkconv, "scrncap-btn-wide", scrncap_btn_wide); |
669 scrncap_conv_set_data(gtkconv, "scrncap-btn-wide", scrncap_btn_wide); |
| 669 for (i = 0; i < gtk_toolbar_get_n_items(wide_view); i++) { |
670 for (i = 0; i < gtk_toolbar_get_n_items(wide_view); i++) { |
| 670 GtkToolItem *ref_item = gtk_toolbar_get_nth_item(wide_view, i); |
671 GtkToolItem *ref_item = gtk_toolbar_get_nth_item(wide_view, i); |
| 671 const gchar *action_name; |
672 GtkAction *action; |
| 672 |
673 |
| 673 action_name = g_object_get_data(G_OBJECT(ref_item), |
674 action = g_object_get_data(G_OBJECT(ref_item), "action"); |
| 674 "action-name"); |
675 if (action == NULL) |
| 675 if (g_strcmp0(action_name, "InsertImage") == 0) { |
676 continue; |
| |
677 |
| |
678 if (g_strcmp0(gtk_action_get_name(action), "InsertImage") == 0) { |
| 676 pos = i + 1; |
679 pos = i + 1; |
| 677 break; |
680 break; |
| 678 } |
681 } |
| 679 } |
682 } |
| 680 gtk_toolbar_insert(wide_view, scrncap_btn_wide, pos); |
683 gtk_toolbar_insert(wide_view, scrncap_btn_wide, pos); |
| 681 gtk_widget_show(GTK_WIDGET(scrncap_btn_wide)); |
684 gtk_widget_show(GTK_WIDGET(scrncap_btn_wide)); |
| 682 |
685 |
| 683 for (i = 0; i < gtk_toolbar_get_n_items(lean_view); i++) { |
686 for (i = 0; i < gtk_toolbar_get_n_items(lean_view); i++) { |
| 684 GtkToolItem *ref_item = gtk_toolbar_get_nth_item(lean_view, i); |
687 GtkToolItem *ref_item = gtk_toolbar_get_nth_item(lean_view, i); |
| 685 const gchar *action_name; |
688 const gchar *menu_name; |
| 686 |
689 |
| 687 action_name = g_object_get_data(G_OBJECT(ref_item), "action-name"); |
690 menu_name = g_object_get_data(G_OBJECT(ref_item), "menu-name"); |
| 688 if (g_strcmp0(action_name, "insert") == 0) { |
691 if (g_strcmp0(menu_name, "insert") == 0) { |
| 689 wide_menu = g_object_get_data(G_OBJECT(ref_item), "menu"); |
692 wide_menu = g_object_get_data(G_OBJECT(ref_item), "menu"); |
| 690 break; |
693 break; |
| 691 } |
694 } |
| 692 } |
695 } |
| 693 g_return_if_fail(wide_menu); |
696 g_return_if_fail(wide_menu); |
| 694 |
697 |
| 695 pos = -1; |
698 pos = -1; |
| 696 wide_children = gtk_container_get_children(GTK_CONTAINER(wide_menu)); |
699 wide_children = gtk_container_get_children(GTK_CONTAINER(wide_menu)); |
| 697 for (it = wide_children, i = 0; it; it = g_list_next(it), i++) { |
700 for (it = wide_children, i = 0; it; it = g_list_next(it), i++) { |
| 698 GtkWidget *child = it->data; |
701 GtkWidget *child = it->data; |
| 699 const gchar *action_name; |
702 GtkAction *action; |
| 700 |
703 |
| 701 action_name = g_object_get_data(G_OBJECT(child), "action-name"); |
704 action = g_object_get_data(G_OBJECT(child), "action"); |
| 702 if (g_strcmp0(action_name, "InsertImage") == 0) { |
705 if (action == NULL) |
| |
706 continue; |
| |
707 |
| |
708 if (g_strcmp0(gtk_action_get_name(action), "InsertImage") == 0) { |
| 703 pos = i + 1; |
709 pos = i + 1; |
| 704 break; |
710 break; |
| 705 } |
711 } |
| 706 } |
712 } |
| 707 g_list_free(wide_children); |
713 g_list_free(wide_children); |