From 52859171dde2370cc04336ea5864796cfef3035d Mon Sep 17 00:00:00 2001 From: Matthias Neeracher Date: Mon, 1 Dec 2014 04:26:55 +0100 Subject: [PATCH] Added clean item --- AVRsack/ASBuilder.swift | 4 +++ AVRsack/ASProjDoc.swift | 8 ++++++ AVRsack/Base.lproj/ASProjDoc.xib | 15 +++++++++--- .../CleanIcon.imageset/CleanIcon 1x.png | Bin 0 -> 2019 bytes .../CleanIcon.imageset/CleanIcon 2x.png | Bin 0 -> 6003 bytes .../CleanIcon.imageset/CleanIcon 3x.png | Bin 0 -> 11252 bytes .../CleanIcon.imageset/Contents.json | 23 ++++++++++++++++++ 7 files changed, 47 insertions(+), 3 deletions(-) create mode 100644 AVRsack/Images.xcassets/CleanIcon.imageset/CleanIcon 1x.png create mode 100644 AVRsack/Images.xcassets/CleanIcon.imageset/CleanIcon 2x.png create mode 100644 AVRsack/Images.xcassets/CleanIcon.imageset/CleanIcon 3x.png create mode 100644 AVRsack/Images.xcassets/CleanIcon.imageset/Contents.json diff --git a/AVRsack/ASBuilder.swift b/AVRsack/ASBuilder.swift index 695c6a1..22d2bc7 100644 --- a/AVRsack/ASBuilder.swift +++ b/AVRsack/ASBuilder.swift @@ -21,6 +21,10 @@ class ASBuilder { task?.waitUntilExit() } + func cleanProject() { + NSFileManager.defaultManager().removeItemAtURL(dir.URLByAppendingPathComponent("build"), error: nil) + } + func buildProject(board: String, files: ASFileTree) { task = NSTask() task!.currentDirectoryPath = dir.path! diff --git a/AVRsack/ASProjDoc.swift b/AVRsack/ASProjDoc.swift index 303e8f6..20452de 100644 --- a/AVRsack/ASProjDoc.swift +++ b/AVRsack/ASProjDoc.swift @@ -280,9 +280,17 @@ class ASProjDoc: NSDocument, NSOutlineViewDelegate { // MARK: Build / Upload + @IBAction func uploadProject(AnyObject) { + } + @IBAction func buildProject(AnyObject) { selectNode(files.buildLog) builder.buildProject(board, files: files) } + + @IBAction func cleanProject(AnyObject) { + builder.cleanProject() + selectNode(files.buildLog) + } } diff --git a/AVRsack/Base.lproj/ASProjDoc.xib b/AVRsack/Base.lproj/ASProjDoc.xib index 7f418f9..e1f4ba7 100644 --- a/AVRsack/Base.lproj/ASProjDoc.xib +++ b/AVRsack/Base.lproj/ASProjDoc.xib @@ -99,18 +99,26 @@ - + - + + + + + + + - + + + @@ -123,6 +131,7 @@ + diff --git a/AVRsack/Images.xcassets/CleanIcon.imageset/CleanIcon 1x.png b/AVRsack/Images.xcassets/CleanIcon.imageset/CleanIcon 1x.png new file mode 100644 index 0000000000000000000000000000000000000000..123d4aa2355d47ab18baffaea18c3493c407ff67 GIT binary patch literal 2019 zcmV<92ORi`P)Px+ok>JNR9FdhSIKS^R}{TfT|>`y+l}dFG9pX~U=$@d5fYZzA!UPzkn#^K5L;HP z*diAE0~-*lNC^-mSOgITp#&j?St!KV#@KFmyN4P&=e+W5mmTLxuikvmxznpEOH$?1 zrAzjyQ>V^g>T)KN*~cZ@w%1k5vdoxk>}!eRSo;0GuuWIau|!ey0`=nU+qZ85C)RTV z3HR>ZtNFfv6@cHPX1IX>AhIa|t|@^uF#7;9WYR77f*7Wv8$l49KY8-x2ZO=K{rmUp z*l;VC%S~d@0P?^_@U%6!&as03AF$4=gYNh%f|j@`*n^ay4|k8(v#?4CAM|>1$S6xTyIGE|5n_VGUT2k!*-VXeGg}>t1PGj0GV}3AX*3=Js3opDj9P_1>(c8kNT>T& zip9^RP^>^kPQsvr^F{Ri0q#ZxiERjIG$+~`|CmG6oQJ~bqs)JLAhUD7Vq#7_k7n&l zu`nSSYo{zMyp%BhfSE}0jhYk+0pg%2PG�`2(fW@|6s;z<_OBBs;{3Io$62Bl8P1 z|0fB<7=-%bIAbz2bX-cMNs0S)X*DgZ&&Y?FpJZFd}8pKf5g z8IepTC%Nnnn0}k|f-D5(rI0@?dH;aq{OwZ6?ZSLXI&B|yS)#BD?Y97wdz0u-V<--> zob&=WtKa+mz#OJ~+)PR8wG;4nRX!~|maHF3W$0T3VI8J!%TRfnjJ6MpWw$}b$M}R~ z?Cr4DGDtXZgJ&$DSZO5(1PIPdU<*t{`bP+OkKAm*lo@fovTPmuMk>R5K{7=fS@PghDEHcb(DEd<4ZH^p>TR8I!S@8=L zcrB&!9`UoG^rS7_u!lX4(V8dK62=9b(96iMl#Vo8uVi`o9o*7Gj?c=>%v~v$mL%sv z2reMYGTeD|P$;zBo=2R#1Mm{gz5$uX2v!m;Ly_dNQ}gqntpjC5KgDqeDfJ#V-xB&H z7vQFA!i)$Go4)H|e(i2&KZ-)Al|@<}h6Q)wtPSD~nVG$V6ut-RG>t4hr+DTbP!h>v z1OXnd*eZfBi&xPQU5gy^D4CB8L z@fC^fEeO0Fka7h3W{@4@Ab%2pSOD>G;Cott)luI=qS1&XLg?wc<5J&xT&8Ci5dCAa zf_Fh2J(rAAmVB-T|5ou1s39OnrPclu^=I4@Iqa=a685wK=plplL7{QTHeW;rRKcmV zu>eUBn3oVIxq)UYmnYC)K~BFyP(DC@HxOJEu`(05aK6Bqvh;dgSzP=LDf?7%`94z8 z1Boo|4_mTGP1~v?emuB>aueA~fVd7m3d{vW3y?tK2E6}*5W>a~`CkKk8ZV=H$>#&4 zXB(i45)DTnu@B>UX*Ay<;P^FVN#OQCpoz0(87?0ctG^qu!S9UZT|gWvNpNEUc38+t z!AXQQ2yAiOQQUgl5yd5GuQYLxuIfrLzX%OO@x3u|oo&)ser@Eqp(UR0;zjip=D)-z zSPrgBK2nK6P$e+1fMMb!mxK~YNZ?f*`Z6+n4CDf&)>{yxWoYU>Af1KITctWW2`%T~ zB3p8~3M^HXq2h650p1m1qABI7)=I$OstdSb?b~ndUm%X*78yfoeJ9o^Z!>(!7+oE> z0v{eovqIsZ?Ap;6&#Ay-J7G>2Yd*ARq$dOvG)=@XaN)xAsy9WhUAtBT zxcNB+ScV6=c_XkAGSX5H?q{LKEDF48Zk+><=mr!$f9~A5wVzY7iU)q1?U9j@GdOe^ zK!e|NuBSEMjD!+UU~Nf&`_aCDn2SqGOY45m{{_WvAufe#AFu!b002ovPDHLkV1jH( BuxbDR literal 0 HcmV?d00001 diff --git a/AVRsack/Images.xcassets/CleanIcon.imageset/CleanIcon 2x.png b/AVRsack/Images.xcassets/CleanIcon.imageset/CleanIcon 2x.png new file mode 100644 index 0000000000000000000000000000000000000000..7f8270a211108e7e1d4d6a7869e159dffa82a083 GIT binary patch literal 6003 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�SW3ztOjx*J$W5Tf{*k<(bYi&f5JX|MbQ#h|8;si)-wCH21K-2;^iH@tZ+{dm zbl!i4RL$Yb7Tn3?3vsqgKRy%UVecU1M|Ip#@e4;T8+n}Vn=@>(RpXaGuwTMPZ_Mr9 z@c_=D-ok|cwzo|Odl4FG1h#nfH1}V`*9BSfP4GQ74(=T`W6#2 z^%{ZzOv_g;?DpWmXn1G}z2_mkXgP|C8^dafZ|GQItx99LZJAge20616E`P=H(rfDh zB&vlIx6V~uhQt%y=ce&vGpdXca)->@#eMyI-2Q!A@KyU^d=POCJz@qsRyNg8WI2^i zBF;+i5B>mOZ+;T1p%E0Eg{Ko5j)k*07w}Ka?3la{JMa^Dzx*1G5pb({@E)}A9gv4C zozH~ulf^ZNzTOd>_wRPOt{teryniRng@X+&BLmAWJcjZM>3XOmT=KD8vjQj}#|fta z1{=3{;D%pIx40@wcFN_V{~`weJPMYN?}vl-gT(@e7NtDU^DWngR?EK?QNd@bE7%y> zL$Qzpp8}j%!uoxW+l9(Kd*K{D0vU3aU+A@h2aH0 z#w_OF2E_?2P8rcG{bn>P+pGW;oHZn;QINQJ!j(Dk6<3C&Z|THEXA4`#xlp07f)?BQ zu&&jb<$CIP%|;{O5*C%fSs5<0>8nr`%(kUcH@>RB$E~dX7%M3ZMOEBrUgYjvjtxs{ z?kU1q6R)C&9>~-fWY0q3;ww(5$MTZ+k`ruJ010xCjMzAF8I1YTjiJ@Cwy4j*LaR## zO8AwYbd;`*TioihV%Q6Md$(XxeE^4ZFZc<%gc}n2`x4fkaM}ASiuGMmF+RP^(1sfMVrv0?>wjMyI+Kku?kS-n}TQ4DXl7=nnT6tzLj!Py^M}-t! z(CVu-i6$9AE=#-kS`qg*{o3C+RraYXJJx};A(*IRsrsE8a>$7P?cxEssVd7Y{|utmRu=1tE;nQ^sUhamtEDoIyO&g$GXiFPEj7 zT;&K#Se$WdBgPfC(Bf8~bj#}$H!_zw1bqPo`3f^d1|2G+D!45uWkjc(9BFl|ykwxmvin>Kl2#ndikZ7F?QDKVegr0J108{a6dbQ%r!3+w@3LreJ_zDl2z z5kfgmiQ9NgyO})s46-5UiTDxU$`F@b%O{;dyd>NUG=8kE#U(?U9@(-`xO4?AU9{Lv zOjn%cN6);7_}4P{=k=C8{NWF8!+QLPx+{${NTCy+#21ZFxHp#YlO$txh^w+JU8XFJ zxE|#<=1Z>=KS^FR3yH56kL|0~OOJaW`1+|&e)5z5qu6*jJ4P`>h&ukat5{1+6O|K_20lpI4Ce&#cud0Kh%Ly#g*KmGJiFcjf0%Vd5=2?ajYOFWvQM9QWbVzuLBK+n>pfVA~KR;*(E4*}J;B`nOR02rEGjlXE4vUR*kq z6>cFjY~!+Nd@B zZ4YfjkXT>;`q#@J`p}2I0i)a>+-;59ge7mGXP$YceE9I;r}2pn-+mm1 zF@JPTo=uQ(g*bDhi)Lj+i=pI2--yn7vavnM5(<}$(z0>MN!CK)w!&qDjz?I9U9O{`BXK`Tq#(uE6(&$wvJ7bjb^`V+wa2ovr%WU~|8Pz6x=i(mZWIE+6I!=FG! zjI$y%&dDKylou|z9*qUCa#ohO4U&s>}NlF!`keGZ@2jvbpst^XP_^m!z_ zRT*Q3;?NiqJvrtxE?vnn9?MZ#w3sjbI9(v0000