From 03a7c073c23263e1d3a12d82d99906123878b8d2 Mon Sep 17 00:00:00 2001 From: Gregory John Casamento Date: Fri, 27 Mar 2009 05:18:53 +0000 Subject: [PATCH] * Framework/English.lproj/Builder.gorm: Update icons for stop and options. * Framework/PCProject.m: Added code to put files into packages when saving. * Headers/ProjectCenter/PCProject.h: Added ivar for file wrapper git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/apps/projectcenter/trunk@28137 72102866-910b-0410-8b05-ffd578937521 --- ChangeLog | 11 ++++- .../English.lproj/Builder.gorm/objects.gorm | Bin 18638 -> 17976 bytes Framework/PCProject.m | 46 ++++++++++-------- Headers/ProjectCenter/PCProject.h | 1 + 4 files changed, 37 insertions(+), 21 deletions(-) diff --git a/ChangeLog b/ChangeLog index 15ff8a6..7f7a594 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,15 @@ +2009-03-27 01:18-EDT Gregory John Casamento + + * Framework/English.lproj/Builder.gorm: Update icons for stop and + options. + * Framework/PCProject.m: Added code to put files into packages when + saving. + * Headers/ProjectCenter/PCProject.h: Added ivar for file wrapper. + 2009-03-27 Riccardo Mottola - * Framework/PCProject.m: save windows placements to a separate file with the username as name + * Framework/PCProject.m: save windows placements to a separate + file with the username as name 2009-03-24 Sergii Stoian diff --git a/Framework/English.lproj/Builder.gorm/objects.gorm b/Framework/English.lproj/Builder.gorm/objects.gorm index a931803ab0fd14ea016aef123391b8fa8f32bdd9..ef967f52732465401199bc28e4e411d683dc9a94 100644 GIT binary patch delta 3394 zcmZWr3s{s@8vg!&m>FQWsKdp9k-H!&a>i5?LFF!1sHu6O;yU3dFbG4SdCSafHARl; z2CHf6)>`R|_2h2tp3&0 zw<*8hth6MlWj0T8z0MFrWXg`=dv#R?C6tI19^^Bgx9St7dUuFaMWx}`@s*De+JlAJ zEMzE}lUwF0!y-{4k)=%~5a6S*a3uL!UiSocC?Ug$k}HUg)DT^NnCQbuqDg#jz{Z&9 z;6X{RuH5`i=U+R-Wq%SYh(sOH4EL)v^Jr|xpL3li+>l_cDY3dixo$qv<7Gb z3W(amh*F`ra`eZo`#ZaS{6$>autVIKI#%3HjTFbB^f=H+)FoXblqm>RfkEB4aH0u2 zv3d44ZqfB~x46FlsQB{U9C35fDDf%QR|C>ZEz$R>M3oAW4-Bg(8i~xsMCaFI^G^@V z6}LY7o49rCyf{}spkL#hm1$Y2Bd*q}z>Uu)Vhm3t;G#Xz;%!wL<9#)t% zLSJYmAY*C6?pw&_HtOCjW4Qe8XX2$K6605sSXNUn9-cwx3HxIf-$T?B8X79BR%!Q8=)z8hNq8A$sMmghET2EwExyXbiF*K>*Gcq12QOV8{sPjxfjc zEYOa4j-isb=GmP;w(mN4V(hpKhtAI!E*bK4(2(^Q1jtwd0hyVslbjiu;W%Gk->t#H z!KbLvzjMpx-It1stF}>$uk;oS$a7Vp$Y+ezKO$rb)DJ_wWA&QWJI}Wt`~>aV0JYJ4 zj5V6O0~|4`$q<2vw#nS8>Yo-TPJS-Z=H34Z3}y8GV0tRjKtu4i!^g*`bH-AKICA8D zVXs+rgGN(xFVT`{Uy4BY_rRu;mXi4G{%pW51969->;S1hP%{4Q_d zBd6~#sk%1!(X_Ap{QMq*o=#e&$l@&mcERdHv)SCadfiTO_QE&fo#Pk8JMUc(+ge}l zhQ?X!%Ykl6iG_AKfOACGraSE7>bL(CCr^C^ToE69bVW3*Xc1s~8~a1F$YirpfJ%72 zT3WY8T)%Z!oW?~Wtv)_`Rh;@eaRghu~z6sNPj6RBzaIXfO=$m6xQF+s?lAC54|t`h)c6@vGZrF z9mIYL-x6-cTok9ss)qn+fE?i+=*fxj@bK?w2Hk=7A*{&(i2{tWe#tT~S@qGtJfIoa z4r~H&gJ_3Bj<)R28jBHiqf+f)3wm zKPkK?HY{QU6ck0Loe?Rkkfm{}g^!6#SINTbY>6rh=Pjm<=Ajj_mU%p{4l2aEHBxrhAsU8VkiMSi)f#Nxf)y}tlhf+yS^%3nx`R))X+WWeMw zeImk4;&aB9R*x7EW-`JY>2+)D57Vg5taCY>wGC_(0#Vp#uR>hELY!LRtf_IpJP%`)r8TsbS0Y0aAqS#bkm>H=X z@1EMnXq+Z(S(e6@t+C~3Y*{R~pDmByHznVkKY*$rW=4ecFHKutQ(;W6-Khu03nw4)} zFo0VE!myH>L5nzir6y#ORiNH!RmQLUZm21H%n|Xv~2BL|r@P-;D?|?A&xGk1~islqK z%5$8xwMf)ik9G8+wxxxw^u)Sdkk~2+%iXRPwi?1RDXf9eAceIM8l~`rEsjDorkRbd zYP)M7A6w_~pgMqb?#;CDQ~W({*s&23VAPOH@aNTTDCz`YhX|F zuKXCkjoMo+dxj4$i1GWC_SVQY@uGsE%4S|w5UpSCUdNv0n+l@lZt=t;)OBp@|2t@K zmDRhn+b^B9ApXZ>{M#TnrO*nYNeUc7ofNifj+)qWyt^Q3$PO$w%jKQgax?oiPnkZ+ t?|JxZfWJ2GoStB8*Y@hTyC8g+tFb}5IM^;vw7ivdh$|BH41j*pe*ksj_{abN delta 8259 zcmdUUYgiNK*7nRKnIw=vIEN6D;d~Mtjv^o=Asj?Sz!M6U5I_)75mE8PWB@TDh2S6x zwGtE+j}1x{54#PZf{GNBc3W#}Ktwzi(ON)?Z-{NL-QD-w-~RLc_^w-&ORRJoTAgOPoOAZM(1ps}KDN#pChaocn03gDE?2B1AXdz{4Yym|t5T|Wi znUc07V`Xky=-RBcISaCrQ_{?}ZaQDB4+sHM4$#!eL3cvUJuLxP>zbUKtTh6FqxKkp zfGNrWX!dMZAWDm5021SGZ_cC^iIQWQQ~j(BKoS6IF-3d8zvHQ~5lGhF1%O`dVfMRyYHabl{ec#9|F9E$o|!f?7p=|a z_XD+Pv_RR!EV3*1?>W={C1=Yprk-~N{y{PDIvm>_8u^2H*f*|Z zGo|DXOjAnc`b>mYJfj$@oz@MU5gZ$1$L^($apKHS#sagFLe@>J*hZe3k4VnKB&Ec3 z`*dXvS$4l8&h9!^Vmo{l+a*1xw%F?=Tu@2|4LyIk~C3l7V%O zP+KFbEdi!_nMF@;(d$`p>D@2FjJocw4gTg;eQqIt0E9&`?PF1i`v~#3;ju*}uq%>+ zx^`C4EGLb3;444Ox$8P@baKH-jRRMiYMtd?+BV00UL|$3#JOZ|+H$-kgMB0uNx8i` zamk{`KKJfc>G|j>H*&}pNSb?=8CEPj63-whUmwEd)CjK+`+E-Wy zeHU|`tt6A0g9!J)Zb+K%>O9i*&xi0PIZJ>SIkV&Ohcs3dURw1NxOU0yi#&uz9X$nu zdpEL*Wf?qE+^55oizms=B)A@py;cvAxW(OVjb!KGyOzAPTEp+h)Lp*($1(i@{6Wb= zGyZ_mk^Z>zOj>o_<`b0l04TOPiby%sFOhj7)2B+oGT0DFzJ3p1c464H>-nXz$*okp zZ&Fg!GJ~XI2xLgs3wi2{b4?BGqzktK0_=yBf>&>jf=rX$7)gfEFoi&F*D`!1#N=9S z|H#Ou9OooQ449t5a;it>#rbvt+!0EhQWRqk$&MV!asUOflQG_(q%(4g>%Ne9 zb#}p|K_$LRazT;wU0WWHT07_*W6FQ>{lZ23!NVJ#zYl)6>M{~jL*^$*zEI4B@Xh>3 zMQ)VjNsesDddvK4V_y!c-vJ5t^Kamn0Dw10GaAM+4CPQcb^jY#BnY6WMesi#()sm9 z1*<4OTs}+Ik7S1}Q^)iej%ENFE=4x%Ncq}%4r%8Et03kyuSrU-lABlppmk>Gx)0R$ z_eXMv$4x?L$62#^iySdK0jg3Wh-|e!EG~Jlq z6W|;!cnH+X2e+t>+T2*M#OA(f36cGsS9pXHrjDN8S)ss7X3pL3Al?rcX8@GQ>rZ!% z`U4uCb0-9&_RYZ7vp>yYxv&79{pE_7^=5Zvcg5G_rd~*d4=&uizxHuw_ujZ)Rw|H# zTRYfJ$oeg7Pg%D4qzybl=3TN-o!=dpSlagqnf6%Wr~zyRz^1$XX8-uEd;4d*Yiz{i zi`xC$gITZLB>&vIi2%RpkP(Gg<>v^Y93qG($E+G@Q~CiYQ10&twQe+n0CW8*tL~&S zni7EDf8dlNK>*5YWK8*iQ>p`^{6-5E`+t$Gf8D|n-4<>(soTP}m#Hm0>)d|C$(&-- zXo%VpdVGnA-A7uT<^iaEqcQ40Z0B3}qK+Sf`coMH*Pxs}dVf?~)R~YV7AyW$IbC!i z{P$w{rxgB2nVAyP|2JBR{hL<0{uj&arpuAhp<8C{WonuI82?!*L;0_p2Uc&nlpNBc z8SWnUcB+h$D*c}x#1dav8+>Z`YhZQ9kf|Q+X2V4Bq7Y@2OogU|DZ5ry=~Fg7VAu{e zggp7;&CJSycixs|-wa3E^Bjt)p*FD;__h<+gCsZRH7|=k-pl>w&Fmvaaf* zxR8(SC_q}{<$mUopYAxcsH4)~G!6$Op3XD~1RsyQ+cx036NBjL7c842x!e`_*Mr_c zP_oA%tmd}kiWanNe!iQ@(3AD+4t>4ptDiRc+!Pwzb~Tx;Z?`o2z`GkVS+$bI)g#f< z*H;h2#gxMUQ8Yo>!0#MYL6M!C)Pf} z&n~Tfviax|{*#pjmp{L5!^J+o-jX|MU3_sew78|ZgIy$PIp`+0SxLSHczouo?;!Ak z^^jyQn1@K?Gt7!2{9pO$x8KNFuqVCZRc=lC*uWah;>pl@apHis;$=!KEJ4 zY9Hqfy3`JiDmYr92sf_1CKt2#E%GR)Wq)3-NxAW1Z?{{tE3P=0!4ANSaWp{BBqgKS zp|*H)=4^g?omyJ^L|8Vjb`a#a);>ljocWJ&Ly@VSst6<6BFnHEjWPhM)MVIWJ2Y4W z8|&_?o{Xz_^mN>^Nb__*0}^C(F+iFBJbJJ5<%=GOFn(69c|AHhqt?l0Pi*azWLelU zvOFKFD(p^KVQ?t5%!?W^mgq;Tl5rXQM=D2ZZC{2fTsv^@3bXc!k#BnSfTk3yIh=g} zD-lXWt9M97U6&VXnt7&|_LVqb+W*_4%UcV=6gNFe(yOl|?YY}y8N8RI7GsLm;e@rH znuBGIbW4e4sew{$ixq3SEhJ_A;ADzPC_b5B2wt3A#q9H(%&6b_x}H_!G+f3aIYnj| z7Ywe*CGY(H88t7x1EC$8qilAjJ{I1SZr*?Ov}|sf%|u+l&SPUDuM#Y<8Da7VwL2TX zPr@OmD9?1wTYqfqinvJOf6wui6bZtr)oakeLfOSh(JtZ2cd-?ZHj091>5(x8P3?NP=SV) zYZ(Q}t+_(DXVPEX5yTJOHVZNto<)_CtnDIe^wbA~TUA~plEfHS@VsQrED#yt%amLa z5NRY=Z>#hHc!Cz&ByS;Vc;4of32+!;mS$lE0Ph9FaxCoYb|Y1ZtQN-~!Wc&TSIXX@ zd_l=SX|gZ{WjGU#7|o>L%3H6W43&l{m&YHHh-P>OnMSB(bRY&RPi}JiMl)pjXku$A z(i?KMIhkyCz~mpo0~A>v-5^c|;TNuevR%##B>;tm`k$b&!%G0hVvuDHM&y}+0yfqh z8ElOEGkH?M4DxGi(z)OVGtS&ZtQbJr!EWg{d z{Elx+Y(>349RP=IaKBgfR*F&U(0Hu8<$+(1yapx>b09^CgT1N~lKGPg341_;FhL*g z?&&ig|pqtOz%7 zl1b;*$eJ6dW#>a#6z4TNYnwGB!!J>?AWau#)kO{y^z*;9#q&Fhyw@~ z@?7(Q>UDhxI^JO~x_Or^4M-xhmQ&laJB&&fCQ-8mAy*sLtq!gK|gq>ngGN;s9G$ba3F|BQi1(eXv&AVmleCo{i=7+5B6t9YG41J!-JG_o<(D&tz zi1>@F!3K6g#U%sW*~mOoj?4DIu$=7?`pZ#gz$WIh02wDK#pLo!qaj!*+aEgomJ4l) zw-K#x&{v-+VfIAOuUj9!EXacm`kbv>yMJT%8%dZ(#^1IJzB(4FnsZt46|05y#tK>; zTz;xGX4^vJ$vDLqubRA<03{0ndvDfMATu z9>@n#4!HB)8AC}CmS3oem`PEuBPkG*^Xsm<^!Z=bM@q3miGWPaSO=>k^LMuZW;;hO z8Q$(#zxzBbIE?1T@7q#Y?zzyqSuxJNadnwIaew8SW_>`z+J-Cb!S?xffOL0o^Vyh9 z&h&?fWC$-hu*eK>{*@#UlMNnwkaphNqIW9Wq4V{)M;ms1f{rLChHr;o?{xlrUz@$p zX-$=$tl=fYpn3al#kdO2KIQSKa_PD8BY6?V6eX3&%w`MV@7Ti+$9 z*f#yYVr4b~tc1&UeC32WZu6b_rc)4|5Txrp%MI9}$jO7im4&R(a2#c4{hSAtq9TeQ z@+~Alq1~MyZbh1r9NbCjL;=9);N3@r!H>%Y{$#b_B}KA&b^XI>PHpS$4Q!nC%e#y8 z+3LB6?IzaHV-~(F)CBMk`}>6-2mtY347%CO@8eLPm2yC-F;!-=tBIs^1Z^fo)WHX8 z23HE(x00{+lb6eY`zhyh3{nxnMnqD1ZB7-R)(rFwQe^%K5+&7enxzn?fa7#PQUiqV zX_;h5mOrh#V=7DK_th96YxwwmmRibJMo-|q6e^G@%T2+3SV$KS)A$YajR67!ZuCO7 z2!>r5NT%Mny-Jxife6rUC(UX1OI8vt=x#iqHs+~O2w?G(^L|X8Fjo#!lE(+Gcj-%{ z%liBovl&)>L0EE!p(c^vS7fA-^UEi#)9xIS#gPOYYh^g3F}1!8`xLR_<$1@tP9*H_6Bg!5aXn6fB-qhBhppW=4LOmLq()XQ9# z|8sPW9*{#y9)(UcbFbP0LQS1o&(d850OC1PcvyAA^blj0h)NOwb0G@39$_nf0_sL6 z0v`|`q06LD-3VDd!ywsF|FJVmroza=ak?_|dzlv?oHUa?Aooo?kr-Gjy&%MZ=P?)P zdr<<=p`OLa>;DqG7k$C185Q6@t)d|n@? zQ>XfWx=tw-nxCD!a_yS+sQ15>fv69GA~uG;e<}R@{#N+S`2W1{^ZzdjznQumDNP?+ zq)ocQ&-VY;B29^H9@sdGuZT>In`vJ)`Y*|-scutZr>=aN@rhyPJKBmHK2Tujkh zDJa-r4{WKF?17=L=l7fL zQ!s{=&deuV8djibj(#g^A3o)#|HT%vw^Di^=6TB5jEXWwX;8uCGb8dNE){{L1HR=F zbWNGp$|ijG5W5U7Y+$p9_S2pD_%V1J2#SC9?rsIXNw~jWnI?Je`x%XW5HD(Avrl8U zjNZ;-dAD|)4N$N4VUmS0(i1d3ORg8BOpEytR@1W)uD&9Wj zX}j?KGm&$5Y%r5+o{1f8jrOfn4iaYLwDg!W%Z+&<)Hin#|J$b%hh0eOVKH0ED)KrA zD4h*BUjigoWmLbD$E`QdM*EvzVUeIW35H;wD4Hd@D6wn{#qHQSZus^ecRoD=@*rA) zPpzkalyPx;Gef%%*uvC^$kgFO^A|jt?HN`zkP0jYNapywAtSwn{$lRX=Vu-2G7=Bi zB62@|PhcdU+BS2NR)F;UgzxArAfJxydKq=3_oer2LG4@1pF<70PmnRU*ber{@}a7? zv*r^0ih6JEnEC2sU*I$mhp$9vBx8fKFj-kuPg>=3QWI=gT-7sq6&yGLdxtk(q9!Oq z54?1jfvPMUZf{H4mS3YJTNG8hZ;~kjL3s@B(aJ;Ha-sCyO`dEoWO%8}86sv%3RKZf>v!C(VQjElKiox-tkf;`apC4A# zQQ{fyLdn}?&@bK+a(-OimiIzD2(-AK&-+FOXx}T3_n$VlAWIIIItuzZq+_p8_zG`B z%*(GK)#7)|^0oOb&FVm8UNo)N`DM+I%wtB9~x!4<;G+X3h@lb%YL<@er>I$@uV*i#KP z58bYJ=T?QLif+Xo&7=5tSa`iiwyfTkX0yu}i&3}y7}!?1%DVf#T%^H^38kRrI0^Ec zlw7Hj0IVK}>OJdbyAl`#pat3wUAW!FlQY!-6+haI7kz(U&}u{?E1CdzmmW0zTq3d{ z6^Ir9@DJPG?jn9FU~N8AFE^tBCd;?REVB;n_#V{uIVSyqAVd%$Wp88ws z)Kb?vol-fkKU7XX;7^qcB$)nwU=ShpcLHY-S^fcFFmcR3-Z11Z0w*90W?H%l|1NP0 zlXKG3asw2osF9;nK7FA808~QllX57bjpnGBxG~cn3?sTjEWvQ1E69-^(P*v`tHRJo z;bT>G^MT6TgrY^QsL|uq8HA`n%t+TArGIRB{?QO*#bZw(4noSr9 zEFg|T=N>Icpsv$R&e2U?Kjm(f`*CUEKi^bfXvxYoscSc(8wjQl0XGmH!Z5B<+ejD7 z007AZ;)8u$RQhP~)ZOJ;n2PTF7_j+NyWbp@d)fd7(F>wiN<-JKS(BEMyEaE_*Dm!| zg#z8xXrscl2rbcq9V%Rb?$(0*DNw2fvMKPX78Fc@GU7of4=mT_&mrwV6$D$%qgOQA zs>)UQ=pG_OJ0f%=8CprK5F_-xy3tm&iYON&w)=FW0(Ae!#3_IN87R>D?5vf!Xf@Fz z=1<$9Do1NRPSO8!iaxYHH#sL)v|(jdY5@9Kqn$Rya`XVf4dc0gt_`nnD!hYQux$#| zYC+KyP-?;UDNv_-b`g4rNDt!~AJ&?Sr_A*_b1`~^*cUdFepE{<)6yOzz7MmfH|Xwd cM~@S5IM4J%BY)}(3Q7B1TkSeAv=gWQ5BZUM6#xJL diff --git a/Framework/PCProject.m b/Framework/PCProject.m index baa8028..53ddc93 100644 --- a/Framework/PCProject.m +++ b/Framework/PCProject.m @@ -48,6 +48,9 @@ #import "Modules/Preferences/Saving/PCSavingPrefs.h" #import "Modules/Preferences/Misc/PCMiscPrefs.h" +// #import +// #import + NSString *PCProjectDictDidChangeNotification = @"PCProjectDictDidChangeNotification"; NSString @@ -385,17 +388,6 @@ NSString [windows removeObjectForKey:@"ProjectLaunch"]; } - // Project Inspector -/* if ([[projectManager inspectorPanel] isVisible]) - { - [windows setObject:[[projectManager inspectorPanel] stringWithSavedFrame] - forKey:@"ProjectInspector"]; - } - else - { - [windows removeObjectForKey:@"ProjectInspector"]; - }*/ - // Loaded Files if (projectLoadedFiles && [[projectManager loadedFilesPanel] isVisible]) { @@ -417,8 +409,6 @@ NSString [projectFileDict writeToFile:projectFile atomically:YES]; -// PCLogInfo(self, @"Windows and geometries saved"); - [projectFileDict release]; return YES; @@ -426,12 +416,19 @@ NSString - (BOOL)save { - NSString *file = [projectPath stringByAppendingPathComponent:@"PC.project"]; - NSString *backup = [file stringByAppendingPathExtension:@"backup"]; NSFileManager *fm = [NSFileManager defaultManager]; int spCount = [loadedSubprojects count]; int i; + NSString *wrapperFile = [projectName stringByAppendingPathExtension: @"pcproj"]; + NSString *wrapperPath = [projectPath stringByAppendingPathComponent: wrapperFile]; + NSString *file = @"PC.project"; + NSString *backup = [wrapperPath stringByAppendingPathExtension:@"backup"]; + + // initialize the wrapper... + projectFileWrapper = [[NSFileWrapper alloc] initDirectoryWithFileWrappers: + [NSMutableDictionary dictionaryWithCapacity: 3]]; + // load subprojects... for (i = 0; i < spCount; i++) { [[loadedSubprojects objectAtIndex:i] save]; @@ -447,9 +444,11 @@ NSString } // Save backup - if ((keepBackup == YES) && [fm isReadableFileAtPath:file]) + if ((keepBackup == YES) && [fm isReadableFileAtPath: wrapperPath]) { - if ([fm copyPath:file toPath:backup handler:nil] == NO) + if ([fm copyPath: wrapperPath + toPath: backup + handler:nil] == NO) { NSRunAlertPanel(@"Save Project", @"Couldn't save project backup file", @@ -459,9 +458,16 @@ NSString } // Save project file - [projectDict setObject:[[NSCalendarDate date] description] - forKey:PCLastEditing]; - if ([projectDict writeToFile:file atomically:YES] == NO) + [projectDict setObject: [[NSCalendarDate date] description] + forKey: PCLastEditing]; + [projectFileWrapper addRegularFileWithContents: + [NSData dataWithBytes: [[projectDict description] cString] + length: [[projectDict description] length]] + preferredFilename: file]; + if ([projectFileWrapper + writeToFile:wrapperPath + atomically:YES + updateFilenames: YES] == NO) { NSRunAlertPanel(@"Save Project", @"Couldn't save project file", diff --git a/Headers/ProjectCenter/PCProject.h b/Headers/ProjectCenter/PCProject.h index ab03cb3..f6cab0d 100644 --- a/Headers/ProjectCenter/PCProject.h +++ b/Headers/ProjectCenter/PCProject.h @@ -73,6 +73,7 @@ extern NSString *PCProjectBreakpointNotification; BOOL isSubproject; PCProject *rootProject; PCProject *superProject; + NSFileWrapper *projectFileWrapper; } // ============================================================================