placesviewrow: Put event controllers into ui file
authorBenjamin Otte <otte@redhat.com>
Fri, 9 Mar 2018 05:07:44 +0000 (06:07 +0100)
committerCarlos Garnacho <carlosg@gnome.org>
Thu, 26 Apr 2018 15:59:41 +0000 (17:59 +0200)
gtk/gtkplacesviewrow.c
gtk/ui/gtkplacesviewrow.ui

index c64c0635237e0ebed9d35aaf5c1be02747c58215..79e30c9d7e6ec64285e40ff75039ab1e084f1722 100644 (file)
  */
 #ifdef GTK_COMPILATION
 #include "gtkbutton.h"
+#include "gtkgesture.h"
 #include "gtkimage.h"
 #include "gtkintl.h"
 #include "gtklabel.h"
 #include "gtkspinner.h"
 #include "gtkstack.h"
 #include "gtktypebuiltins.h"
-#include "gtkgesturemultipress.h"
 #else
 #include <gtk/gtk.h>
 #endif
@@ -56,8 +56,6 @@ struct _GtkPlacesViewRow
   GMount        *mount;
   GFile         *file;
 
-  GtkGesture    *gesture;
-
   GCancellable  *cancellable;
 
   gint           is_network : 1;
@@ -216,7 +214,6 @@ gtk_places_view_row_finalize (GObject *object)
   g_clear_object (&self->mount);
   g_clear_object (&self->file);
   g_clear_object (&self->cancellable);
-  g_clear_object (&self->gesture);
 
   G_OBJECT_CLASS (gtk_places_view_row_parent_class)->finalize (object);
 }
@@ -392,16 +389,14 @@ gtk_places_view_row_class_init (GtkPlacesViewRowClass *klass)
   gtk_widget_class_bind_template_child (widget_class, GtkPlacesViewRow, icon_image);
   gtk_widget_class_bind_template_child (widget_class, GtkPlacesViewRow, name_label);
   gtk_widget_class_bind_template_child (widget_class, GtkPlacesViewRow, path_label);
+
+  gtk_widget_class_bind_template_callback (widget_class, pressed_cb);
 }
 
 static void
 gtk_places_view_row_init (GtkPlacesViewRow *self)
 {
   gtk_widget_init_template (GTK_WIDGET (self));
-
-  self->gesture = gtk_gesture_multi_press_new (GTK_WIDGET (self));
-  gtk_gesture_single_set_button (GTK_GESTURE_SINGLE (self->gesture), GDK_BUTTON_SECONDARY);
-  g_signal_connect (self->gesture, "pressed", G_CALLBACK (pressed_cb), self);
 }
 
 GtkWidget*
index 47658fa5d16e0e0043e5a72552f48e5d7b264172..f800d4e4e538a66cf4613ded9a06f2bdd06ccfb9 100644 (file)
         </child>
       </object>
     </child>
+    <child>
+      <object class="GtkGestureMultiPress">
+        <property name="button">3</property>
+        <signal name="pressed" handler="pressed_cb" swapped="no"/>
+      </object>
+    </child>
   </template>
 </interface>