[Xfce4-commits] <ristretto:ristretto-0.3> Fix --slideshow and --fullscreen cli options
Stephan Arts
noreply at xfce.org
Thu Jan 26 17:52:03 CET 2012
Updating branch refs/heads/ristretto-0.3
to 8cdb689bb286106c48d36023e860d159bf48ce54 (commit)
from 2e0805e4d1e8152e4272a97175107522bc58c190 (commit)
commit 8cdb689bb286106c48d36023e860d159bf48ce54
Author: Stephan Arts <stephan at xfce.org>
Date: Thu Jan 26 07:54:51 2012 +0100
Fix --slideshow and --fullscreen cli options
src/main.c | 14 ++++++-
src/main_window.c | 108 ++++++++++++++++++++++++++++++-----------------------
src/main_window.h | 6 ++-
3 files changed, 79 insertions(+), 49 deletions(-)
diff --git a/src/main.c b/src/main.c
index 6489ed7..5873744 100644
--- a/src/main.c
+++ b/src/main.c
@@ -150,9 +150,15 @@ main(int argc, char **argv)
}
}
+ /* Start fullscreen */
+ if (TRUE == start_fullscreen)
+ {
+ gtk_window_fullscreen (GTK_WINDOW (window));
+ }
+
g_signal_connect(G_OBJECT(window), "destroy", G_CALLBACK(gtk_main_quit), NULL);
gtk_widget_show_all (window);
-
+
GDK_THREADS_ENTER();
gtk_main();
GDK_THREADS_LEAVE();
@@ -263,6 +269,12 @@ cb_rstto_open_files (RsttoOpenFiles *rof)
/* Point the iterator to the correct image */
rstto_image_list_iter_set_position (iter, 0);
}
+
+ if (TRUE == start_slideshow)
+ {
+ rstto_main_window_play_slideshow (RSTTO_MAIN_WINDOW(rof->window));
+ }
+
}
return FALSE;
}
diff --git a/src/main_window.c b/src/main_window.c
index 2e26e14..7a8396d 100644
--- a/src/main_window.c
+++ b/src/main_window.c
@@ -1263,6 +1263,10 @@ rstto_main_window_update_buttons (RsttoMainWindow *window)
}
}
+ if ( 0 != (gdk_window_get_state (GTK_WIDGET (window)->window) & GDK_WINDOW_STATE_FULLSCREEN ))
+ {
+ gtk_widget_hide (window->priv->toolbar);
+ }
gtk_widget_set_sensitive ( gtk_ui_manager_get_widget ( window->priv->ui_manager, "/main-menu/file-menu/save-copy"), TRUE);
/*
gtk_widget_set_sensitive ( gtk_ui_manager_get_widget ( window->priv->ui_manager, "/main-menu/file-menu/print"), TRUE);
@@ -1390,6 +1394,10 @@ rstto_main_window_update_buttons (RsttoMainWindow *window)
}
}
+ if ( 0 != (gdk_window_get_state (GTK_WIDGET (window)->window) & GDK_WINDOW_STATE_FULLSCREEN ))
+ {
+ gtk_widget_hide (window->priv->toolbar);
+ }
gtk_widget_set_sensitive ( gtk_ui_manager_get_widget ( window->priv->ui_manager, "/main-menu/file-menu/save-copy"), TRUE);
/*
gtk_widget_set_sensitive ( gtk_ui_manager_get_widget ( window->priv->ui_manager, "/main-menu/file-menu/print"), TRUE);
@@ -2301,53 +2309,7 @@ cb_rstto_main_window_show_fs_toolbar_timeout (RsttoMainWindow *window)
static void
cb_rstto_main_window_play (GtkWidget *widget, RsttoMainWindow *window)
{
- GValue timeout = {0, };
-
- gtk_ui_manager_add_ui (window->priv->ui_manager,
- window->priv->pause_merge_id,
- "/main-menu/go-menu/placeholder-slideshow",
- "pause",
- "pause",
- GTK_UI_MANAGER_MENUITEM,
- FALSE);
- gtk_ui_manager_remove_ui (window->priv->ui_manager,
- window->priv->play_merge_id);
-
- if ( TRUE == rstto_settings_get_boolean_property (window->priv->settings_manager, "merge-toolbars"))
- {
- gtk_ui_manager_add_ui (
- window->priv->ui_manager,
- window->priv->toolbar_pause_merge_id,
- "/file-toolbar/placeholder-slideshow",
- "pause",
- "pause",
- GTK_UI_MANAGER_TOOLITEM,
- FALSE);
- gtk_ui_manager_remove_ui (
- window->priv->ui_manager,
- window->priv->toolbar_play_merge_id);
- }
- else
- {
- gtk_ui_manager_add_ui (
- window->priv->ui_manager,
- window->priv->toolbar_pause_merge_id,
- "/navigation-toolbar/placeholder-slideshow",
- "pause",
- "pause",
- GTK_UI_MANAGER_TOOLITEM,
- FALSE);
- gtk_ui_manager_remove_ui (
- window->priv->ui_manager,
- window->priv->toolbar_play_merge_id);
- }
-
-
- g_value_init (&timeout, G_TYPE_UINT);
- g_object_get_property (G_OBJECT(window->priv->settings_manager), "slideshow-timeout", &timeout);
-
- window->priv->playing = TRUE;
- window->priv->play_timeout_id = g_timeout_add (g_value_get_uint (&timeout)*1000, (GSourceFunc)cb_rstto_main_window_play_slideshow, window);
+ rstto_main_window_play_slideshow (window);
}
/**
@@ -3500,3 +3462,55 @@ cb_rstto_desktop_type_changed (
rstto_main_window_update_buttons (window);
}
+
+gboolean
+rstto_main_window_play_slideshow (RsttoMainWindow *window)
+{
+ GValue timeout = {0, };
+
+ gtk_ui_manager_add_ui (window->priv->ui_manager,
+ window->priv->pause_merge_id,
+ "/main-menu/go-menu/placeholder-slideshow",
+ "pause",
+ "pause",
+ GTK_UI_MANAGER_MENUITEM,
+ FALSE);
+ gtk_ui_manager_remove_ui (window->priv->ui_manager,
+ window->priv->play_merge_id);
+
+ if ( TRUE == rstto_settings_get_boolean_property (window->priv->settings_manager, "merge-toolbars"))
+ {
+ gtk_ui_manager_add_ui (
+ window->priv->ui_manager,
+ window->priv->toolbar_pause_merge_id,
+ "/file-toolbar/placeholder-slideshow",
+ "pause",
+ "pause",
+ GTK_UI_MANAGER_TOOLITEM,
+ FALSE);
+ gtk_ui_manager_remove_ui (
+ window->priv->ui_manager,
+ window->priv->toolbar_play_merge_id);
+ }
+ else
+ {
+ gtk_ui_manager_add_ui (
+ window->priv->ui_manager,
+ window->priv->toolbar_pause_merge_id,
+ "/navigation-toolbar/placeholder-slideshow",
+ "pause",
+ "pause",
+ GTK_UI_MANAGER_TOOLITEM,
+ FALSE);
+ gtk_ui_manager_remove_ui (
+ window->priv->ui_manager,
+ window->priv->toolbar_play_merge_id);
+ }
+
+
+ g_value_init (&timeout, G_TYPE_UINT);
+ g_object_get_property (G_OBJECT(window->priv->settings_manager), "slideshow-timeout", &timeout);
+
+ window->priv->playing = TRUE;
+ window->priv->play_timeout_id = g_timeout_add (g_value_get_uint (&timeout)*1000, (GSourceFunc)cb_rstto_main_window_play_slideshow, window);
+}
diff --git a/src/main_window.h b/src/main_window.h
index 9e5819d..c38d47e 100644
--- a/src/main_window.h
+++ b/src/main_window.h
@@ -74,7 +74,11 @@ RsttoImageListIter *
rstto_main_window_get_iter (
RsttoMainWindow *);
-gboolean rstto_main_window_add_file_to_recent_files (GFile *);
+gboolean
+rstto_main_window_add_file_to_recent_files (GFile *);
+
+gboolean
+rstto_main_window_play_slideshow (RsttoMainWindow *);
G_END_DECLS
More information about the Xfce4-commits
mailing list