aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonny Lamb <jonny.lamb@collabora.co.uk>2008-07-04 00:09:22 +0800
committerXavier Claessens <xclaesse@src.gnome.org>2008-07-04 00:09:22 +0800
commit5bf3be9668b960b46bd46916af7934c4270d8e88 (patch)
treea4ddde7969ff63917ec4643efeff7b0cbff72122
parenta9f0913a907e7dd076c4a5116db10c1bc457690d (diff)
downloadgsoc2013-empathy-5bf3be9668b960b46bd46916af7934c4270d8e88.tar
gsoc2013-empathy-5bf3be9668b960b46bd46916af7934c4270d8e88.tar.gz
gsoc2013-empathy-5bf3be9668b960b46bd46916af7934c4270d8e88.tar.bz2
gsoc2013-empathy-5bf3be9668b960b46bd46916af7934c4270d8e88.tar.lz
gsoc2013-empathy-5bf3be9668b960b46bd46916af7934c4270d8e88.tar.xz
gsoc2013-empathy-5bf3be9668b960b46bd46916af7934c4270d8e88.tar.zst
gsoc2013-empathy-5bf3be9668b960b46bd46916af7934c4270d8e88.zip
Added Send menu item to the chat input menu. Fixes bug #532622 (Jonny Lamb).
This allows users to send messages by just using the mouse. Signed-off-by: Jonny Lamb <jonny.lamb@collabora.co.uk> svn path=/trunk/; revision=1188
-rw-r--r--libempathy-gtk/empathy-chat.c23
1 files changed, 22 insertions, 1 deletions
diff --git a/libempathy-gtk/empathy-chat.c b/libempathy-gtk/empathy-chat.c
index 825cb740b..ba67cb670 100644
--- a/libempathy-gtk/empathy-chat.c
+++ b/libempathy-gtk/empathy-chat.c
@@ -925,6 +925,13 @@ chat_text_check_word_spelling_cb (GtkMenuItem *menuitem,
}
static void
+chat_text_send_cb (GtkMenuItem *menuitem,
+ EmpathyChat *chat)
+{
+ chat_input_text_view_send (chat);
+}
+
+static void
chat_input_populate_popup_cb (GtkTextView *view,
GtkMenu *menu,
EmpathyChat *chat)
@@ -941,6 +948,7 @@ chat_input_populate_popup_cb (GtkTextView *view,
GtkWidget *smiley_menu;
priv = GET_PRIV (chat);
+ buffer = gtk_text_view_get_buffer (view);
/* Add the emoticon menu. */
item = gtk_separator_menu_item_new ();
@@ -956,8 +964,21 @@ chat_input_populate_popup_cb (GtkTextView *view,
chat);
gtk_menu_item_set_submenu (GTK_MENU_ITEM (item), smiley_menu);
+ /* Add the Send menu item. */
+ gtk_text_buffer_get_bounds (buffer, &start, &end);
+ str = gtk_text_buffer_get_text (buffer, &start, &end, FALSE);
+
+ if (!G_STR_EMPTY (str)) {
+ item = gtk_menu_item_new_with_mnemonic (_("_Send"));
+ g_signal_connect (G_OBJECT (item), "activate",
+ G_CALLBACK (chat_text_send_cb), chat);
+ gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), item);
+ gtk_widget_show (item);
+ }
+
+ str = NULL;
+
/* Add the spell check menu item. */
- buffer = gtk_text_view_get_buffer (view);
table = gtk_text_buffer_get_tag_table (buffer);
tag = gtk_text_tag_table_lookup (table, "misspelled");