From 1a9d4ffecfd59ec50d3067243436f41d42344624 Mon Sep 17 00:00:00 2001 From: electrikmilk Date: Tue, 23 Aug 2022 19:26:06 -0400 Subject: [PATCH] PixelPaint: Add more icons This adds menu item icons for Add Mask, Flatten Image, Fit Image To View, and Generic 5x5 Convolution. This modifies the menu item icon for Swap Colors to make the action more obvious and improve accessibility. --- Base/res/icons/pixelpaint/add-mask.png | Bin 0 -> 208 bytes .../res/icons/pixelpaint/fit-image-to-view.png | Bin 0 -> 160 bytes Base/res/icons/pixelpaint/flatten-image.png | Bin 0 -> 159 bytes .../pixelpaint/generic-5x5-convolution.png | Bin 0 -> 112 bytes Base/res/icons/pixelpaint/swap-colors.png | Bin 3070 -> 153 bytes Userland/Applications/PixelPaint/IconBag.cpp | 4 ++++ Userland/Applications/PixelPaint/IconBag.h | 4 ++++ .../Applications/PixelPaint/MainWidget.cpp | 8 ++++---- 8 files changed, 12 insertions(+), 4 deletions(-) create mode 100644 Base/res/icons/pixelpaint/add-mask.png create mode 100644 Base/res/icons/pixelpaint/fit-image-to-view.png create mode 100644 Base/res/icons/pixelpaint/flatten-image.png create mode 100644 Base/res/icons/pixelpaint/generic-5x5-convolution.png diff --git a/Base/res/icons/pixelpaint/add-mask.png b/Base/res/icons/pixelpaint/add-mask.png new file mode 100644 index 0000000000000000000000000000000000000000..4fcfaddddd702e521ce8b559f02a98e0d5718324 GIT binary patch literal 208 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd7G?$phPQVgfdsSyd_r6q7#P$GOh9D5iF$#F zdV#5Wfw}c^KkMcG)+_w1R|MGE+4=eTrKP3)h?{?rfq{XkB*-tA;m@HN#rzBm48fi* zjv*Y;$q5aN^NbS;8XDa>c|;s~c9$#i#Im(HCmds4;3VKIz9d!Hk8QQF$45qm#iB

DotR2Dq5DsWQe!~%wg#zq<%jf~37 z&0X9A5=^Y2PK^yIZJP`Q7$mv6niLLnY;X!>$kOCtVDLP{ciSxQUI@r0Pgg&ebxsLQ E0NQvi+yDRo literal 0 HcmV?d00001 diff --git a/Base/res/icons/pixelpaint/flatten-image.png b/Base/res/icons/pixelpaint/flatten-image.png new file mode 100644 index 0000000000000000000000000000000000000000..43b9f41ed30852235419c91d01c8deeb25453f4a GIT binary patch literal 159 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRdCT0c(hNQXTpBNYzcmjMvTp7T?&(H7w|NnD% zH}7L$U|=i>@(X5gcy=R=fq}u%)5S4_BRV-DAtxcBL11B|gOdr9#|AY9PPGX$zKJR% z|Bq*9d;9gTe~DWM4fmscWG literal 0 HcmV?d00001 diff --git a/Base/res/icons/pixelpaint/swap-colors.png b/Base/res/icons/pixelpaint/swap-colors.png index e264ac3f573498a464f44c4ca3cd44856096c1b5..8851eac356f9fd21575ea9c544209f358672bf53 100644 GIT binary patch delta 137 zcmew-K9g~RL_HHT0|P_ST=7o~3=BL0J|V6QVBqKH_y7O@IlPqoWQ`iHk6l#=hy#OhnB?*6ACyOg!~i^F{(`4+T>_zV$#ys$mvmF l)yN^x&3q(Dpvkj=fr0C>pricJD1DF>p00i_>ztSpngGC}C_MlG literal 3070 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_rKYnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;=6Z&@$p!`n3g(u2sVRv@Nycf3$vO%~ z21bVZhKBlv=DLRFRz}8FhL#FYpk$|DQsyD7YR%GH(3X*{!c`OG3#gVFH8u<}w6rod zvobZ)H88a@Fn}oa%}>cptAr~x(ls#BHLwIJH8ij?wLnptT9TNOSdvIkaZ0jPT7FS( zVu`I%W^Q77s(wLUx{?AsZmpd2bMlLP^HWl7m5jlz@b$Iw%quQQ%u7!7bg@;c$Su&z z%uKN|w=hmIG&f7uHAziM(KSg)Gu2HrH#5>TNlQyfGcZUrN;NZs>37LbE(IkwkbX$! zOUX~pOtC`PYHpBdnrfV6p=*(9oUCh+YLcjHnQUyJo04Xjl9ZI3WNMg_3Ny{WC^J1X zFEIz%RFJDuGE=Nlk_}DM43dp>Q;f`vbxjN`EOe91%uRHY%q`54Op+2)QcTR06hQH9 zP`b-0g$SA(85kHC=o^AasC*;=d4zOmUS^4{l97@ED8)cR zHMk%#In`Fl%+%D_6e=E&S&^C(;gXq~npd2epJ%INXof5ki7Eps&Oq7C$|JM5B)_N< zTG|As7D8D$nF`<>W|f!>@j@~veWs=;L4`B1L?m%R1~IlgBQ+0is)Z;k&QB{TPb^Ax zOi#@#AtGPs<8*$0URi2U3Bm&fiA9OIsU@jJ#kNXmMftf3@HDJYlCO|hP>_?E431L$ zvb+>%u?SCPN;vH)PAo&%fh~~C4NMJ93{s4A6D`b>bWIYCQgtm-Ez)#N3{sNK6I0Ag zOw!;0#X#3I z&Cp2KB*`#QH_ZoHM;Z#Rd84C%2x<->es7V4TcJ#pw0HhKL!gqm$r5h-Zf@^In zY}ty~bQqMHW|cy)5=l)KB3`ikMsUwK!}rDhBX<+k;@7I)^)kesBXq|$lmYgSuyD#s+YLn;pUzbkuGn%{KX z7MptY>QeiquN0IDzW)$^WWIFDm8q?|w%3lodQ)_Z;XO}E+9|R2)U=%M+tnnFNlsx5 z-MeiI(~lWOj6Sj-FB(5HORMb@T9Cw_86|#ICgn9#!FR>C)3$uE-p`OQ)ir&&;73rq Op25@A&t;ucLK6T1x$qtU diff --git a/Userland/Applications/PixelPaint/IconBag.cpp b/Userland/Applications/PixelPaint/IconBag.cpp index 0cd63b08d4..c896106d30 100644 --- a/Userland/Applications/PixelPaint/IconBag.cpp +++ b/Userland/Applications/PixelPaint/IconBag.cpp @@ -22,6 +22,7 @@ ErrorOr IconBag::try_create() icon_bag.default_colors = TRY(Gfx::Bitmap::try_load_from_file("/res/icons/pixelpaint/default-colors.png"sv)); icon_bag.load_color_palette = TRY(Gfx::Bitmap::try_load_from_file("/res/icons/pixelpaint/load-color-palette.png"sv)); icon_bag.save_color_palette = TRY(Gfx::Bitmap::try_load_from_file("/res/icons/pixelpaint/save-color-palette.png"sv)); + icon_bag.fit_image_to_view = TRY(Gfx::Bitmap::try_load_from_file("/res/icons/pixelpaint/fit-image-to-view.png"sv)); icon_bag.add_guide = TRY(Gfx::Bitmap::try_load_from_file("/res/icons/pixelpaint/add-guide.png"sv)); icon_bag.clear_guides = TRY(Gfx::Bitmap::try_load_from_file("/res/icons/pixelpaint/clear-guides.png"sv)); icon_bag.edit_flip_vertical = TRY(Gfx::Bitmap::try_load_from_file("/res/icons/16x16/edit-flip-vertical.png"sv)); @@ -36,11 +37,14 @@ ErrorOr IconBag::try_create() icon_bag.active_layer_up = TRY(Gfx::Bitmap::try_load_from_file("/res/icons/pixelpaint/active-layer-up.png"sv)); icon_bag.active_layer_down = TRY(Gfx::Bitmap::try_load_from_file("/res/icons/pixelpaint/active-layer-down.png"sv)); icon_bag.delete_layer = TRY(Gfx::Bitmap::try_load_from_file("/res/icons/16x16/delete.png"sv)); + icon_bag.flatten_image = TRY(Gfx::Bitmap::try_load_from_file("/res/icons/pixelpaint/flatten-image.png"sv)); icon_bag.merge_visible = TRY(Gfx::Bitmap::try_load_from_file("/res/icons/pixelpaint/merge-visible.png"sv)); icon_bag.merge_active_layer_up = TRY(Gfx::Bitmap::try_load_from_file("/res/icons/pixelpaint/merge-active-layer-up.png"sv)); icon_bag.merge_active_layer_down = TRY(Gfx::Bitmap::try_load_from_file("/res/icons/pixelpaint/merge-active-layer-down.png"sv)); icon_bag.filter = TRY(Gfx::Bitmap::try_load_from_file("/res/icons/pixelpaint/filter.png"sv)); + icon_bag.generic_5x5_convolution = TRY(Gfx::Bitmap::try_load_from_file("/res/icons/pixelpaint/generic-5x5-convolution.png"sv)); icon_bag.levels = TRY(Gfx::Bitmap::try_load_from_file("/res/icons/pixelpaint/levels.png"sv)); + icon_bag.add_mask = TRY(Gfx::Bitmap::try_load_from_file("/res/icons/pixelpaint/add-mask.png"sv)); return icon_bag; } diff --git a/Userland/Applications/PixelPaint/IconBag.h b/Userland/Applications/PixelPaint/IconBag.h index 97e5615464..1f5d6d4e71 100644 --- a/Userland/Applications/PixelPaint/IconBag.h +++ b/Userland/Applications/PixelPaint/IconBag.h @@ -23,6 +23,7 @@ struct IconBag final { RefPtr default_colors { nullptr }; RefPtr load_color_palette { nullptr }; RefPtr save_color_palette { nullptr }; + RefPtr fit_image_to_view { nullptr }; RefPtr add_guide { nullptr }; RefPtr clear_guides { nullptr }; RefPtr edit_flip_vertical { nullptr }; @@ -37,10 +38,13 @@ struct IconBag final { RefPtr active_layer_up { nullptr }; RefPtr active_layer_down { nullptr }; RefPtr delete_layer { nullptr }; + RefPtr flatten_image { nullptr }; RefPtr merge_visible { nullptr }; RefPtr merge_active_layer_up { nullptr }; RefPtr merge_active_layer_down { nullptr }; RefPtr filter { nullptr }; + RefPtr generic_5x5_convolution { nullptr }; RefPtr levels { nullptr }; + RefPtr add_mask { nullptr }; }; } diff --git a/Userland/Applications/PixelPaint/MainWidget.cpp b/Userland/Applications/PixelPaint/MainWidget.cpp index f3de3a0f3d..0d63b9ed4b 100644 --- a/Userland/Applications/PixelPaint/MainWidget.cpp +++ b/Userland/Applications/PixelPaint/MainWidget.cpp @@ -450,7 +450,7 @@ void MainWidget::initialize_menubar(GUI::Window& window) m_view_menu->add_action(*m_zoom_out_action); m_view_menu->add_action(*m_reset_zoom_action); m_view_menu->add_action(GUI::Action::create( - "Fit Image To &View", [&](auto&) { + "Fit Image To &View", g_icon_bag.fit_image_to_view, [&](auto&) { auto* editor = current_image_editor(); VERIFY(editor); editor->fit_image_to_view(); @@ -594,7 +594,7 @@ void MainWidget::initialize_menubar(GUI::Window& window) m_layer_menu->add_separator(); m_layer_menu->add_action(GUI::Action::create( - "Add M&ask", { Mod_Ctrl | Mod_Shift, Key_M }, nullptr, [&](auto&) { + "Add M&ask", { Mod_Ctrl | Mod_Shift, Key_M }, g_icon_bag.add_mask, [&](auto&) { auto* editor = current_image_editor(); VERIFY(editor); auto active_layer = editor->active_layer(); @@ -691,7 +691,7 @@ void MainWidget::initialize_menubar(GUI::Window& window) }; m_layer_menu->add_separator(); m_layer_menu->add_action(GUI::Action::create( - "Fl&atten Image", { Mod_Ctrl, Key_F }, [&](auto&) { + "Fl&atten Image", { Mod_Ctrl, Key_F }, g_icon_bag.flatten_image, [&](auto&) { auto* editor = current_image_editor(); VERIFY(editor); editor->image().flatten_all_layers(); @@ -784,7 +784,7 @@ void MainWidget::initialize_menubar(GUI::Window& window) })); m_filter_menu->add_separator(); - m_filter_menu->add_action(GUI::Action::create("Generic 5x5 &Convolution", [&](auto&) { + m_filter_menu->add_action(GUI::Action::create("Generic 5x5 &Convolution", g_icon_bag.generic_5x5_convolution, [&](auto&) { auto* editor = current_image_editor(); VERIFY(editor); if (auto* layer = editor->active_layer()) {