]> git.0d.be Git - empathy.git/commitdiff
Added Send menu item to the chat input menu. Fixes bug #532622 (Jonny Lamb).
authorJonny Lamb <jonny.lamb@collabora.co.uk>
Thu, 3 Jul 2008 16:09:22 +0000 (16:09 +0000)
committerXavier Claessens <xclaesse@src.gnome.org>
Thu, 3 Jul 2008 16:09:22 +0000 (16:09 +0000)
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

libempathy-gtk/empathy-chat.c

index 825cb740bf9e99853f6beb509b45efbee2218b22..ba67cb6700e763ace186abe4256a8d2fbcc01cf8 100644 (file)
@@ -924,6 +924,13 @@ chat_text_check_word_spelling_cb (GtkMenuItem     *menuitem,
                                  chat_spell->word);
 }
 
+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,
@@ -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");