[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