[bijiben] Note view: make toolbar draggable



commit be316b5bcb8ee4cc5b80e4a4095db1f59de2bde4
Author: Pierre-Yves Luyten <py luyten fr>
Date:   Thu Nov 29 01:57:30 2012 +0100

    Note view: make toolbar draggable

 src/bjb-main-toolbar.c |    7 ++++---
 src/bjb-note-view.c    |   21 +++++++++++++++++++++
 2 files changed, 25 insertions(+), 3 deletions(-)
---
diff --git a/src/bjb-main-toolbar.c b/src/bjb-main-toolbar.c
index b3adbd9..5d716ec 100644
--- a/src/bjb-main-toolbar.c
+++ b/src/bjb-main-toolbar.c
@@ -145,9 +145,10 @@ on_view_mode_clicked (GtkWidget *button, BjbMainToolbar *self)
 }
 
 /* Just makes toolbar draggable */
-gboolean on_button_press (GtkWidget* widget,
-                          GdkEventButton * event,
-                          GdkWindowEdge edge)
+static gboolean
+on_button_press (GtkWidget* widget,
+                 GdkEventButton * event,
+                 GdkWindowEdge edge)
 {
   if (event->type == GDK_BUTTON_PRESS)
   {
diff --git a/src/bjb-note-view.c b/src/bjb-note-view.c
index 5507d6b..6aeaded 100644
--- a/src/bjb-note-view.c
+++ b/src/bjb-note-view.c
@@ -327,6 +327,26 @@ on_note_renamed (BijiNoteObj *note, GdMainToolbar *bar)
   gd_main_toolbar_set_labels (bar, biji_note_obj_get_title (note), NULL);
 }
 
+/* Just makes toolbar draggable */
+static gboolean
+on_button_press (GtkWidget* widget,
+                 GdkEventButton * event,
+                 GdkWindowEdge edge)
+{
+  if (event->type == GDK_BUTTON_PRESS)
+  {
+    if (event->button == 1) {
+      gtk_window_begin_move_drag (GTK_WINDOW (gtk_widget_get_toplevel (widget)),
+                                  event->button,
+                                  event->x_root,
+                                  event->y_root,
+                                  event->time);
+    }
+  }
+
+  return FALSE;
+}
+
 static ClutterActor *
 bjb_note_main_toolbar_new (BjbNoteView *self,
                            ClutterActor *parent,
@@ -409,6 +429,7 @@ bjb_note_main_toolbar_new (BjbNoteView *self,
   gtk_menu_button_set_popup (GTK_MENU_BUTTON (button),
                              bjb_note_menu_new (self));
 
+  g_signal_connect (w, "button-press-event", G_CALLBACK (on_button_press), NULL);
   return result;
 }
 



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