From 25ba04ba7de3f3355789da509e10417d3be81144 Mon Sep 17 00:00:00 2001 From: Colin Clark Date: Thu, 18 Oct 2018 19:31:24 +0100 Subject: [PATCH] Permit rotate commands to be on toolbar --- src/icons/Makefile.am | 17 ++++++++++++++--- src/icons/icon_flip.png | Bin 0 -> 714 bytes src/icons/icon_mirror.png | Bin 0 -> 818 bytes src/icons/icon_original.png | Bin 0 -> 30134 bytes src/icons/icon_rotate_180.png | Bin 0 -> 1790 bytes src/icons/icon_rotate_clockwise.png | Bin 0 -> 1621 bytes src/icons/icon_rotate_counter_clockwise.png | Bin 0 -> 1631 bytes src/layout_util.c | 12 ++++++------ src/pixbuf_util.c | 6 ++++++ src/pixbuf_util.h | 7 +++++++ src/toolbar.c | 6 ++++++ 11 files changed, 39 insertions(+), 9 deletions(-) create mode 100644 src/icons/icon_flip.png create mode 100644 src/icons/icon_mirror.png create mode 100644 src/icons/icon_original.png create mode 100644 src/icons/icon_rotate_180.png create mode 100644 src/icons/icon_rotate_clockwise.png create mode 100644 src/icons/icon_rotate_counter_clockwise.png diff --git a/src/icons/Makefile.am b/src/icons/Makefile.am index 589b2698..9ee0f5cc 100644 --- a/src/icons/Makefile.am +++ b/src/icons/Makefile.am @@ -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 index 0000000000000000000000000000000000000000..5dfa4086bfb90714cb90fd5d6c55c6cd03289d46 GIT binary patch literal 714 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H0wgodS2_SGrX+877l!}s{b%+Ad7K3vk;M!Q z+`=Ht$S`Y;1W=H@#M9T6{SlWCzpBNX&>c5`nxZ{j978H@y}f&|@Q{H(>%-C=ml%Cj zN?XEw^k)Ql$a)GcWL|g1V!D7wQsUYrUn`#0mzJ^IZ**^)x!qTPd!~!&+720&(yEQK z-3m+V%R@F#?T&e3%6#CR#yUUNifNm_Tsj>&Z#u_@iI>kitKZb&P0*F!FIPSN>m-J- zqCe#i1H(=;zF=E_N1t^8Z`>_C#sux@50>8YDB&pR-FM-l>muuh-!HgjeO0WOe@NFZ z6qfH?$I!M&za&ZdqNv02U3Kx&4y)@JbA1{57wM}D&1L9uji2eE^H+D1goDqQsU1gV zG97V?uTwcEclXYr<0ZI$7 z;7duRtLG{w_0XMFY0bf3B*LqfZa?kMnh^8q8RLOv*WT}bd5yi{M0e=M#o`Q`v;6HD z+@7wR$Kdm-ww7_tleHzYm+CV#cjf0Z9QD5UmvM>vqlD!fWg8v_wM^=kt6>s}`T9`Q zLAo>c%*!%6geZvX8^rh~+3=2Kp zB+0F1PS6liE|<8%IAP8&E zL#Y7+!>a@a2CEqi4C48d;*Yuk)iNb{ySp&_Z|^^|AIRe@@Q5sCVBi)8VMc~ob0k25 zWd)AuK)L~p4IUcK0%|k%ba4!+xb=3<>D)sBA};HXOykR7dUas!gt!HwE11Ovtv-mI z3}jL{_~Y}uiQ@B&ADhlru6*{-=gPslLkv6z7~ZRWX(j*BaRP()eO=X{x@p0;`?`&<(tUryT6=4<8qkdDh9umrwx1=Bwq*EGR)*IG-cr2x1LAg zDam0EtQg$n99J+%)UqA^xd`ZKFsfj<_pjgrl*4ntFrR@f0gMW+D}760IBmgo zmoGJ2G=1gcl|E}92fwM(@xHy{$+_o7Te??2_?yu7K3gsz?T4M%fy3VyGF&U1xKHui zhgyY(^!x3M6<=#b8qDsqGiH3R7cisg*xkTQCA5g34KRAh(A)e!|*F$D$hJBK|RwiseT*W*w(CZ{i z;Y%J@_iPPefuM+6{U^MvQAJ zWxf5UacZr4*v}}@z$n4+>nGEnh&0YJHkFgWbfjA18c~vxSdwa$T$Bo=7>o=IO?3?o zb&ZTd42-Ny%&ZKJbq&m|3=DSfyEq3$LvDUbW?Cg~4W}MwDgZSwc)I$ztaD0e0sw$# BG|K=0 literal 0 HcmV?d00001 diff --git a/src/icons/icon_original.png b/src/icons/icon_original.png new file mode 100644 index 0000000000000000000000000000000000000000..c26abf49d0ad8dd35bc6a4e1bd6e3dbabb6782eb GIT binary patch literal 30134 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 literal 0 HcmV?d00001 diff --git a/src/icons/icon_rotate_180.png b/src/icons/icon_rotate_180.png new file mode 100644 index 0000000000000000000000000000000000000000..944ee244c2910c0d4679680239c28a6a45d8e7f2 GIT binary patch literal 1790 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 T_xmim00000NkvXXu0mjfERF)H literal 0 HcmV?d00001 diff --git a/src/icons/icon_rotate_counter_clockwise.png b/src/icons/icon_rotate_counter_clockwise.png new file mode 100644 index 0000000000000000000000000000000000000000..123a5bcd82ebb2de8adf2e652616b5cdf2c95838 GIT binary patch literal 1631 zcmV-l2B7(gP)DR{T+dQql)t&e0E3*T zk2Cbp!)PWEP(&4va6fBVBD`aqll;t2{J?MFe%>m1hc2c_I&4!MV<&fq(e;(QMUP|0 zXSY-Apd>ubKS3)Kt~sA-6C7kypmUf=W46%gy6ZFBaklDJvS&Eqsq?AU&2##kui$%M zoKLmGROoU31{yv1&zt9jkGWBU`x`muyYs1bj!nTjpF<)Im3N~}(MWDk?w4^iQ0G&v zi&eoq`a>$*Pm*MiC;fK+WyaOGpCrjRull*7d{340srG?Cabk>pD&0?#~YKNW8%4ZlsX@R@KNzfaibds^XL;A?B_vWLh%Ra7mnzx1NohU zJwju@2*VsV5EuU_iF8e^6DGS(v(o2%hhAYAwjn)3vQ%fE&+Y@1a7Hw?AJZ}NwD7;b zCXkF&oB`4J94FCZ92d>}4+oZ$d`P4SC!B7jJTKz6jv!Gd8sipcolBy>=D^eP&7!E# zQTQVXdY1=Iz;aQ5{J4F`UkkdeR(ySH?$!&EoJFb#C=?{lHcSUM58?zQirCk*nyJ|xt+KoTkEwaBrmGP?2RT8k@xVEX1b<}8J@`@XI77vhT+)Zkf zJpuO_AGKkX1dPybOr{A4Si*Y472ly1rjgwxNtLfP>S@{v|ER2E$&xIudrl7;PY9O0~o}JJ*NOr&kyl)ucK7f3W4m5WukjEEgAzU#R zTzCHh#R_JDM-8Jqmb$Ql%dWbAnMxJYV7c*d?SI(p;sNIgCCM=;GK}=n%!}(?BcNW5 z5at?pF|NU0SKLpa2QlMluYntqcqnk`vmsz&_6_MuVwbX&VXko{I|u1Vq7Lb^nFNRC zyUD2}YLPyNGB^`XBvFs_ISPbkqdvsa=O7fG4~fu9pY>vBe%MH&F6o+SPoLs8{+@5N(diAE(aHNZ&MWcW--qt|V%fK6xa& z)3(c$B2PGet7)KjCOeb(v)ua^4gqU`1azY)`!0@X7!0%Shqkb? z4gvx#tsOi8ffrW~l7I<5(NSJM7y?v%V8L$!x-%=$ZTpdxnoQf~$f(ckctt?SKD6W> z0n?w_a&@}9E)=AU(ajN#aM=Bit?46Rl2OL^W5(z9y6IuuD|1=VcZVYaA_5`;A_5`; dA_5jI{sB)B4Xfr9q0ImQ002ovPDHLkV1iG>2?+oI literal 0 HcmV?d00001 diff --git a/src/layout_util.c b/src/layout_util.c index 06edd5f2..2ff1a70c 100644 --- a/src/layout_util.c +++ b/src/layout_util.c @@ -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"), "W", N_("Close window"), CB(layout_menu_close_cb) }, { "Quit", GTK_STOCK_QUIT, N_("_Quit"), "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"), "KP_0", N_("Rating 0"), CB(layout_menu_rating_0_cb) }, { "Rating1", NULL, N_("_Rating 1"), "KP_1", N_("Rating 1"), CB(layout_menu_rating_1_cb) }, { "Rating2", NULL, N_("_Rating 2"), "KP_2", N_("Rating 2"), CB(layout_menu_rating_2_cb) }, @@ -1894,11 +1894,11 @@ static GtkActionEntry menu_entries[] = { { "Rating4", NULL, N_("_Rating 4"), "KP_4", N_("Rating 4"), CB(layout_menu_rating_4_cb) }, { "Rating5", NULL, N_("_Rating 5"), "KP_5", N_("Rating 5"), CB(layout_menu_rating_5_cb) }, { "RatingM1", NULL, N_("_Rating -1"), "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"), "R", N_("Rotate 180"), CB(layout_menu_alter_180_cb) }, - { "Mirror", NULL, N_("_Mirror"), "M", N_("Mirror"), CB(layout_menu_alter_mirror_cb) }, - { "Flip", NULL, N_("_Flip"), "F", N_("Flip"), CB(layout_menu_alter_flip_cb) }, - { "AlterNone", NULL, N_("_Original state"), "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"), "R", N_("Rotate 180"), CB(layout_menu_alter_180_cb) }, + { "Mirror", PIXBUF_INLINE_ICON_MIRROR, N_("_Mirror"), "M", N_("Mirror"), CB(layout_menu_alter_mirror_cb) }, + { "Flip", PIXBUF_INLINE_ICON_FLIP, N_("_Flip"), "F", N_("Flip"), CB(layout_menu_alter_flip_cb) }, + { "AlterNone", PIXBUF_INLINE_ICON_ORIGINAL, N_("_Original state"), "O", N_("Original state"), CB(layout_menu_alter_none_cb) }, { "SelectAll", PIXBUF_INLINE_ICON_SELECT_ALL, N_("Select _all"), "A", N_("Select all"), CB(layout_menu_select_all_cb) }, { "SelectNone", PIXBUF_INLINE_ICON_SELECT_NONE, N_("Select _none"), "A", N_("Select none"), CB(layout_menu_unselect_all_cb) }, { "SelectInvert", PIXBUF_INLINE_ICON_SELECT_INVERT, N_("_Invert Selection"), "I", N_("Invert Selection"), CB(layout_menu_invert_selection_cb) }, diff --git a/src/pixbuf_util.c b/src/pixbuf_util.c index f32e110d..4b2af513 100644 --- a/src/pixbuf_util.c +++ b/src/pixbuf_util.c @@ -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 } }; diff --git a/src/pixbuf_util.h b/src/pixbuf_util.h index fe124fb8..47416a79 100644 --- a/src/pixbuf_util.h +++ b/src/pixbuf_util.h @@ -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); diff --git a/src/toolbar.c b/src/toolbar.c index 008fafe9..7325f65f 100644 --- a/src/toolbar.c +++ b/src/toolbar.c @@ -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}, -- 2.20.1