Updating branch refs/heads/ristretto-0.0 to c181f72632125b0789d4a052c5c75b634b932720 (commit) from 617daf015dccdb2e8dc41c9e08a8d28c3fb79877 (commit)
commit c181f72632125b0789d4a052c5c75b634b932720 Author: Stephan Arts <step...@xfce.org> Date: Tue Sep 1 08:30:41 2009 +0200 Improve fullscreen behaviour src/main_window.c | 39 ++++++++++++++++++++++++++++++++------- src/picture_viewer.c | 7 +------ 2 files changed, 33 insertions(+), 13 deletions(-) diff --git a/src/main_window.c b/src/main_window.c index f9cd00d..c6abf72 100644 --- a/src/main_window.c +++ b/src/main_window.c @@ -237,9 +237,13 @@ static void cb_rstto_main_window_settings_notify (GObject *settings, GParamSpec *spec, RsttoMainWindow *window); static gboolean -cb_rstto_main_window_picture_viewer_motion_notify_event (RsttoPictureViewer *viewer, +cb_rstto_main_window_motion_notify_event (RsttoMainWindow *window, GdkEventMotion *event, gpointer user_data); +static gboolean +cb_rstto_main_window_picture_viewer_enter_notify_event (GtkWidget *widget, + GdkEventCrossing *event, + gpointer user_data); static void rstto_main_window_update_buttons (RsttoMainWindow *window); @@ -620,7 +624,8 @@ rstto_main_window_init (RsttoMainWindow *window) } g_value_reset (&show_thumbnailbar_val); - g_signal_connect(G_OBJECT(window->priv->picture_viewer), "motion-notify-event", G_CALLBACK(cb_rstto_main_window_picture_viewer_motion_notify_event), window); + g_signal_connect(G_OBJECT(window), "motion-notify-event", G_CALLBACK(cb_rstto_main_window_motion_notify_event), window); + g_signal_connect(G_OBJECT(window->priv->picture_viewer), "enter-notify-event", G_CALLBACK(cb_rstto_main_window_picture_viewer_enter_notify_event), window); g_signal_connect(G_OBJECT(window), "configure-event", G_CALLBACK(cb_rstto_main_window_configure_event), NULL); g_signal_connect(G_OBJECT(window), "window-state-event", G_CALLBACK(cb_rstto_main_window_state_event), NULL); g_signal_connect(G_OBJECT(window->priv->image_list_toolbar), "button-press-event", G_CALLBACK(cb_rstto_main_window_navigationtoolbar_button_press_event), window); @@ -2015,16 +2020,19 @@ cb_rstto_main_window_state_event(GtkWidget *widget, GdkEventWindowState *event, } static gboolean -cb_rstto_main_window_picture_viewer_motion_notify_event (RsttoPictureViewer *viewer, - GdkEventMotion *event, - gpointer user_data) +cb_rstto_main_window_motion_notify_event (RsttoMainWindow *window, + GdkEventMotion *event, + gpointer user_data) { - RsttoMainWindow *window = RSTTO_MAIN_WINDOW (user_data); + gint width, height; if(gdk_window_get_state(GTK_WIDGET(window)->window) & GDK_WINDOW_STATE_FULLSCREEN) { - if (event->state == 0) + gdk_drawable_get_size (GDK_DRAWABLE(GTK_WIDGET(window)->window), &width, &height); + //if ((event->state == 0) && (event->window == event->subwindow)) + if ((event->x == 0) || (event->y == 0) || (((gint)event->x) == (width-1)) || (((gint)event->y) == (height-1))) { gtk_widget_show (window->priv->image_list_toolbar); + window->priv->fs_toolbar_sticky = TRUE; if (window->priv->fs_toolbar_sticky == FALSE) { @@ -2041,6 +2049,23 @@ cb_rstto_main_window_picture_viewer_motion_notify_event (RsttoPictureViewer *vie } static gboolean +cb_rstto_main_window_picture_viewer_enter_notify_event (GtkWidget *widget, + GdkEventCrossing *event, + gpointer user_data) +{ + RsttoMainWindow *window = RSTTO_MAIN_WINDOW (user_data); + window->priv->fs_toolbar_sticky = FALSE; + if (window->priv->show_fs_toolbar_timeout_id > 0) + { + g_source_remove (window->priv->show_fs_toolbar_timeout_id); + window->priv->show_fs_toolbar_timeout_id = 0; + } + window->priv->show_fs_toolbar_timeout_id = g_timeout_add (2000, (GSourceFunc)cb_rstto_main_window_show_fs_toolbar_timeout, window); + + return TRUE; +} + +static gboolean cb_rstto_main_window_show_fs_toolbar_timeout (RsttoMainWindow *window) { gtk_widget_hide (window->priv->image_list_toolbar); diff --git a/src/picture_viewer.c b/src/picture_viewer.c index a5ea1fa..666a405 100644 --- a/src/picture_viewer.c +++ b/src/picture_viewer.c @@ -1,9 +1,6 @@ /* -<<<<<<< HEAD:src/picture_viewer.c -======= * Copyright (C) Stephan Arts 2006-2009 <step...@xfce.org> * ->>>>>>> 9b75414e8bb4500c58635dd45ecb8f2f45266902:src/picture_viewer.c * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -204,6 +201,7 @@ rstto_picture_viewer_init(RsttoPictureViewer *viewer) GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_BUTTON1_MOTION_MASK | + GDK_ENTER_NOTIFY_MASK | GDK_POINTER_MOTION_MASK); g_signal_connect(G_OBJECT(viewer), "scroll_event", G_CALLBACK(cb_rstto_picture_viewer_scroll_event), NULL); @@ -857,7 +855,6 @@ cb_rstto_picture_viewer_scroll_event (RsttoPictureViewer *viewer, GdkEventScroll } rstto_image_list_entry_set_scale(entry, scale * 1.1); rstto_image_list_entry_set_fit_to_screen (entry, FALSE); ->>>>>>> 9b75414e8bb4500c58635dd45ecb8f2f45266902:src/picture_viewer.c viewer->vadjustment->value = ((viewer->vadjustment->value + event->y) * 1.1) - event->y; @@ -869,8 +866,6 @@ cb_rstto_picture_viewer_scroll_event (RsttoPictureViewer *viewer, GdkEventScroll viewer->priv->refresh.idle_id = g_idle_add((GSourceFunc)cb_rstto_picture_viewer_queued_repaint, viewer); break; } -<<<<<<< HEAD:src/picture_viewer.c -======= */ } _______________________________________________ Xfce4-commits mailing list Xfce4-commits@xfce.org https://mail.xfce.org/mailman/listinfo/xfce4-commits