[Top][All Lists]
[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)
- [Ayttm-commits] CVS: ayttm/src chat_window.c,1.62.2.1,1.62.2.2,
Andy Maloney <address@hidden> <=
- Prev by Date:
[Ayttm-commits] CVS: ayttm/src prefs.c,1.31.2.1,1.31.2.2 prefs.h,1.6.2.1,1.6.2.2 prefs_window.c,1.5.2.1,1.5.2.2
- Next by Date:
[Ayttm-commits] CVS: ayttm ChangeLog,1.387,1.388 configure.in,1.381,1.382
- Previous by thread:
[Ayttm-commits] CVS: ayttm/src prefs.c,1.31.2.1,1.31.2.2 prefs.h,1.6.2.1,1.6.2.2 prefs_window.c,1.5.2.1,1.5.2.2
- Next by thread:
Re: [Ayttm-commits] CVS: ayttm/src chat_window.c,1.62.2.1,1.62.2.2
- Index(es):