[Goodies-commits] r3342 - xfce4-notes-plugin/trunk/panel-plugin
Mike Massonnet
mmassonnet at xfce.org
Thu Oct 11 00:00:26 CEST 2007
Author: mmassonnet
Date: 2007-10-10 22:00:26 +0000 (Wed, 10 Oct 2007)
New Revision: 3342
Modified:
xfce4-notes-plugin/trunk/panel-plugin/notes.c
Log:
* Implement cycle through tabs (Shift+Ctrl+0..9 and Ctrl+PageUp/Down).
Modified: xfce4-notes-plugin/trunk/panel-plugin/notes.c
===================================================================
--- xfce4-notes-plugin/trunk/panel-plugin/notes.c 2007-10-10 22:00:14 UTC (rev 3341)
+++ xfce4-notes-plugin/trunk/panel-plugin/notes.c 2007-10-10 22:00:26 UTC (rev 3342)
@@ -22,6 +22,7 @@
#endif
#include <glib/gstdio.h>
+#include <gdk/gdkkeysyms.h>
#include <gtk/gtk.h>
#include <libxfce4panel/xfce-panel-convenience.h>
#include <libxfce4util/libxfce4util.h>
@@ -82,12 +83,10 @@
/* FIXME */
static gboolean notes_note_rename (NotesNote *notes_note,
GdkEventButton *event);
-static void notes_note_buffer_changed (GtkWidget *widget,
- NotesNote *notes_note);
-static gboolean notes_note_key_pressed (GtkWidget *widget,
- GdkEventKey *event,
- NotesNote *notes_note);
+static void notes_note_buffer_changed (NotesNote *notes_note);
+static gboolean notes_note_key_pressed (NotesNote *notes_note,
+ GdkEventKey *event);
const gchar *
@@ -1159,14 +1158,14 @@
notes_note->text_view);
/* Signals FIXME */
- g_signal_connect (notes_note->text_view,
- "key-press-event",
- G_CALLBACK (notes_note_key_pressed),
- notes_note);
- g_signal_connect (buffer,
- "changed",
- G_CALLBACK (notes_note_buffer_changed),
- notes_note);
+ g_signal_connect_swapped (notes_note->text_view,
+ "key-press-event",
+ G_CALLBACK (notes_note_key_pressed),
+ notes_note);
+ g_signal_connect_swapped (buffer,
+ "changed",
+ G_CALLBACK (notes_note_buffer_changed),
+ notes_note);
g_signal_connect_swapped (eb_border,
"button-press-event",
G_CALLBACK (notes_note_rename),
@@ -1297,16 +1296,74 @@
}
static gboolean
-notes_note_key_pressed (GtkWidget *widget,
- GdkEventKey *event,
- NotesNote *notes_note)
+notes_note_key_pressed (NotesNote *notes_note,
+ GdkEventKey *event)
{
+ GtkWidget *notebook = notes_note->notes_window->notebook;
+
+ if (G_UNLIKELY (event->type != GDK_KEY_PRESS))
+ return FALSE;
+
+ if (event->state & GDK_CONTROL_MASK)
+ {
+ switch (event->keyval)
+ {
+ case GDK_Page_Down:
+ gtk_notebook_next_page (GTK_NOTEBOOK (notebook));
+ break;
+
+ case GDK_Page_Up:
+ gtk_notebook_prev_page (GTK_NOTEBOOK (notebook));
+ break;
+
+ default:
+ break;
+ }
+
+ return FALSE;
+ }
+ else if (event->state & (GDK_CONTROL_MASK|GDK_MOD1_MASK))
+ {
+ gint page = -1;
+ switch (event->keyval)
+ {
+ case GDK_0:
+ page += 10;
+ case GDK_1:
+ case GDK_2:
+ case GDK_3:
+ case GDK_4:
+ case GDK_5:
+ case GDK_6:
+ case GDK_7:
+ case GDK_8:
+ case GDK_9:
+ page += (event->keyval - 0x30);
+ gtk_notebook_set_current_page (GTK_NOTEBOOK (notebook), page);
+ break;
+
+ default:
+ break;
+ }
+
+ return FALSE;
+ }
+
+ switch (event->keyval)
+ {
+ case GDK_F2:
+ /*notes_note_rename (notes_note, event); */
+ break;
+
+ default:
+ break;
+ }
+
return FALSE;
}
static void
-notes_note_buffer_changed (GtkWidget *widget,
- NotesNote *notes_note)
+notes_note_buffer_changed (NotesNote *notes_note)
{
}
More information about the Goodies-commits
mailing list