ayttm-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Ayttm-commits] CVS: ayttm/src chat_window.c,1.62.2.1,1.62.2.2


From: Andy Maloney <address@hidden>
Subject: [Ayttm-commits] CVS: ayttm/src chat_window.c,1.62.2.1,1.62.2.2
Date: Sun, 23 Mar 2003 06:42:58 -0500

Update of /cvsroot/ayttm/ayttm/src
In directory subversions:/tmp/cvs-serv28425/src

Modified Files:
      Tag: new_prefs
        chat_window.c 
Log Message:
Make accelerator key prefs work again
Make accelerator keys work when do_multi_line is false


Index: chat_window.c
===================================================================
RCS file: /cvsroot/ayttm/ayttm/src/chat_window.c,v
retrieving revision 1.62.2.1
retrieving revision 1.62.2.2
diff -u -r1.62.2.1 -r1.62.2.2
--- chat_window.c       23 Mar 2003 00:23:23 -0000      1.62.2.1
+++ chat_window.c       23 Mar 2003 11:42:56 -0000      1.62.2.2
@@ -759,9 +759,6 @@
                GtkWidget *menu;
                GtkWidget *button;
                menu_data *md=NULL;
-               menu_item_data *mid=NULL;
-               ebmContactData *ecd=NULL;
-               LList *list=NULL;
 
                gtk_signal_emit_stop_by_name(GTK_OBJECT(widget),
                                               "button_press_event");
@@ -892,19 +889,56 @@
        }
 }
 
+static gboolean        check_tab_accelerators( const GtkWidget *inWidget, 
const chat_window *inCW, GdkModifierType inModifiers, const GdkEventKey 
*inEvent )
+{
+       if ( inCW->notebook != NULL )  /* only change tabs if this window is 
tabbed */
+       {
+               GdkDeviceKey    accel_prev_tab;
+               GdkDeviceKey    accel_next_tab;
+               
+               
+               gtk_accelerator_parse(cGetLocalPref("accel_next_tab"), 
&(accel_next_tab.keyval), &(accel_next_tab.modifiers));
+               gtk_accelerator_parse(cGetLocalPref("accel_prev_tab"), 
&(accel_prev_tab.keyval), &(accel_prev_tab.modifiers));
+       
+               /*
+               * this does not allow for using the same keyval for both prev 
and next
+               * when next contains every modifier that previous has (with 
some more)
+               * but i really don't think that will be a huge problem =)
+               */
+               if ((inModifiers == accel_prev_tab.modifiers) && 
(inEvent->keyval == accel_prev_tab.keyval))
+               {
+                       gtk_signal_emit_stop_by_name(GTK_OBJECT(inWidget), 
"key_press_event");
+                       gtk_notebook_prev_page( GTK_NOTEBOOK(inCW->notebook) );
+                       return( gtk_true() );
+               }
+               else if ((inModifiers == accel_next_tab.modifiers) && 
(inEvent->keyval == accel_next_tab.keyval))
+               {
+                       gtk_signal_emit_stop_by_name(GTK_OBJECT(inWidget), 
"key_press_event");
+                       gtk_notebook_next_page( GTK_NOTEBOOK(inCW->notebook) );
+                       return( gtk_true() );
+               }
+       }
+       
+       return( gtk_false() );
+}
+
 static gboolean chat_singleline_key_press(GtkWidget *widget, GdkEventKey 
*event, gpointer data)
 {
-       chat_window *cw = (chat_window *)data;
-       if(!(event->state & (GDK_SHIFT_MASK | GDK_CONTROL_MASK | GDK_MOD1_MASK 
| GDK_MOD4_MASK)))
+       chat_window                             *cw = (chat_window *)data;
+       const GdkModifierType   modifiers = event->state & (GDK_SHIFT_MASK | 
GDK_CONTROL_MASK | GDK_MOD1_MASK | GDK_MOD4_MASK);
+       
+       if( !modifiers )
                send_typing_status(cw);
-
+       else
+               check_tab_accelerators( widget, cw, modifiers, event );
+       
        return gtk_true();
 }
 
 static gboolean chat_key_press(GtkWidget *widget, GdkEventKey *event, gpointer 
data)
 {
-       chat_window *cw = (chat_window *)data;
-       GdkModifierType modifiers = event->state & (GDK_SHIFT_MASK | 
GDK_CONTROL_MASK | GDK_MOD1_MASK | GDK_MOD4_MASK);
+       chat_window                             *cw = (chat_window *)data;
+       const GdkModifierType   modifiers = event->state & (GDK_SHIFT_MASK | 
GDK_CONTROL_MASK | GDK_MOD1_MASK | GDK_MOD4_MASK);
 
        eb_update_window_title(cw, FALSE);
 
@@ -962,21 +996,11 @@
                        cw_reset_message(cw);
                        cw_set_message(cw, cw->hist_pos->data);
                }
-       } else if (cw->notebook != NULL)  /* only change tabs if this window is 
tabbed */ {
-               /*
-               * this does not allow for using the same keyval for both prev 
and next
-               * when next contains every modifier that previous has (with 
some more)
-               * but i really don't think that will be a huge problem =)
-               */
-/*             if ((modifiers == accel_prev_tab.modifiers) && (event->keyval 
== accel_prev_tab.keyval)) {
-                       gtk_signal_emit_stop_by_name(GTK_OBJECT(widget), 
"key_press_event");
-                       gtk_notebook_prev_page( GTK_NOTEBOOK(cw->notebook) );
-                       return gtk_true();
-               } else if ((modifiers == accel_next_tab.modifiers) && 
(event->keyval == accel_next_tab.keyval)) {
-                       gtk_signal_emit_stop_by_name(GTK_OBJECT(widget), 
"key_press_event");
-                       gtk_notebook_next_page( GTK_NOTEBOOK(cw->notebook) );
-                       return gtk_true();
-               }*/
+       }
+       else if (cw->notebook != NULL)  /* only change tabs if this window is 
tabbed */
+       {
+               if ( check_tab_accelerators( widget, cw, modifiers, event ) )
+                       return( gtk_true() );
        }
 
        if(cw->preferred==NULL || modifiers)





reply via email to

[Prev in Thread] Current Thread [Next in Thread]