Author: abrander
Date: 2010-04-01 20:17:44 +0200 (Thu, 01 Apr 2010)
New Revision: 3296

Modified:
   trunk/src/gtk-interface.c
   trunk/src/rs-actions.c
   trunk/src/rs-toolbox.c
   trunk/src/rs-toolbox.h
   trunk/src/ui.xml
Log:
Added shortcuts and menu entries for selecting snapshot.

Modified: trunk/src/gtk-interface.c
===================================================================
--- trunk/src/gtk-interface.c   2010-04-01 18:16:29 UTC (rev 3295)
+++ trunk/src/gtk-interface.c   2010-04-01 18:17:44 UTC (rev 3296)
@@ -1081,9 +1081,12 @@
 
        rs->store = RS_STORE(rs->iconbox);
 
+       rs_get_core_action_group(rs);
+
        /* Build toolbox */
        rs->tools = tools = rs_toolbox_new();
        g_signal_connect(tools, "snapshot-changed", 
G_CALLBACK(snapshot_changed), rs);
+       rs_toolbox_register_actions(RS_TOOLBOX(tools));
 
        batchbox = make_batchbox(rs->queue);
 

Modified: trunk/src/rs-actions.c
===================================================================
--- trunk/src/rs-actions.c      2010-04-01 18:16:29 UTC (rev 3295)
+++ trunk/src/rs-actions.c      2010-04-01 18:17:44 UTC (rev 3296)
@@ -1012,6 +1012,7 @@
        { "HelpMenu", NULL, _("_Help") },
        { "DebugMenu", NULL, "_Debug" },
        { "PreviewPopup", NULL, NULL, NULL, NULL, ACTION_CB(preview_popup) },
+       { "SnapshotMenu", NULL, "_Snapshot" },
 
        /* File menu */
        { "Open", GTK_STOCK_OPEN, _("_Open Directory"), "<control>O", NULL, 
ACTION_CB(open) },

Modified: trunk/src/rs-toolbox.c
===================================================================
--- trunk/src/rs-toolbox.c      2010-04-01 18:16:29 UTC (rev 3295)
+++ trunk/src/rs-toolbox.c      2010-04-01 18:17:44 UTC (rev 3296)
@@ -36,6 +36,7 @@
 #include "rs-actions.h"
 #include "rs-lens-db-editor.h"
 #include "rs-profile-camera.h"
+#include "rs-actions.h"
 
 /* Some helpers for creating the basic sliders */
 typedef struct {
@@ -1068,3 +1069,43 @@
                rs_curve_set_input(RS_CURVE_WIDGET(toolbox->curve[i]), input, 
display_color_space);
        
 }
+
+static void
+action_changed(GtkRadioAction *radioaction, GtkRadioAction *current, RSToolbox 
*toolbox)
+{
+       gtk_notebook_set_current_page(GTK_NOTEBOOK(toolbox->notebook), 
gtk_radio_action_get_current_value(radioaction));
+}
+
+static void
+action_previous(GtkAction *action, RSToolbox *toolbox)
+{
+       gtk_notebook_prev_page(GTK_NOTEBOOK(toolbox->notebook));
+}
+
+static void
+action_next(GtkAction *action, RSToolbox *toolbox)
+{
+       gtk_notebook_next_page(GTK_NOTEBOOK(toolbox->notebook));
+}
+
+extern void
+rs_toolbox_register_actions(RSToolbox *toolbox)
+{
+       g_assert(RS_IS_TOOLBOX(toolbox));
+
+       GtkRadioActionEntry select_snapshot[] = {
+       { "SnapshotA", NULL, _(" A "), NULL, NULL, 0 },
+       { "SnapshotB", NULL, _(" B "), NULL, NULL, 1 },
+       { "SnapshotC", NULL, _(" C "), NULL, NULL, 2 },
+       };
+       static guint n_select_snapshot = G_N_ELEMENTS (select_snapshot);
+
+       GtkActionEntry actionentries[] = {
+       { "SnapshotPrevious", GTK_STOCK_GO_BACK, _("_Previous"), 
"<control>Page_Up", NULL, G_CALLBACK(action_previous) },
+       { "SnapshotNext", GTK_STOCK_GO_FORWARD, _("_Next"), 
"<control>Page_Down", NULL, G_CALLBACK(action_next) },
+       };
+       static guint n_actionentries = G_N_ELEMENTS (actionentries);
+
+       rs_core_action_group_add_radio_actions(select_snapshot, 
n_select_snapshot, 0, G_CALLBACK(action_changed), toolbox);
+       rs_core_action_group_add_actions(actionentries, n_actionentries, 
toolbox);
+}
\ No newline at end of file

Modified: trunk/src/rs-toolbox.h
===================================================================
--- trunk/src/rs-toolbox.h      2010-04-01 18:16:29 UTC (rev 3295)
+++ trunk/src/rs-toolbox.h      2010-04-01 18:17:44 UTC (rev 3296)
@@ -62,6 +62,9 @@
 extern void
 rs_toolbox_set_histogram_input(RSToolbox *toolbox, RSFilter *input, 
RSColorSpace *display_color_space);
 
+extern void
+rs_toolbox_register_actions(RSToolbox *toolbox);
+
 G_END_DECLS
 
 #endif /* RS_TOOLBOX_H */

Modified: trunk/src/ui.xml
===================================================================
--- trunk/src/ui.xml    2010-04-01 18:16:29 UTC (rev 3295)
+++ trunk/src/ui.xml    2010-04-01 18:17:44 UTC (rev 3296)
@@ -56,6 +56,14 @@
    </menu>
    <separator />
    <menuitem action="ZommToFit" />
+   <menu action="SnapshotMenu">
+    <menuitem action="SnapshotA" />
+    <menuitem action="SnapshotB" />
+    <menuitem action="SnapshotC" />
+    <separator />
+    <menuitem action="SnapshotPrevious" />
+    <menuitem action="SnapshotNext" />
+   </menu>
    <separator />
    <menuitem action="Iconbox" />
    <menuitem action="Toolbox" />


_______________________________________________
Rawstudio-commit mailing list
[email protected]
http://rawstudio.org/cgi-bin/mailman/listinfo/rawstudio-commit

Reply via email to