Permit rotate commands to be on toolbar
authorColin Clark <colin.clark@cclark.uk>
Thu, 18 Oct 2018 18:31:24 +0000 (19:31 +0100)
committerColin Clark <colin.clark@cclark.uk>
Thu, 18 Oct 2018 18:31:24 +0000 (19:31 +0100)
src/icons/Makefile.am
src/icons/icon_flip.png [new file with mode: 0644]
src/icons/icon_mirror.png [new file with mode: 0644]
src/icons/icon_original.png [new file with mode: 0644]
src/icons/icon_rotate_180.png [new file with mode: 0644]
src/icons/icon_rotate_clockwise.png [new file with mode: 0644]
src/icons/icon_rotate_counter_clockwise.png [new file with mode: 0644]
src/layout_util.c
src/pixbuf_util.c
src/pixbuf_util.h
src/toolbar.c

index 589b269..9ee0f5c 100644 (file)
@@ -40,8 +40,13 @@ ICONS_INLINE = \
        icon_select_none.png \
        icon_select_invert.png \
        icon_select_rectangle.png \
-       icon_file_filter.png
-
+       icon_file_filter.png \
+       icon_rotate_clockwise.png \
+       icon_rotate_counter_clockwise.png \
+       icon_rotate_180.png \
+       icon_mirror.png \
+       icon_flip.png \
+       icon_original.png
 
 ICONS_INLINE_PAIRS = \
        folder_closed           $(srcdir)/folder_closed.png     \
@@ -80,7 +85,13 @@ ICONS_INLINE_PAIRS = \
        icon_select_none        $(srcdir)/icon_select_none.png \
        icon_select_invert      $(srcdir)/icon_select_invert.png \
        icon_select_rectangle   $(srcdir)/icon_select_rectangle.png \
-       icon_file_filter        $(srcdir)/icon_file_filter.png
+       icon_file_filter        $(srcdir)/icon_file_filter.png \
+       icon_rotate_clockwise   $(srcdir)/icon_rotate_clockwise.png \
+       icon_rotate_counter_clockwise   $(srcdir)/icon_rotate_counter_clockwise.png \
+       icon_rotate_180 $(srcdir)/icon_rotate_180.png \
+       icon_mirror     $(srcdir)/icon_mirror.png \
+       icon_flip       $(srcdir)/icon_flip.png \
+       icon_original   $(srcdir)/icon_original.png
 
 icons_inline.h: $(ICONS_INLINE) Makefile.in
        @sh -ec "echo '/* Auto generated file, do not edit */'; echo; \
diff --git a/src/icons/icon_flip.png b/src/icons/icon_flip.png
new file mode 100644 (file)
index 0000000..5dfa408
Binary files /dev/null and b/src/icons/icon_flip.png differ
diff --git a/src/icons/icon_mirror.png b/src/icons/icon_mirror.png
new file mode 100644 (file)
index 0000000..9c96541
Binary files /dev/null and b/src/icons/icon_mirror.png differ
diff --git a/src/icons/icon_original.png b/src/icons/icon_original.png
new file mode 100644 (file)
index 0000000..c26abf4
Binary files /dev/null and b/src/icons/icon_original.png differ
diff --git a/src/icons/icon_rotate_180.png b/src/icons/icon_rotate_180.png
new file mode 100644 (file)
index 0000000..944ee24
Binary files /dev/null and b/src/icons/icon_rotate_180.png differ
diff --git a/src/icons/icon_rotate_clockwise.png b/src/icons/icon_rotate_clockwise.png
new file mode 100644 (file)
index 0000000..aee82a4
Binary files /dev/null and b/src/icons/icon_rotate_clockwise.png differ
diff --git a/src/icons/icon_rotate_counter_clockwise.png b/src/icons/icon_rotate_counter_clockwise.png
new file mode 100644 (file)
index 0000000..123a5bc
Binary files /dev/null and b/src/icons/icon_rotate_counter_clockwise.png differ
index 06edd5f..2ff1a70 100644 (file)
@@ -1886,7 +1886,7 @@ static GtkActionEntry menu_entries[] = {
   { "CopyPathUnquoted",                NULL,                   N_("_Copy path unquoted to clipboard"),         NULL,                   N_("Copy path unquoted to clipboard"),          CB(layout_menu_copy_path_unquoted_cb) },
   { "CloseWindow",     GTK_STOCK_CLOSE,        N_("C_lose window"),                    "<control>W",           N_("Close window"),                     CB(layout_menu_close_cb) },
   { "Quit",            GTK_STOCK_QUIT,         N_("_Quit"),                            "<control>Q",           N_("Quit"),                             CB(layout_menu_exit_cb) },
-  { "RotateCW",                NULL,                   N_("_Rotate clockwise"),                "bracketright",         N_("Rotate clockwise"),                 CB(layout_menu_alter_90_cb) },
+  { "RotateCW",                PIXBUF_INLINE_ICON_CW,                  N_("_Rotate clockwise"),                "bracketright",         N_("Rotate clockwise"),                 CB(layout_menu_alter_90_cb) },
   { "Rating0",         NULL,                   N_("_Rating 0"),        "<alt>KP_0",    N_("Rating 0"),                 CB(layout_menu_rating_0_cb) },
   { "Rating1",         NULL,                   N_("_Rating 1"),        "<alt>KP_1",    N_("Rating 1"),                 CB(layout_menu_rating_1_cb) },
   { "Rating2",         NULL,                   N_("_Rating 2"),        "<alt>KP_2",    N_("Rating 2"),                 CB(layout_menu_rating_2_cb) },
@@ -1894,11 +1894,11 @@ static GtkActionEntry menu_entries[] = {
   { "Rating4",         NULL,                   N_("_Rating 4"),        "<alt>KP_4",    N_("Rating 4"),                 CB(layout_menu_rating_4_cb) },
   { "Rating5",         NULL,                   N_("_Rating 5"),        "<alt>KP_5",    N_("Rating 5"),                 CB(layout_menu_rating_5_cb) },
   { "RatingM1",                NULL,                   N_("_Rating -1"),       "<alt>KP_Subtract",     N_("Rating -1"),        CB(layout_menu_rating_m1_cb) },
-  { "RotateCCW",       NULL,                   N_("Rotate _counterclockwise"),         "bracketleft",          N_("Rotate counterclockwise"),          CB(layout_menu_alter_90cc_cb) },
-  { "Rotate180",       NULL,                   N_("Rotate 1_80"),                      "<shift>R",             N_("Rotate 180"),                       CB(layout_menu_alter_180_cb) },
-  { "Mirror",          NULL,                   N_("_Mirror"),                          "<shift>M",             N_("Mirror"),                           CB(layout_menu_alter_mirror_cb) },
-  { "Flip",            NULL,                   N_("_Flip"),                            "<shift>F",             N_("Flip"),                             CB(layout_menu_alter_flip_cb) },
-  { "AlterNone",       NULL,                   N_("_Original state"),                  "<shift>O",             N_("Original state"),                   CB(layout_menu_alter_none_cb) },
+  { "RotateCCW",       PIXBUF_INLINE_ICON_CCW, N_("Rotate _counterclockwise"),         "bracketleft",          N_("Rotate counterclockwise"),          CB(layout_menu_alter_90cc_cb) },
+  { "Rotate180",       PIXBUF_INLINE_ICON_180, N_("Rotate 1_80"),      "<shift>R",             N_("Rotate 180"),                       CB(layout_menu_alter_180_cb) },
+  { "Mirror",          PIXBUF_INLINE_ICON_MIRROR,      N_("_Mirror"),  "<shift>M",             N_("Mirror"),                           CB(layout_menu_alter_mirror_cb) },
+  { "Flip",            PIXBUF_INLINE_ICON_FLIP,        N_("_Flip"),    "<shift>F",             N_("Flip"),                             CB(layout_menu_alter_flip_cb) },
+  { "AlterNone",       PIXBUF_INLINE_ICON_ORIGINAL,    N_("_Original state"),  "<shift>O",             N_("Original state"),                   CB(layout_menu_alter_none_cb) },
   { "SelectAll",       PIXBUF_INLINE_ICON_SELECT_ALL,                  N_("Select _all"),                      "<control>A",           N_("Select all"),                       CB(layout_menu_select_all_cb) },
   { "SelectNone",      PIXBUF_INLINE_ICON_SELECT_NONE,                 N_("Select _none"),                     "<control><shift>A",    N_("Select none"),                      CB(layout_menu_unselect_all_cb) },
   { "SelectInvert",    PIXBUF_INLINE_ICON_SELECT_INVERT,                       N_("_Invert Selection"),                "<control><shift>I",    N_("Invert Selection"),                 CB(layout_menu_invert_selection_cb) },
index f32e110..4b2af51 100644 (file)
@@ -139,6 +139,12 @@ static PixbufInline inline_pixbuf_data[] = {
        { PIXBUF_INLINE_ICON_SELECT_INVERT,     icon_select_invert },
        { PIXBUF_INLINE_ICON_SELECT_RECTANGLE,  icon_select_rectangle },
        { PIXBUF_INLINE_ICON_FILE_FILTER,       icon_file_filter },
+       { PIXBUF_INLINE_ICON_CW,        icon_rotate_clockwise },
+       { PIXBUF_INLINE_ICON_CCW,       icon_rotate_counter_clockwise },
+       { PIXBUF_INLINE_ICON_180,       icon_rotate_180 },
+       { PIXBUF_INLINE_ICON_MIRROR,    icon_mirror },
+       { PIXBUF_INLINE_ICON_FLIP,      icon_flip },
+       { PIXBUF_INLINE_ICON_ORIGINAL,  icon_original },
        { NULL, NULL }
 };
 
index fe124fb..47416a7 100644 (file)
@@ -74,6 +74,13 @@ gboolean pixbuf_scale_aspect(gint req_w, gint req_h, gint old_w, gint old_h, gin
 #define PIXBUF_INLINE_ICON_SELECT_RECTANGLE    "icon_select_rectangle"
 #define PIXBUF_INLINE_ICON_FILE_FILTER "icon_file_filter"
 
+#define PIXBUF_INLINE_ICON_CW  "icon_rotate_clockwise"
+#define PIXBUF_INLINE_ICON_CCW "icon_rotate_counter_clockwise"
+#define PIXBUF_INLINE_ICON_180 "icon_rotate_180"
+#define PIXBUF_INLINE_ICON_MIRROR      "icon_mirror"
+#define PIXBUF_INLINE_ICON_FLIP        "icon_flip"
+#define PIXBUF_INLINE_ICON_ORIGINAL    "icon_original"
+
 GdkPixbuf *pixbuf_copy_rotate_90(GdkPixbuf *src, gboolean counter_clockwise);
 GdkPixbuf *pixbuf_copy_mirror(GdkPixbuf *src, gboolean mirror, gboolean flip);
 GdkPixbuf* pixbuf_apply_orientation(GdkPixbuf *pixbuf, gint orientation);
index 008fafe..7325f65 100644 (file)
@@ -100,6 +100,12 @@ static const UseableToolbarItems useable_toolbar_items[] = {
        {"Preferences", N_("Preferences"), GTK_STOCK_PREFERENCES},
        {"LayoutConfig",        N_("Configure this window"), GTK_STOCK_PREFERENCES},
        {"Maintenance", N_("Cache maintenance"), PIXBUF_INLINE_ICON_MAINTENANCE},
+       {"RotateCW",    N_("Rotate clockwise"), PIXBUF_INLINE_ICON_CW},
+       {"RotateCCW",   N_("Rotate counterclockwise"), PIXBUF_INLINE_ICON_CCW},
+       {"Rotate180",   N_("Rotate 180"), PIXBUF_INLINE_ICON_180},
+       {"Mirror",      N_("Mirror"), PIXBUF_INLINE_ICON_MIRROR},
+       {"Flip",        N_("Flip"), PIXBUF_INLINE_ICON_FLIP},
+       {"AlterNone",   N_("Original state"), PIXBUF_INLINE_ICON_ORIGINAL},
        {"ZoomIn",      N_("Zoom in"), GTK_STOCK_ZOOM_IN},
        {"ZoomOut",     N_("Zoom out"), GTK_STOCK_ZOOM_OUT},
        {"Zoom100",     N_("Zoom 1:1"), GTK_STOCK_ZOOM_100},