[Xfce4-commits] <ristretto:master> Add right-mouse-click-menu to the thumbnail-bar Hide navigation-bar after leaving fullscreen-mode
Stephan Arts
stephan at xfce.org
Thu Sep 3 23:50:01 CEST 2009
Updating branch refs/heads/master
to ebd4e629d93f715f8d0888aee4ae22583986c552 (commit)
from c181f72632125b0789d4a052c5c75b634b932720 (commit)
commit ebd4e629d93f715f8d0888aee4ae22583986c552
Author: Stephan Arts <stephan at 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;
}
More information about the Xfce4-commits
mailing list