[gtk+/client-side-decorations: 67/92] double-click toggles maximize window
- From: Cody Russell <bratsche src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/client-side-decorations: 67/92] double-click toggles maximize window
- Date: Fri, 16 Apr 2010 19:32:44 +0000 (UTC)
commit 1d61421cbee7e4a6e0714d2ce2c950f17d78aafc
Author: Cody Russell <bratsche gnome org>
Date: Tue Jul 14 19:00:13 2009 -0500
double-click toggles maximize window
gtk/gtkwindow.c | 60 ++++++++++++++++++++++++++++++++----------------------
1 files changed, 35 insertions(+), 25 deletions(-)
---
diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
index 4c45b9a..2652880 100644
--- a/gtk/gtkwindow.c
+++ b/gtk/gtkwindow.c
@@ -6046,38 +6046,48 @@ static gboolean
gtk_window_button_press_event (GtkWidget *widget,
GdkEventButton *event)
{
+ GtkWindow *window = GTK_WINDOW (widget);
gint x = event->x;
gint y = event->y;
- if (event->type != GDK_BUTTON_PRESS)
- return FALSE;
-
- if (is_client_side_decorated (GTK_WINDOW (widget)))
+ if (is_client_side_decorated (window))
{
- GtkWindowRegion region = get_active_region_type (GTK_WINDOW (widget), x, y);
+ GtkWindowPrivate *priv = GTK_WINDOW_GET_PRIVATE (window);
+ GtkWindowRegion region = get_active_region_type (window, x, y);
- switch (region)
+ if (event->type == GDK_BUTTON_PRESS)
{
- case GTK_WINDOW_REGION_TITLE:
- case GTK_WINDOW_REGION_INNER:
- case GTK_WINDOW_REGION_EDGE:
- gtk_window_begin_move_drag (GTK_WINDOW (widget),
- event->button,
- event->x_root,
- event->y_root,
- event->time);
- break;
- default:
- gtk_window_begin_resize_drag (GTK_WINDOW (widget),
- (GdkWindowEdge)region,
- event->button,
- event->x_root,
- event->y_root,
- event->time);
- break;
- }
+ switch (region)
+ {
+ case GTK_WINDOW_REGION_TITLE:
+ case GTK_WINDOW_REGION_INNER:
+ case GTK_WINDOW_REGION_EDGE:
+ gtk_window_begin_move_drag (window,
+ event->button,
+ event->x_root,
+ event->y_root,
+ event->time);
+ break;
+
+ default:
+ gtk_window_begin_resize_drag (window,
+ (GdkWindowEdge)region,
+ event->button,
+ event->x_root,
+ event->y_root,
+ event->time);
+ break;
+ }
- return TRUE;
+ return TRUE;
+ }
+ else if (event->type == GDK_2BUTTON_PRESS)
+ {
+ if (region == GTK_WINDOW_REGION_TITLE)
+ {
+ gtk_button_clicked (GTK_BUTTON (priv->max_button));
+ }
+ }
}
return FALSE;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]