Updating branch refs/heads/master to ebd4e629d93f715f8d0888aee4ae22583986c552 (commit) from c181f72632125b0789d4a052c5c75b634b932720 (commit)
commit ebd4e629d93f715f8d0888aee4ae22583986c552 Author: Stephan Arts <step...@xfce.org> Date: Tue Sep 1 18:00:14 2009 +0200 Add right-mouse-click-menu to the thumbnail-bar Hide navigation-bar after leaving fullscreen-mode src/main_window.c | 35 ++++++++++++++++++++++------------- 1 files changed, 22 insertions(+), 13 deletions(-) diff --git a/src/main_window.c b/src/main_window.c index c6abf72..2f52e41 100644 --- a/src/main_window.c +++ b/src/main_window.c @@ -629,6 +629,7 @@ rstto_main_window_init (RsttoMainWindow *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); + g_signal_connect(G_OBJECT(window->priv->thumbnailbar), "button-press-event", G_CALLBACK(cb_rstto_main_window_navigationtoolbar_button_press_event), window); g_signal_connect(G_OBJECT(window->priv->settings_manager), "notify", G_CALLBACK(cb_rstto_main_window_settings_notify), window); } @@ -1950,6 +1951,7 @@ cb_rstto_main_window_state_event(GtkWidget *widget, GdkEventWindowState *event, { RsttoMainWindow *window = RSTTO_MAIN_WINDOW(widget); GValue show_file_toolbar_val = {0,}; + GValue show_nav_toolbar_val = {0,}; if(event->changed_mask & GDK_WINDOW_STATE_FULLSCREEN) { @@ -2005,11 +2007,19 @@ cb_rstto_main_window_state_event(GtkWidget *widget, GdkEventWindowState *event, g_value_init (&show_file_toolbar_val, G_TYPE_BOOLEAN); g_object_get_property (G_OBJECT(window->priv->settings_manager), "show-file-toolbar", &show_file_toolbar_val); + g_value_init (&show_nav_toolbar_val, G_TYPE_BOOLEAN); + g_object_get_property (G_OBJECT(window->priv->settings_manager), "show-nav-toolbar", &show_nav_toolbar_val); + gtk_widget_show (window->priv->menubar); gtk_widget_show (window->priv->statusbar); if (g_value_get_boolean (&show_file_toolbar_val)) gtk_widget_show (window->priv->toolbar); + + if (g_value_get_boolean (&show_nav_toolbar_val)) + gtk_widget_show (window->priv->image_list_toolbar); + else + gtk_widget_hide(window->priv->image_list_toolbar); g_value_reset (&show_file_toolbar_val); } @@ -2029,19 +2039,15 @@ cb_rstto_main_window_motion_notify_event (RsttoMainWindow *window, { 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))) + if ((event->x_root == 0) || (event->y_root == 0) || (((gint)event->x_root) == (width-1)) || (((gint)event->y_root) == (height-1))) { gtk_widget_show (window->priv->image_list_toolbar); window->priv->fs_toolbar_sticky = TRUE; - if (window->priv->fs_toolbar_sticky == FALSE) + if (window->priv->show_fs_toolbar_timeout_id > 0) { - 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 (3000, (GSourceFunc)cb_rstto_main_window_show_fs_toolbar_timeout, window); + g_source_remove (window->priv->show_fs_toolbar_timeout_id); + window->priv->show_fs_toolbar_timeout_id = 0; } } } @@ -2054,13 +2060,16 @@ cb_rstto_main_window_picture_viewer_enter_notify_event (GtkWidget *widget, 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) + if(gdk_window_get_state(GTK_WIDGET(window)->window) & GDK_WINDOW_STATE_FULLSCREEN) { - g_source_remove (window->priv->show_fs_toolbar_timeout_id); - window->priv->show_fs_toolbar_timeout_id = 0; + 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); } - window->priv->show_fs_toolbar_timeout_id = g_timeout_add (2000, (GSourceFunc)cb_rstto_main_window_show_fs_toolbar_timeout, window); return TRUE; } _______________________________________________ Xfce4-commits mailing list Xfce4-commits@xfce.org http://foo-projects.org/mailman/listinfo/xfce4-commits