Author: koorek                       Date: Sat Feb 26 05:27:22 2005 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- shift+enter now should work ok
- fix crash on tab pressed with empty string in GtkEntry in muc
- better tab completion in muc (i.e. ": " after nick)

---- Files affected:
SOURCES:
   kf-chat_gtkentry_fix.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/kf-chat_gtkentry_fix.patch
diff -u /dev/null SOURCES/kf-chat_gtkentry_fix.patch:1.1
--- /dev/null   Sat Feb 26 06:27:22 2005
+++ SOURCES/kf-chat_gtkentry_fix.patch  Sat Feb 26 06:27:17 2005
@@ -0,0 +1,89 @@
+diff -uNr kf-0.5.1.orig/src/chat.c kf-0.5.1/src/chat.c
+--- kf-0.5.1.orig/src/chat.c   Fri Feb 25 23:52:17 2005
++++ kf-0.5.1/src/chat.c        Sat Feb 26 04:28:47 2005
+@@ -347,7 +347,7 @@
+       chat = g_object_get_data (G_OBJECT (widget), "Chat");
+       if (event->keyval == GDK_Return) {
+               /* Ugly, but works */
+-              if (event->state == 021)
++              if(event->state & GDK_SHIFT_MASK)
+                       return FALSE;
+ 
+               kf_chat_send_msg (chat); 
+diff -uNr kf-0.5.1.orig/src/emoticons.c kf-0.5.1/src/emoticons.c
+--- kf-0.5.1.orig/src/emoticons.c      Fri Feb 25 23:41:12 2005
++++ kf-0.5.1/src/emoticons.c   Sat Feb 26 05:00:09 2005
+@@ -314,7 +314,7 @@
+ 
+               return FALSE;
+       }
+-
++//    gtk_window_activate_focus(
+   return FALSE;
+ }
+ 
+diff -uNr kf-0.5.1.orig/src/muc.c kf-0.5.1/src/muc.c
+--- kf-0.5.1.orig/src/muc.c    Wed Feb 23 21:15:24 2005
++++ kf-0.5.1/src/muc.c Sat Feb 26 04:55:38 2005
+@@ -920,7 +920,7 @@
+       if (event->keyval == GDK_Return) {
+               
+               /* Ugly, but works */
+-              if (event->state == 021)        /* Shift */
++              if(event->state & GDK_SHIFT_MASK)
+                       return FALSE;
+ 
+               send_cb (NULL, muc);
+@@ -1567,28 +1567,29 @@
+       GtkTextIter insert, start;
+       guint len = 0;
+       gchar *match = NULL;
+-      
+-      gtk_text_buffer_get_iter_at_mark (muc->input, &insert,
+-                      gtk_text_buffer_get_insert (muc->input));
+-      
+-      start = insert;
+-      
+-      while (! gtk_text_iter_starts_word (&start))
+-              gtk_text_iter_backward_char (&start);
++      GtkTextBuffer *buffer;
++      gboolean is_start_of_buffer;
++
++
++//    buffer = muc->input;
+ 
+-      nick = gtk_text_iter_get_text (&start, &insert);
++      gtk_text_buffer_get_iter_at_mark (muc->input, &insert, 
gtk_text_buffer_get_insert (muc->input));
++      gtk_text_buffer_get_iter_at_mark (muc->input, &start, 
gtk_text_buffer_get_insert (muc->input));
++
++      gtk_text_iter_backward_word_start (&start);
++      is_start_of_buffer = gtk_text_iter_is_start (&start);
++
++      nick = gtk_text_buffer_get_text (muc->input, &start, &insert, FALSE);
+       len = strlen (nick);
+       foo_debug ("TAB completion for '%s'\n", nick);
+ 
+       if (nick && *nick && muc->roster) {
+               GList *tmp;
+-
+-              /* Find matching strings */
+-
+-              for (tmp = muc->roster->litems; tmp; tmp = tmp->next) {
++                      // Find matching strings
++              for (tmp = muc->roster->litems; tmp; tmp = tmp->next) {
+                       KfMUCRosterItem *item = tmp->data;
+ 
+-                      if (strncmp (nick, item->name, len) == 0) {
++                      if (strncasecmp (nick, item->name, len) == 0) {
+                               foo_debug (" -> match: '%s'\n", item->name);
+                               match = item->name;
+                               break;
+@@ -1605,6 +1606,8 @@
+               selection_bound = gtk_text_buffer_get_selection_bound  
(muc->input);
+ //            gtk_text_buffer_move_mark (muc->input, selection_bound, 
&insert);
+               gtk_text_buffer_insert (muc->input, &insert, match + len, -1);
++              if(is_start_of_buffer)
++                      gtk_text_buffer_insert (muc->input, &insert, ": ", 2);
+ /*            gtk_text_buffer_get_iter_at_mark (muc->input, &insert, mark);
+               gtk_text_buffer_move_mark (muc->input, selection_bound, 
&insert);
+               gtk_text_buffer_delete_mark (muc->input, mark);*/
================================================================

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to