[Xfce4-commits] ristretto:ristretto-0.0 Add sticky button to fullscreen-toolbar
Updating branch refs/heads/ristretto-0.0 to 41f49ce624d31417b35e1f8b171148fda8ca5269 (commit) from 1e586ea0c33bed9d55245b85a508bc277da099ee (commit) commit 41f49ce624d31417b35e1f8b171148fda8ca5269 Author: Stephan Arts step...@xfce.org Date: Thu Apr 30 09:52:59 2009 +0200 Add sticky button to fullscreen-toolbar ChangeLog | 27 +-- src/main_window.c | 24 +++- src/main_window_ui.xml |2 ++ 3 files changed, 46 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index f235304..e690db2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,15 +1,30 @@ 2009-04-30 Stephan Arts step...@xfce.org * src/main_window.c - src/picture_viewer.c - src/picture_viewer.h: Let the pictureviewer figure out the fullscreen- - state of it's parent-window by itself + src/main_window_ui.xml: Add Sticky button to the fullscreen-toolbar. + + +2009-04-30 Stephan Arts step...@xfce.org + + * src/main_window.c + src/main_window_ui.xml: Set is_important hint on 'leave-fullscreen' + toolitem. + + +2009-04-30 Stephan Arts step...@xfce.org + * src/main_window.c src/main_window_ui.xml: Add 'fullscreen-toolbar' with controls when in - fullscreen-mode. + fullscreen-mode. + + +2009-04-30 Stephan Arts step...@xfce.org + * src/main_window.c - src/main_window_ui.xml: Set is_important hint on 'leave-fullscreen' - toolitem. + src/picture_viewer.c + src/picture_viewer.h: Let the pictureviewer figure out the fullscreen- + state of it's parent-window by itself + 2009-04-28 Stephan Arts step...@xfce.org diff --git a/src/main_window.c b/src/main_window.c index 1c8a409..adb5711 100644 --- a/src/main_window.c +++ b/src/main_window.c @@ -59,6 +59,8 @@ struct _RsttoMainWindowPriv guint show_fs_toolbar_timeout_id; gint window_save_geometry_timer_id; + +gboolean fs_toolbar_sticky; RsttoNavigatorIter *iter; @@ -183,6 +185,9 @@ cb_rstto_main_window_contents (GtkWidget *widget, RsttoMainWindow *window); static void cb_rstto_main_window_quit (GtkWidget *widget, RsttoMainWindow *window); +static void +cb_rstto_main_window_fullscreen_toolbar_sticky (GtkWidget *widget, RsttoMainWindow *window); + static gboolean cb_rstto_main_window_picture_viewer_motion_notify_event (RsttoPictureViewer *viewer, GdkEventMotion *event, @@ -248,6 +253,7 @@ static const GtkToggleActionEntry toggle_action_entries[] = { { show-toolbar, NULL, N_ (Show _Toolbar), NULL, NULL, G_CALLBACK (cb_rstto_main_window_toggle_show_toolbar), TRUE, }, { show-thumbnailbar, NULL, N_ (Show Thumb_nailbar), NULL, NULL, NULL, FALSE}, +{ sticky, GTK_STOCK_ADD, N_(Sticky), NULL, NULL, G_CALLBACK (cb_rstto_main_window_fullscreen_toolbar_sticky), FALSE } }; @@ -1520,7 +1526,7 @@ cb_rstto_main_window_picture_viewer_motion_notify_event (RsttoPictureViewer *vie RsttoMainWindow *window = RSTTO_MAIN_WINDOW (user_data); if(gdk_window_get_state(GTK_WIDGET(window)-window) GDK_WINDOW_STATE_FULLSCREEN) { -if (event-state == 0) +if (event-state == 0 (window-priv-fs_toolbar_sticky == FALSE)) { /* TODO: implement timer to hide it again */ gtk_widget_show (window-priv-fs_toolbar); @@ -1540,3 +1546,19 @@ cb_rstto_main_window_show_fs_toolbar_timeout (RsttoMainWindow *window) gtk_widget_hide (window-priv-fs_toolbar); return FALSE; } + +static void +cb_rstto_main_window_fullscreen_toolbar_sticky (GtkWidget *widget, RsttoMainWindow *window) +{ +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-fs_toolbar_sticky = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (widget)); + +if (window-priv-fs_toolbar_sticky == FALSE) +{ +window-priv-show_fs_toolbar_timeout_id = g_timeout_add (1500, (GSourceFunc)cb_rstto_main_window_show_fs_toolbar_timeout, window); +} +} diff --git a/src/main_window_ui.xml b/src/main_window_ui.xml index 2b0aa4a..c3ab245 100644 --- a/src/main_window_ui.xml +++ b/src/main_window_ui.xml @@ -72,6 +72,8 @@ -- toolbar name=fullscreen-toolbar +toolitem action=sticky/ +separator/ toolitem action=back/ placeholder name=placeholder-slideshow / toolitem action=forward/ ___ Xfce4-commits mailing list Xfce4-commits@xfce.org https://mail.xfce.org/mailman/listinfo/xfce4-commits
[Xfce4-commits] ristretto:ristretto-0.0 Add sticky button to fullscreen-toolbar
Updating branch refs/heads/ristretto-0.0 to 41f49ce624d31417b35e1f8b171148fda8ca5269 (commit) from 1e586ea0c33bed9d55245b85a508bc277da099ee (commit) commit 41f49ce624d31417b35e1f8b171148fda8ca5269 Author: Stephan Arts step...@xfce.org Date: Thu Apr 30 09:52:59 2009 +0200 Add sticky button to fullscreen-toolbar ChangeLog | 27 +-- src/main_window.c | 24 +++- src/main_window_ui.xml |2 ++ 3 files changed, 46 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index f235304..e690db2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,15 +1,30 @@ 2009-04-30 Stephan Arts step...@xfce.org * src/main_window.c - src/picture_viewer.c - src/picture_viewer.h: Let the pictureviewer figure out the fullscreen- - state of it's parent-window by itself + src/main_window_ui.xml: Add Sticky button to the fullscreen-toolbar. + + +2009-04-30 Stephan Arts step...@xfce.org + + * src/main_window.c + src/main_window_ui.xml: Set is_important hint on 'leave-fullscreen' + toolitem. + + +2009-04-30 Stephan Arts step...@xfce.org + * src/main_window.c src/main_window_ui.xml: Add 'fullscreen-toolbar' with controls when in - fullscreen-mode. + fullscreen-mode. + + +2009-04-30 Stephan Arts step...@xfce.org + * src/main_window.c - src/main_window_ui.xml: Set is_important hint on 'leave-fullscreen' - toolitem. + src/picture_viewer.c + src/picture_viewer.h: Let the pictureviewer figure out the fullscreen- + state of it's parent-window by itself + 2009-04-28 Stephan Arts step...@xfce.org diff --git a/src/main_window.c b/src/main_window.c index 1c8a409..adb5711 100644 --- a/src/main_window.c +++ b/src/main_window.c @@ -59,6 +59,8 @@ struct _RsttoMainWindowPriv guint show_fs_toolbar_timeout_id; gint window_save_geometry_timer_id; + +gboolean fs_toolbar_sticky; RsttoNavigatorIter *iter; @@ -183,6 +185,9 @@ cb_rstto_main_window_contents (GtkWidget *widget, RsttoMainWindow *window); static void cb_rstto_main_window_quit (GtkWidget *widget, RsttoMainWindow *window); +static void +cb_rstto_main_window_fullscreen_toolbar_sticky (GtkWidget *widget, RsttoMainWindow *window); + static gboolean cb_rstto_main_window_picture_viewer_motion_notify_event (RsttoPictureViewer *viewer, GdkEventMotion *event, @@ -248,6 +253,7 @@ static const GtkToggleActionEntry toggle_action_entries[] = { { show-toolbar, NULL, N_ (Show _Toolbar), NULL, NULL, G_CALLBACK (cb_rstto_main_window_toggle_show_toolbar), TRUE, }, { show-thumbnailbar, NULL, N_ (Show Thumb_nailbar), NULL, NULL, NULL, FALSE}, +{ sticky, GTK_STOCK_ADD, N_(Sticky), NULL, NULL, G_CALLBACK (cb_rstto_main_window_fullscreen_toolbar_sticky), FALSE } }; @@ -1520,7 +1526,7 @@ cb_rstto_main_window_picture_viewer_motion_notify_event (RsttoPictureViewer *vie RsttoMainWindow *window = RSTTO_MAIN_WINDOW (user_data); if(gdk_window_get_state(GTK_WIDGET(window)-window) GDK_WINDOW_STATE_FULLSCREEN) { -if (event-state == 0) +if (event-state == 0 (window-priv-fs_toolbar_sticky == FALSE)) { /* TODO: implement timer to hide it again */ gtk_widget_show (window-priv-fs_toolbar); @@ -1540,3 +1546,19 @@ cb_rstto_main_window_show_fs_toolbar_timeout (RsttoMainWindow *window) gtk_widget_hide (window-priv-fs_toolbar); return FALSE; } + +static void +cb_rstto_main_window_fullscreen_toolbar_sticky (GtkWidget *widget, RsttoMainWindow *window) +{ +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-fs_toolbar_sticky = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (widget)); + +if (window-priv-fs_toolbar_sticky == FALSE) +{ +window-priv-show_fs_toolbar_timeout_id = g_timeout_add (1500, (GSourceFunc)cb_rstto_main_window_show_fs_toolbar_timeout, window); +} +} diff --git a/src/main_window_ui.xml b/src/main_window_ui.xml index 2b0aa4a..c3ab245 100644 --- a/src/main_window_ui.xml +++ b/src/main_window_ui.xml @@ -72,6 +72,8 @@ -- toolbar name=fullscreen-toolbar +toolitem action=sticky/ +separator/ toolitem action=back/ placeholder name=placeholder-slideshow / toolitem action=forward/ ___ Xfce4-commits mailing list Xfce4-commits@xfce.org https://mail.xfce.org/mailman/listinfo/xfce4-commits