diff src/audacious/ui_skinned_window.c @ 4554:961906c766e4

introduce ui_skinned_window_button_press and ui_skinned_window_button_release
author Tomasz Mon <desowin@gmail.com>
date Sun, 18 May 2008 16:54:22 +0200
parents 1fe29814b90c
children cc6255f8b568
line wrap: on
line diff
--- a/src/audacious/ui_skinned_window.c	Sun May 18 16:06:33 2008 +0200
+++ b/src/audacious/ui_skinned_window.c	Sun May 18 16:54:22 2008 +0200
@@ -101,6 +101,23 @@
     return val;
 }
 
+static gboolean ui_skinned_window_button_press(GtkWidget *widget, GdkEventButton *event) {
+    if (event->button == 1 && event->type == GDK_BUTTON_PRESS &&
+        (cfg.easy_move || cfg.equalizer_shaded || (event->y / cfg.scale_factor) < 14)) {
+         dock_move_press(get_dock_window_list(), GTK_WINDOW(widget),
+                         event, SKINNED_WINDOW(widget)->type == WINDOW_MAIN ? TRUE : FALSE);
+    }
+
+    return TRUE;
+}
+
+static gboolean ui_skinned_window_button_release(GtkWidget *widget, GdkEventButton *event) {
+    if (dock_is_moving(GTK_WINDOW(widget)))
+       dock_move_release(GTK_WINDOW(widget));
+
+    return TRUE;
+}
+
 static gboolean ui_skinned_window_expose(GtkWidget *widget, GdkEventExpose *event) {
     SkinnedWindow *window = SKINNED_WINDOW(widget);
 
@@ -177,6 +194,8 @@
     widget_class->expose_event = ui_skinned_window_expose;
     widget_class->focus_in_event = ui_skinned_window_focus_in;
     widget_class->focus_out_event = ui_skinned_window_focus_out;
+    widget_class->button_press_event = ui_skinned_window_button_press;
+    widget_class->button_release_event = ui_skinned_window_button_release;
     widget_class->map = ui_skinned_window_map;
 }