From be0ac86b631c3048e8427e14254fce8a7f41bad4 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Thu, 7 Mar 2019 01:46:37 +0100 Subject: [PATCH] TextEditor: Add New/Open/Save actions. They aren't hooked up to anything, I just felt like making some icons. ;^) --- Applications/TextEditor/main.cpp | 19 +++++++++++++++++++ Base/res/icons/newdocument16.png | Bin 0 -> 1102 bytes Base/res/icons/newdocument16.rgb | Bin 0 -> 1024 bytes Base/res/icons/open16.png | Bin 0 -> 1702 bytes Base/res/icons/open16.rgb | Bin 0 -> 1024 bytes Base/res/icons/save16.png | Bin 0 -> 318 bytes Base/res/icons/save16.rgb | Bin 0 -> 1024 bytes 7 files changed, 19 insertions(+) create mode 100644 Base/res/icons/newdocument16.png create mode 100644 Base/res/icons/newdocument16.rgb create mode 100644 Base/res/icons/open16.png create mode 100644 Base/res/icons/open16.rgb create mode 100644 Base/res/icons/save16.png create mode 100644 Base/res/icons/save16.rgb diff --git a/Applications/TextEditor/main.cpp b/Applications/TextEditor/main.cpp index a35688c211..05d01cb908 100644 --- a/Applications/TextEditor/main.cpp +++ b/Applications/TextEditor/main.cpp @@ -58,6 +58,18 @@ int main(int argc, char** argv) text_editor->set_text(builder.to_string()); } + auto new_action = GAction::create("New document", { Mod_Ctrl, Key_N }, GraphicsBitmap::load_from_file(GraphicsBitmap::Format::RGBA32, "/res/icons/newdocument16.rgb", { 16, 16 }), [] (const GAction&) { + dbgprintf("FIXME: Implement File/New"); + }); + + auto open_action = GAction::create("Open document", { Mod_Ctrl, Key_O }, GraphicsBitmap::load_from_file(GraphicsBitmap::Format::RGBA32, "/res/icons/open16.rgb", { 16, 16 }), [] (const GAction&) { + dbgprintf("FIXME: Implement File/Open"); + }); + + auto save_action = GAction::create("Save document", { Mod_Ctrl, Key_S }, GraphicsBitmap::load_from_file(GraphicsBitmap::Format::RGBA32, "/res/icons/save16.rgb", { 16, 16 }), [] (const GAction&) { + dbgprintf("FIXME: Implement File/Save"); + }); + auto menubar = make(); auto app_menu = make("TextEditor"); app_menu->add_action(GAction::create("Quit", { Mod_Alt, Key_F4 }, [] (const GAction&) { @@ -67,6 +79,9 @@ int main(int argc, char** argv) menubar->add_menu(move(app_menu)); auto file_menu = make("File"); + file_menu->add_action(new_action.copy_ref()); + file_menu->add_action(open_action.copy_ref()); + file_menu->add_action(save_action.copy_ref()); menubar->add_menu(move(file_menu)); auto edit_menu = make("Edit"); @@ -80,6 +95,10 @@ int main(int argc, char** argv) app.set_menubar(move(menubar)); + toolbar->add_action(move(new_action)); + toolbar->add_action(move(open_action)); + toolbar->add_action(move(save_action)); + auto* window = new GWindow; window->set_title(String::format("TextEditor: %s", path.characters())); window->set_rect(20, 200, 640, 400); diff --git a/Base/res/icons/newdocument16.png b/Base/res/icons/newdocument16.png new file mode 100644 index 0000000000000000000000000000000000000000..303561cdf7c23bfb6966cc34af00d6f03f54d1a9 GIT binary patch literal 1102 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!to^QuB3N`ey06$*;-(=u~X z6-p`#QWa7wGSe6sDsCN}o;~TY7EkN{Y|+guDvENa4@#_h$M^2j^9IjLp6O~Y^TK;q zO6YJGUT9x9`_}*erN3Ie=WsvKT{gkFU`NfjNG_?9veyGQfBw8r?#|M}^yRO)8$APG zf0VfONq@ubwa#Bo@4I_j^O~soT8HT;v={VETzFS^{}!f|GG%e+r-bi+Wbc#yw`%Io zTiYIAeZ0Bf<5*tDa;HmEu0E7IroqKJYwLn*mHh=$+b+tLt^Z_GUXp94^8QxUiMiUR z*L`29AU@5x;>5*Gn{ChEJ#&G1>**8a`rGPc9~Hm*HLoiF_?s^N6Cn#sSDp?@iV ze*LEI0+&BLZ!NstJZB`aZj?1KpW-zqa>Cnl^UC$^>^!@xsMST^cS4@v%0-u_P57r% z%JgAz!E_ED>rAHATv=8fF#n4kZsrQWm0*rrvm=i=kwh3UuMPsv_z@A#$EvX`^8 zUrgGVrI0*9y1assyfqTud##oWgGbfUn<}*EA6lW%oV0?3?)r}Qw2Rx0Axy?UuIoyZO zc$-**0k2den><%SWqySHMfEicld|TW(TUiSa?|U=gXUI&B#G*fPN~{05=lLp&mtzN z&DUua3HGv_suQ`fHImOV$j|b5kU@syi>7<5a!YeIy?kbV`;gf7El<~m=*)k$`f5P3 zuj%zor`K8A{kMHH@!OW?drk5pyv~|uFFZOeDsO4>+S0fCqWNvVT`ATN&+2|Sg`HqZ2avzMo+dFJV+{zEKRZm`Xn z%Wf#}rT3^+{LQ;3{!W#i`CrKVr?92ei*pL@%y*T(&%7<1RXtO^%g^Dlwv1)zt&JNG zE?la#vd8%4ZPULd2R=L8-EMT-Lg(JEak-ar*6~)4T@^ zIGjDN{5+%Lb690VLe<&jD^>*NedXnxx1lj3c&R?amgQ>Y`kGP=X50?l2V7iCnZ+g+ z?4I>i%5mM94XgOfe*45RrkPzi^XKfLunzkN1_?i#f1W#D$~-|-^P-R}PdNhv1B0il KpUXO@geCw(?EugK literal 0 HcmV?d00001 diff --git a/Base/res/icons/newdocument16.rgb b/Base/res/icons/newdocument16.rgb new file mode 100644 index 0000000000000000000000000000000000000000..b7d22d3941cd6fc003c8dbf1fd96f6c61578f6a9 GIT binary patch literal 1024 zcmZReBJlI``;QG1YXwN}e>4CR17Tv!0I5UM4tCG(-MhgwAv5slC&mn1`a$Bz7?(Rh wYS7(}&IhR()sH;{Kw*O(Ug&&~8tl3m7(jC9>e2ZiHMG(|!?cWv5Rs;5pxOZkG5o#fQ0bu5Ingjy1}^9r-`5;@-B(-KBfY z>Jf9m|m)*DcE6VjDhSPXvLeGXrWh<5+yf4$f@Sgh%p_c^(tT8r8QU+~B zk9#5oT7Esc;#c>4;k`$0`#H4(F8Ix2Hk(m$&nLxu{f$X0Hz&-y>h@CC^u+a429bl? zStW!t7RYw0y5BOcR{9{Zz@Mo|?64%)gsm~2r5VbP6#O1Ml+Ly}yECU!+AXtDKuq(I zBCilfl4P=={XLc=0h^L~H(j%Oox9H%dqtgSDJg2S> zSyEqmb+uI1nw5dh8m5Ds8M@vfbTBSUW1ONV100`fAJDJyI0IGb*Ap5x_gsF5MH z@oh=Q_n>#dcc+-zU+T3F^5cE^udOJ{WBZidufHvb^8MVY6ue+!Yjd!!Y%8yDl!wfv z3bnuM-m0y-_&8>h$i$$_doHhi_pklhmH$m2+nhYlz24+mI3Z>CDizazEQ@}fS(<&i zz1g7ZTXS1h-sX2c?z-`luS!0Uyua_;hL4MDlYZWQv2N`z z(Y^dHt}ym{t0tc`Yo6hD)=j=OaqAWiKcYT8FxcTzend~B-1Uz#yRYffBmSoquTShV3>VkjVzn!; zTVqPBX;-%Bw*41xW#tIz?UDPlOO&_g*UI3d4}P?G9CdGBv`42Pr*iuS>*LZ7@>VbD z&bK^uf^X*?HSf;csXdog)=V*U_W8PI*_Ay9Ccpc(LEzh?x*cnFOL*mZm~-DcnQA%j z{zbjFTCtoV{60<3b>BICsM!0%Vb3OOgU{2fIHT>BiDbw(hn)kbo%l+vo3D~U8F1o(@c1O<# zdsY5>3r@*N=U@E#ZAq=@q;{sJMLWAhg^XoZ?rCcO5LkRNbf?R|Y6)4Lw;PV%KD6q* zA7jjp?k)_a3;_(<9EHpV3=9mM1s;*b3=De8Ak0{?)V_>?fq}im)7O># zF*7@Zo-pUBli~~vj9#8Djv*GOr%pEXJ{%y@y1&KmE*EQb!9>2fF;+W6KJcgLloSea z<@v4iYf=zVf5|Vfu=y}^;hP6~9l@=O7EBQ1%JX}F&tl8_nOiol6?b~K`(e%VCr??g zT`5afkNj#Aqpr7IOIxuqd)Hhw2KBwidv09aV*hOOcd;i-yXLAj?|2eBZO!s|?=u|J^0{KB?#9gaU!-)8^cotn}8?usn?4-6inJWwt;OMwPDx zM*_0{Y;HRA=*h1Nd4@p8H3~}m!e_2`wb)(Fn!u^B=<{x!*vy92sSUSy98B30iW!{O z7M5;d?-b7V$_NZ}(NQ|}^RKl-LeELHf{QNovY|R*CC~Ci15c`aYdC$F?G?ky9bqEA zxzCOsc7MhqE_OHfTwAATNba+{y@tjI9KUuu#&G%N&ztPK|8M;NL&ugM-^u)kVJ8cV VrO70dV+;%o44$rjF6*2UngA$UcdkUAI!>4&jFG{_EQGyMGg7(ik$y~s33Jxo8cI7mIr3}pQv zaS}1eZV(2$9i+Es$J75H+_~-1|F%u{|2MC{^S@#3&HuG4ul=uDcIAKh;*0-F7Mz2H z6-X}#!}WJ%{-;X-EI3PdWTQWx@dz jyFvP)X%`#^AU_a+L25x-;TXvbupG#3_%K`}0|Ns9$DN(U literal 0 HcmV?d00001 diff --git a/Base/res/icons/save16.png b/Base/res/icons/save16.png new file mode 100644 index 0000000000000000000000000000000000000000..4d223f9fc204de4344789687e6ecdbac1ed5941c GIT binary patch literal 318 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^PXNr}OT51_lPs z0*}aI1_nK45N51cYG1~{z`$PO>Fdh=n3%HyW9jbZwGkEHI^V^pT}$O!muD=0G(K#b;=ZrW Ppm6YX^>bP0l+XkK9{hR< literal 0 HcmV?d00001 diff --git a/Base/res/icons/save16.rgb b/Base/res/icons/save16.rgb new file mode 100644 index 0000000000000000000000000000000000000000..18eb5422fec6b9216bedc26619ab8ce2096bd9ee GIT binary patch literal 1024 zcmZRe0`T+m`%fZf@bmM7+YHjH?bZ7~xNHO1oUL28{$I3c5ef#W0m*~Zf!OH!L2@7r zl0()H;)Bcr(I9z{eh>!nVGaPXVR9fgvVM?W5C(~Z^nox)Er^e-A0!UKAaPt6BoERH z!XP#1`a$9#3{nTeAT|ht*dPpIgD{AVt{)^05+erV)Bm3U0GSW73*G%7Igs{k+qV73 whCy;5HH7qo)ZxM){e;|)&2Eqw$V_7NgVf=|ApMlOADe!VxujxP_)|gy0L@tH9{>OV literal 0 HcmV?d00001