Mercurial > pidgin.yaz
comparison pidgin/gtkconv.c @ 25471:fb4df531105b
propagate from branch 'im.pidgin.pidgin' (head 15e8fddee885a9fd505a14ff31f33608aebc8e28)
to branch 'im.pidgin.pidgin.yaz' (head 44e2d81319ce31cc44415bf29950964566b9a89c)
author | Yoshiki Yazawa <yaz@honeyplanet.jp> |
---|---|
date | Mon, 30 Apr 2007 13:48:29 +0000 |
parents | fbf111436896 fd6c3dc4641f |
children | 3b014d70e7c9 |
comparison
equal
deleted
inserted
replaced
16712:a73c9decc420 | 25471:fb4df531105b |
---|---|
127 #define MIN_COLOR_CONTRAST 200 | 127 #define MIN_COLOR_CONTRAST 200 |
128 | 128 |
129 #define NUM_NICK_COLORS 220 | 129 #define NUM_NICK_COLORS 220 |
130 static GdkColor *nick_colors = NULL; | 130 static GdkColor *nick_colors = NULL; |
131 static guint nbr_nick_colors; | 131 static guint nbr_nick_colors; |
132 | |
133 /* yaz. If you want to use shortcut keys that may conflict with | |
134 inputmethods, change this to 1. */ | |
135 #define ENABLE_SHORTCUT 0 | |
132 | 136 |
133 typedef struct { | 137 typedef struct { |
134 GtkWidget *window; | 138 GtkWidget *window; |
135 | 139 |
136 GtkWidget *entry; | 140 GtkWidget *entry; |
2756 { N_("/Conversation/New Instant _Message..."), "<CTL>M", menu_new_conv_cb, | 2760 { N_("/Conversation/New Instant _Message..."), "<CTL>M", menu_new_conv_cb, |
2757 0, "<StockItem>", PIDGIN_STOCK_TOOLBAR_MESSAGE_NEW }, | 2761 0, "<StockItem>", PIDGIN_STOCK_TOOLBAR_MESSAGE_NEW }, |
2758 | 2762 |
2759 { "/Conversation/sep0", NULL, NULL, 0, "<Separator>", NULL }, | 2763 { "/Conversation/sep0", NULL, NULL, 0, "<Separator>", NULL }, |
2760 | 2764 |
2765 #if ENABLE_SHORTCUT | |
2761 { N_("/Conversation/_Find..."), NULL, menu_find_cb, 0, | 2766 { N_("/Conversation/_Find..."), NULL, menu_find_cb, 0, |
2762 "<StockItem>", GTK_STOCK_FIND }, | 2767 "<StockItem>", GTK_STOCK_FIND }, |
2768 #else | |
2769 { N_("/Conversation/_Find..."), NULL, menu_find_cb, 0, | |
2770 "<Item>" }, | |
2771 #endif | |
2763 { N_("/Conversation/View _Log"), NULL, menu_view_log_cb, 0, "<Item>", NULL }, | 2772 { N_("/Conversation/View _Log"), NULL, menu_view_log_cb, 0, "<Item>", NULL }, |
2764 { N_("/Conversation/_Save As..."), NULL, menu_save_as_cb, 0, | 2773 { N_("/Conversation/_Save As..."), NULL, menu_save_as_cb, 0, |
2765 "<StockItem>", GTK_STOCK_SAVE_AS }, | 2774 "<StockItem>", GTK_STOCK_SAVE_AS }, |
2775 #if ENABLE_SHORTCUT | |
2766 { N_("/Conversation/Clea_r Scrollback"), "<CTL>L", menu_clear_cb, 0, "<StockItem>", GTK_STOCK_CLEAR }, | 2776 { N_("/Conversation/Clea_r Scrollback"), "<CTL>L", menu_clear_cb, 0, "<StockItem>", GTK_STOCK_CLEAR }, |
2767 | 2777 #else |
2778 { N_("/Conversation/Clea_r Scrollback"), "<CTL>L", menu_clear_cb, 0, "<Item>" }, | |
2779 #endif | |
2768 { "/Conversation/sep1", NULL, NULL, 0, "<Separator>", NULL }, | 2780 { "/Conversation/sep1", NULL, NULL, 0, "<Separator>", NULL }, |
2769 | 2781 |
2770 { N_("/Conversation/Se_nd File..."), NULL, menu_send_file_cb, 0, "<StockItem>", PIDGIN_STOCK_FILE_TRANSFER }, | 2782 { N_("/Conversation/Se_nd File..."), NULL, menu_send_file_cb, 0, "<StockItem>", PIDGIN_STOCK_FILE_TRANSFER }, |
2771 { N_("/Conversation/Add Buddy _Pounce..."), NULL, menu_add_pounce_cb, | 2783 { N_("/Conversation/Add Buddy _Pounce..."), NULL, menu_add_pounce_cb, |
2772 0, "<Item>", NULL }, | 2784 0, "<Item>", NULL }, |
2785 #if ENABLE_SHORTCUT | |
2773 { N_("/Conversation/_Get Info"), "<CTL>O", menu_get_info_cb, 0, | 2786 { N_("/Conversation/_Get Info"), "<CTL>O", menu_get_info_cb, 0, |
2774 "<StockItem>", PIDGIN_STOCK_TOOLBAR_USER_INFO }, | 2787 "<StockItem>", PIDGIN_STOCK_TOOLBAR_USER_INFO }, |
2788 #else | |
2789 { N_("/Conversation/_Get Info"), NULL, menu_get_info_cb, 0, | |
2790 "<StockItem>", PIDGIN_STOCK_TOOLBAR_USER_INFO }, | |
2791 #endif | |
2775 { N_("/Conversation/In_vite..."), NULL, menu_invite_cb, 0, | 2792 { N_("/Conversation/In_vite..."), NULL, menu_invite_cb, 0, |
2776 "<Item>", NULL }, | 2793 "<Item>", NULL }, |
2777 { N_("/Conversation/M_ore"), NULL, NULL, 0, "<Branch>", NULL }, | 2794 { N_("/Conversation/M_ore"), NULL, NULL, 0, "<Branch>", NULL }, |
2778 | 2795 |
2779 { "/Conversation/sep2", NULL, NULL, 0, "<Separator>", NULL }, | 2796 { "/Conversation/sep2", NULL, NULL, 0, "<Separator>", NULL }, |
3336 | 3353 |
3337 if (win->menu.send_to != NULL) | 3354 if (win->menu.send_to != NULL) |
3338 gtk_widget_destroy(win->menu.send_to); | 3355 gtk_widget_destroy(win->menu.send_to); |
3339 | 3356 |
3340 /* Build the Send To menu */ | 3357 /* Build the Send To menu */ |
3358 | |
3359 #if ENABLE_SHORTCUT | |
3341 win->menu.send_to = gtk_menu_item_new_with_mnemonic(_("_Send To")); | 3360 win->menu.send_to = gtk_menu_item_new_with_mnemonic(_("_Send To")); |
3361 #else | |
3362 win->menu.send_to = gtk_menu_item_new_with_mnemonic(_("Send To")); | |
3363 #endif | |
3342 gtk_widget_show(win->menu.send_to); | 3364 gtk_widget_show(win->menu.send_to); |
3343 | 3365 |
3344 menu = gtk_menu_new(); | 3366 menu = gtk_menu_new(); |
3345 gtk_menu_shell_insert(GTK_MENU_SHELL(win->menu.menubar), | 3367 gtk_menu_shell_insert(GTK_MENU_SHELL(win->menu.menubar), |
3346 win->menu.send_to, 2); | 3368 win->menu.send_to, 2); |
3810 PurplePluginProtocolInfo *prpl_info = NULL; | 3832 PurplePluginProtocolInfo *prpl_info = NULL; |
3811 PurpleConnection *gc; | 3833 PurpleConnection *gc; |
3812 PurpleConversation *conv = gtkconv->active_conv; | 3834 PurpleConversation *conv = gtkconv->active_conv; |
3813 PidginChatPane *gtkchat; | 3835 PidginChatPane *gtkchat; |
3814 char *new_topic; | 3836 char *new_topic; |
3815 const char *current_topic; | 3837 // const char *current_topic; |
3838 char dummy[] = "No Topic"; | |
3839 char *current_topic = NULL; | |
3816 | 3840 |
3817 gc = purple_conversation_get_gc(conv); | 3841 gc = purple_conversation_get_gc(conv); |
3818 | 3842 |
3819 if(!gc || !(prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(gc->prpl))) | 3843 if(!gc || !(prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(gc->prpl))) |
3820 return; | 3844 return; |
3823 return; | 3847 return; |
3824 | 3848 |
3825 gtkconv = PIDGIN_CONVERSATION(conv); | 3849 gtkconv = PIDGIN_CONVERSATION(conv); |
3826 gtkchat = gtkconv->u.chat; | 3850 gtkchat = gtkconv->u.chat; |
3827 new_topic = g_strdup(gtk_entry_get_text(GTK_ENTRY(gtkchat->topic_text))); | 3851 new_topic = g_strdup(gtk_entry_get_text(GTK_ENTRY(gtkchat->topic_text))); |
3852 // purple_debug_info("yaz gtkconv", "new_topic=%s\n", new_topic); | |
3828 current_topic = purple_conv_chat_get_topic(PURPLE_CONV_CHAT(conv)); | 3853 current_topic = purple_conv_chat_get_topic(PURPLE_CONV_CHAT(conv)); |
3854 | |
3855 if(!current_topic) | |
3856 current_topic = dummy; | |
3857 // purple_debug_info("yaz gtkconv", "current_topic=%s\n", current_topic); | |
3829 | 3858 |
3830 if(current_topic && !g_utf8_collate(new_topic, current_topic)){ | 3859 if(current_topic && !g_utf8_collate(new_topic, current_topic)){ |
3831 g_free(new_topic); | 3860 g_free(new_topic); |
3832 return; | 3861 return; |
3833 } | 3862 } |