[Goodies-commits] r6676 - ristretto/branches/ristretto-gio/src
Stephan Arts
stephan at xfce.org
Thu Feb 12 23:56:40 CET 2009
Author: stephan
Date: 2009-02-12 22:56:39 +0000 (Thu, 12 Feb 2009)
New Revision: 6676
Modified:
ristretto/branches/ristretto-gio/src/image.c
ristretto/branches/ristretto-gio/src/main_window.c
ristretto/branches/ristretto-gio/src/main_window_ui.xml
Log:
Improve play and pause alteration
Modified: ristretto/branches/ristretto-gio/src/image.c
===================================================================
--- ristretto/branches/ristretto-gio/src/image.c 2009-02-11 19:26:37 UTC (rev 6675)
+++ ristretto/branches/ristretto-gio/src/image.c 2009-02-12 22:56:39 UTC (rev 6676)
@@ -30,7 +30,8 @@
#include "image_transform_orientation.h"
#ifndef RSTTO_IMAGE_BUFFER_SIZE
-#define RSTTO_IMAGE_BUFFER_SIZE 1024
+/* #define RSTTO_IMAGE_BUFFER_SIZE 1024 */
+#define RSTTO_IMAGE_BUFFER_SIZE 131072
#endif
enum
Modified: ristretto/branches/ristretto-gio/src/main_window.c
===================================================================
--- ristretto/branches/ristretto-gio/src/main_window.c 2009-02-11 19:26:37 UTC (rev 6675)
+++ ristretto/branches/ristretto-gio/src/main_window.c 2009-02-12 22:56:39 UTC (rev 6676)
@@ -70,6 +70,11 @@
GtkWidget *picture_viewer;
GtkWidget *p_viewer_s_window;
GtkWidget *statusbar;
+
+ guint play_merge_id;
+ GtkAction *play_action;
+ guint pause_merge_id;
+ GtkAction *pause_action;
};
enum
@@ -202,8 +207,6 @@
{ "back", GTK_STOCK_GO_BACK, N_ ("_Back"), "BackSpace", NULL, G_CALLBACK (cb_rstto_main_window_previous_image), },
{ "first", GTK_STOCK_GOTO_FIRST, N_ ("_First"), "Home", NULL, G_CALLBACK (cb_rstto_main_window_first_image), },
{ "last", GTK_STOCK_GOTO_LAST, N_ ("_Last"), "End", NULL, G_CALLBACK (cb_rstto_main_window_last_image), },
- { "play", GTK_STOCK_MEDIA_PLAY, N_ ("_Play"), "F5", NULL, G_CALLBACK (cb_rstto_main_window_play), },
- { "pause", GTK_STOCK_MEDIA_PAUSE, N_ ("_Pause"), "F5", NULL, G_CALLBACK (cb_rstto_main_window_pause), },
/* Help Menu */
{ "help-menu", NULL, N_ ("_Help"), NULL, },
{ "contents", GTK_STOCK_HELP,
@@ -268,11 +271,23 @@
window->priv->ui_manager = gtk_ui_manager_new ();
window->priv->settings_manager = rstto_settings_new();
+ window->priv->play_merge_id = gtk_ui_manager_new_merge_id (window->priv->ui_manager);
+ window->priv->pause_merge_id = gtk_ui_manager_new_merge_id (window->priv->ui_manager);
+
accel_group = gtk_ui_manager_get_accel_group (window->priv->ui_manager);
gtk_window_add_accel_group (GTK_WINDOW (window), accel_group);
window->priv->action_group = gtk_action_group_new ("RsttoWindow");
+ window->priv->play_action = gtk_action_new ("play", "_Play", "Play slideshow", GTK_STOCK_MEDIA_PLAY);
+ window->priv->pause_action = gtk_action_new ("pause", "_Pause", "Pause slideshow", GTK_STOCK_MEDIA_PAUSE);
+ gtk_action_group_add_action (window->priv->action_group,
+ window->priv->play_action);
+ gtk_action_group_add_action (window->priv->action_group,
+ window->priv->pause_action);
+ g_signal_connect(G_OBJECT(window->priv->play_action), "activate", G_CALLBACK(cb_rstto_main_window_play), window);
+ g_signal_connect(G_OBJECT(window->priv->pause_action), "activate", G_CALLBACK(cb_rstto_main_window_pause), window);
+
gtk_ui_manager_insert_action_group (window->priv->ui_manager, window->priv->action_group, 0);
gtk_action_group_set_translation_domain (window->priv->action_group, GETTEXT_PACKAGE);
@@ -309,8 +324,13 @@
rstto_main_window_set_sensitive (window, FALSE);
gtk_widget_set_no_show_all (window->priv->toolbar, TRUE);
- gtk_widget_set_no_show_all (gtk_ui_manager_get_widget (window->priv->ui_manager, "/main-menu/go-menu/play"), TRUE);
- gtk_widget_set_no_show_all (gtk_ui_manager_get_widget (window->priv->ui_manager, "/main-menu/go-menu/pause"), TRUE);
+ gtk_ui_manager_add_ui (window->priv->ui_manager,
+ window->priv->play_merge_id,
+ "/main-menu/go-menu/placeholder-slideshow",
+ "play",
+ "play",
+ GTK_UI_MANAGER_MENUITEM,
+ FALSE);
g_value_init (&window_width, G_TYPE_UINT);
g_value_init (&window_height, G_TYPE_UINT);
@@ -486,9 +506,11 @@
gtk_widget_set_sensitive (gtk_ui_manager_get_widget (window->priv->ui_manager, "/main-menu/go-menu/back"), sensitive);
gtk_widget_set_sensitive (gtk_ui_manager_get_widget (window->priv->ui_manager, "/main-menu/go-menu/first"), sensitive);
gtk_widget_set_sensitive (gtk_ui_manager_get_widget (window->priv->ui_manager, "/main-menu/go-menu/last"), sensitive);
- gtk_widget_set_sensitive (gtk_ui_manager_get_widget (window->priv->ui_manager, "/main-menu/go-menu/play"), sensitive);
- gtk_widget_set_sensitive (gtk_ui_manager_get_widget (window->priv->ui_manager, "/main-menu/go-menu/pause"), sensitive);
+ gtk_action_set_sensitive (window->priv->play_action, sensitive);
+ gtk_action_set_sensitive (window->priv->pause_action, sensitive);
+
+
/* View Menu */
gtk_widget_set_sensitive (gtk_ui_manager_get_widget (window->priv->ui_manager,
"/main-menu/view-menu/set-as-wallpaper"), sensitive);
@@ -873,15 +895,15 @@
{
GtkAccelKey key;
g_debug ("%s", __FUNCTION__);
- gtk_widget_hide (gtk_ui_manager_get_widget (window->priv->ui_manager, "/main-menu/go-menu/play"));
- gtk_widget_show (gtk_ui_manager_get_widget (window->priv->ui_manager, "/main-menu/go-menu/pause"));
- if (gtk_accel_map_lookup_entry ("<Actions>/RsttoWindow/play", &key))
- {
- gtk_accel_map_change_entry ("<Actions>/RsttoWindow/pause",
- key.accel_key,
- key.accel_mods,
- TRUE);
- }
+ 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);
}
/**
@@ -897,15 +919,15 @@
GtkAccelKey key;
g_debug ("%s", __FUNCTION__);
- gtk_widget_show (gtk_ui_manager_get_widget (window->priv->ui_manager, "/main-menu/go-menu/play"));
- gtk_widget_hide (gtk_ui_manager_get_widget (window->priv->ui_manager, "/main-menu/go-menu/pause"));
- if (gtk_accel_map_lookup_entry ("<Actions>/RsttoWindow/pause", &key))
- {
- gtk_accel_map_change_entry ("<Actions>/RsttoWindow/play",
- key.accel_key,
- key.accel_mods,
- TRUE);
- }
+ gtk_ui_manager_add_ui (window->priv->ui_manager,
+ window->priv->play_merge_id,
+ "/main-menu/go-menu/placeholder-slideshow",
+ "play",
+ "play",
+ GTK_UI_MANAGER_MENUITEM,
+ FALSE);
+ gtk_ui_manager_remove_ui (window->priv->ui_manager,
+ window->priv->pause_merge_id);
}
/**
Modified: ristretto/branches/ristretto-gio/src/main_window_ui.xml
===================================================================
--- ristretto/branches/ristretto-gio/src/main_window_ui.xml 2009-02-11 19:26:37 UTC (rev 6675)
+++ ristretto/branches/ristretto-gio/src/main_window_ui.xml 2009-02-12 22:56:39 UTC (rev 6676)
@@ -48,8 +48,7 @@
<menuitem action="first"/>
<menuitem action="last"/>
<separator/>
- <menuitem action="play"/>
- <menuitem action="pause"/>
+ <placeholder name="placeholder-slideshow" />
</menu>
<menu action="help-menu">
<menuitem action="contents"/>
More information about the Goodies-commits
mailing list