[Telepathy] swapping return/ctrl-return keybindings

Davyd Madeley davyd.madeley at collabora.co.uk
Fri Mar 20 05:03:56 PDT 2009


Brian,

It would be awesome if you could file a bug in GNOME's Bugzilla about
this, along with your patch attached.

I'd like to take a look when I have a spare moment, but otherwise I'll
forget.

--d

On Thu, 2009-03-19 at 21:53 +0000, Brian J. Murrell wrote:
> On Thu, 19 Mar 2009 20:22:47 +0000, Brian J. Murrell wrote:
> 
> I think I'm close.  Here's the patch.
> 
> --- empathy-2.25.92.orig/libempathy-gtk/empathy-chat.c
> +++ empathy-2.25.92/libempathy-gtk/empathy-chat.c
> @@ -707,6 +707,7 @@
>  		return TRUE;    
>  	}
>  
> +#if 0
>  	/* Catch enter but not ctrl/shift-enter */
>  	if (IS_ENTER (event->keyval) &&
>  	    !(event->state & (GDK_SHIFT_MASK | GDK_CONTROL_MASK))) {
> @@ -727,6 +728,7 @@
>  		chat_input_text_view_send (chat);
>  		return TRUE;
>  	}
> +#endif
>  
>  	text_view_sw = gtk_widget_get_parent (GTK_WIDGET (chat->view));
>  
> @@ -1275,6 +1277,7 @@
>   	GList           *list = NULL; 
>  	gchar           *filename;
>  	GtkTextBuffer   *buffer;
> +	GtkBindingSet   *binding_set;
>  
>  	filename = empathy_file_lookup ("empathy-chat.glade",
>  					"libempathy-gtk");
> @@ -1311,6 +1314,7 @@
>  					      "left-margin", 2,
>  					      "wrap-mode", GTK_WRAP_WORD_CHAR,
>  					      NULL);
> +	gtk_widget_set_name(chat->input_text_view, "empathy_input_text_view");
>  	g_signal_connect (chat->input_text_view, "key-press-event",
>  			  G_CALLBACK (chat_input_key_press_event_cb),
>  			  chat);
> @@ -1323,6 +1327,11 @@
>  	g_signal_connect (chat->input_text_view, "populate-popup",
>  			  G_CALLBACK (chat_input_populate_popup_cb),
>  			  chat);
> +	g_signal_connect (chat->input_text_view, "message_send",
> +			  G_CALLBACK (chat_input_text_view_send),
> +			  chat);
> +	binding_set = gtk_binding_set_by_class ((G_OBJECT_GET_CLASS(G_OBJECT(chat->input_text_view))));
> +	gtk_binding_entry_add_signal (binding_set, GDK_KP_Enter, 0, "message_send", 0);
>  	buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (chat->input_text_view));
>  	g_signal_connect (buffer, "changed",
>  			  G_CALLBACK (chat_input_text_buffer_changed_cb),
> 
> Per my .gtkrc-2.0, return does just simply open a new line in the entry 
> and ctrl-return does call the message_send signal, but unfortunately, 
> that's yielding:
> 
> (lt-empathy:3805): Gtk-WARNING **: gtk_binding_entry_activate(): binding 
> "my-empathy-bindings::<Control>Return": could not find signal 
> "message_send" in the `GtkTextView' class ancestry
> 
> Not sure why though.  I thought I attached it to chat->input_text_view 
> properly.
> 
> Ideas?
> 
> b.
> 
> 
> _______________________________________________
> telepathy mailing list
> telepathy at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/telepathy
> 
-- 
Davyd Madeley

Collabora Ltd., Perth, Australia
http://www.collabora.co.uk/



More information about the telepathy mailing list