From d8300cdb5c1c1a7c0b2750ee1abde36b2e2ac27b Mon Sep 17 00:00:00 2001 From: Hylke Bons Date: Sun, 25 Jul 2010 17:41:55 +0100 Subject: [PATCH 01/38] Migrate SparkleDialog to SparkleIntro --- SparkleShare/Makefile.am | 1 - SparkleShare/SparkleDialog.cs | 29 +- SparkleShare/SparkleIntro.cs | 247 ++++- SparkleShare/SparkleShare.csproj | 2 +- SparkleShare/SparkleStatusIcon.cs | 4 +- SparkleShare/SparkleUI.cs | 2 +- data/side-splash.png | Bin 69398 -> 69406 bytes data/side-splash.svg | 1559 +---------------------------- 8 files changed, 219 insertions(+), 1625 deletions(-) diff --git a/SparkleShare/Makefile.am b/SparkleShare/Makefile.am index 7dc70ae9..e567a44c 100644 --- a/SparkleShare/Makefile.am +++ b/SparkleShare/Makefile.am @@ -10,7 +10,6 @@ LINK = $(REF_SPARKLESHARE) SOURCES = \ Defines.cs \ SparkleBubble.cs \ -SparkleDialog.cs \ SparkleHelpers.cs \ SparkleIntro.cs \ SparklePaths.cs \ diff --git a/SparkleShare/SparkleDialog.cs b/SparkleShare/SparkleDialog.cs index e3017d3d..ffb8f724 100644 --- a/SparkleShare/SparkleDialog.cs +++ b/SparkleShare/SparkleDialog.cs @@ -210,37 +210,10 @@ namespace SparkleShare { } - // Enables the Add button when the fields are - // filled in correctly - public void CheckFields (object o, EventArgs args) { - if (IsGitUrl (RemoteUrlCombo.Entry.Text)) - AddButton.Sensitive = true; - else - AddButton.Sensitive = false; - } - // Convert the more human readable sparkle:// url to something Git can use. - // Example: sparkle://gitorious.org/sparkleshare ssh://git@gitorious.org/sparkleshare - public static string SparkleToGitUrl (string Url) - { - if (Url.StartsWith ("sparkle://")) - Url = Url.Replace ("sparkle://", "ssh://git@"); - - // Usually don't need the ".git" at the end. - // It looks ugly as a folder too. - if (Url.EndsWith (".git")) - Url = Url.Substring (0, Url.Length - 4); - - return Url; - } - - // Checks if a url is a valid git url - public static bool IsGitUrl (string Url) - { - return Regex.Match (Url, @"(.)+(/|:)(.)+").Success; - } + } diff --git a/SparkleShare/SparkleIntro.cs b/SparkleShare/SparkleIntro.cs index 24ac0601..cd6fb77f 100644 --- a/SparkleShare/SparkleIntro.cs +++ b/SparkleShare/SparkleIntro.cs @@ -29,7 +29,10 @@ namespace SparkleShare { private Entry NameEntry; private Entry EmailEntry; private Entry ServerEntry; + private Entry FolderEntry; private Button NextButton; + private Button AddButton; + // Short alias for the translations public static string _ (string s) @@ -46,7 +49,7 @@ namespace SparkleShare { Resizable = false; WindowPosition = WindowPosition.Center; - SetSizeRequest (640, 400); + SetSizeRequest (640, 440); ShowStepOne (); @@ -56,6 +59,8 @@ namespace SparkleShare { private void ShowStepOne () { + Title = _("Welcome!"); + HBox layout_horizontal = new HBox (false, 6); // TODO: Fix the path @@ -81,7 +86,7 @@ namespace SparkleShare { Wrap = true }; - Table table = new Table (6, 2, true) { + Table table = new Table (4, 2, true) { RowSpacing = 6 }; @@ -94,13 +99,13 @@ namespace SparkleShare { NameEntry = new Entry (unix_user_info.RealName); NameEntry.Changed += delegate { - CheckFields (); + CheckStepOneFields (); }; EmailEntry = new Entry (GetUserEmail ()); EmailEntry.Changed += delegate { - CheckFields (); + CheckStepOneFields (); }; Label email_label = new Label ("" + _("Email:") + "") { @@ -108,46 +113,11 @@ namespace SparkleShare { Xalign = 0 }; - ServerEntry = new Entry ("ssh://gitorious.org/sparkleshare") { - Sensitive = false - }; - - Label server_label = new Label ("" + _("Folder Address:") + "") { - UseMarkup = true, - Xalign = 0, - Sensitive = false - }; - - CheckButton check_button; - check_button = new CheckButton (_("I'm already subscribed to a " + - "folder on a SparkleServer")); - - check_button.Clicked += delegate { - - if (check_button.Active) { - - server_label.Sensitive = true; - ServerEntry.Sensitive = true; - ServerEntry.HasFocus = true; - - } else { - - server_label.Sensitive = false; - ServerEntry.Sensitive = false; - - } - - ShowAll (); - - }; table.Attach (name_label, 0, 1, 0, 1); table.Attach (NameEntry, 1, 2, 0, 1); table.Attach (email_label, 0, 1, 1, 2); table.Attach (EmailEntry, 1, 2, 1, 2); - table.Attach (check_button, 0, 2, 3, 4); - table.Attach (server_label, 0, 1, 4, 5); - table.Attach (ServerEntry, 1, 2, 4, 5); HButtonBox controls = new HButtonBox () { BorderWidth = 12, @@ -161,13 +131,7 @@ namespace SparkleShare { NextButton.Clicked += delegate (object o, EventArgs args) { NextButton.Remove (NextButton.Child); - - HBox hbox = new HBox (); - - hbox.Add (new SparkleSpinner ()); - hbox.Add (new Label (_("Configuring…"))); - - NextButton.Add (hbox); + NextButton.Add (new Label (_("Configuring…"))); NextButton.Sensitive = false; table.Sensitive = false; @@ -175,6 +139,7 @@ namespace SparkleShare { NextButton.ShowAll (); Configure (); + ShowStepTwo (); }; @@ -184,6 +149,8 @@ namespace SparkleShare { layout_vertical.PackStart (information, false, false, 21); layout_vertical.PackStart (new Label (""), false, false, 0); layout_vertical.PackStart (table, false, false, 0); +// layout_vertical.PackStart (check_button, false, false, 0); + wrapper.PackStart (layout_vertical, true, true, 0); wrapper.PackStart (controls, false, true, 0); @@ -193,7 +160,7 @@ namespace SparkleShare { Add (layout_horizontal); - CheckFields (); + CheckStepOneFields (); ShowAll (); @@ -202,6 +169,150 @@ namespace SparkleShare { private void ShowStepTwo () { + + Title = _("Add Remote Folder"); + + Remove (Child); + + HBox layout_horizontal = new HBox (false, 6); + + // TODO: Fix the path + Image side_splash = new Image (SparkleHelpers.CombineMore (Defines.PREFIX, "share", "pixmaps", + "side-splash.png")); + + VBox wrapper = new VBox (false, 0); + + VBox layout_vertical = new VBox (false, 0) { + BorderWidth = 30 + }; + + Label introduction = new Label ("" + + _("Where does your remote folder reside?") + + "") { + UseMarkup = true, + Xalign = 0 + }; + + Table table = new Table (7, 2, false) { + RowSpacing = 12 + }; + + HBox layout_server = new HBox (true, 0); + + ServerEntry = new Entry ("ssh://gitorious.org/sparkleshare"); + + RadioButton radio_button = new RadioButton ("" + _("On my own server:") + "") { + Xalign = 0 + }; + + layout_server.Add (radio_button); + layout_server.Add (ServerEntry); + + + RadioButton radio_button_github = new RadioButton (radio_button, "" + _("Github") + "\n" + + "Github provides free hosting for Open Source projects, " + + "but also has paid accounts for extra space and bandwidth.") { + Xalign = 0 + }; + + (radio_button_github.Child as Label).UseMarkup = true; + (radio_button_github.Child as Label).Wrap = true; + + RadioButton radio_button_gnome = new RadioButton (radio_button, "" + _("The GNOME Project") + "\n" + + "GNOME is an easy to understand interface to your computer. Select this option if you’re a developer or designer working on GNOME.") { + Xalign = 0 + }; + + (radio_button_gnome.Child as Label).UseMarkup = true; + (radio_button_gnome.Child as Label).Wrap = true; + + RadioButton radio_button_gitorious = new RadioButton (radio_button, "" + _("Gitorious") + "\n" + + "Gitorious provides a completely Free and Open Source infrastructure for hosting Open Source projects.") { + Xalign = 0 + }; + + (radio_button_gitorious.Child as Label).UseMarkup = true; + (radio_button_gitorious.Child as Label).Wrap = true; + + radio_button.Toggled += delegate { + + if (radio_button.Active) + ServerEntry.Sensitive = true; + else + ServerEntry.Sensitive = false; + + ShowAll (); + + }; + + table.Attach (layout_server, 0, 2, 1, 2); + table.Attach (radio_button_github, 0, 2, 2, 3); + table.Attach (radio_button_gitorious, 0, 2, 3, 4); + table.Attach (radio_button_gnome, 0, 2, 4, 5); + + HBox layout_folder = new HBox (true, 0); + + FolderEntry = new Entry ("my-project"); + + Label folder_label = new Label ("" + _("Folder Name:") + "") { + UseMarkup = true, + Xalign = 1 + }; + + (radio_button.Child as Label).UseMarkup = true; + + layout_folder.PackStart (folder_label, true, true, 12); + layout_folder.PackStart (FolderEntry, true, true, 0); + + + HButtonBox controls = new HButtonBox () { + BorderWidth = 12, + Layout = ButtonBoxStyle.End, + Spacing = 6 + }; + + AddButton = new Button (_("Add")) { + Sensitive = false + }; + + AddButton.Clicked += delegate { + + + }; + + Button skip_button = new Button (_("Skip")); + + skip_button.Clicked += delegate { + ShowStepThree (); + }; + + controls.Add (skip_button); + controls.Add (AddButton); + + layout_vertical.PackStart (introduction, false, false, 0); + layout_vertical.PackStart (new Label (""), false, false, 3); + layout_vertical.PackStart (table, false, false, 0); + layout_vertical.PackStart (layout_folder, false, false, 6); + + wrapper.PackStart (layout_vertical, true, true, 0); + wrapper.PackStart (controls, false, true, 0); + + layout_horizontal.PackStart (side_splash, false, false, 0); + layout_horizontal.PackStart (wrapper, true, true, 0); + + Add (layout_horizontal); + + CheckStepOneFields (); + + ShowAll (); + + } + + + private void ShowStepThree () + { + + Title = _("Done!"); Remove (Child); @@ -271,7 +382,7 @@ namespace SparkleShare { // Enables or disables the 'Next' button depending on the // entries filled in by the user - private void CheckFields () + private void CheckStepOneFields () { if (NameEntry.Text.Length > 0 && @@ -288,6 +399,19 @@ namespace SparkleShare { } + // Enables the Add button when the fields are + // filled in correctly + public void CheckStepTwoFields (object o, EventArgs args) + { + + if (IsGitUrl (ServerEntry.Text)) + AddButton.Sensitive = true; + else + AddButton.Sensitive = false; + + } + + // Configures SparkleShare with the user's information private void Configure () { @@ -304,8 +428,6 @@ namespace SparkleShare { GenerateKeyPair (); - ShowStepTwo (); - } @@ -373,7 +495,6 @@ namespace SparkleShare { } - // Checks to see if an email address is valid private bool IsValidEmail(string email) { @@ -383,6 +504,30 @@ namespace SparkleShare { } + // Checks if a url is a valid git url + private static bool IsGitUrl (string url) + { + + return Regex.Match (url, @"(.)+(/|:)(.)+").Success; + + } + + + // Convert the more human readable sparkle:// url to something Git can use. + // Example: sparkle://gitorious.org/sparkleshare ssh://git@gitorious.org/sparkleshare + public static string SparkleToGitUrl (string url) + { + if (url.StartsWith ("sparkle://")) + url = url.Replace ("sparkle://", "ssh://git@"); + + // Usually don't need the ".git" at the end. + // It looks ugly as a folder too. + if (url.EndsWith (".git")) + url = url.Substring (0, url.Length - 4); + + return url; + + } } } diff --git a/SparkleShare/SparkleShare.csproj b/SparkleShare/SparkleShare.csproj index 62026f09..3372eb65 100644 --- a/SparkleShare/SparkleShare.csproj +++ b/SparkleShare/SparkleShare.csproj @@ -40,7 +40,7 @@ - + diff --git a/SparkleShare/SparkleStatusIcon.cs b/SparkleShare/SparkleStatusIcon.cs index 7189bcf4..6cc3be5c 100644 --- a/SparkleShare/SparkleStatusIcon.cs +++ b/SparkleShare/SparkleStatusIcon.cs @@ -172,8 +172,8 @@ namespace SparkleShare { add_item.Activated += delegate { - SparkleDialog dialog = new SparkleDialog (""); - dialog.ShowAll (); +// SparkleDialog dialog = new SparkleDialog (""); +// dialog.ShowAll (); }; diff --git a/SparkleShare/SparkleUI.cs b/SparkleShare/SparkleUI.cs index 170fd073..5103dffa 100644 --- a/SparkleShare/SparkleUI.cs +++ b/SparkleShare/SparkleUI.cs @@ -74,7 +74,7 @@ namespace SparkleShare { if (!HideUI) { // Show the intro screen if there are no folders - if (Repositories.Count == 0) { + if (Repositories.Count != 0) { //TODO: CHANGE THIS BACK LATER SparkleIntro intro = new SparkleIntro (); intro.ShowAll (); diff --git a/data/side-splash.png b/data/side-splash.png index b6125096b89d75252911291f0cc50dbcba1e41ce..a4dfebdaace4bcd8566a660ffc9498036878323e 100644 GIT binary patch literal 69406 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

3R0HHbjE;)E3cq9 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 a@c#h*({|u9oNNC80000brL z5+DP~8yI4ofJ0_sF&G;X5+Edj>?9NBok=DWo4gYUNiZ;gi4(BFn{4BF!LqD<-*vC< zzV=#G=e&QMbE>NQE|OUSl6CZHb>Hghs_Lp=KhN*^Jc^B@)pYhMk$3>inW)m<=5WzPBw11 z294%3|LwDU`+*0Lp7#?z(lcv_m$E?W+?`Si703MH@BJQceB;j&1ObgkgCGc)n3&}H zn_iFS`$#Fzxx~{PFG*LJfJw!~QN+z}eJhVY^dP_R3vWS6Nu$vKAPht1&Fkh5e)o4# zDn929U&MGx0jrru#jIU(DG%ItAHV&HkI~-IPOVlWj^n1!gki{=-t-36U3wW>sdL~u z&GC`|mUDSpDPk3~_R>rFi$D1j{?F&`V$tG-)M_=ND4OxJaU7G&<@mK*-$iV#);VyU zdYtv-Jpq;0s5s^wZ+|-J>h2;8L&7jT}0ud`Se>FM6DjXC)=(idZSu zuf2@Ve&)~k$Q`%S-qB8@(LgCR>*xFW`uNtjzQyy;KR@I9LI||heDj;%oMw%bQsnbF z-hJ!4h~wy-wl&K*<6L1DR4P{d$)`WfNACO(t5&T{gwMIgx4(TqTb_S`sj1ZMWxA_h>jxIt22x%Y)YCCf;bk55dp z?y@!0_*iFW2W`a?-+kyogplX>mK{G;7Avt*wgTaoZ@#&SN4avA*~ZqbTiN=;wv3z8 z$x|zb0)e^y0;M$$3(8_p8!Bc%h~U_XK8_vlW%;tDP5X?Zh}XUDdM;hPhCTcCCEC_Y zef-o|tZdQU`gLphr!RbgH@@L#@jOWwhI5AW{r&xX^WJaL-#>uyWdJ&LZ+832Z9`aV z)Urv9OqUC5t(^5zuzlwqUj52zrdgz1E=OCb#CN{?U{VbDQny+^abRUjTGp>!$H#y3 z*SY<++h}iZJ7u)j-`~$uPd&}Ht=r7?*Sd)-*+of|Cxie&;_9&E+_^uuj`>UqDsV2* zyk2&}k|ywIty#8g86zX3?A*QkT%{>LLAjyH?P<-g+tJCt64r!{K`9S=70a?|K!FSUWb%&)?~38+qZA$p@$w~pnt$F5h$$^ zfF+<}1`FgY6xj=Itd#+kPTe7(9D&!OiPRrHa)K+?U)uD206IH6={woaE^D=3%6Y_p zSMr`E(3h`W$A5bFt-ShGuf+HLQ3mylmBwEb6K$U<>Y0c3SeH=N~%km4(Z#u>(iullN?`PNU-RwKCAO9sx`UeP>ObNSgVK10V>L5}fQG=Bk&kHA^z!>FnyHR4DMB2OmUwFI^)4V+B^L zYW~i5+{~wc_jg#cdNq)iv&?qlckI}~GtWFjxm-?wX~2*XI7x*}x6dYvg|#}OCEqRt z%JQZJXhNWcOe~@?hUt3_h>b?X{=>&X3)Wn+V%m3Jwrm-XKmG(mBf~FQBL8C{@2!A( z*Ddeh{qKDb?d|PEQ8cTCa-Z9=V+T8T?o8H8K&1s5l@RlUgeRXB82}n!C`8k?l_Txi zMThA!XSGZ|(!SRe2pD(QH!zY!k)QkQZzsp^03@a4(80s}hhO|fa{2sAGLQHpw^*%i z?-RfEQQrQxw~^21=OpG@YX%1gdG^_7IdbGklLgA?oQZYHN}y?4ro|PufGXuqA_Y~l zJnLl*7t_LR*KA8^7@e4+TCE|Z2UclcvvT<~MSkJJ1)S{dOXY``Sl!l-%wo052Y>cQ zf5c5Uz7F5_PZ{X}Y}&Mmfq{V*geIiqXuYRMsVCIg`dld{)O&DiJ^3I@M~8 zTt1(CPFss+NWIy{M7hH7=mfQDg<@L=M!lE(`upC&npMl2zK;-sp`l@}zv(7&`2zk+ zOn&&GEmmu?_?^Fe3wQn1U$XYHQ*;^*=$7R+ofR*I8Dqkuq256=$}LIQ%}u}NNa_4;Yw zt+TU(`SW_%^w?ua>Aj?g{0{}JCi!69I==i5f6vd{bkk|+QGm(%73s6ckF+NJZ*ls~34aWld21ijE!bXE! zzKBK|UoeaRAX7 z>w~dM&gG$#>I7PNR!ZhYqA)0z2GUs7U9)7_D*F45;`ur1k)~X&1Cn~ZjOY1QQI|=c z5h2)jxQ~B%=o#L8(}t$+9LF&?-gpCRE?Ld~g9kx~mqgvxX<4k+`lxr_atr_V*rUAR zXMP4D#3`!}cJ125*T4StX`piAs8*R=T$3!2adV{ZE#+8_nA_vDmQ7huCDjbHY{#va zQP;D)44|{SheP{!Gcq;>NQ4wf=~Ha)KnO_`$7XFQ5yAr`|MKv2Gk*V4smOo((?2yi z&{O>Q&X#dXj+Kq}uDJYie*0s;$=l!h)*0o4))O`~G{keyJ(tJ_GjXXbId7H)>^5oT zRN%}_B8Q3WXR_`teXW!RA(M5|ss;PEaL%uXeNj5m)qT%Jix$$`*JsL@y|bUl&*}Q<)g2P;5hbe$&28 z{?LGJ zhZaQ#zJWzyG_x!zHU$%_$$alel~LZZ>b;Z1Q?A zO+7aRHYMWby;KEHBE5`D%+{wj^DPqDAhB#sfJv>AkRDMOa^lz_+B$m>Ql@f*)uT=v z-A}z*rqI?&C6x3mJfE(43&|Hs1ojlshFB5LX(LRy1_YTgdSv`zTM2Cl+$?(iM1~$H@2; zm1@K8!%HnxmPbtkm5UN3U_SHAwnO~f^;aa{*G+WI=kt_`B_83=a>pWy==!?Aeo4A1JGBHOmJou}Y4hs~G^6l@H9e z?2a=kzG0GErfch?_%6Uh9l}knkq^iyt2yrn77Qbhk%qWSD%# zq(aoWU#COGam4t@AcH55v;5-AI5AwYo15M3RVK&re2-#Vr`=Bm7}Bg~0!#zC|NdM5 zaoYLweV>7WL0)^)>&fNw_(5>i0n6L7bH}G{y5R<-l&8$=4G$0V$Rm#=(ca9!vI*ZN zE0yI{GZA%~0fk+jty%*i@q8QRH*L>FYGlBg`2q>yHWtY9eM;?Jlqbjdw^Ly2MEHj!PM9=o%0qFXIyz?T&XToO!^6Wo_0&^5_0&@dh~hXVj^h+m%2=v6PC*viWy-q0 zY#L_T>sXuAjWTY~RU@cGPB4Xeey%{hUb7N{+eWLj;PQb^8J7w8g!GV7rVr1fbJ4}r zW5K~)FQjRjB-%5idun2Y?uAQ?7KVoqo^gAgjRv)_gx|B)%539s-zW!9j5M83tu@)(2q+XwOpJ|ME0+RFVE`37D`(xFvnYO$BMKYDahTLc z3F%R9M2w7=S$)MT={>rS-Xr^3{4a`Ws}j`0t%UtB0L`Y7*d)v%#q$9G=jFyc`RGCp6_qEk2sDILLjAJa%_-d`#kc6wiHlOA}nYV z0Ltdq(({nkaveQ6!I8ePX(vAnLvFh1M%JvpggA`Osw8z2u(Z~UjEwNW0}rro-@X|w zl>71qY&yC4N@b(IW=oa0MC;~q`2v+{g?iXXtX8#J#Z@$DGW?5H3no}_-ckk!dJ`)J zf{F1F3dJ^DeS4NmIk)HeIeHeIPpPAuzGM4&;<1O!=Pi#~e#sRqTe*%cPdq@aQb8lx z{>;Oyy5ibq9!1Kd$nY?nCB%W*Gp^V3_=o$qCFj@;r4+?tk$2zvt27#QVjDP}4dC)V z`N>ayN^8yN=qTH_Z|A^)1G553sT5FgtWti|q+L0lqf?OJc#>Tp1i5^HFpQ{_%LKVR zlM~~%K0E;TnJoEsbyaqGy;>n(Y)1&e)Z_%7=i}uHNa@)cbD78i3BWuLDLrE~b)J#2 zGX2L7^4w$hQLB_G6x&#S$rWsU@*$=sMi?15PQ6iK#idu7?csP-in1DI zq^f7MscBK4lOLSWsZwhc#}T6=L-d_E!P+aXG!sXgqC9t`Gzp!(#}2S$*(z$)3KL_) zELyt4y0452lr7IzTdFrA4jmgHw$g+Ug3-ZV_H6kcqXT^`S+SPEouV>9G zUSn1M=DZ+67z^c&O9-T0<_8|W=i?`@J^aAu<{MXY!J>|)i{N=41N{TM=7t+7lu87- z+!+rpZ^MQSpQ=OU?-&rpso|fw| zmtEL1?LxG*x3OTs0v>sE6Q1Xt@r~SMt9;P>XmNWg1y#bCtfh*rte~|fjAAO4DidSl z3=H(sd*V0){ryB?)Ew{-OMZ@dNJfs`I`7$;yF8|q_nY>1)0!xReb2?-s`T`^lHu85=&y#7IA#^B2?BF^|rk^HV`Hd05rm>R_Jbb3%GZ-)LS^ z8mso)-eH!^FEv>stu^iK?Y#4y@8lD|^GUqJqE=b0Lt22hevnHpViZM8PK+`&Imyt0K5DfZ`9g_WwaSv^7vl#3T|EmEQFHIMXXxna zVg1#wODvMG;E+<%cXS_1S6qs87u1sA14sLbRC?iO1C)DxXykc4 z3MgTZ!9#cw-!s<96A~#rWZ-3lS;^KzW4vP3ylEGtR4VeZkA9T@^8WV`1ZOUZ_Z^^` zK-J>*lH8w={$RAzZ)YK(lbL_Swy(X!QsN6p~&+-u>gCNdn$srF9la9k@JwQfB$&J`DR zCBSjKssQd{D2J89H&8E3SJB-3!jo0Lp?&r|W8EEts@Y zg9{?CIZ00|ZTAICAZYK=IGZ8gZ5DV7@YuJtq!xe{VW z;*-~^SyIp~&w~Reky5bi;!6$KT(O=V=2W?So?E8LPRVjyMF>Gh_X5^jaSi)-Jjdkt z5QXA0vb<@0q@VJ{D8;r;7A{#~E~M3_r1Us+qMul6n}(su+6d9?$^-(mV7TunK~P}z zD_(1Je;K!jNCN~d5MByS69|}8j^|6#{ti}dkY2J+mkro;tjxl$Tmq^v44If1r+=XT z$9?U8tV3qgEwM7uU~C1@*t){l$_#O=iIVryWV6zmMkD0-(ZlpCTuk@;#irW9ncU1M0g%jTB45SQr`4blC;1y94##d6hbmM z(V&0S+&Z{kuXFIgL9{jvQjGUIvs|DXGFHlf#%WoZ(w8_^#F5pq)J$bC7F@BWR;#jj z>9RzIaO-DNIw~{u-6fQjRpiqPp5Y?WOGHjT$aBr>-a-^r+4sV;9NWKxMx(}g%Ps-w zC)UAfM`M#!hR4d&%2}GyFw!$=7@dl$je42#=rA2Ui-2tU#zWX+%vOnNY_i$Q$O;*7 znQ92<7E{>)tr_A=CU)WlE5xq+{Mf7F}==1IG>_2Rznp zxGr@;PP4Kpp@HE^!{tQksy!Pq@+i{_LZ+fC7@IY2yqVEfz}=MdsmLVHB&T z2r*V7DeB8s9VkcqE!a}a<^b!|_KcO%WC(PsSSK7y8rPAgWhBd1uE);@gpDdACwr}` zo$?teB*#yV5yraNLb(ep9H^SpFosKc?0?}gq~~+qMVHwq*77Ll2DPnT$SgB%P}&5t z1%zGZER^}Ixnr4%BEm+EdaX=lYMeG%rCpS%R4U~2IllAV@1}|LpEN>#z#$WUm2r2m zHV;>$Za^hWnT(SltTl>ao$#etxrZipZq8bUglpNvv;&H?7gSo3o8?wQc*f#bOC+VF z*w(?zUiBs_l~IOzk5QePu>8qb!2XdbCMxMHo7s4jw9){cNY))2>ZSk4UJ9j7f~XeKT7+ z*~ghTjNG8pdMXzkrV}F^7gA}iPJxpZoa-^esqIO4hgsF8XEavKG{1bOm}kp?QynPd zwld4K5R}@xShjKS8?9F0$a9h#oS;s z&qI$soTh`$P*8!53bWB*b47#UTCqxVgH39DMovgvUGmUG85ii(c{kx;a%_mfzGL(r z+0S6#G3wPy)34s?PKo~Gc$5X=s+YZ*dToNSp+1ItkAQ}OktwvcVD&t6!7a~9++xP< zB{Q0>$T>E60<9JE&Rb^nDw$|ci6CohuCkJcAU!T)d9m3jm$8V58rD)xjxjMZ$j0@{ zS+#5dyLauOR;>~%MGyo`PE4lm^vuN-zNuD7t39&-G8LMck{58bE4Fe|H!VwhQ|W{( z8>1$vRi>Dl7^7C5!jnFwjxLJr9aJXAm>e7C*!~@8rC7LR1>FnIr+a~!+Af4Zc#agO zRze_o#r40yu4fdwk*}H#0Ik!nUp3X*3#ywhu<3Sm2>Y z9-*VN%ks1{leh!;N|W5z*v*bf2zW+)hfGzcbA{IBWm_+%mdWhEUDQ%r7i}H$GIdkN zvUJZs4>$e1R+-@W$G^?+$>TKYWtOd4PkZM)&R?+_mpqmk3)8b`8J#_gIDY6bN1uJ3 z%dY)d7B9cVRuraDAVS)z2$5_j`+lQQWyh2Miq?uHt6qi|L~A6QuBq)L zU7;dWTqmwqsFufBxwMO)zwv4&Cno6c?{Atr5cob56BBqcwbW;_$@1ekPSo^7UPu6? z68DyZC=008qCLp|qGiI3ocnP^*}l$jt03nyK2qhft6$5ar5B-_oKm1i*`-|_P!Jj6VEbZ!GvJ{^N(_H%i{bjhYE>hOMo~l*h7^lMzWu-h_(9Gz!j(?!uYjG44!zURZ z?qj6?7!Q8yYmAMR@q-+l-RBdARR)hAtu=dV~tvD9tFOap%Hf(Qgr zqd|FWm_nh0Yu@y3q?hA#0R`9q0n7UoTE(ciLENYk)~5LR*RD%IRW6r_q6SeI5`__A z7!pR2wN9EN$Bxn7*?CqpX7kf(g&9C)e}!)Hr$(S-N7OSzi_CpvTArmeS`>nMtwLC@ zAw7?Lp+qiUpg=nSlVd|HSaKmvWxW|W!feZD{`nWOV97-+SskJ}S90RuPWC?k7-&H* zS0a}yp;XK>_x}TN9CF@@%a|M+Wa-K)$QRpLdHMD9oOh8mN|LFOVLaamu8m4LBfRf3PGXNNqa}PA>lF;qDx72YJyekHzxXx3*C{j>2I@0 zGCW>m(b82cx?nXgyY9^l_8wyI=Evwiwhy5N^Lj2IiW&^}9-&^HVtfC625{f`A{Sn| zkvIR>KSfBvAl$_+o!qcRboxeZ7#l|SoT40jKt|Y}} z_61Ju*0`*{3D2b!Gut}nQ7CoT_fktGZ3LMGX#a2-rNHxilk4+*maJIIl8e^Se{4Tf z<3l|Cz(0b5wzeMH+viiSPf@Q;QL9dJbk8%~^B4b_*Ze;p;IXg$531!+l!}-b?n{3l zOm}^vG=+Qkd(ZQ(U%Vlmuo6W?w$-NlJKxd4zWsYs#r+I-g8+U~ zzG6#PvbvQc@X5WAg=ltr_SdDYn3$OHOynno*TlCHvC&x~Bm=z%SaIo93D~BUoVcn5 z1XI-p^-v+DPeRT$$^MqCxD<`#qP5p@bkB2adHkD94EIwgw39D%P->e;r98^`;0Yf5 zr$1$KbRfBiL&x`7Gjw_pSt{O|*B&GSY$OCyz_#6o7@ybx+Rl7ZnORVgnJrYVlsSCl zDD9n{86oz}9)8qvC#^KKlahHqH6=OR6)ONkUzi8V@GnJrPV>ud` zKNqc7P83;76{Qx-_kAASvFB0h#K-e|e9y;|zL};jJtiw5Qg{TOkLL&Yen8-P z9M1wr+K1`zzHl6gCIz@=X(Z(f#(@;x!wuF!xtV4&RfARyyr7q|F#b>H8o`Ng7cTr z-m!onC?JI3@Qx=LJht1)2eXgV1*Xo>N*!sd|a=Dy!g;C-T zwNm7AIUauG5qmxyeK_;MB@-*9(j;=Mz%{opr6Z|eXvlVYuRd1>?2@|f@8%L+-!^hJ zAaTt(eBa0S4B$LZ;!6t--%Fo;kFcR=gqmF76Zio+-zOIY6dKq-Y(BKe<4jnSCFpPV~T${62zO_QBHIdHMiA-k}YpFcxp_E{%8rkjo$@}TE zZ;R|)KdLP8&+tO0@(T}*pw!Vt=lt{7z4;*mzeq0MMikbF;s)bGClDG|tb5gr;1ZDN zY@QUTu*$^oZ4B*ylG;Q+VQrE)tfEzHXD=!G`c87~wHp~9pD=SXYc-^lJi6&o4j(;A zK3~8O{KWE|=|d)N57Ma30!NemJJobtnXO6grt2r}FY~wKQ$l0_;icg7Jr7@c1ip1= z(lZ@ethK2(6hg?cXtc7OkV`VVh6XQ}lB)zey|M4U&wkQ6DwzeMPXaS9Sg<5%>uYC5u^1eTRkf6|paA_^Dk(*{< z&*O|9ehwX0&~XDHG`{6ZNm|PD$>sAXt=Y0=3mxs9gi%BsMfje_BbzqS(cPWgH~MU_ zR$yvv6T+RQF;a^~B80X?fJwnzR#LF;$GS)yVb8iQnG$Q~@*Lq#|CXlWLW$(P)G}Fu z?prG*B{@$Lc+##bGwa%i5O|hY`$FJLOmu32`l>g*oAWQaj3{bQYU?4$nLAd*QOHC8 z^e2`hq!+w0+Q;Fizrx8~k5Qc*qE?wO{Y|5^2Zj@srIZ9gK%r3J```aQ`9dD06ha90 z?cd)tY2uWE>=`utbkb%^QJav7-XvOpl$72kDH&&VY@2JDu~7DJBLUdgp3HD0nJkym zTzsve7DaeM68KhiM_Ao5lVTCgH?>SB&I;U(3xu7x5o?H*FjWW&JgE^1A^}nhuDFPe8VzG-TtfN$e-Ot|7;tSXEiW`5K`qVH3d!A(M*b79p3A73=f0W?)ARtyT zLRk&Zv%;wbkFt$ZqcB8z9tRE`Fj1{{=9kH|4nGA{#tm9UJNrv&?)j9>`ez6-GOlTG6 z(jbmag$7C)_a==iU3$^wbT3>&eX2}bdk?kRBynu+!}#>K{+7;p3#kw7XX4~OR8&Kt zjP_=4BCdo&D3N3?l-5WKde8H?>86{w>Z+@loSZ~!BkS(lx3Ae^okhb>I1?n#&N{i- zG|6lc>GFXYQtqsnuoE_A8U-fq&RMIhd&&SxN)KP!RFM`0(xaojKwxDKjW*Gj#!gAo zgi6`QY__ZiXQ}Lkl?H6W%`j5R*6c}RzNEBeE+&;FrC{yGH}b?k-_5+9WfV)@H0ovI zIHFdW;NdU*F)J>-5KoZw6a|5j3PFsL0+d85MH~x+G%j)V>ebwF#~m~p4Jwt2>Bww< z7>AD>rLCjG@-faTaQQCB25IT8b3I9mAjhMSnL;#~reHj;MF#MVE|tgw4pcsY@7$wI z-t#?=f^Pt)A}F?tq*IWTX^#h`O`%qR+DMI*8m8bTw51DL7Q5Yo*ek_e@U5ol@1 zJ5u6VaDisk`d6}V%cE4sCn%M=s7#HZ)D&84%2SgZK75en7nr+DIBzUtTa~I5LMU67 zEV*>erM&fRZ)44xHE68~f`EKJPg`3X#bS}|+qYY;>8CS?&Z3dHLLt(daVL2{3nn-D zG9~Wm6er>NX~PR?^r!?>7BqqHWCfWl^E?kv2#Wa}rCdPZN$L%SpA-1LAn*mA=LA`e z6aqK#BZ@U)sE9&^?@98$rWVFY&j~ZnLnD-lbOjnD#7JB9DglL70wn~VFlDh_J&Rbk z@eMqF@841=c9Ji&5k+;BGLs$RSkc$t&%Ew#Iyy|p=13`gVdqUs1NPthy-%`k-MYjA zx#u7V2!a49BwJp10Y3;#G$_w5PyzU^LD{q}cQZtTq6Jh&sx=KYO5%_{!&cpXG&%VU-X!^Bh8;>O|zjKm&LDOhR zsx?Km8WDy@VyuUXP${cPq6vXFEMiRAoa>P-JJzS#)l9x zN324Gh{;j~A%scESoQpxm%p6Pe)hA;@n(lRelWdSj~qF||M~pqjeGP1T)&C4ZTKc7 zlZghkfNV0<^?349jVf(=W+OmP+T?Mwj9|pVjM^?FdEcikpCj-j`Mji1Fv@t~OQa`~ zbDRJx^IB(Kd!9fFjV}d(ugL`_nxtaa2_aI-Xi&oSnHTo8Kt+m?lZV*3`9V$`+D3J1 zghs7G6o%yUd3w5Gs$8Z~t0%yA>%RKl~fan3et1>mn*v6utLhBEa{wmEC|zQ+l_@)ET@$sIZoR5*>wOD&Xr_MLtu zCGCYgxxgczm$bE+By`}XGkL&)$-IymP&pRwnvu9%os=3+g72H~uv#-;t{w{-VT=UZ zDhYI~saL0X@}Ym^$boHC%VRXElU5D4^Zaa^=3=2hK9{3ftCRyNfpZgqFUw!qQ zpfHVlV-6iU%m+SrJ3DvpqEIMOD3!?N@`>7hHV*%d*RA8P?|B@jVI{g0B58=>3fPjS z{K>D@ODYx8B(v47q{Po?Q@#|&Qu&fxASo4n@_{XDPNvcukLy{$c)o4$4@n0bts#y~ ziI0k{mL&y#Uh@nJ#@( ztya1J{s;J*yY6D=u3eN$?FLY}oT+P<>76HjlA~i`g+{pmN)m-$6R@&3?fgN85Aeq8 zF5`iJ+nf0XrB~`P*P@;^sEpnT{~(?F&7Z{9)*IWRP^vYk@!3zAn*mb zoFt#~tkhuC_SPS?)}R7Sl#|r!CL$y>Vktu4`;tNdiVdH^q2p}b@-*AGKTTiX5vo&T z&499#MP1=t(#0@YuGp|)10VkIhk4~IUpcFF5ke3I0kv9YBkN|m}i^Eq_<+3$-=pj0BhB<1+2Po0sD`P+OiMJxnwh^5>8@p`9P5=lkrkD zT_)fX6a%9!=K=#9Bla6mNe}XQW5seg1Ip7mF+xBP$jl@V&FI89o4@}Q4?T20$NTyi z8yWtg0X5UU!4UI&K2LxDKog)kI=g;q0p*4eg0@aYd#Rm{&V{VLaAQIThDMIis8^{q z%FORMNgPEe6*D?sqgsJRT{GA(h#G=gMJD|{vOG;|ZCs(-*&D81&4FXjCY2894IP`K z!=%v zOzNyu=q8HI4LR%eDQb-hjj+Pd$T1p?Dz(}a%a@mFgo;Ro4D@Omb*R-~bkIWxMHpIO zxi5an@&&9~HlKsN5w2w8>UTVcecCa}*1mD6Q$~T235?AYf#ymwLTIJ*+aX;}}{g z8exN}YMFXfvgH|-y26BO-Mo=s|9>A$NW3HR*$Jje?ob++=_V974wf`KbLB21z1cDX zsO3tY;aD#gRGT+%=CQ{fWAEO5oapUmaBz_7)HsbsZC3ffxxFml?!5C(KJt-|%(*{T zsAt^XpYc!ke2H8>PpQ3~AeXal&(FBM?6IEq*ZOxELI_G-A*DhGZG~=vAdg6jJWaW$ z@;uPm1W>U=YBNFDlL1;Q7WQ0ZON!uv#p|fmCW+#hk@4fy>lL;&pq___tV?k z&&mD)%2VUitK}xZB$jCwKyBEtfv7D!G|wQbK+ zv6D1;Y}U_wNiyv~PjU9cFy!FDgFNxX6YSi%lau{}^!E=kJ~l$FS~g|D?xqLMU?VS!#ra79l0Kp>8<7khPL~aN`+#vn1qY&1l{)5 zm-9FGZcE)@;tJD$SRQ3^Xs+qMbBpFg#j(aqjwW-^qIJQ{V{mYg`|i7sef##&-#^HS zz5&KZhpCh&2pf&&CT3CG^g2?erBGx+^_8!DWllf=EPnxvRHH`y|p5psHfnQb309&l}4A%#K*?WOr>9f9`ILfI-1ZOe+xKAS)` zZ9lFg+;}q~OlgvKGRz~7Jjz?%@@67Cff5Y3R$kD}%4PF7+&7hw_f+5VEY}hV=x~-Q zAytAn#-e(LBWtz0En{$SkSCvflJ9^2`wR^Y)7v+|(9jU&sWBS0T9afjQyM1g`sR`k z-0*#$VzEen{{Wx(_-`BepinSwFQ2!yQ~r-YK4{g$W?Cn!56!);>7Sn&Y(fYMZHl&z zh@zi2b^TF@)(Ro~jAS5PB9`XfXr=@yd)b^h6WK-f`}tq^;yET+mdW0`Rlf zEa&cj-jykrami?!CR$)ES<81Ojx@fX@&}dixTc$pyQ7$ycmPl?mwEQtXW6uA6C)#| z^quVIWd9)Li7{%`aze_R-CZWy%K&QQ#*KXCD_@!G%1q-?zxnZxlgsC6@9ZR(&lA|5 zpfY2%XCJ3wK6KO5EF;T%XWqcHy?(C8WLCf)Hj> zh?#`q*&RtsX-rXoyGVN$;fA|NVZsJ-(2v#obV&w(h9O-vf z%O$BZb?})@X1`DrDTGejdAqw>XeAN0uuo}C9BEXbsn@IQ+O>}MF?6gc6}pgqfG2ZwwlBi-0;CMc=iAKww7`=-Ix!zk z#1@G_ZJIcx^ErLb_xQi}-pjjhy_JhsUNp^Wz4zxY;}f5IE^&vhZBX(h5+CeLrXY;$ zjX;EGx;07^HGI&_GEfgz6f_A@>28aZP5vZPe#!jl2g&(Tp@U;*co3)-yEYPq!|V?rh= zAK#P^Yd-q%kMqUP{~t=FQhK=dNN>7oDUZI;pH5J9Ut42lx!6V8S|_b^GV{bt;FQF% zrV*N&bg9fFhlz=Co`3F1c5Hv1krgy}4BLOm1((hK<~L=bfkR_P+kLZ}2yF-^H%o zyJ>50CzsEY%jNK_m1=T(r^40gQz}lmvE*$%ea#s`*R0*l1vViB^Oj6e$d!oWkZQd~ zwO+$RpwLML3Iaq3!i&u9hCOMkTs@?W5XwVoL0GS&8X6%aqvOXBn3?Z|TnDaWkMHy- z&-eNK7r)3&H{3v}Ewx&1-0<>6{QY;2-~a>8r>FOOj#AzCixY^%&RP6e20i}XxJa89rZ0l890F)zsn0gbTE(D)RiQfkT;zNbDl>& zFwtQl2uyJ1NrE6oOH(%P`#Gd<#PM8P9<)i_Mb(%%j+m;|i6g_)jhbb3sNH+^aPNKh z@hi8yW17{v=)86=TvRevD|4q*ch^)mon6}5FG>MY;0a68m16(i9cVwKel7>mZq+2wpOthy|%pG^UIJfs_fA(jI+bdZsWpaD2LgPm#AHZoDGW*d}*t5BS zll*yVu;oi3`JAMf%P}%JN?)I*F*OePYAE7qk0!jtf5EJ7gDWFuE&zs5ZrB=%Ds5|ex zbIxm(1=J@$`8#~c0;;RKn_R&H$`&jBxXM{hheu`CoLxDXg_kvfXKt`bA?P`OlJ-Ie zN-3(12GyYsYUMmyD<%dy@O@1j3)*|Cc)7^@u)E9lTAGKRvB#aK+*_UUT_EzPEiSZ5O0sLM`#7u}l(c zy#z#!Iwz0rV&AT(8R$RC`1lAFTh0{6S$hx0RY*2%ffBH@`FEc4q?I3}AE7V4)z%=W_@tsn#MI zm4c1l%z9B|o+pQk$wtQex(Mu}Ced8Par(193;*}RqbBWhqv4F?74I#C;w@$2$w4k*m@1DI0 zK@{`sqhF=(#6HFxpsEw*b|0C%UMq)EN+s{BIOa?D+yGWVslGEOprA!Q_`q$+Y?zMD zE|c4vtLW}WWU%HU+;iM4GMWlE+{Zwo?`Gs$*|;1s%Dz2 z6=n}n!>I4$wf1xk*+Yj^<-txSD|G#BW^w3TK88}uxlq`RXB-w&wN8#Ja0 zv~EZ=o4aNg+w#6v(5U(}fXZZ7au7j2MoNXB&ye@@d<(#o7w_4#H<2GqUnjc>t-0>< z`5YanaCD%GFF`1cLKDUzhxR_hj_=>kNxdUW!7?*?BDM7H5)c^&pr1f`$>q%yzoA7gJW2wlNFXgb>DB1%iC8 zh!g>pYJ;fOjp=ci-BvaopqsWc6UcPS;e#No`+%li4FKI-j|G;}Su zTC;pnk!1^u93QOGcX%s%p1GIFkzQ(*NmLXP+0vE7Dz&KQ?(SDnthmSWsJW&XWqH(X zAGnR3yLVG?dQ|@OCohN@Uj2B-G?<)n_Xaq#$rv*S0gJ>9qP0!{gMKK?|{X-l+e0WY!`Mys_M+akL<9ztT zzs~hHzK;Ee4${%pMSEu_rM5Qmwyec<3Uu}MGyO|yqTSd1u|LfIPW`WC%&;w2k=y(! zG2>@~QiEc_qgZH1;4x92qERh2t(QFw%{yy?L(9g~Kc^pax=>ErwA-QWw-5w*{_?N> z7nO2l#*2U5`X0*TgVgI)8ew{8tK^{Mue}`!$?wp`IO|S*U z8ikyst=Pfn)HwY|3ZQihAVt%5GJiI`FEYEHY0Tst#49$w(iq+3&2%lT6mc9;tyK8T zAN?_Je)G>IE-?#&D_{O{luZcFq(_;DX2Zq}+;K-bO?@^%IUe<$?|g^5@BSRS_LwwG zzEChlceXdeOw|W7fBD%?$=q-KP-9M#KmE;9#st$=&~tuf>H1@=UcQ8-i`TI0@NTv~ z9h&L%vusn_Eeh?nY)_1C-A^V$oVHwmP2tIAHz-=Hmg!R-8B5mmUh`*Vli_RmCPJ9bdw$@vXWw2PdiY^H&zojxuDbea zuDt3>!Z1wl%pOHVQOxZhx}5_D4<(w^OuYackD8d67db4aT1ya*HB3(WWNGmHi@ixxGhD5ajs6-+z&T{sG)<+AKic zf7=HV7pP*zH5)eYPha{Hcib_ZN4bX(f6U2?|wI5{o2=P?`WsJt%Fjj z&7@<39Mbpyf8yRO#6@B2lZ znhhQ?Po!_2GZPonqf8B~RHp%0etMIQbCS=z{COVjZSik@>+AHl+mrbgly8%}FKP5t z_|FP65XCXF%%dq~=9$lJQ55)gukyeDzyAXUM}sV{Il$$49_@CU{rv-e^hf^&pZfG` z{K}WVOm}IC?&2byPKRcrNv&4H3xf2ZqrC8*E;8m2b08`34muM`e$qTA_ zXT(!$Pt#~F^5&geM8lAx_^c>XQiW-(Vp;PhjdEiYOPu}qWp*k)EAub{r0)@!kYD~6 zzrtr;f1U6BzCXukWS0<41Cdg^Hrpw41OooR%kN~^Gc0N@uOlF8ny4)1FvOuB&q~{UT zLTYWj%SD&I@@ABr?Z*sKV$?#YbolNB8 z;*^D6?xAISS?Vu96ibGmMk`fNm4A|{?+1iooxk-HKhF1j&!1*#X^|+3QuD!RIO1o2 z_Mh`N|EIs1E?lT5i$DV(d#ta+bnc6u+C~*${alPwMZHgw&)m<+-0Xg%nTRx%t*RK$ zOs?c_`w252lT8zq6Fp1EVg=>B%ubW6A?z5U?-7In z^+tog_xJucj4^~^h*p|^`Q=~bFaE$^;>Z5>-=ee7rL(X=yWO^Xo7ZZ1zEjLA*u_4q zf`tlYC^dqZl4cG&(MJNRDQ-4P9cPf8oljMoT6@4^dx?6z!|uUjD+bH;Q&AWB@RE97 zV6tgpWu{6l?L@yyb}C)v!lV$X+2B|I)vu$p=H-`OSbU)o`9d4Wq$y~^YL zhaB$8iFz)J&xsB}S!7m#tgO^033E_QonIuR8O&8EXrgO*2x09`#!X)q(w@_t?6fSv zF3m6JS9bI0T9bvEFaELle1qH+MQif0#d?Vg)CZlCK zSbb@m_2n+-&%VS5kMGjolf@?pF#*V;UUeLkRg20(dnTr)Tp|5Jfv2&^EOtq@o~{Zz z4oo>99nV^G#hjUTYB@d(C@Ygr)uLuaaoJUih$_GdpxzqNZJojx$$oE#!~NWfzLK(U znJULWCjeR2meawPH(fk|^3H6axdO~)rFofaP9RMy|9>(!Rg0?ds2Jj{>^&A=(qQoG zN7On47TSv#V|eqOuQS|V&VZDE#svFitTz*6x!z$W4zp|v7|!9Mq`Y$sXr=&S7MSK? zC2?$wQoPCs%;)A}un+I%WvI%JOcWECi3?j-eq+e`QkRX>SGaZW8vT7Q*ZS3>)9%Dp zj#CXXlTYu$ir~xTV2U4z|HNW&7V{hjrV{|^L<}^IVNa6BN93yOqLvPv9QEARP;l-x|#vKLPbrg?!h z6+lk_oMXW_zdKHx9V;S51xrob*c5*Kh(_I`)9zqUY;Nu{?5&mZ&M4lL#NjNE<=eoB zD*wEwtOi(7dCvt@vD0+GJRz9o0n(F-zshuTCVE0Q*=w5as>IvW+Nc1W-{`Zv&|-c0 zDc-*KCI^oL*Avf)q>|`NGM^dm5N#f@EGGJqdusT(Le{H{&6b3Vn5CaSY)6#u2TCJqlPU#r|F& zHE!o^m${4lG?z&>n}^A&SuCfEnaN=tzYM5v7MPw4NGB1Ov)nfYVmUWy{jT!JKrtI| ze&di3l(n$1op1k;BG(!Ah&5_i&Ej#sRvfhNmAOv$DQIKR=SRS)o_AXYI4`y=8} z=z@zPGy~G{Aj?Eq+0IoGl~uZ!DYIK{57J6N&0wdG22AsS?IiK$NSpZ1%0RfS6pcXo z5ke|-93s33DI?-h8{tLhIGFhiDAaj5WU`bM*^~k2HTpDLAPjY$X58aL)BOBPTB-)z7wo!MfodlsdkcMuUr zwTXCDy4sV2j7(IP#Av>(MG={w^X@`VB<|({S}FWE5qK;cJvo5#E@x}vE>XoM=W*=&#*Qj$CdV5tDj z#V?A&DnLB}J58&gzBEF z@l(`-24UDlx&yiGTy+nU?W_gFal~+VNDzeFx%&pK)*^TAUge!Te?(Yoa_8O+qEVA* zRA)R~10ztemn&7Zye!wJ-{{kB1_YkZJDU$V+*-@tHW$|vM538wvuPl!08*AF?{6cU z9H3KTcR5rl?zSE!EOXJ}b$$e&+kReDPB* zcafIW9y2TfiIjoeHP9WeXSAW&SVUlW>G|)#V0il6OMKh6{6+dlduXlsqig?$$J_7o zVDmP+dq)@(FgQ4cjslbl3T4e2xCpqVjYljmoTfh-(eHzf0;)p%(uP%7u^1(zU78X-~&js`=HdIA*%6LHI+ECOi;$Z|k} zY#;cEjcaoXdg5ONFkfR&lSqzbO){){xv64s0yG~5m`(L z@JOu{v5F9phtv^DjCtnrr@3_D6U1uF+qeG%ciy|fyYF46x4TRJ=0odje_kV*d}`BjO-0Yuw7V3rZSRl$N^* z62w&cQ;ttAKT*h!so~S&WUr9LOV;O6ejr{jB z3;aM51Og!x^?H+~?m3K!F(yiXwT{q6VHl%Lgwi8oJs?&`#BrZU9ii2TNDYbA5Mwmj zL}(qmFF8BhR)~CS7`h8T=JeAI(jxp{tk@zyyxc9<;$8S8Gy{X@5P0k!Yjw zWX(2_1|e!_qis6lIh{+Pv_YvcQ8Y#=MgMS@&Fy#D-``}cj@a)VvbwHl)IIJzJmBHY z=k4}H;DA5X3TvYzamrvLBTtiK(Y${?cVh|x6LAxvxxe4Tx5t^-vw;PIAN*-H1a_dE|$olEj~|0Jm)8|hgrp70=JvALTiz2v#AZzmz-WZ&thklNDVm}K4QQBHhaAxdk+`Tc~gbR z3o0ssmPsCW`g~;%Qjp&yFJrMx7n`(kB_xsunDz6MBv$k%o6l+th8JFVmKR@mjvxGi zA3#XSwd>cpdi5&*?B{+Sj3G`=(+uo6Dq3fH*=(R452ks6RFnW&e1jF+U^g-GeV-tx z(H|TlWK6Txw42EVAwgh|T=P8NX&EsGgLgR`zR%jy%T7u6P}+gai80GQ+Mafn91o&3 z2HPN(CG4S~MjLmuF>c#(gVDm~sX=K_D#9pX&mJ-cDFwc$arV?JY~OsBymMA)q`AFA6Y*z(^b5cEMF9T!&;LAt z+XG(U`(7$C^L8>hsi0*qmA%pvg}Yt+Iz zVbE|pG5hY6c8{bpgAk~AMBujw{T8j}X|#?}Iwn?DsW&FJtYefrW!8$y^q^3ulV$te zyW{taK`GD)&=hFpj?`23kais#4*UCfUci3u5m#?tWBBOfsBuvJ!c{=af=Eu7uMV@H zL)qW{7R6s#M=OXzW7yk2K=cj|X2PmG;F$WE#9(NU(nkovFZ|*cc;l)So5mH$lO9rv zbhkc$!V2jbV44?56Ct^T!O|`2-N(H4@+HolxkA0(B36e)@d1G!5{3@a@-VTGK9uK#-x&J_-4=+*CB$KWLvZT?In|x?KEYD)r{A2-VZEQvG zm4P=Wu&Ry^D-@+z*qjMKIUPUS8l;i3XB}j8&CXhtsO?6yj46T(1 z=;j^Hoo?~!^B-ev`3$wNiPl3#@s2%~HmF;`cnzcs@np@~r;td`vpqR&57dt0zGJO1 zAdtet_nT-FW3(bxBeag4s7zSG0EwPu!4*4JG78612Bi!-*2D^w()12@*?N4RC{jG! z9?;*pfElk&wuLz!WV+B+#X1sb5E>C4BK<=Q0^b|hp(`Q;3S&Hs5C{}Xg%}kAhB&ID zq8dU9;*mWBYIn~8tGt3^wws(3RtPHq4Lj^11pnlp{wz@x@#X*L*X=e)fjvDvIs9pA z?{4B|j(E7Q$a#i~cMr&iBVueI>~kc0laC_TcH0fFDflOdj0!}ptb zGDP4zQ-f99qj-o?V`4QTiu=TBgi=F{F+^&JFGCO>DjFianze`Hvdb>oCVl>vgd%p(9Me|ic&GF%V%k~m+2qwQ>!%r!C-iV=lN_tyo)xP;qZvVqdqFC^Wa_! zanReZ-iM}Gq$zi4i6_IIzdh;RkjyUp-QW2=Zr{1Xzx>r-MS4EIpG;!SiO0lE0n&8Q zm)#V4IMOngY2V@LGs`@C=@OTpdX+G=Of?v7F^&$2<354kMoJ&wZ{W)s(hHFyuss0- zMk|yVqjls!HbSW}V|9dzN5pDK6c5m9Ocalh(sv@XVcAN6Cu;7v;ux)cqS25zj?v0v zI2sZ~F>z!;7sZ;#+XFTqEFnjiixpo`PpVwTW(lxlcz_o?Ca4|YdlKK1NGUK{;`=_I z{`j9|Y56Q?PF+C=iBd6Acupsbt?sCe?R4PSHyR;iz~k-v42FGv=4XDx^$Ja?Fq6fb zRr+JI5Rf}T^)){CxzBQT<1GL3*M5!7%}v+c#~oUE43MVZ6nqM&XDH}BI>Vx``QXt9 zJly?5`h!C*J@qmx-LteCXAn(mciKOE2c?EY>WILzvl^uE@jQ3Hk^ADci4hok-VhSs z_#k792{1Ay#^4*}M5ZQEJ+!t>9GRXIlc1C!b|=&-Wk47=;B9-8k<#>sF;Xo}_RvKB zy)&TYKB+XCkcW8TF7@_f0#D$3ftw;^RgzDA{Lk|ImCsQNn@-AjR?qa3f$pr+p^YY1 z3SsO~%Tib|zrJ$T8I6Afe>fabue*~s6Xq)aPPk)OtjgD6#wbk`Mf?}v_kFCduk%0u ztsetIJl_YyVT`tB0+c@?NdkzqqIWoCFct{4Lir?!VohfiR{)s+5xh&IvrnT2LEw&#!S2kc5nOoc zRbF}VJMd&+(Jqvmxsj+cJ|OWN^%)>Yd$|hF8#_HQ#zb~|c7Jzgm+kFs&YU?zqgi+M zo*-A^nFuRM!ebOQ#~@KO=Hb>uzV&mTQkLk2SxAnOzhpT2G1RJL>AcV2wn?_q32qULk3Ouid#0Md) zTHrc0QhFE@;K=|_#%NzVQxy1GEBgIDfBeUP%*x6NzVD-y;+bcz5GzHe(@u+9sb5XB zcFC5KA6RnNN^7FgkSK~+Ut8xd{P{o6-~P#;pjL0-<%WyqVXoQwR#F6!4o3(iqoW3c z!wp)!E^_rDAE+I^^jkm2`tllQ)=u&Kg^v@fnbffW03ZNKL_t&pHGDrrV3{fK+XS@G zIwDp>I}ojgL~4LBu{AYlH~8#~r=VPeIT437HRJ|`(z?;wpbf;aVeeqXgRLRGLxmV# zM2)%yvrnRrnv9~-2FbITuH9x~d57grolECGPOa8v@8AKCckbDIr2W_yI!hQcvgI^( z6vpu$T4|*4Q}O7@y6Y`^u5%+n3VdO4gYTwF?;q?MfTN=UMjH+edh~id?%uu2>C>mF z*X!);>~QX>v#hSH64t`WmODl?CTH;^!xrOc%--HU&pz`U#u%iO{NC^X9zXGSekym! zWga0@fHc*#Rgj5k88BIA!Z`iFZgHtuz4RVl{RnDDv>P6a3msaGfJ^6|rBUw?`T@1T zj`e91IlI=_+OSM)m3TcuDLebYib@SeS=}V*$T;gm(j$yx!)T-!k2L#-F^?V(IT|Wd z)F9ryfF3QoSIWO^UW*bHz94Fkq5c+USDS2{zQD$rXPr(r;`V!AvyA1k4Z{|n`NV%o z7`ANP=|s#6`>Snidt#fNdnS;0vS~kBJUkh=;VQ%b@IU@t{G>3Ardbrs+DQlM3n-MT^^hqUJV(QOpM)e8ADsfc^b_gb+OU+;hDD{`)L1FVku_34(xDt2L1xKpSI6@|9v7 zMQlCV;+ZSYrn->Un#02$KlyiliaU4j;&~p@lT5nli)g31ybhA;H70$oc81I3+-jv1 zjrNeRH6UmX=$_rPmT{x;r9gUuM$IGi?Xb^6%T2@u>UGar)|DmD94A`mbhDx_)Kl|Ba>3=S95eLRy7%dRvwlnu(&Y-O)>{Y@5E4>)_O#Y@kAm)&ew z2zC$NV{h-SJ6%m8eb4TIZ47=;=b7`LCkR?rOH_84%IFxQT^nj^_)WyOF~S*sK^Pwm z{Pf@bb^Mv;1?N29!}C2ZT)F^&a>w+JM`MH#yz#~xj7B3~ef3oi4h}f?)H&Mi7WI0~ z_0E#ng^sbbJ>u8%ytHAJQq=1W{?hk{` z2++prc0wqG5Dfbbjt)YU>Tv(&GOdL%ei+kQ?Gw}$qk4?j7-6(vdvEN-9r&KGgUK|nkR&`KhxG2UOq=#Zn`MGGQnyNfcJJ!f36F6pwny0mwuu#7N270&?DkBF3= zkui++Xg8M8X3TK3MZHX5k619t|v z(Ky}G&fd`4O-#6X<1K3S8f$B-gkhNJP^k=I!USP~W)HJ``IQ%GwOcGNEphwy9h6c$ zdiaRLUX$J3UDnsvX|Pwj49&6<>qF6QHqEj|KL?O)WH1NR*IB&md#Tu6h#W3O`VcM}n0z z5m977d(_)8yK3-rL_XC1ZFdF!%*iR2s@X~XHG!lt4qEOvgM@Uq4{nAUzYDGHm zN6#_{zQ)loX7kZi)>bdl??1$s9?}o+gBrdU+QE04H*fONOD_=wK5Of%9PA$ugf&jBpRxy&yF<#8gUXFD{IwtcVT^zv z2uO}EnFmBO`iq68f{azlqA{5Yqn&8fTBBlHE^9GYw)f=9nxxC;D;yKrF;Tncef9rr zfL`X0)pM+sym!L*`BzIvD@+!auo*%iSHH^Ag5d1wChIGw32IFw3TL0PV+{Ke#`hL@(71jg7dcbqfKf`z&@$~tp z*xx^3XJ^NrYVR6FN|`oDS?9TY`LboLWCm`9x-}I<$B0XjHhz)45ICEY-Md~3>GTJK zk``pXvB&7y!#!We57qqQ|;3QwlX+C1qaW$2j8_Wm%SR7|Xn81{R3 zgjVU7b&L?!mZcR+B(rVp)ONA6w_V^PfSsLP+O0MZ9(;h-I@O29<1uH>oT1rlU@%T> z<`}FrJ2CH)e1@YDn;&fQ>MI`uAc`WCQbbWi6h(~3;}mp1`BQ&~&4&;1d_OzoqKuql znQMBaY3x-rOH?yiHfE;MUY`Y7mS6hR+)NIcvQq*unO+x|$^j(HBX^P7KXWzW^jA>| zZ=U)(qOrx=a)Vc%dx4eihBMS^l#UoheWa-2c{My)N6HY19Um3aM+h&|qqHWDN5pFE z=A)TZ1VS>eO!0sIgEuM6$WN+yX?Y2N^B126;IMZ{5Cpvc-hH;Vws`Z+H#v9i9F0bU zR=dUe`kJ#l83KQD^gU@Lr7eJhAV@1X>4_!r5?#ylJig=GzMWtA!WZy7vM+I_YBfJ| zL3UVUk-hA5jB%6p+4<22L}bQjJ!TXS&~Z!@yCI#dsF|Ilq(Rc|*lh?eKXZxw zy?wfiud}ziht`IL&I0enODM1$qia0{Xx4ihtM`p6$1wwG-QJZTVJO?yu;q%V?Oob z_qf@!EowoRQ9K}4L*lrPlp$JZeClW&Bc(!!z;#Nk`11hcH!S12o~mM;>U#bM_cvKt zT>%VXEk8zBdK2dsx(fiTuGtA^S}A=0G`-#-3kwT$+8y3`=N)|C=kDFReD|OJJVM%; zk}8flJUHasxu?-uBc+|Hkz6MgueBYhuGbr^t*&wZ{`=quS;Nc)qLV87Sx+<1U2li^k+cZIQk!MO<=kL}pe3C_v zwx0AcQX{cs;r-AL{m_qn?W!d^T@HJPT)1$7`}ZHP&{;r8!FW7oYio;Ut3{{NNgJlzyGle#9LK!;@=N^t-}zmT znc^!-WhwY1HlXU;iT{%@E6>%>-#fdS$a-(~gOEt+rM4*PRxwE--HK>?Eu}(~wdX#U`9`}n6$uhVKb+5BLWMx((( zXMyo3;_ltM42MH5UAjcG)x;Q0tzIj(L;4n(3qqeD^m+FAD*!C7EFq;JiXsfK(Cu>d z>KlCJE5FI=>Kg0o>zqDyn)UVdbn3EQENe6FE_4|ThcxOnyUkEm!zWa!rnB9&*m==a zU@`aViSWt9o}3V!S%U1MJnN#Er(1*pc07n2JLT#-3CW)}p8%~aXdH22jNx!Upuc~C zuyz*z(mUL``!2WMz0KvPE^=n=Y1WpXq8`@KC;}u>M0j2erDIfV2iwPLly+w9GB<1V zw$E|B!tLG11?6fu9N|gH&dx4j5c1YrZ>7Dqr=EI>GaF|x#?WfJ&BbQ)1QTEFdJ9K` z0f)UFdwYBA?d`F>y~EDVjyq3Ua_QnlUU}tJ&YU?zuh-+zqen<7`M1CQ@Ay~0@tZW7 zjpEl_=}sappUhPOV^XJ@3^!HbQvhci8VX|7q63qQTTGMwnQRf009U8L6$0w*BWj&P z>T8>JXj#IQr=OwI?9yp3veG?cXSybX?kXl$ak?i(91orOD6+j|74uL2uRZ*%3t~VR z>UC>*KXuyfz4X-6=U7=;VP|`n!^1;<|Mz~MQ>RX`u&}_RM~`^%r5Er#Nl*(*_)5R2 z^v?HvYV|tJR?AMs)rKGl==FMx$78NuvnzZ)`H4@kv2m7-jSUVC4rsMnu3N9|7+3m? zCt% z>!Qk>{;|_^jt&|e9W?MZSLv?r<2MhvdHYs6?6tViq|;iYQ(s_daRm%^byMK>JrzDe zkF9>D#wcYc7l`eht!lcNs7+g*@i-!iVjewwkKu5{!Tvr6FE+QP$>RO>d5=@}k&gI*caI%JQ_hA?igaH>WokuIp&dx6V!#)7-zxO_ehlgx!ZSl-A&#<(-M6=nX zUJvb;XTbM-YC#RtFsN8juhsE952X}gSVL<~=ybUU4<68Jw%FJ>%V221HpP@h8AMME zAn}ALbKoe?LP(6I1%IcAn|#_7C?@T~1Ku1$!OM)8qz;JVlWu+-o5wO z+1cTxmtGt1DN#{O5ClZyG4*ecNA;}I9xUPqpkqm+GeW!mMA#fM?zagVM}Wb< za^(_(;fTBM-sSGyyY%~gmX?+{I5^-_pZX-e?=g-dnyqXn;At)~q}J*ohDFxaR}n(+ zo4@fDKKt3vqLp3M68LuIbln(YFG6}gaU2oWLdI@rCmD|mLp!}=Z~q`0?l_KBlEK+y zOMHwwE`#}$hzauyIGroaClg`$j)_%&bFAhX-e!^5)pAUwEx4q^qe2(rDI?tzZEJq21Hz^WXDb)N6I(D8|lxa*@Ii&-3tu zm?*M~IBIch*VVbPC@Jj58Ow`{c29+g2b~Z^V)Ew6#b&j)skoX}NA@E7Sad2DGxJ7D zG){abaq>e>AkfLiBp8g+IT4xExtq4+bTyrd#^f0$kKeQ$`F==J7UPOzapio3$Q?GG za-*FYS@UYt>LJUk%XTJ$(!Big%Z$fk?%%)9JMY})<(FS(cXyWy7td3x)$l`qYUKgc zYc;^&2c89sA=~FhN<2^ENe>m+3HgDtGgh^>^A6hW4%e<sE(aU0Xp2!M(fh(d+g2cmMXc zIeYdjD=RC6VMw>Tfb=9mSj;x}&AGwPWPc$LTA-9$=ccXY+4DSnX^)}RS|dHl#fukt zyuDp*F@I7J&FnGGn^Pq}P4UR*Tr_u-!B$|aWQYgIhI%N33n?v=xQ|h2lQEV6l*R~& zhxOOVNVPF|Mmt@}kd@Af+VmjI{B$E%NFxg2`4<-N-o0a5?PkdiQ(YlhuvO`!C}wA8 zmri?ud-v|~@Zm#(AfVIfaOKKnJm2m#V><%Hymhj1Su)>AW%JIHVV*?E4TBp0&42sX zXm>gVbHiLPDzx7>o4d-cG`=@)?7T!ZB_Nk9{E3;tPV33c6G=TM(|ru~S33n>D>t7i z@k>Z1HEY=WL}UVFvo1u^3jtvN;1K`!fA6bYxpIZ0qa&_7bD8`1@ALHer?SPP6h08= zEVhFn;M6H=NWFCV0+%jb;OJ;TuXo6`YuD4+p_eXQVrkh9?buD)GEhh%Z9%0$n`~S% z@i)dAR#Uwqodr0lGN7s~o>c>*x0ewHfu*J@ zP8YMw`lYeMGRVZDrSX#48ZJxeF49RoCaYnSf1y<00{>5a=XcOMI7BJMem?RN#);wXfwtJo!H`ff?!xF|0|0KGUozI?B zx&@d_%9?%yPI(UkpXJp>mRA>v#xW}^%e?*e*V*6Sr`2ku(}%+_q}6WHYPIk@iB64p z`I^eE7nc?RXtWxDq0y`ph9O5sN3`2*_ILMbx7%oK@B^7nJd;MI^lgkmN{?$du4lC? z;CORGshvJ7c*@D=5MxuHo-|56n`vN6^{=8xEQ3r4QtP~c)TE(JHgQm5b@s$SiZV#) zM59PVr%0L1IGdPL++16Tl$5Mq=gQ;oX2=06|7G}r4*|UV%8SHGp<=~wFk~{#Mk zZ@tMvchSwauhzKd2GK@i>yg+dqEEY&t;GSecP9-YjyS2;6H z!feXvPeNOzK2g*YgKM(f-Y&Qm37XRF0?79S9ePDhfA{l7-t3)>H34{%uokeexPVrg z?&1O})+{eCv%I{_)im$fu{(>vZ$K`o0%FfW3x$+3AfK{G8-Z_PY98M1>A}{ z0ov_fFLcsVv?9`R9#R-oqD&bp9#fbm&vhLDtHe7UOT~6=nC}M};?g1Wr0Dh_qtFYW z2CsbVC8BZ6snhGcdGjq67Z=&x+2i2g0MGLoU~y!gD8aXe1()FsUgbDYnbo|5M-f?EthpErKB6PyXaj7!HT5tgNuKv_u@oG#U-o z)>o<5?KVEX?`M@$?6BC1lY+1oQmcowI!*eAN7QOHc6avdSfSE*zRZ})B$a1>wKL+q z_0}!?z#dj9M3FtyYOHL-lY;J}amVFv^8NB+$VA#Q(2fV$bQUWEOq+yo@(kuAhR$qa zB6r-Zz+gPPWl>_bu#d}#AsHHi+|j*uVjg_!w||aWtwuDq%iRxqhe#>;oqzwkwA*bi zU%t$6IAC>cm0B%CNIL|Rb!-xmX41+@W=5>8FO$4uLchkbQ__#k>m^sOUL)`Wcg~Ni z;5mUbyOEF4y=I0^y5swY(?w%7*row(7RY8P^+kZCAE^*-4=>Vug_I~~rbzO0`aH>F zb^0J%PP^5&KqRNm0%Ci2E3Z10F98@1hIpPwuXji^ju;MyD5Yq(+w}W=&Ys&q2x0ZJ ziOQ(TF$tgIuMNH*@R$F}U!~pY&}`I^UOw-VZgK+gC#t=_vCd4bfok6gZ!=eTmA`@1 z#+A4{n39j&O|=rE|aKr#f(#?DupH2LSTD?vZT0kJae5KKr@v8 z(*10PstB#@u|nP!luuipK3_~d{q)o7Lo1mOlM@VvuzBVfEUiCh<4PDTIfx*e;hM0h zQ)8slvEIFNk8|hFS~CG|5oxly?F7(lCV`ut+-f%g7>^=^5L~@_mFJ#&j^FwBzsu>< zrwM|9)wNZYmKL$bPCr*kCZA=hKP6wlFMa7tG#X7jFH18Crjr6GCrT!>nA^=INGm0P znTT4*s{&}VKsNmhXXAjwi2!Evl+H|V$PX1I(nSiKK@~9C?Yx{SZK*lPZ@1g*?;mje z`gLA-;RQA~H+lKxmjDP7(?I$z)j&)3)cQ03`G1B|nvJt(==YDJYXU#yFaMRl z%HrZ8wOXyX8heI5buu7Tu-DvaE1a2jd%S8t6=?Y=1@Bop*QCCcuHbROnQrTPaycDL zX9||RFNE7)mETndQ)oY9;Jx=B;0thDZbPGa8h~@>&T{tL2F4iPefM3o*4(>ykB@!q zWAu;uJoC&Id+e>}rEo5@SaR!m(hgp?o2;xY6OWZOHRPS^r6jfyPkOl=#7uqacoA4K zQhcM>OH8|+CK}B|`2?Wq$eI_@w@2A5bt^$V3#nL2iLP z0D)}jjbFj9)aoH;&u#$FS$GMh6c;aEWH1=;=+PsFgAx6HpF4N%aOu)T7P?)+T5?ip z5oqP36#dZ4-&TIvzxc&3&}=jb!XO<%&%JhXImMk^1Wth9iQNp&nGlVlR0mT;V%qV^ z{$@5rQK-KvfF=HUML*TS@_rTim&qS&iI@iiz4qE`G}{fgnr1eW<->DDb;CF}DWan|jil&ih2>+F zB7H-ct3te%#8lz7%v3IZ0ciO+B_QPim}jwB3^w6csDIKi#N??d%b7_qRo~l`{=>~j zgtd@`g#~*uYErxk3!MN0-)DJwDczi{-Dx4E$HUEs2q93hA_)A9sq%_{Qn;)b#mdok z5d0e+E`BjppzzC7!FuiXcGiMj$w+rLh@QGD|VqpvV~DH@n7V$ z$MlgU7R!stWOBoe8#kP_y$p)kU^)qqGBW&VXlrUNrT~kIM8^Pa9*{i|!18-OB;_cI z$7BjjcF*L3*F3mN)1&>?Ir^%YZ70O2GGhpU#5a*0H;|z|qlw zkAM7QY;W(-@AtWO?G76o8`SG{y4@}aL!;54mK=3bV6x(Z{GvEDlT4MXMPm$}lw7}Y z!)<2kW{Z|uWj4@~i{pVb5u^OUoFpw!(!|TYr3^}dD+4X9p1j^w2H7+gn-gF;zp{8N zvR5^m%@U0Oeh$0>D?3vb3^Pn6f-e%!z#MRX8zm^U;XEsZW~t5E56c_##_P z0&P+xX0po^{FxAkCjr=mcs!21a-wk-*!)bKl)f5w(QxC0olcAKIO6Qt4f_2)J3G64 zgp=K@6+veIeq#xjb=UD`LCppP3mj84P=esi(mW_L6~j5J&m1afvE_j*&sR= zV#h@|MkW@6i|=9qQPx9~Kv4~{lDM1@hf@G%a+-Ki96lL)WxAH@HI~>Ez~9^5Bdpa@ zrV>fPL>Xkl9*N>s>#UzzTc=F~09nPxp8b zF3VCyPBgq-JmE<<@LX<)$~0vuHY2>!<3ljm%%nNBV48T$y^F{(S|!LT#ATV4rUA@? zDd*?nRkK%CvhzjsvzcqKGMm|udc%V8TR!_b z00#%X^tibE&U+cV7MUsuGsfTt0l)Oizf5;&F+15lO*RWm#{g+g-RYwekXhSQeHAu_ zC`O!A6`%r0q7YUEuoPld089O*vDJL+l|1*jUZel|XI^K2f1kn8fH<<#VgBQP{Esvm z4K_A5cRxV$slkQz>2J9awxFuRK;Fm;(oT?l|9E_Sm>mHh@+UJ z!GJ4QuFz;SxPJXQo12@QI(3ROXU;Gf98s&+S#pa}t7b9Uza;?XzNobLDTCR9ec_A0 zOrz0E4`nKfiNc?v|CF!^pE<GWC-kiHSR>$z+yp;A@L32lpslXijnj5_c2P=k_wGIR_xE}A)mOQF`!+AVWRH~d zeXqn~xv#ANGC}sP87O6LGcrV}H#n8G3U^H0O<}H?;Q5g9uslIBpK*!YnNK8^K_+r6 zWR3+`r4Cl1e^s-WNvk+78q4#(Cf+M~)M39@N!lhCDRGCrLjZccLmoYP#GO0V#P*Xwvv&JC#Jz%+rCIppC<@ike2 zQ{~{4+exi`B78E6^QagWD)}Y7?nIwWGDSXs|YZK za5Ia=D%q;qufP_L(TvI8=h&(w8Yg;<`L`*EN$dPuZ{4!1aSjjpmd}0*jYeZaH?G>( z+z)*Gz~|z{3jnOGtuh*q*?zpu!NCFVz4tyF8yiI9n9f2g_hKc0VYq(%2K7drAPgxS z4loTgrHkWqsX0h$o`7SbO_76U@(qpyS_ULj2rG(8Q}mw)U^8{C3ei{rwwX$O?j8JR zpM93`c+8t`zRAJ<0kvAP_d<0=r6*;T!V{pi+yaXI{R6_VhKd#G`n1AFV+$vRA1%W2(q`fTwhfBPR6brgyfD5h(yJVBiU7;|6#zDsy^8k*D}7F` zi0sKZ`&Kn`L2kF1S{PCb!yJ5ywNqF{Q*fn)l4T$X2R&1apRC5Ye&ae}=(}};Iq-;5 z{>5x(_*aBg#yK|j6T9-k-&w#USEd_lBxT8|3we-DvRF01ifrZl%Hnb2eu`+EOB801 z%fEHDqCpgXk~f~tRB7S!;ci+*34Dcl)TJahZrmUU?6%xe!(Qj8T8 z+v-dv09OK9fvs|3$N5(REN@gTi${_BxRWF&5QR1$krieFc)3C7nM_p$qLhKlyZSLz z4@;lrHu&EQg{A zfR%KuO7WOuD!d>AzVJFTdgb|hk$Xlt47=01yDVstIYhd!d}hap$qA+^`6qh? zeDRCFM7>eRlaoEdV;O1|Gl{CpxoB#Z_tXeeG%Cn3jmUe7QW{fy2Q#6(&k%=>!77z} zGbekMMI*WCFeTBB}K#8KmVxOCTUbk43_gtbm|%Gl}FRmUSkDYk<+sh zZ*5{~QIA#emfK-_bk&Q>WeH^4zHT6$W;7kF_E}q&EDHYFfSLnLl|VWf zre?;-e`3=jl)ElPZKEU-%ODe`5SH)wxM0d6GWDwzk0nt^&O}hvYn-9PYh&=nJ(kQ4 z=jA4AwGsY82QRD>G%vxsBWrHRK9X{)l;;W+czFiEiiS2@pzKT5M)Qkb_#&-Vi_i_@ z*sPxrP;-E(8X_k~+U)eE96I5V155rbW`V4l#ijzRz*dv@WnC;|s}lGM;4+Bu5gonD z1|RTLuuZtoA!sZRG|u7In|NqE;Wol$g#Wd#{RcKSHdtKj(r&j)^;89 zz?Jl%3elL^yfUyUHKZBuaY}u_1^Iw_qe0kQBxs!?Xk5Y<0#AY`3=m`bJD9-^>TnOZ zg70}A4<9~cFc`46w?`O;T)uo6rBpU7lLt~kyk>7zsh>IavJ{&Wg+lP=n{TqRwu0yR z$n=PV_8{~ zwbx#w*Xt3-G4*<#?d@&8@|CY3gy8h)({#IC*49?(bQbJBSaYyf=ARRfIrh4C{kq-o zqa^x18bHkgT6LW1@#b)%cvFEh3QXnFnBqm6GGir?`BwofH$}Jruqo_S7LD2%WOTq% zyv5Vz9;bpHL3f$@!aBjiX9&U?9)`eerYHt`=-w8l{}|oh!DwYcD+EegKxsq@=qcJUNKUDNJRoiI^!t%_9MecX-HfFa%(0Ym4r<%gq}%xp?s+3*80k^*T$7i@7Q@ zSqX)j1(qu7P$y!iSwO3fcYNIGu_l>nLerW8w2E~Al`NJ4Y*Lx8 z7LR&7q89CPTHoigc#meIMzFj@y?dUZ^9cgqCy>JKny6yvZ=w!1F$W(I4}10i0V&W% zfDtHT&)`uSgcRt=5NkoKAU0rxBvy6?s-IBF1PIix_09_tE;Qop-W|!Dg(;>Q~_!NOqKq*@F!-i*=~}l z5{<~Y9N3CgJPD+XnMA?gf~QKEw|+`T_@g~m<4rD^cUW!2gv+O>Ev^%GKacO%2m>Eb z_`;wMA7gqCPzN8N`#XR@D}{3HtFfn7Xk)=-4{UULO{(DgHwT4;ik>CFTc)&N40n?vX#i;%jCUFI+rQ>SL#~=w1&|E3;Ge~N%|T9ZHud`}`h0fSxi&I9z`161!JTE+GNOl8nQqD_oO5-Y2~Xk*Zh zjkFQO#$b#fHaMUu6oObwl!{PBrib18j~_o~Fc|Rm+i&yQYp=1oy2^MwW^u8bZ9prM zm&>cyQ5FkdJ zpMnI5;pCSDuxubfeu)18JELSPmZQXhEk{(sp<7Lnq9}?(&qH-rS5Gy)8s5F4&}f!!i6s zQ0_O0_hGLSLUz9v6H33KTffJd;WAH@SJ+<8Se!Y-eD5NQy&tEWbL=yVBsMuS!;)RROn0F`V^??m8 zH2(9$t_y$fmp;L#o_vI}7ca4Oc!92MjA--jG9@ePtlWM7b#A}(b#C0b&C|`#ax}X@ zoW=Ji7N|c?&?c+UA<>_QT%81I=eH89Bbrsm)a$&ChXqwr0L_mes)pX8Y%v zb#rE2L)QpRBc!|UBDb$nuD?#XbrsFo&v$kq$puY`tU}3-lMwo%6k3LyDGs`Gfvm|j z7UU9|$bh>EU$OUe+uUnbl*Jy+YKKK5EL&yCn!o$igyftRbfT8Wp|95))|)l!^_q9z zd6(y(f1V%tkso1aXNRU~I6OS8$GLLfL`|hti=CqW^?&{kx%T}pap~+Hr}ws)HA*^q zlXUlO*xZKoEwk&}7g+B-#W726z4lFxE`OKjhe!CMGfg7 zDMbrLUQ$cW*-V})ISV}|C`uwL42AmrrY{VtRe(wnvYN-26$XTXhU0dRyx2oldn^|- zmMODplz9U)Da>VH#)kj!Uo0Xu*#iV4fC7a1e8y}(V`pcF)2B}J@WT&t=gw_rvkpW& zE8%1?bE?ko$5?IKu&sC4Kf1!=?bk`SFVm6{Ehp5F-g=ev`qOl0KE?baKf~hGV|34b znTxl7gReDT*|m>OfHwYprjW=a zdgq{Wkx_^oD-9%$n;nM59xV4*Zf&ujVAa8LmY64)QJ9gLNue3;Qu;fvxeHuEu3fvP zv)PR0a`_>Xb27?)QWt&L?@s<)ik(dV>;LXqK6AF`%&IU?Y8$N-nkLoHsVbz#?R#RF z?Xte~FLS)Sz>Sx_&h4wu^Zam$?=Aiush#~XTI<72-2ZnW`jftF26Eri9KXlu{tX__ zFLSUxW3hLRZu^kM!9}{ZqitZ;Hi%~A=uOJa%W&%o+`Eou(?kUjNk&roTv-*eVJ1}v z;3^a_p;5?L7%-D&z*{IHK)F?;)D$H$8~(%g=m*_M6}QChxrS4xjz(XL__R+P3;q-11slk~!G(477;+K>J;^D~d} z$>+by#iM`B*JeMtY9>S6)}RvfP+ z7btOUWM*$DO2KiGm=;@0$MJlRyn8^q+-0@wIP4m>=QEazIkQHXNza@@TQ;z{fgT?r z$JZ&Fdp78%r4+z9$!HHMH*Va}n>TN8bab0nUwxJ1<70mMr+>CE1H1WZZz(s@Ala|_Ve7Eo#E!ozsIdN zzRwHI$9R6}+Uvg84-=-7LiA_XUaCqyK4Q0jmvieEd4wx0cTO?eKhON&BJ4 zpz3r5(d{AGTB-8OU;7yC?(VL|3KcF~xIo*sblv^uHc!;j139e+t=h>y-uS_nS;n8z zcygzizk>MjWdI_Li1lXP6&eqJ8emT)cgmXSzR6zjeVs z9}jTfBmF5%;17Fi*&H)FewWjm*SVBmVr#WxdFnj#{U@01{uHyeW!5ITwk73zaO*O9 z^Huc58}#>XktCs7D1zmQ7e$ltNuWqJvN9K$2#TOIXwD{p$+c51l#&=qA!FCbuA%OA zJ8ZTNkgWq2J3AcAW~`PAcD8p|E|$zhnWw_MQ8R6~Ek4NI_aJXjHM6PZz6q(Eh4WbrxhLIwpTo_YT6hzVUW47F}nY!(OT>VS4@pY7Fx?X4BtTRW_F_Dv%-$~-Ae zK1Pq;G%R=PEp)gGYHL=AOjPq6BPB*Pcu7Ip8M*I`CnInl{PNQur~PAv>W_Whr;;9^ zzEsUjT>b7>*zTaER173di~6C9({u4a{IoJPs@cia)HKyx&II!M8qIURMtlDA%s%#0 z%nu)7@zS$gy76l~yZCv^_W1`2$p;1L!2(xGL5^>*+rQ0)_48b4t~1{|&*I!U<_AB= zY_X(CiTSLd6_9)H!+V!0H{M{lbp z&0l=;H~Ieh6I|Z=X_~gXPnaHHB5@~UbC<>XD(BX(@JM-;t%LJ)hi6&re~$UqK3&@| zYlXH=$odFwT&CQ*OulxRRMs{g4G>iwFvD#wU2#Z#kHGkYIF;MXcN zs0yi@QF69t6!rb=iCE#GRijcEV;F*#;&6shApq@j&pn5#GMmkK>ZzwJ$10_XS2zmM zNm2T6oE1OEO|JdmtDJ5lM`z+PdbnJ|9J&ciZATe4rp-z@Ay_i`XHczYwtkQF+&`i@ z_jzU?|045Kmsq{2a7Az0WGe3Bo z`TkEbZ(F)nXj3AUo^it|au^O&Ta)91m2D`$84 zofarcDUjXd6b(-f?zOx0TZhQjq2Z*hZFY9{**UzxYVS15u3^(E%+RJlnfLHxgl;!s{LU%sqYu3X{l z*|VgSxO(*}ckkXM=gj9m_c?ZUc0MRrKg2VP-l`8M-2Y##r4?y}A8SHI5fD=%aU2wnRMatv zB!+&VNbDa)nmL=HCwl8G_~}7rl73TiuK|E-8!V(+GVx1%ii7ryQeR*b@&jA zZpN|`mR+JN$H=u8(09KF@B9F{`?hUV83kQ+^xg~~O_KG*Q)7td3ESaRhi8a_jmfT) zD$FSuun)3UMfhu9d5ZSJg$rD`aDnw^&GEfsc6N5iIrGp%5AouQFLL+pT`pg~%rE}p zFVgq@eP(kiR42a;*VOP;VJ^@%VkxmAzDPRZovNNQkI-$ky4UCoAV_i{%T)#29#Xm{ zq4(Z_@BSL?LqEaRC%(x3M}C4kSD)vhyEhohyU1(@Sv<~c_a|uQTQmZ*Swq*f=$)(R z^*1OtUT3)dwsAGS2|}-iHgRVN&9-30-R&V~6Rcu;w>YTQ)R8xZJOoaP5Q;KL$8mSa zuzf(YeZbcC4u^XO>>gfZ`^+U)TidLM$IXmthwURqdB9Ovk4=tBGJ3>b#fRhB?4k1>tcAJ^c=FDfaT0n7hberw% zZC-fc1wQ%7Px6g#e1rAc`ez*+9PrdrPcoa&C)C7)G1t}aeU+UVEV@LK6rt3%IZ9-Y zMo7mMZE7iHsA@WzRY3GCZR;XSC^*-ET>}jR{gr1(*I%N2#tL8zD9rTO=P%Jg*7Li{@BqjOr>~c0Ad`H3rTT7%f&(^AylfKHGm1+kUd<|?J+D* zk+%0)Z0~Vu_mJIF=h!{}1Y5hOS#%xCS<7P9kZxUutKUZ7`UCXc?~`-`d8p4PBBa!j zwHUMzAPxi<87E3ib4KVbN#o8%&;~|WkFB{awP{ooWn!nK3a?Bwc7^)G(4VkyAHYoh z!|mI*S+CdJx^;_t_wI3ccu3cE9G*ISplJ*<_>cdcZJs!U$M%I)7kQ*g>gEjnX6)x) z&7#;YaiLNSkJxdsu~Sl=Bz3@##HJMIeiU`B!0I$<_X4`yqpa^y?!HgCeT}ldMU<$; zS;*C7)XDO|tl9z;6^4>2#m9({Nv4?sWMkO^1?XM4?zKDg%R^Wlu-MsSYxjVigA43k z{3zR}FR_?)Eax*8UCXS$L4Na_$dzv*Z~qapzHUi*P@Nl9^(-YZ2S-d}Y8k3#*E&b` zzDjJ?ahfTlX~<4t*oKuFF)1SB?@E|V7t-Lk+|;UC%FQo-U-CPJhikSzPd_VyOr z+glu-I%Koi(D%K?7eA2EFoO2@<@P+$U@arf{u_`^AyAS$d@=at%)XCUYUD^v46+G? zT2EiiR0l@0c{bwS7$|!8UHUuk`3`o5I1jFAtow>-7%Pb?6JaW9sUkL+!e-MOesZ8Y zxHnfcd2(DLt8&beVe1V2Y=`;IKHIzdZ0(<8|J>tjUwD$mVvFT`&T6rsqetHU1N6mj zB5yuRzVSLj)y^G1001BWNklN7BbIIsy0(C zXkSkJZmh!g&lKPLUNJ3AODWa&op|v=^b2ag^M~IdrNsI3=h@!guE)iFP_)KZoT>An zARfaQfA9}~g^Rne)fV4ft`k+sLqE}<22{%AdSUB>kPB^+NhA_E4;7e(7AvK=21}kc zB4i*n9i?P)QBvE`Z#E#t1tA_TaUoOGg~ha9De8b+Ei*vv_chDX&Eg;}$Fl>5)giLl zWqW6jgZ(q?o_Unrhd$17>wx8A!E!!lF>8_cz7H>d6Mggd;GI7t_ok8JfT~giNe{xH zrkz|095y-bQ9lU0lqz5$EYh@Qn+qgyP43r~wzWJirx+w9$hlfDNv7>$m*<@Qxx}Bj zA(v9c44_>s791TN@$9qDGMib7%>Mqqrzo#Ef8oLdBuqc}tLaY;+~d_I3p|IRRqunP zj;~a0Hx@1Rgmg)XQZhx8g*z%#5H@)rcBD29c^F7d`mh9mVH*0yQ+J`cb2h((+ z6b(#ERr8kIrbZlUsyNEtXED2h#JbyM*gAx*Jr>*h?C&13cjgiHE`FS?!wW1HbC$CO z%f*~@^d`LdvVAj1Zq~vqyCOG>Bl`yS<^h2*3Pw2b))>Znx=lb>Q z93LOkwk?l7`e=#{jY5C*^7zuJ3^O=^%*VBb0iZ86QDBET5cZ0 zrkjG(s=0~;?cjHG4H5y+sT*8W+?|G@&(+)&6^pagq5+{V#XY#XvFp!+Fe<3v*@*#5G^Eev+Qn*pyqp|j+}cJp-O8bDe#b@nn&dm zLKXNaO$bZhtkn4)jne3O+nfoejZc=^NnJnDFlmN+aVIFuZ)mM5SZa>Xcub9Btck9v z9^q^@qnlX)#iN%VwWCf1-hJm?nx^5-ojX>=9Dwq^mjZ8p@2fn#BkV0qTiH%clwk;N zwt6VJjCiUr@nqc9&!M3tDo2Wub?Vsw?xExYq>h5n_a2$YQ%zD!?|I!Nw3;M_p*YJ8 zz2l_3JS1)HvD!W0?EY!?&R$~Y;wRYJJI#E)WVM_#Z(EvcFQ6~~Gs@*>DQ|xZ8G2ux zrYe>IceX*5?T>7MnnvroP`@%xqJLIZ zx%PuEv)e|b-c3;MD<`F@NH;e@bKGVjhsJ<8N)gM$Qm+sxB9vSz6Fg)!^B2N~P_#FV zRJ__Gt81oQYvYiHq1b2db-N7nL)bcCxwFf`?kU4b4}XHy;UmoFb5_e0%lVA<&Rggk z|2O6G?;>wJOJ3g`#YGHXh$LID;=E5TwFm@+)L4zM=4=@rDTFJ+Lm^|Kh3vD*J!un& zFsaUZ`=`U(t`tm4E<}pzP{FyC^(7A`yFdp9*5DU?ZIgNOs_Lmt_id6%^h4u!CRisM zR-F9ceWK=HX48J~K4D|8aJ$}n&wY(Y&Iyaw%t2f@FilZKH*3=>1yW1^n8aSi96QFYU1^gu4ky4hkgKcK7*SnM9Ky}QrusfP?Foqv+W za>a77WI3PH<$IJjzK;CS*U`&Qqj#>@kV~nHG+h)C!$M`SMU*fD6)~uFYDt~P8Kc1m zD8Q@_R z&P@B>3$Qd5&O)RM7|zTtz|OKKT}y4Fy3&3#uhQDz=NCDq*QT0r6KbuPu~ z-_%T6QL7>u2CJ1D1`i>o#4u#b?Ush)**eJ+TG>M{#o|UJmPARB_$DC@c)Ls#k7gF0g3-5s3HH(?W;IHgC@e|cXN3$72WJD4G6<`YzDR9s< zh|@gcSXjK5gGf`&J>tBV233L!)`L~i2VN)SY(lP0KOU7M@BQG*oSs>#MuY*X7vTd{ zbuEOsuY(%M&R9KLKMZ8VOkV-gj7`6(Jd&2g+BMm+Y_VA#z}6wly#w}l_t`sRfP4Gw z<0eSU6|4D@=J*}-^3%v0Pg7od20eb?$7kBrHfDIGZbBxD;RAJxA$1*nWqejlJ5&u7 z*K`vWcA(-K$2LtD+?DVA%D9heRtI=<1T0psx*U6A4)6Xzh# zH>?k;@q3SWfOC(dP~2a$&}t>#s6+mtvNl@C$!o-F?|%0yJbVG##!;6`Gh&65RugBM zYS3aPtyo;GcdgV9W)}NeiLx=zO_k%cGMuz`$ZThyt=$981x~u~aaLQ~#&R!~%*wG5 zlHYq8ef?|X>#vv> zS_8L(LZ98`&(IeG>AhFyteJ6Vw$HFQq}@JXxwFr~{yFw8Ji+e6Kgw$Nki~q#YPn?I zHpn}Fgns{N^tG>2-u(`gLbR+ju&IVRl981LxHljT<^h$8i6YHM>J)f_O0eD%CMBqs zs*k2J=6FOV?}x_It?gdZ`Hm%?2=IhWuSF*lQ)Yeg$9Q6RsOp|yl}o41MW+%I8qKp8 zM5@WIQA25}N2*~CiC{k?J_}R$D}Vi8|1FHqus;;fYyM$X#CqTNs<1Ur z*k)1&zhQPWU^qz`vI$Merl~f?QcBh?V0T$?d*>1Q#R2o(efIaxuy^(`_8$Hut5XlL zT+CT6RxB3_(v6qV*M1v)?PtJzj|{IwiiNL>eZu#1n3hI`*m$y@Yq!9E)vkzmct%Yy)HSUtn(|}{ zJi#(`6e%M?T_uwV#F2^vr9P`v4l5y^aA}^Xv|@<>6Umal{TEH=ynJL6_Va)3zX0Gb z|NDQ-Zdu*cs)zkSPTIp#3MCi*!N0xBkDhI~up?}>#n-J^Lkc2WfZB&??HFp4VV#wA zneqPKQ_S~Iv3Gc$gD3wbb{_c@i^Yo7!n9Izd;{M6UCOIpf!CjbJ6GMTjDwfPItCVJ zx2t-u&n*NORGpD2$Hw$y5lf4PoYauYsNyFZFr@&a^PoO!l}nU!}e;M zne=ew8|e3+Mqc|e`TZBG$)fHoxBo6ET6!XXI|OFrlU!J)IYJ?1DWQ3o8Z#eZcwTwD z7eONgB94HsBB`lhcPb(#=u(ABnwFxyo7#!y2wbP5aE@O`C&PXnyxJIg2~$@j1lvu# zifiV;O7_L5jWJ#rPaNErMD82o=S&uyu$JUm5cX?KRC~ zqJiqy5rtRp%)%v&?|w#(sPa()T4=gCrQg(POtZP0qQvy%cSI&aG)_D9+M~&2A}`hS z5P}-no(+~NtmC4F&`-=|Yy@>JQe%NRL$YgB?Nel=BjV%UJvlr^V+|T41T0FxqFBTW zT1pPeMM>=p&Dk($lP1^k@~^hB32hS0I?FUTm?>G{cn~%N9Bq_a>w)*Leu-E9@$c}= z|6mDif9bFN=cFY3!e9N**xbEELAl$*aTeNa51l;MIy%MWtYjJnRW^NQone!O_xGRV z)ON??f9Y><&S@=ry`y$6eB{A_J97Yk9*N-UzUQZd|iVgrPx2plCA&PsJZglE@yE5~fCe3h$s za;=*JY!fGRG}%n{ntyJhTy2O2_mb^_f;cTDFr`$-OrpbM(aNP&hAuXdJA-YP!WLUj zc#}Yz1{CJ4N#Vi5nCx4}rsm(e148E2-}tZSTH){h>fdH(4pIhAEtI2UP*1j-`^jE| z+T``BZVrV_R@S|6FLf;TPxH_xzQE~AKT7jk|1ssce`?-&W3xRBmc}ezL7Y-U&Y7l7 zqgy;N8IfO9O<=`WjHa+kpA&nPKBj5~`qe?$Z1(FwKRau#f@p^1PDW+jovhWMHYNhaBzLOLOl%An;^ZQ4%8v;DR1GKNmZ-a- zUZ|>I-$3Kd+5}FLL2}6~>Wr(jq#>gXbdu z5WCQ)ZHl*I#^R;poYWOiCNDW5JfX={n^D7Q0h$`yo2;Z~VunmBh?3elWmr>GX{GT- z|7NVh>vzRsPKQ`Pq~u|QV`@2Of`yl=;`53PNuv%v2?uNgX=vK`szRc;ripyEu~I$e zN*D`nMcNT(SEncD!yhO#mWW!OvMQxXkVjg+XhE7tz*FnItA*qT{>~C)3fp^zpU!VZ zs_wXY!dSVb+BminhHN=cn+)unW&h$Q*lIHQng5nX$GA>T#ZU&o_ z0MIxq?GrB32^J5N4E+R%SCti_Ow+X0hM5)rlxxf~Z17ojVUdwKsB0K_ zrsnM#jZh+1I5pkarYgmGsnJRBP_j4a(1}ToSm3D1wWdAU7@DHio6K{+1XB{J?XcAE z>{{9q1giF$I7k&^bz&bjjb&OO`9-4gEY;lyNMk>j0!<{(`_UL0M5w!`;>C_)c~Ar1 zJx<4ls`uJGw&rl~)E7wK`JYI6Gcj%An4zV{%PMFu^_;_ajTO@_jHQRv8c!AaJG79b zDikH>6FYn~Ct;$Bd2=%HFsqhRU-y`wG-@lvJSB~6PZ<|pZFGdMRfmz$Vpu0NjcM&{ zo5O~s)jW|J(2>+s7hh$}I2daJJ?$lK6ejM3cjze4)5F93#b$^w&ZxCQP=n?#RfDG_ zLMw$C^DNU$>p&-bHddklL0SGfSpnYLM1$&-3&=Bq3*N{)&;R-Z!S`( zAtq@|AW9(*8zP)jHD`TRs5EMf3$?bKRnw+%j)?u_g9wd&!eY1%6g(Q?LTl!uZZv=t z^HCh*CSaCqFEuG9R%sgB^P-ug*4{Cpq+}KQArPZaZ2{=MADkGC{sdM9(+}27rQJKt z!6Tny@!of6j<25>j5Lj#vjEMFcSMi!1(>W?tq<{aQLymK>PAPrB;;0&aFh5b3)@e zXr?iWEjGTJQ`?#AueR_u6BZtMI3_fs#xQg3Un>RO|1d~r$@o)I_M%oM*^a89F^ z9`RchGD*G{8={YccoJc1jmuI95JzNvm{}b+Z>oMnNVG3vod^}%!QzMclmT=gdH%Di zkebH05Wh|>Nl%H)B+IjiwT3R%KeOLH!|v9ct&1Or7ynOEf+<=BTW-&$*AuzThJz!ukLc&I5E*-$`aM}PodcyW2!BfNCR!>W>h8ufpy;- zde4=LoN=wnEyz{DvLRA8Lj-R;5*k!0wi-2%kE7&qlZ5)H--;c+;F4Nv4g;S_GAF<( zk*Gn4Ij)@-1#5FOp(5&0%Q6Z1Ri#o7X`;s3sxBWD86^PXL@SB^v5|se!qBvdL5&p6 zeX0GRs-~(ndqSUKb?OXUj`6_nxVnum+Iz=+RWq6=+AJar;-z}=I~W~+ib_2n ztMWcBJ*Dmn8HH#fjT7q$B>FxGOY;f_&kVIn;}(@d$x09O#ZE=IGu!8MlR5mvpQm~8 z*G#RePRxx@7+NzS$M!~v)U-9}Enw7%%*+6%)zd3(8PiB$PE8jIO>=UfQw$bfaR{60 ze?7Au#FVmu+;Eo9@nn5uDiu^xFSSi{7@jf13QByb3nZz9vC7T;u2K3`25&@`QGvc@>A6Z~4uExcc235`Tk54%Tz ze-R)xo`P+{6!JcSg3xq+KP+tKT^0c>u|?g6mkJwCP&Gv@KQX$yL;*vi$rsPgV6hIq z*$?#*Pu8zbdJllXJnMC zp<6^F2dWy6QA3kF2A9UWCdW*Yi2A^4KQ#dFm@<0meAq6D>6f5Pjn1^|0!M0aCSe%uQ1r)~64Z@gh5nAu$2CC&`k$zl;Q6@#| z#f3ztaVSs=}=>c`!djUji(M%Plk#f2SZjiMd;Nv zR)(w%$K4*My3GE^{vzqQf8dzdI2fsUN|iURi)O0Waa1IA*R6yr7Y~#Y#OEk8k@={O z7r=Jx=w3Sjr!ivHy+;ul^RFVP>^u|FpveQ^(fy@ZI4Vrl)Z28#?#<_l19u&@T4Qv| ziGl|;b88^mHj4P6R+1tjKuo~+63{YYW+g&96CtRcpD75tX0p>TB#j!*zogW<*^kQX zRR5+hhIG_-lUn~C2W}?KMSY^ek``|RU2v^sCrS<8{?JOY?3R7OVu3~34EB9rEQZLb z^X%9q{If3+!Ba`8g2MY>m6IX_M68QU&f~yb*s2MYZLv4g3~hMEGarisEth`aD1L|XeSjlem$tJ`Afu$iUDYfJwNMqOfj@0dPMn%=&Qgo@A z2x_e>EI9&^gb!m<U#CBuBA5q{U*abI`$3^IQ{tN znO}K^Mvn=0T8mW&*APUS2uLKe70Y~V>KatT=?~xA>v3jlI@)X;B1myA5HE(?)Fg4#)apM=E81=^r z+Q3X-Dbah(E})Da{^*;Ayt&6JGFA!sj>yrv$p4;XOrOzs-jqBWNKbgd@v3!&*-Zoy z|FO+O!RP{`QXB$DYHERKCtWoc-Ud;{g{YWNWf)4sai3Xdp+9((Q;Wj>r~eJo@BK<8 z@j|D_IKL)Xxv!fzrH)N5R`LYqp7*(Wcv5j%m>knYW!Q`sGv>ifU}{*gZGs8d^g~Q#VyWOoXhCrFsZeBb72K zw$NgUc2xs66hDFz88wJb73S32AB`v}*^zSU8coB5O$hK&0V(72jw6Uyo2~V4bq2@Q zK@o--NzbaSTmy+%&xG29OiiE)jhjE%U_x~~D935Z*@wey-JsqErcIAfgVz&WE;hL5w2akf+o*EC|6Wpb~Dc$J^ZY z#z_hh08sUYWIA@c8&ql;*XRijY)WF#L|=q;Y1klaee_d2d}^DAzxeObe)oR??JL#^ zy=C5Cl;2y{L6D1rHPx_iO{o)8aYy8HtBon)7j(y9+*clC7D1hXrdya9Y!~K6w+q93 z#k{Wsl)ORO1){D=eO{!9cU;NfnE?2+kA*1e9;h0wnxxr`ap03UlF*2?K}g`Pad!pu zjuHoHI``%rPIyEi*vD0%N`&a%`_II|( z-~R7Mjo{7K!UHLlh?_JYbMsa5+S7Q)9acjRHCz$vGr<=AzoKHMBPDa|C4sacu7#Qz z(k&p(P#LortiNY#A*bAf99L5^<)!Re&M9fGJdYAuQ`}6J(NtA?ICGAEFZUQI zG@!;2)=D;253yJa&6FY&!o0X)*wpl)GHj{<2Ol`aV9{qI!c1}0j0GYxH9crjDrR4- zI3<4F_Qlga`i*;nMkUy>W#XNI)1O4^rcmw!=q|YGaoXOI3gh z(b!C!&(YKvcn_@A&cFe@G&9ond6+Ft6Rhu`ciu+tyoaV_9wk8+0K*13A!xqxTD&4` z1n#AXd**%;NA9Z=gW^P};jCKO<937-*$>z}_}D~Jr63|X&)S=tvQSAA%@Qd;uBE0G zMK0KZMMvU%JmJGO>Ib&33D!^?H%ZGdST1%^7)k~;A}%|1pB>o6iRYFr>K*a0b6#?R zd!=K&d!FsH=ee-I#f2w6%fmnOOB@^=(tQ2DBfs#^so@d~3x!4sp$T=L8r!WkT<+eA z`odKbvdT~h(iB*RY$cS&c64f7s5*NVX)Sb=I%sFe?!z<}KLd+B`*3QJyfH0w?;82d z-=|!E2`N3G7FVmcRFn;Ird4P1=(5m2L2sB=^XuRW}d+9rRlgZJ^(P1^Wy6H>D~EzvN?ks9$iKqOHjJx8$2 zhdhaIMub8GTB-NrH%4E)n+-sF>~Y*82~}%+Z#_GsLtY`51k!ojuP_YCal1vobx7Jd zWU;%)sl7vXPd~!`Lmy-B;U8nQwZrz-7OPo9^XixAzxLn2(VL##>3t70EWO$Af>!h3 z&~xH7I{wn)jVQvLjjN`Z3KuaGplXST5R0xxD@fxLFRry3B8jkh^k+yHKZ9&vwD(Tb zJ0eC$q+MjTjm-BTbqp{3mXUX*piKdeeSwt|o=+?wLG5^G$0VlSO10E7u1eEQn}s;z zj^oo&1Gyg2;?3+Pb2lZJeX}ZKigt0zNuq{8p$riPF~KY$!#)*b&_6u)G1S!__YTS_ zeg+H^Q>XQBL%ZO3woBRCXSTb~_Rayjr!KI6@hSEm{S=F>Ll%n#Tgxpwi0SQbqtE{~ z`TPGHWql)7y(aYs1`;qqDTU-tf~7e(zB4T99+=BoBRLgZtw(qK$1GNnUPL?gmnJLk)21XHe;$)M(MRh-8xV6_|Ku6WAZD%V}zoF0Bk^$zZVFS z)yuyI#=b&^eWaF?jas;IN5MAz$jA>_X}i`vKCQ5A7A{`Q zp-I|ge4|NMQ50{?>oi5hXL3@|i6DIl*1c>jYMh%FltD=y>)AeeYoBK4faUfc7fzjL z_uS*`Kk_LS`xjZQR&1?SEar34^_S4s|1ac?r^#>r9+Ee5X z_EMYWuV=gT%Y8R*yPVoP!`|6T>^=M=Y@d6A#bS%q(wdkx_ufOUd=fXOErTL-x)*%-+S1S%1#e4$I|| z)pA9rYviqO!VAx!uYVP;zru;CxJfK#%*eD~q{i@og;sorRtDS`Nk>94CNKmv))L1| z^}r%5L(=lH{K$}yOtAoO&DQj+P^sxKQWu9L$lk+L*V+Y7?_D$DSR72W7NhDHUsRwu z{c-fdXDOGTfi#RI=+Yo5vQfO+!B^LP||%=8a@jh|gD~62;48U94xS z$1ttp+WSFhu?<6pPP}ithnZvyqL;j>3c_BEJ5iyfCsR=K_ifH=mIly1^yhw_{fkeq z_sFMM?w<0VQ!AFU7J2tO@WQk3=I^3czQx$m*>{Z#!x&PXW^g({N5@9_2B;ioL6aIv z87vIZ&ivpX2d8zrc>a>6+AGRTK$t!&gBtHE)HC+9pxMo=C$7~rmD;Gx7EM=YT&qrm z3o+AJ26VPZ>gE&71yLFgAhT`SOJ88P@hW=zij~9b*wewc0cfrq(U?I|j1eC;&O_HONbb!nQjlz%V96fT)?Bsvh<9fUll*q7=68`2 zcbZ}&XownhLjtrv_OJd8Rx8s=>DFa<<@N|WI!N$rGVbK#Q41gsXEIQ|Jy3i>8;znGiG62)kch9m{Wvu;y^4#u}l{8WgI z$@Dc%^R9`|1P%nIG#2f-TfdKf_iL2P&roh(wNmojGiDr^poCjHIucsVl&Qm97eb^Z z4q2*a=ZpcdnnN_E(2jZB5vs9ByPr9wO3D7c7=X6E=Qxit0g`ouVRAcrw#Iq|=%g%* zlqe~*z-$zxDqvE7*Yvm0tG|yv_OsR1|A26%mgejy8LqtuSHF!!_ya{WJ2u=HEg`9< z^P00+tQkvckhUYGxs9hW;ylB;< z26jR!NHR>7@zzZ#{+Sj-5;Tb>b=G7>UGr$L^a;uU(m^pTRnwsxKi#&3_Q`15S=w{S zo<%MGd6|qqG;ItwHfQt;i@%R%vyDZyP3mUA?dDi8s>FFKP21TS#K|<9IU0@&N)Gfq z8K~Vb>gPsl)7V)ruCeOLR=AmsU8E5>oeJm(Ekne{{7@Z>u_x8US`?b7G-m9u)0lRZ zc0Nw#)Um+W|JVTO`ty|C3#9qZC|M)G0TQzF2=egHz{|g7UYlk#_pS+A*HA6$r!Q(! zt9jJq!qbwPIof!LDLLM1=BS%XrKzN;&8b$e%u-s^G@N7;8WbJYXzCCW(kcx77#{17 zP0+xe!SIO}s00D(glvhn+>!O_bD0`HMg`iG8V^t!pJkb{h7XFC+CE68yAx{^ksJ@D zwzD|abhFnC%H-x*sSKM?+24@c+P5*lVrP2k^4JBM}&-5lu5lZ_mBNr54ZGjxZ^!d|__SaWabJdJ57@Iy$GK-ri^ zi*Cv;ETVoeRZIh zr0E=#MjT0qlM$#ac(BiYG_F5HQF5wvnyk$k#;-@K?q{8 zFiE7vHlx$PN%M`GwsB0SfZV-8f8$NMgGVMi;XdJ-?a@5?Me@;AH-Crr8xn=wH=fJbkvGQ}acu1*HK+y( zk_w_Nq&TA3^@0bUnuvv z^TwHBGs{||@pk`7F#;j9nCRA+AJx1{J9D1KSaUPC$-Cvm)#2GdTZH++=`ljn8;(vWgbDSl8? z<2mig-DfqvOH`es(t7PtlTR{NYjVJdw~4yK>aA7M&n8#=`)Zw3$4NW6p$U0ZmC}MV11M||@1Ub< zY12*{66J9)KrzQH=ZTXhj+-ZqMaHp1OJ%!VkcwvyIA3A5*z%bzn=m5S)) z?t-9%(fA^xz}E#&qfpkg)+wc6!s3Q6L=i;2ky(U}DkwAIOp|+5?K66j(j=stxf?GY z=9&2)Pim?vT)8)r^aP=pkQ>i4>^(}mdw%l%n0N=hi+$3iFOr}C%^F8!@PjGS#sxO0 zgvR)^ZiRF!q+Ob(X_uzCnwcddN?YGAlZ^@>Y33~Z23;S)-D}3+%VwN2(UGFb*{?M- zQ&;ML}x3D5jG3YZZ&flrch~+*$P>nBJDqJLfPL#@4gFpO;a*u zeFwSuD*5^=z!7BMqD?jhpv8Kgb&a)ZO#g?Fg`C1o2^h)ze;*31UzhXsPXUntC3! z)G-I(7|YkC{;p{}ixO&nI1b*mnP99FLgkurSeroQjaQ<03Q9`Iy>}Si{QiN^3yPmhph{>-Zw(Zs_4YEDCoT+7h-MKZhOx&83>59M11C+j zf%@WEk!AEXFin-5G?f%-wbS;{Zt(q{7ErEqmA&747)Y4hSm3}?C{x^J_FT*>`~bev z`c?A=O7DfLYmZmIZaL@MU_%aV{3~Xo>DAeObSF|oeAoQvF^{EI$?Uifw!Zh$>Il~ zFPo{Dvn^+*3{F|nuOoS`k zXvAFjk_~4C-V&g+?x-XhxyA9zzr*s$Ux0Q#&PAOhg?3JR@h8Ze+h~6q$-N2bd<$8f zK^CV>J2jK6hDb{MfKbVJ-3Q@A!w)V{4U`rbYz+>dLXK~u5~X0CzLRh?Y1)^ zKnkZ_0@o(05Sn1AQuC6uR3%fjdF^uI*eZ6|xHrbH!uVkkuXl(rKp6wa60y9o6W^GK zHfDWFbk+lgA-i^}QeL0M1~_Th7Ek31pp`3=x^qpH$HY%e;YrCt<~tS&QR9Z{KUIvu z_A+=8+Iw%ae&burFMI;#`+!ue3LbV^9wO&|967pT_-MB6vA{IZN{!P3X%s3+C;!cM zU0??1;qH6-^)0(*9>YGdnVPNBlx7aYJ;IdPhhi;tG&cABzG7#ugdW3w(`?-!NE6;z zLLH0vu^mn~NKKgYu5f;2M-`H(*_jAi^75tR<|tYSnJkS&LLEUZe83pwDl8*GT0=4t zF{=rEA$UHL)DTTL7&Wssc6&;e@gQOv;(@y!nC;jCXmO3TF>Dlyy|{Ncc;mL~FH&|+ zBf}b*ZKKWH7rr=7TO;!W=(gMgoYa4;HG$p<%6fmBGxVKeVoI!TKg)U6`7F zf93fp()vbR0IO`!@tQSC5eb+h3_+DB#1%})YR0bPy;fXe#~p1C7tfH|8F}a}+&&FR*;*ljuf~bg$ko zu5G8Gc0M;TSF!M;fQ|n`IK-d(q=r&exbrqhLN|BG_pUp26!Fiv{WwT%x0sX=p=ybj zksT9Rx{K6>M}sEC*pyBNrGjR zPG|s)%HHtcrW}^|#JY}Bysv0Kn$+=1RY(HB*Gil)H{clpG2UoI>sLrqtkRj+>eVv$ zFO)rCgDeg~Gg7RZjD<=vn%8wKXk)lAC#1I&m+ts2`lEAnyXUEa>f}OGZ(#E$(@j^S zAi?B6=%qH#lZs>=)(p4aA+K+v{V|CiX*$xBxb={f?}qVrUQdb+Rydn5&oAm1Bjsk= zLetIvSSqIV(c;wx)-B-~I<6UeV4lRWfTdbglSX9|RIz@fo?;u?k4b3AI1k5Cem}d{ zc%1ABjU1k)`1`85jl6hYj3&&gR7QF{+Qb9i;)SV1l3b+y-d8_}B3oxn5c>@j3w@MI zkQVb4okFReYq9{bG&6?xo~PY9w0k$cNHqabCbx5JJ0Th;>UOfhCJ~R@S4msvkY+|% zAJM<}B1t#Q+6WUBSRPOmkc#%}Iu@dlO6h$Mm}MyLSVhyf=w3ZW_eKu1Nv(A! z^1_U^lv10*swi4aTZP%MXEBZ{rX@TDk=8;TF=WqSpPIW90#YYcPnc7wYBYr9{*SsT zsU1!N6N(dXv2f#pN$X5LscI?fS8BZ)M!=jVg5_Fvb=txxc&2I@9J?7yt!3i?zChEW z!?E2n&yb--`;J*^Sikcki}N2h=bDkF z)TIBnvoC43>^RQ*vg+L7jXgKe7#aWp5+p?vL|9bFQplFWp_Q$0c;kh4_SXIf+Gyp4 z_uhJCFBG;I4uu&Cg=~d2agr$#6lD^`K+FxG=htt#_nxZsBEQV4^SaSu_#hhH@7;6H zsUa)#%NZ#p%#w2=63OyBWY~h2^^A8pA=QfU_zs3T(rLYE^MN)zC7=&7P&}cA#II6H zC}TmTyUVw30F$aEC3>}4V1mX`DE&k(aHJ7U#GeNNIQ#MwoMU1XRvqKh$s(W4>;b!t zwqH`rQcNa>5^EXZT}2(6nLk!(gdNQ0B?B}MNW;urIG$ISXVGL60?5{7rhIWh#|;vJ zx0Df)SE$^yu>z@ZM&{J^(3X7o9>&8<7M?8c`x+Wyr6EEkj6+MCASp03CN~|poX#z#%7Vk}KJm!S$%1Jk!XQq^U-lMD zVxlNyz~Vuue?BKaHpN|&}rFVJidqV z=sw2N2heeaVK!ix%`l(MO}r%|9*hOZJtt1&*aad3aiOn0a}KofAXI2o9DVvGW_rx{ ztqq_Xum@b*7ZR@o6LGrnvXvB--5KfO#9*!LS}_RefV=&y!LcAhCvb~$sD*MEo;%mR z56K3|#|_4aMLoZ#gBzrnd3SQrzF*m*mYDmH@%a3%C0AZ~i$Ak@4LeHPWgt{%@1Wo#1b*OVXa6s1x683G6+CeD$l4i=Vf2t+0~!1m*Km)3US^BWi8lynSwhM&)Le z1RYrv&JR~Dn9a74H*0J@y@lf{HWslKee(=#&-v`Sfo?LiFg`2KfMOvnniq^HU6=x* zb0aRbe8aT+L~wMS5R?(9^5?s6`~|k>8`Qc&LO~(Mvglij_O;n-YpmWYRIUKfAlfW( zEmH@Gu$dOGWNTZyrKUokt@uPmSFapyF?U*Q=33Jfor=9nLyMA#li;eis`Vjsp6dow z$!$!-5El8^e;O1ee1D8pVl2CCUq!z9708vZK+Zo8S?pu#7U?gY{#%W(1cm-W*0^`G zgO>P?r~;)sFtpzZ3bbyJ@&b!I!(w3ZT*p7PGAxIliCQgLg5fb3EG${H09Z61w?mc$ z$nu>kZUvdc+781a9Gi<) z$yz(QQxaBi4RR!w7^(!+Zt0HcP^L%SfyPwOcUq6m5VVln;~gXU(zI}7xI3WZN(LaS zmDSdU|1_MTi6WsH6J@!Nbm@!8PrL%T_yx%Jm8SLe2FQo5Gg>UU@9E7qu`FwHf)N4_ zn?X2U?EurX!HUY}rO?=9O{XM!6VHj++)x*{rh$q#jx5`#d4W_n-an*`f0hk%Y5|5_ z$l`p%Rkh<*9Tr^OeIM(OUc`5k<8+UVV=C~;X7~#>VVVQAJ1-^)e%}}d*Q4~alAOJfUw9Gqj z1RGH18PfUZk)C`N>B=v$O3Y5fijzfn1VQ=a^~^67sK>XldH=guZdC|In z3A}5XUnl;^smjS+Jowq4)J-tMt16rt=5(MJ-HE)l}g+nM|46^rBj&I$edwD7uVg6}TaHXqeMH^ABpH10a6t!?h+tS1IbgVi*Zl^I?=!oq!{k|4X+5L_T|)zn$8 z;|cEk?Vn(OyF%)TIn;|k%k~EXU}8o0Jz+uxC69+4H$roqO_(ndn!IHuM*B3iI!(0$ zdE+W{BDW1Yd!}gq+9S1ZtX|y0+*XK!G%yVY6N_utJe9e-Y`~ z-$1(jCCK*G7KijmvG%Cnb;RV{Fu*RF5Wgqcw#`y+UeHY=<&461$%%zQL=t50X)}|!mRj5RdeDCN^*_T- zI>3O9CH`swFv1Zmr_ZZ2{E*A5Q~?9($VIHgY8?(4eq4%&Z=GnZPH#YyFIDI z3k6P89z17qxRwo_(J9tl)qCF+s}}4DqhU#}VS@1FS1koe1o`5N7+(3;kV`L5u-;?o z=TVnaHl{@6+yVf!Y_Pub4(|Q<4>3D_5BodG{DKid>KvoMRDBJXM$3vdn_HSMtWE=c zdIC21bWEFOp~OU6H?D1!IfiUi230chYzxS9YLf}F^8}+K{2=!DidtUT;K4gTL_Yce zi!Ft&R_$Og4BS>j;xISOUqU4M5?42xO3N{9ci0$;r~CmJA_OHIK(2LZaGZ!d067|2 zuZQy4<86VQ!!)}_N3>va1OZ~09|-yl>u%u59mDls$ME<6?Po?wPE^^mA81>!rtWrY z!5_-e9jtD>g_93|jN==Bi+LKcyEDgZVHzRINX>2yU_@2hm=x<(39&kG3q{?m;C?`) z1RXu|+cvFMOB@w=ltl$FLq)c7NqG)Q3rk@2%$;EgY+nU-o@kg=F^ej&lmGxA07*na zR273|1FdVUZoiB5M?b{*^8@ONVLw_~ki{(MNdyIA^*Q};X)BGO?%9w5=E~_qrg%`D z$OJqX_UYh_qyy#vE$|DCY^|D%LgBU!`z)ozRv^`?nFOp)Q*i@?STt9FS?VK{rOS{8 z0NK8Z;g|oNsnNgC)i{wlZtRJR^QfCstZ%=AlaGIb<9ELgS>4Bck+GN$*gKzK@$pPa zuOl6^v@r!Xsq~k%;w90l*IyfAPJzyL2Rg=W9o5Vt+%$O2`P8*unQa5Zw)rlX7a;r3 zH9YCh4>Q9^!|Od9yzv(}e}0a-IVMI z^Dt3OI0OF<5%(~0IriAx{{*W~eu|^_et`AuH?WuqmWu^0Ei+`BqDrjFueA@Zp;5V+ z!F+1OnIJ5Pm$_Pkw(#2AAdkkYYS^~C!C{FA$aFvK zL>nA&?`Pk__HcrXg1R|{jw7+HS>G*^jr}Qo54pb~w4!ELPXiv_1Tq1cDAU?89Dvac z(MPYkcBlP5!x+1ROtdGdVXmeE_k~1UtXZ=qV~C0z?Kptwp5Qrxq|Wr*KmG+ppiQK% zjI)ok_`#1coPLbu7NDCo1RFqC4D%_C`zpYey3B4DW1e16C8}8ao|6+zfV*?(R!FJ_ zfdNAR%uZtp+|yBWNS;o{iZE!;4P?Gxeun@?=`JdyIiQ7TFQsO|hTV_->yM=+ts86( z?_%}IPjUG3?_%@mPcSd{v9-O#m8}`%@&YLhR`jB*0c97}l%qSBSGfsMM&fX;BQaj{ zbuzf9MS;*U9xAsgvfJboFwO?JHv@^>Flt&c`a)Q$C>v2(wV4HU*g_h%fbA!M?I#$m z(fMapCkD~g-4C()_{X?#eujE_j~;-rYqM)6AOr3hkP-($qgRhT+xrcX7-DOz{uOD( zJ#UU>9SAjFp>_jCo3wwea}+m_))O6C%==V&#%ULT9&o4a7TjmF*ms%Hu2Vx~Mt6Q$pE{b|Q%ZF`&vs zC?^_$iieCSoe3T*=F4c}*724-JHgE`k_NMFrGzwFqKbJDFw6*a^-J@`b z8@3ux?&HDR-^IE80d;j~rjc<4)D1+&D28Tp;(>PUm1WAkPbIm>bkRFZCmq)k+Pi`h zIszB~2WKP!?Os4CjQDZ*?>pO-DqELr%*zhq(q6pvctraYeB~=?OeNs&70I|xZlT_P z7g#^QrOOwQhZ}Y(0jMx}lHf5x!fX-c10ZyrC;+cm9H_$PnNx5wTR@5fD1c;LF`QVu zoTZqHrqqybeKRLN%Z{+y^bBU+&DBmucdkcZc*A3t-QCec&?FoB@qE$O39xy74dFz0P%-J zFdhJpF%tydvPcJ}q&YwzwjZ8z5S7jE_>;Gh$2(YV&7r5q1_21<)k@!X(n&jxLyQ|j zB6Y!+To18IH~~@=7K|X7WKcsX^9Bt`6AIsv43{K$Yg^CiZ2+5mz+pnBKR zhU8>%*`aFFq3Zn0Lu(v-#qJ_FXMO+A0j&pP{=CMK8K*MUTledKT-S3K51WD`(trU z8f$Lc@Jx=T`&apI9ak9dzKiXhCF;1g)U7ZVaW2m(V|;yq2@Qrc>w6)cibmRPd@Ee%IbBKjuvpS z;T(etmuy1;U^w{zCm;L}%XzO<`~sI`$oUtMFT4m{9iZO%8T9^JR+h2jC_SNdUv7l& zF-p#1i*+nA4Krvls9F)I&kpj#J(gDTXPQ?^FTflzT-u$EX^I_+}*>I6VHD(8D}wPCB%9JeY#%5dy~n~ z{uBXj+iF;CdeTH}z^-a1Nx|+z1rHMje_uPfPHV4qbU$I z1!S?0eC_KPUjCQJ&;Jvo{bxcv1=oVKHYSOGMBwRSRWrN^k>o_WZ)-7|FAaxM=`Di2O^z3tP0uM-jiuQYkxzkr?2Q*$u) zAyW+YAmb5m_igCG zTfq9zd6e0a0FJrFkWy|TBfVkJiKo_0aEa!)XXP8U)9nek(IbbpB-_W%e%D#gQ8$pf z#(40tRc4+v{A}wgl7PL>K~HYm`->a5sjVVIgdx<5sDu~?o^{MbtND8U;6#0Goxn2t zm2s;nLoiw}&Cz~N(?z3Z=hWP}XM*YhBb4mv>E`QluI=i%=a4E8jjqK5$W$RHh+_UQ z0%)hqX0y9L$N27_;KsLq51Yd~zaU|uZC0=K0FYq^a`mf7FZ~Oo=Y9(~_q-`8G!xkS zX=@_ZYQ;IgliaXlga%QIbipFNUOf|aap+6Ul8aWCy+X%kd-6J5_23=$JnVw}97mD! z+Roh7zOF`kf6YKan{7CPRop(yvb)jBn$hLcEcHRvUp-8HxY zv^Q=6)(TFG;U|M6iqLjcJ3JxmB%w{425niihYYiMvsJ|cpTRlG^l$*k#2l*F+uz1^ zIl#@o{7=BnQ`mq0YuI_}<#zAmF5<-CG#z)8ookTYYqp^WKS#a$1}n4xB9$kQ(F&DC z;dBg25s#uxMl?z6b3a06-=ipj#Cip1WX_(w!&1L0sx=U;YoM$!o6oWO^k>+5`tNlU z>Mwh~oPP;8xna004bbXcR~i1CfTR^wEiPT0VJfi^z^jta=IOaWQjKi1N z?$5vTPcQy%@?VG%gR9(4G3dUI08t@v*kCrg3*5{4n;^!Nm`-OJsydhTn7SLge{ z>8FT%KWQ8Vf{42puMd_pN@2l0QxgGcom*X_b&1uf4c(e0O05*p#ou_1mUnvzKetQu$)a#RM)(rs)GZ(+83rG*)}FH#he z6=}YQviAkZ!T$|loiL!X@uif)>>$IqRg0BEnk3(rU=+R=PHCoS@gR7+nuHdl8(O|% z@D{fz&!D4KX7g<1z+!OML${a;8dibut$}ZFT%i?OlQkvq6scZSiVZs>uG%NI_hh}k zmzLA%TvX#QEVpOa+Pj2W3JyR19zOippJ9IaMeM)uDz+{^*AWn6obWMsq74enFMbZ? z?rTWcppGjej7jt>;98bHyRka-QMz z?pqkPFHA5TK+Z@2l+Qm0-P{CDZUQRSJyu;A*}w|WGEudP)$THOhDgYWHGyGd+UHs* zvWCdBXSWL1zKw&CLygjay;XdogGi%Xuj)4uA^v~vKHb3fFHIJ4;LoP^5j;c#?ziWK z=>hbmAw2c1q_&-!>e>x~X_Ab+3p?05zlF_s2M0g;25yxlcAt9%``5pUytOx3yoU&k z9C1~)u#^)>o|_3k5MBkp%q~Rnmjsr0psYeevx8M$froO(JVVkn6M@;nEIqy_Fs%zL zhKkkgcd)$r`F1d3gEOMI|G6&$<6&FttblAFnxG}IN>D+n?DQdK?YG)!3dTADl2A*R z;^ml1h0M~*d3)fdEuSe5gO{&yZ+d7TM}FfSy%r^i;IrP?QrB&Srv3*DgY<;^@w6xbe<+koTX( z{tK^S=ZTjP+UNwY*i~e1&#GgL72@2;IWIRi(I={6wbO;T!$mrq7I=Fk!;l)E1B|r~ z`xo;AbPcTwGn%4c81JB*JV4&wkMS6nM5O1-@;t`v&jE*T1I!WCk!kr5BSJ81yRI!d zJI`UM+b~d1E|+MhG`F3aD2=pxTNC#pm|4ZvZXm)5u@l%wV9Aj%j^eHwr#EpTphlA+ zppaMlpZG0)CCAT%Qg0kB9ju)5{FYVV`- z4KguioXcT>C;b|iOaM?T(oC_s`*Una z1Xb6xP_%$zw^df>2?3}z}?rNYMv1bm~bwO?hwzQj$JAsSpi||8hD3V z$7+B#ke@ESF$2SyD{6%fOr^U|8bS486P&6&c49myp-=<~i)FZh-oQTCaRLOe&6ubD zf0c-qu%{X}N%3qKTb=ET8*cNf5O1RrV4)Xv9^_{mjl~74)-oPhh)%dn0O$riu=YxU zEwjZBj8|i}_PbVi&C=nm>%9FPBTkJ=#oB5o8ohLQRC*>+hvuwE<89RSRiuSC;tVQ` z;peRj7+23gjy`~|ShRstKyqQY3s93K;kH;TA(d%(7aG>GgC*K(r}<|g3cY8I6WElH zdVp?#%~*Upo&I1z!mj09qZLvE@@x_K%eh*6zOdL@tIgyE*o=cpv-$A(CR%~kb)wBG z5^mk<@6DL{OJRu>KA>S2X?KBo_#wPzl$0^XDSep%hy^>s3Ncwv8V?6Dk&`mJpl)4- zoc{u3_bDLFf$IT;s9QK-U1rZb8%uDhrPAesv}m}d;Q6K;~8@H7?!VpUK2T3eAE z(Ti~qUm4V$utl^sNCMcTfEx_J^fx&fqOwY#8zj*x0T(PksmFnieFxeKrHSUYDJN@u*U zPfNmR{soT7h@ce;@fxLei(6JZE+U>^XTMG%vKrlV!KdB#+d>P!-<;9T)$G`bkSD6r z>(CN6tp+FyT_Ew*8kn)+Mi=rNq$)H&g0KL{;yiS97owwy6-cL{b>sJc^7NV*NJ!Uy z1K540ZS+GJwT(&g0@z+4EiXWKuLJA*(4!l`>L!HI3djRmEin^6!n*Z&xxnV|HWuff zX`EQNPufJA>^y5qidXTI0>J=HG=^(oXO9F_cY;@V_YM_U-ykuZT*Ktx(`*(4BdneR z9FFqDTkk-NJnXe9i@{Q4RzwyOm@gwG7UE4bV%mMq9FO1U?(>w{HFXczx(XSOq3Z)+bsN~+4^AhNp@Vh22V<>fgQBcYke7RWoDl`8 zm~m9AWm(TIL&^zp-Dvf=z-HscE8dtW42?P^bB;$X(nNvfNfusAL^>)126MM;VzND= z@givr^_x~CY3RtIKfSb*I2P;P6mdU}PkjN!)u`G%z+=}!Fz z(9*NPa1+Pkd6bs@*hHx#Yqw-KS4qg22(M`y(oTmrDhLQ938<9?NX)epa-W2+@DQQ7 z72)_y!kQtagq&w6BU8|O(JFu^IS62dJ6`y0R@p;46wyPcVa0er5E%N0PUesKE(H6~ z#RZ6t>`Q$Dt!q0N$;=$XFkn1Az_4@4YH4j<=6+Sku#Gf7hg>!oA1oosl3QdLfSRGT zD}?8odCFl(HA}s7dqkUMi}$Y(nusdG#D&36lkb_U@6#Gt)bbpYQ0?^8b;nxf53E5m zP0MSXt5)wiVLm`l9ZONoL})~wqmFB0o2LB%)J_vmTDV6@)E;yeE+RB;9OBS`eflg> z$T>22EwVVH8Y z%E#88Wtb`T2bm6k%&OR zEkS&Iwg?=|Nn{(-kg2&X26VEAHm5FF@lkZe9*ycCn9FYGr6UX#$hF^u?0?RFS2ob` z5VAgk8G#3mGvnUR{~E*YlUP3Sc??_U8Yl1ZNpLSGP;DH~xq6;MLX2}g>IO33gXCqb z$=OS0dniSb#T61dmPkO+ApY$4rtpblYD}iT&xb!aw=%Wd#9Rd<3S8x^Bs7I_B!D=` zfSUxc>K2}B*5bZ38jG8lLbHH#pu&@auwxo1oIQvD}?bi%x)rTo5O?4Fd%8ZT3u27eTAb>5&J%aCL$t zzzK*)L4^6iqb;o2Q7z--AZiba{nS?t_n~TSQ4g^(PRC5#c$_F4*GM_HD$ z4?k>!@5LF3c|3W5TR;3Cc;a(UK!p81bOeyF*h*O781=!oaQyv0$GChJ+t+^ui_6a; z&v&@#?(Zblq=7hyjQCR{PZH40k(n;MD6kgj(JhpNPcY0|wQ4V26uriMZN-BcfjSae zzzy8KrFEkHPZTzIX9_{!q)GzupCfk2wIYAa#7|_Zx22Ak7HNw9Z^e*X*ozZ!xFUci zq{;0P+6e&q%FZ1j(JPR0OEFWeRzf`3wj!zl^Jf|6(*t$p(y|Hbe_s#GJn1vYm0$0O zsR!RaFM-w(pM3B4ap|djt6^IAT;+oj0~HyZQ>YpZywU zyO(Jf^#)AEG)*lAoc(N6g`VDP2l?bqNE|I|VBFyJ=G)ksXVlFam5rHDBh-`Q_9#-r zme!HEF&bwCwNqpSQ;r4zLmFmLe9JR+rYT!Z4!hPC_MFJHX(1;mX9rrrYE6NVAkIci z30|BG@irH^{^}m!`k0t#;E*5>P?W%L(@-2fNa8&6O9SvY@P4MsU2tD0FLZT`mO(OQbpSM=4OS= zF9CNm9T*$#ZAj{Mxm?3xNgdZC($HGi_05MI(lJHP@Mk}HrW`7t|fm%?G4{-GMpJC_x+_XpCAgi^M6PA3kmdh^NT3aJDCk=(ZpZ<}JQP0RR9FGf6~2RK^&R7i}}Ks&qm( zN3@rPw1z))lzQ@kYngn1h~;c2G(t8g+U!n$AK-?o;0m0Nh-G#c)*nqNqe@1448}rP zanUpg0o&Ig7k=q8zR(u+tR2t~fI>@Y>0c9E)E*WMEG_3ew3k*}%QxLKP_$VR z1aN;+t?sH}|3Nl;63J{4;_uX`GvGKYk+Z39v~+(gIGPJuIx*S>=Y=9s4ZQyy9BY!m zJM1D|`T9efclH{O4{+-Te}HQ*J!{%*tzeX*tx2?#14Yt0)&@e(Bbf(u4e_oKX@-=OU0~-qEUtYS!`1~Wn*>0|5oJ8Z`qtafqxZ18J6M*~=v`vjZqC~g zm#)u_R}rekNWG6jKbg`q zIldV!j2AR^R_~>wR!0;-pI$`_A7k?G`xt__6b)MiEuySbUvc&NWekfMv{tL(epWZpHdc#N=){O?egN%p$t>)WpyMg5oOs2M zXV~4HLFGfN-g_S#*##CC;05B6tgswLq+M2yj$T03oXTaz->uC&p^9+lcu&TMsLFRm zAO6HMb@;&`0Ar{GfM=Ib&Q91|3XXtC9(981ZWPC4XQ+xN)L5zIsx=8FB;t&Y#kC2D zD+~>*G~#PhG}%85a{=pxPQbqis$?g{M_xLv+ozYm4w*mR_y_=>{@|O~Kc6w**^047 zC$(6H4t6+!g{?^8jr82_saV4c$?$ zZ{$=*^8s56r1Up>Fr1j@BU|tLaR6f;M~iP0P7E5_ul*-(&`5Go_Lbq7gvsB4Vs(3;aG(qHcaP* z%Ai_iL>E5HGoh*=G+Ql*+(xyY*bsNwAc6!E8+e+HZ-mqpv=kP2D;AT*b}!ww#%SFg z7FQQa)vX)=U=Z4S`q+2vvl%?NPbD_r!&2h;6ia^UO0CGrLAej5vx0Ypb314p8vt7F zLzIb2K@EmxKe@NS2V1+xTgFHv0XS#nSet$9(bw|o%aB6>_FjDKeE`AwJKx5&m!CIp zzhndLQD{x*8X1{4Fx7-PvnJjF?g`1TjzCgKwfJ}S1D{w9%AhAwchvW3`x=L^COPBzYtLkTV>nLbbWB0%HXifg;TJVo{_WVBz2!{_z45iKYcJ zR~RNsXM5wMR*l6t8>vHjpP*UiBi_mb`~oOSOs-FbKPz&3lSE7Fhb_D?%vOY%!k>NR ztqXv>^w@g%JoSa^O$A2{qKddMvajCDAi>i7U;^#HHqr0(*wyi#R(Q^U z8%~it@|FiP59Z@5wc|t;7Q$UvVYxzdW0A7zBGO!8m5I#Gxk@S452zD;JywJhmm5eG zPLc?WlUV=AzR(<#7NgTZz9eb(j~+MlR@z=QgtK|HS{e?(xzc^IYE+tIYI@2;bQ%kQ z=ETd66ILpKdZPf|#ty1TnI(7peA*f(cpDQ7d)iQ27qh%q82kv%rB;)|ZB?}xdlH1^ z?fWHg*P0WRwofA6Or5pa@=ZY*If|bewObr3g+GwkDm1O&ZW5fx{xq)Vwx@9E2yEiP zVK^ZFj#x->90;}UtwtpFF7cc@2K+_+i4c)q@YSB@0cs}d3syHiyLhhr0)+MH559?W z7c%C%TX3cn-#^PKV;wlcZf)BAjhG?>TvF%gH>JY5)0_Ab-I&%`Hqgx}q;8;PZCYPl zLpR5k=B8^46s+uTT~_>=!Gq+kj?_i6W!#9jz3b4SpX-q04yNQ}`9i!WV4R?deyz0K@c>GLe1nLR6_H4sRQa2qoT3elmvI5EqT2`p*BQx}tb^H-EBGb~@vV0^A`m-0-ILH!{ zNy8rYytLPQE>GXD8$SkN$h75%-sTritO? z=DRrj`L}T8g=aXS2Al+7-eWs_AsSONZ$vEGWP@A*qR%!(3{WQ)X>Len7SghUj!r0z zBN-POgOIFG^x6vOj+-X>e1uK|!C^Zv2*B-HJ?p8pE4%Jk*dI^sBU42!D(h3*Ld*}mVZ+yzIP=&;U_yaw0QI42DF&v}NNJ#Pi|CsZ6wO7A zs0faJVu$kuPjLt*@FE}svFhWDxM~p|0`@G_(Ku9H(RH(ij;Az)j^_XDTlj_a;OXrN z?X2Wdhch-O69N(gQGg{VgJYR$S}VIrKv2qt7Im3UtaI5&5J|RnXp*?!DY#GH#GFH6 zU3%+bYHDix52}&Y)&6UHG2uGu(E?T(xOG{#LT~n3E}YnebM}oAYM{U{A8_IPF+TZU z{~kvl{K!sq%r^tOPXk+5ae8!!5C7u7;Qs4>jHkc&Jo0P^#YP?>-X2K>y(`4M0m^oF zT(`u)Laio3%ea}sV7{<7m!v!+H0Vq~>Rn-(n-EbX{W6&53Ji5Jh_YbXhu@IKShzd z?h1Qj!K5H|w;vKhfg-b`p%zDXmOLn;dv{j^6!Q4{VR8uN>H5XmxOfY&!HA-Av2%dA z7TDKJ2bG1>sw#$IVfly-o}_VzWdPNw3Swa&BJ% z!(u_D8tY^lIEjqCf>0Gn)w-o&-ZG(6o;C3Yv;n*9?d(w^)-%}$7c~+f@Zz=&%$Wht zAsvKEch;B4?=%|;AW`{G;3{o!O(l-1YyibI9mkE~FphQNMsb59$+9oqBy0zwqL?k_ zm@Vd=c;MsU>)f)13QZh!5*T=f0u*TF3AFu6mF_X;QXTi195|1LP2F?iDGbhQ#^wlD zs-@LcAhlL+ECs@jKAaq6GH6PU1+#3d*;K70C?g~=Y}-ELfnW*ms0L9=D>2mm;$+iw zp@g!pS(LlwB6bN*7aXF~yrOfIS0@3iLzn^dT1q?h+J)nEqQ-{ZTuZKX1qPTL5MMNY zUE9x;W)Q&KP?K5u`+82mC`+S!G?m9uWZR^ang~H)&dP4A(x67iiaIz=67qYx4<~o? z*W3?N=+7iSI12=jQ;K=}_xuGK+^s-ITI!39SE|7d6L%DOE>eqe!sgm>mkvBB!NIw} z9mS2Br|y#YOS%BOS~~}Hw-ud(+unr++11*ftc9%S?t_GlF1T^m^-$lx86+O*s*G$#U2D{58gKlyu*dM-x}h<4@z-)k)&<*?RP zR*)fSPHX?#>SIO9un(3RlvW8&(X>0zh2X>Gq|TJ7ZsM(rYUm~?abH^)bwCK`JT$0I z>`XkFxurX`a^0Oj z#f~*LGWSQynH + @@ -608,9 +615,9 @@ transform="translate(374.14287,98.00001)" id="g8506"> @@ -897,533 +904,7 @@ id="image8469" height="128" width="128" - xlink:href="data:image/png;base64,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 -" + xlink:href="data:image/png;base64,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 " transform="matrix(0.94586689,0.32455481,-0.32455481,0.94586689,0,0)" /> - From 5da2d2d511d97d35c6ae89c67914ff6b88d21971 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Jerna=C5=9B?= Date: Mon, 26 Jul 2010 00:11:51 +0000 Subject: [PATCH 02/38] l10n: Updated Polish (pl) translation to 70% New status: 46 messages complete with 3 fuzzies and 16 untranslated. Transmitted-via: Transifex (www.transifex.net). --- po/pl.po | 300 +++++++++++++++++++++++++++++++++---------------------- 1 file changed, 182 insertions(+), 118 deletions(-) diff --git a/po/pl.po b/po/pl.po index 43a7f0f0..29fb3702 100644 --- a/po/pl.po +++ b/po/pl.po @@ -10,133 +10,129 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-21 19:48+0000\n" +"POT-Creation-Date: 2010-07-26 00:04+0000\n" "PO-Revision-Date: 2010-06-11 21:59+0200\n" "Last-Translator: Łukasz Jernaś \n" "Language-Team: Polish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Country: Poland\n" "Language: pl\n" +"X-Generator: Virtaal 0.5.2\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "X-Poedit-Language: Polish\n" -"X-Poedit-Country: Poland\n" -"X-Generator: Virtaal 0.5.2\n" -#: ../SparkleDiff/SparkleDiff.cs:77 ../SparkleShare/SparkleShare.cs:50 +#: ../SparkleDiff/SparkleDiff.cs:77 ../SparkleShare/SparkleShare.cs:49 msgid "Git wasn't found." msgstr "Nie znaleziono programu Git." -#: ../SparkleDiff/SparkleDiff.cs:78 ../SparkleShare/SparkleShare.cs:51 +#: ../SparkleDiff/SparkleDiff.cs:78 ../SparkleShare/SparkleShare.cs:50 msgid "You can get Git from http://git-scm.com/." msgstr "Można go pobrać ze strony http://git-scm.com/." -#: ../SparkleDiff/SparkleDiff.cs:86 ../SparkleShare/SparkleShare.cs:58 +#: ../SparkleDiff/SparkleDiff.cs:86 ../SparkleShare/SparkleShare.cs:57 msgid "Sorry, you can't run SparkleShare with these permissions." msgstr "Przepraszamy, nie można uruchomić programu SparkleShare z bieżącymi uprawnieniami." -#: ../SparkleDiff/SparkleDiff.cs:87 ../SparkleShare/SparkleShare.cs:59 +#: ../SparkleDiff/SparkleDiff.cs:87 ../SparkleShare/SparkleShare.cs:58 msgid "Things would go utterly wrong." msgstr "Może to spowodować nieprzewidziane skutki." -#: ../SparkleDiff/SparkleDiff.cs:157 +#: ../SparkleDiff/SparkleDiff.cs:161 msgid "SparkleDiff Copyright (C) 2010 Hylke Bons" msgstr "SparkleDiff Copyright (C) 2010 Hylke Bons" -#: ../SparkleDiff/SparkleDiff.cs:159 ../SparkleShare/SparkleShare.cs:90 +#: ../SparkleDiff/SparkleDiff.cs:163 ../SparkleShare/SparkleShare.cs:89 msgid "This program comes with ABSOLUTELY NO WARRANTY." msgstr "Niniejszy program dostarczany jest BEZ JAKIEJKOLWIEK GWARANCJI." -#: ../SparkleDiff/SparkleDiff.cs:160 ../SparkleShare/SparkleShare.cs:91 +#: ../SparkleDiff/SparkleDiff.cs:164 ../SparkleShare/SparkleShare.cs:90 msgid "This is free software, and you are welcome to redistribute it " msgstr "Niniejszy program jest wolnym oprogramowanie, można go rozprowadzać dalej pod pewnymi warunkami." -#: ../SparkleDiff/SparkleDiff.cs:161 ../SparkleShare/SparkleShare.cs:92 +#: ../SparkleDiff/SparkleDiff.cs:165 ../SparkleShare/SparkleShare.cs:91 msgid "under certain conditions. Please read the GNU GPLv3 for details." msgstr "Aby uzyskać więcej informacji, proszę zapoznać się z tekstem licencji GNU GPLv3." -#: ../SparkleDiff/SparkleDiff.cs:163 +#: ../SparkleDiff/SparkleDiff.cs:167 msgid "SparkleDiff let's you compare revisions of an image file side by side." msgstr "Program SparkleDiff pozwala na porównywanie różnych rewizji pliku graficznego obok siebie." -#: ../SparkleDiff/SparkleDiff.cs:165 +#: ../SparkleDiff/SparkleDiff.cs:169 msgid "Usage: sparklediff [FILE]" msgstr "Sposób użycia: sparklediff [PLIK]" -#: ../SparkleDiff/SparkleDiff.cs:166 +#: ../SparkleDiff/SparkleDiff.cs:170 msgid "Open an image file to show its revisions" msgstr "Otwiera plik graficzny z możliwością porównywania jego rewizji" -#: ../SparkleDiff/SparkleDiff.cs:168 ../SparkleShare/SparkleShare.cs:99 +#: ../SparkleDiff/SparkleDiff.cs:172 ../SparkleShare/SparkleShare.cs:98 msgid "Arguments:" msgstr "Parametry:" -#: ../SparkleDiff/SparkleDiff.cs:169 ../SparkleShare/SparkleShare.cs:101 +#: ../SparkleDiff/SparkleDiff.cs:173 ../SparkleShare/SparkleShare.cs:100 msgid "\t -h, --help\t\tDisplay this help text." msgstr "\t -h, --help\t\tWyświetla opcje pomocy." -#. TRANSLATORS: The parameter is a filename -#: ../SparkleDiff/SparkleDiffWindow.cs:53 +#: ../SparkleDiff/SparkleDiffWindow.cs:92 #, csharp-format -msgid "Comparing Revisions of ‘{0}’" -msgstr "Porównywanie rewizji pliku „{0}”" +msgid "{0} at {1}" +msgstr "{0} na {1}" -#: ../SparkleDiff/SparkleDiffWindow.cs:81 -msgid "Current Revision" -msgstr "Bieżąca rewizja" +#: ../SparkleDiff/SparkleDiffWindow.cs:93 +msgid "ddd MMM d, yyyy" +msgstr "" -#. TRANSLATORS: This is a format specifier according to -#. System.Globalization.DateTimeFormatInfo -#: ../SparkleDiff/SparkleDiffWindow.cs:85 -msgid "d MMM\tH:mm" -msgstr "d MMM\tH:mm" +#: ../SparkleDiff/SparkleDiffWindow.cs:94 +#, fuzzy +msgid "H:mm" +msgstr "H:mm" -#: ../SparkleShare/SparkleDialog.cs:50 +#: ../SparkleShare/SparkleDialog.cs:51 msgid "Address of remote SparkleShare folder:" msgstr "Adres zdalnego katalogu SparkleShare:" -#: ../SparkleShare/SparkleDialog.cs:81 +#: ../SparkleShare/SparkleDialog.cs:82 msgid "Add Folder" msgstr "Dodaj katalog" -#: ../SparkleShare/SparkleDialog.cs:126 +#: ../SparkleShare/SparkleDialog.cs:127 #, csharp-format msgid "Syncing folder ‘{0}’" msgstr "Synchronizowanie katalogu „{0}”" -#: ../SparkleShare/SparkleDialog.cs:127 +#: ../SparkleShare/SparkleDialog.cs:128 msgid "SparkleShare will notify you when this is done." msgstr "Zostanie wyświetlone powiadomienie w momencie zakończenia." -#: ../SparkleShare/SparkleDialog.cs:129 +#: ../SparkleShare/SparkleDialog.cs:130 msgid "Dismiss" msgstr "Porzuć" -#: ../SparkleShare/SparkleDialog.cs:157 +#: ../SparkleShare/SparkleDialog.cs:158 #, csharp-format msgid "Something went wrong while syncing ‘{0}’" msgstr "Wystąpił błąd w trakcie synchronizowania „{0}”" -#: ../SparkleShare/SparkleDialog.cs:167 +#: ../SparkleShare/SparkleDialog.cs:168 msgid "Try Again…" msgstr "Spróbuj ponownie…" -#: ../SparkleShare/SparkleDialog.cs:197 +#: ../SparkleShare/SparkleDialog.cs:198 #, csharp-format msgid "Successfully synced folder ‘{0}’" msgstr "Poprawnie zsynchronizowano katalog „{0}”" -#: ../SparkleShare/SparkleDialog.cs:198 +#: ../SparkleShare/SparkleDialog.cs:199 msgid "Now make great stuff happen!" msgstr "Teraz możesz zacząć czynić wielkie rzeczy!" -#. Add a button to open the folder where the changed file is -#: ../SparkleShare/SparkleDialog.cs:200 ../SparkleShare/SparkleRepo.cs:319 -#: ../SparkleShare/SparkleWindow.cs:63 +#: ../SparkleShare/SparkleDialog.cs:201 ../SparkleShare/SparkleWindow.cs:62 msgid "Open Folder" msgstr "Otwórz katalog" -#: ../SparkleShare/SparkleHelpers.cs:164 +#: ../SparkleShare/SparkleHelpers.cs:136 #, csharp-format msgid "a second ago" msgid_plural "{0} seconds ago" @@ -144,7 +140,7 @@ msgstr[0] "sekundę temu" msgstr[1] "{0} sekundy temu" msgstr[2] "{0} sekund temu" -#: ../SparkleShare/SparkleHelpers.cs:170 +#: ../SparkleShare/SparkleHelpers.cs:142 #, csharp-format msgid "a minute ago" msgid_plural "about {0} minutes ago" @@ -152,7 +148,7 @@ msgstr[0] "minutę temu" msgstr[1] "około {0} minuty temu" msgstr[2] "około {0} minut temu" -#: ../SparkleShare/SparkleHelpers.cs:176 +#: ../SparkleShare/SparkleHelpers.cs:148 #, csharp-format msgid "about an hour ago" msgid_plural "about {0} hours ago" @@ -160,7 +156,7 @@ msgstr[0] "około godzinę temu" msgstr[1] "około {0} godziny temu" msgstr[2] "około {0} godzin temu" -#: ../SparkleShare/SparkleHelpers.cs:182 +#: ../SparkleShare/SparkleHelpers.cs:154 #, csharp-format msgid "yesterday" msgid_plural "{0} days ago" @@ -168,7 +164,7 @@ msgstr[0] "wczoraj" msgstr[1] "{0} dni temu" msgstr[2] "{0} dni temu" -#: ../SparkleShare/SparkleHelpers.cs:188 +#: ../SparkleShare/SparkleHelpers.cs:160 #, csharp-format msgid "a month ago" msgid_plural "{0} months ago" @@ -176,7 +172,7 @@ msgstr[0] "miesiąc temu" msgstr[1] "{0} miesiące temu" msgstr[2] "{0} miesięcy temu" -#: ../SparkleShare/SparkleHelpers.cs:193 +#: ../SparkleShare/SparkleHelpers.cs:165 #, csharp-format msgid "a year ago" msgid_plural "{0} years ago" @@ -184,85 +180,129 @@ msgstr[0] "rok temu" msgstr[1] "{0} lata temu" msgstr[2] "{0} lat temu" -#: ../SparkleShare/SparkleHelpers.cs:205 -msgid "Hold your ponies!" -msgstr "Wstrzymaj konie!" - -#: ../SparkleShare/SparkleHelpers.cs:206 -msgid "" -"SparkleShare is known to be insanely fast with \n" -"pictures of unicorns. Please make sure your internets\n" -"are upgraded to the latest version to avoid problems." -msgstr "" -"Program SparkleShare jest znany z niesamowitej szybkości \n" -" przy wysyłaniu obrazków z jednorożcami.\n" -"Dopilnuj, by Twój internet był w najnowszej wersji, aby uniknąć problemów." - -#: ../SparkleShare/SparkleShare.cs:88 -msgid "SparkleShare Copyright (C) 2010 Hylke Bons" -msgstr "SparkleShare Copyright (C) 2010 Hylke Bons" - -#: ../SparkleShare/SparkleShare.cs:94 -msgid "SparkleShare syncs the ~/SparkleShare folder with remote repositories." -msgstr "Program SparkleShare synchronizuje zawartość katalogu ~/SparkleShare ze zdalnymi repozytoriami." - -#: ../SparkleShare/SparkleShare.cs:96 -msgid "Usage: sparkleshare [start|stop|restart] [OPTION]..." -msgstr "Użycie: sparkleshare [start|stop|restart] [OPCJA]..." - -#: ../SparkleShare/SparkleShare.cs:97 -msgid "Sync SparkleShare folder with remote repositories." -msgstr "Synchronizuj zawartość katalogu SparkleShare ze zdalnymi repozytoriami." - -#: ../SparkleShare/SparkleShare.cs:100 -msgid "\t -d, --disable-gui\tDon't show the notification icon." -msgstr "\t -d, --disable-gui\tWyłącza wyświetlanie ikony w obszarze powiadamiania." - -#: ../SparkleShare/SparkleStatusIcon.cs:69 -msgid "Error syncing" -msgstr "Błąd w trakcie synchronizacji" - -#: ../SparkleShare/SparkleStatusIcon.cs:72 -msgid "Everything is up to date" -msgstr "Wszystko jest aktualne" - -#: ../SparkleShare/SparkleStatusIcon.cs:75 -msgid "Syncing…" -msgstr "Synchronizowanie…" - -#: ../SparkleShare/SparkleStatusIcon.cs:116 -msgid "Add a Remote Folder…" -msgstr "Dodaj zdalny katalog…" - -#: ../SparkleShare/SparkleStatusIcon.cs:124 -msgid "Show Notifications" -msgstr "Wyświetlanie powiadomień" - -#: ../SparkleShare/SparkleStatusIcon.cs:142 -msgid "Visit Website" -msgstr "Odwiedź stronę domową" - -#: ../SparkleShare/SparkleStatusIcon.cs:159 -msgid "Quit" -msgstr "Zakończ" - -#: ../SparkleShare/SparkleUI.cs:145 +#: ../SparkleShare/SparkleIntro.cs:72 msgid "Welcome to SparkleShare!" msgstr "Witamy w programie SparkleShare!" -#: ../SparkleShare/SparkleUI.cs:146 -msgid "You don't have any folders set up yet." -msgstr "Nie ustawiono żadnych katalogów." +#: ../SparkleShare/SparkleIntro.cs:78 +msgid "Before we can create a SparkleShare folder on this computer, we need a few bits of information from you." +msgstr "" -#: ../SparkleShare/SparkleUI.cs:149 -msgid "Add a Folder…" -msgstr "Dodaj katalog…" +#: ../SparkleShare/SparkleIntro.cs:90 +msgid "Full Name:" +msgstr "" + +#: ../SparkleShare/SparkleIntro.cs:106 +#, fuzzy +msgid "Email:" +msgstr "Email:" + +#: ../SparkleShare/SparkleIntro.cs:115 +msgid "Folder Address:" +msgstr "" + +#: ../SparkleShare/SparkleIntro.cs:122 +msgid "I'm already subscribed to a folder on a SparkleServer" +msgstr "" + +#: ../SparkleShare/SparkleIntro.cs:157 +msgid "Next" +msgstr "" + +#: ../SparkleShare/SparkleIntro.cs:168 +msgid "Configuring…" +msgstr "" + +#: ../SparkleShare/SparkleIntro.cs:220 +msgid "SparkleShare is ready to go!" +msgstr "" + +#: ../SparkleShare/SparkleIntro.cs:226 +msgid "Now you can start accepting invitations from others. Just click on invitations you get by email and we will take care of the rest." +msgstr "" + +#: ../SparkleShare/SparkleIntro.cs:237 +msgid "Learn how to host your own SparkleServer" +msgstr "" + +#: ../SparkleShare/SparkleIntro.cs:250 +msgid "Finish" +msgstr "" + +#: ../SparkleShare/SparkleShare.cs:87 +msgid "SparkleShare Copyright (C) 2010 Hylke Bons" +msgstr "SparkleShare Copyright (C) 2010 Hylke Bons" + +#: ../SparkleShare/SparkleShare.cs:93 +msgid "SparkleShare syncs the ~/SparkleShare folder with remote repositories." +msgstr "Program SparkleShare synchronizuje zawartość katalogu ~/SparkleShare ze zdalnymi repozytoriami." + +#: ../SparkleShare/SparkleShare.cs:95 +msgid "Usage: sparkleshare [start|stop|restart] [OPTION]..." +msgstr "Użycie: sparkleshare [start|stop|restart] [OPCJA]..." + +#: ../SparkleShare/SparkleShare.cs:96 +msgid "Sync SparkleShare folder with remote repositories." +msgstr "Synchronizuj zawartość katalogu SparkleShare ze zdalnymi repozytoriami." + +#: ../SparkleShare/SparkleShare.cs:99 +msgid "\t -d, --disable-gui\tDon't show the notification icon." +msgstr "\t -d, --disable-gui\tWyłącza wyświetlanie ikony w obszarze powiadamiania." + +#: ../SparkleShare/SparkleStatusIcon.cs:130 +#, fuzzy +msgid "SparkleShare Folder" +msgstr "Adres zdalnego katalogu SparkleShare:" + +#: ../SparkleShare/SparkleStatusIcon.cs:163 +msgid "No Shared Folders Yet" +msgstr "" + +#: ../SparkleShare/SparkleStatusIcon.cs:171 +msgid "Add Remote Folder…" +msgstr "Dodaj zdalny katalog…" + +#: ../SparkleShare/SparkleStatusIcon.cs:184 +msgid "Show Notifications" +msgstr "Wyświetlanie powiadomień" + +#: ../SparkleShare/SparkleStatusIcon.cs:205 +msgid "About" +msgstr "O programie" + +#: ../SparkleShare/SparkleStatusIcon.cs:222 +msgid "Quit" +msgstr "Zakończ" + +#: ../SparkleShare/SparkleStatusIcon.cs:271 +msgid "All up to date" +msgstr "" + +#: ../SparkleShare/SparkleStatusIcon.cs:280 +msgid "Syncing…" +msgstr "Synchronizowanie…" + +#: ../SparkleShare/SparkleUI.cs:247 +msgid "Ouch! Mid-air collision!" +msgstr "" + +#: ../SparkleShare/SparkleUI.cs:248 +msgid "Don't worry, SparkleShare made a copy of each conflicting file." +msgstr "" + +#: ../SparkleShare/SparkleUI.cs:334 +msgid "Hold your ponies!" +msgstr "Wstrzymaj konie!" + +#: ../SparkleShare/SparkleUI.cs:335 +msgid "SparkleShare is known to be insanely fast with pictures of unicorns. Please make sure your internets are upgraded to the latest version to avoid any problems." +msgstr "Program SparkleShare jest znany z niesamowitej szybkości przy wysyłaniu obrazków z jednorożcami. Dopilnuj, by Twój internet był w najnowszej wersji, aby uniknąć problemów." #. TRANSLATORS: {0} is a folder name, and {1} is a server address -#: ../SparkleShare/SparkleWindow.cs:51 +#: ../SparkleShare/SparkleWindow.cs:50 #, csharp-format -msgid "‘{0}’ on {1}" -msgstr "„{0}” na {1}" +msgid "Recent Events in ‘{0}’" +msgstr "" #: ../SparkleShare/Nautilus/sparkleshare-nautilus-extension.py.in:108 msgid "Get Earlier Version" @@ -276,5 +316,29 @@ msgstr "Tworzy kopię wcześniejszej wersji w tym katalogu" msgid "Select to get a copy of this version" msgstr "Zaznacz, aby pobrać kopię tej wersji" +#~ msgid "Comparing Revisions of ‘{0}’" +#~ msgstr "Porównywanie rewizji pliku „{0}”" + +#~ msgid "Current Revision" +#~ msgstr "Bieżąca rewizja" + +#~ msgid "d MMM\tH:mm" +#~ msgstr "d MMM\tH:mm" + +#~ msgid "Error syncing" +#~ msgstr "Błąd w trakcie synchronizacji" + +#~ msgid "Everything is up to date" +#~ msgstr "Wszystko jest aktualne" + +#~ msgid "Visit Website" +#~ msgstr "Odwiedź stronę domową" + +#~ msgid "You don't have any folders set up yet." +#~ msgstr "Nie ustawiono żadnych katalogów." + +#~ msgid "Add a Folder…" +#~ msgstr "Dodaj katalog…" + #~ msgid "That’s you!" #~ msgstr "To ty!" From d1d4af297fff14958659292f71eeed481e74defa Mon Sep 17 00:00:00 2001 From: Magnun Leno Date: Mon, 26 Jul 2010 12:02:27 +0000 Subject: [PATCH 03/38] l10n: Updated Portuguese (Brazilian) (pt_BR) translation to 92% New status: 60 messages complete with 1 fuzzy and 4 untranslated. Transmitted-via: Transifex (www.transifex.net). --- po/pt_BR.po | 288 +++++++++++++++++++++++++++++++--------------------- 1 file changed, 175 insertions(+), 113 deletions(-) diff --git a/po/pt_BR.po b/po/pt_BR.po index f169601b..a4b1522b 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: SparkleShare\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-22 06:17+0000\n" +"POT-Creation-Date: 2010-07-26 08:25+0000\n" "PO-Revision-Date: 2010-07-05 13:01-0300\n" "Last-Translator: Magnun Leno \n" "Language-Team: Brazilian Portuguese\n" @@ -20,241 +20,282 @@ msgstr "" "X-Poedit-SourceCharset: utf-8\n" "X-Poedit-Country: BRAZIL\n" -#: ../SparkleDiff/SparkleDiff.cs:77 ../SparkleShare/SparkleShare.cs:50 +#: ../SparkleDiff/SparkleDiff.cs:77 ../SparkleShare/SparkleShare.cs:49 msgid "Git wasn't found." msgstr "Git não foi encontrado." -#: ../SparkleDiff/SparkleDiff.cs:78 ../SparkleShare/SparkleShare.cs:51 +#: ../SparkleDiff/SparkleDiff.cs:78 ../SparkleShare/SparkleShare.cs:50 msgid "You can get Git from http://git-scm.com/." msgstr "Você pode obter o Git no site http://git-scm.com/." -#: ../SparkleDiff/SparkleDiff.cs:86 ../SparkleShare/SparkleShare.cs:58 +#: ../SparkleDiff/SparkleDiff.cs:86 ../SparkleShare/SparkleShare.cs:57 msgid "Sorry, you can't run SparkleShare with these permissions." msgstr "Descuple, você não pode rodar o SparkleShare sem essas permissões." -#: ../SparkleDiff/SparkleDiff.cs:87 ../SparkleShare/SparkleShare.cs:59 +#: ../SparkleDiff/SparkleDiff.cs:87 ../SparkleShare/SparkleShare.cs:58 msgid "Things would go utterly wrong." msgstr "As coisas vão dar completamente errado." -#: ../SparkleDiff/SparkleDiff.cs:157 +#: ../SparkleDiff/SparkleDiff.cs:161 msgid "SparkleDiff Copyright (C) 2010 Hylke Bons" msgstr "Direitos Autorais SparkleShare (C) 2010 Hylke Bons" -#: ../SparkleDiff/SparkleDiff.cs:159 ../SparkleShare/SparkleShare.cs:90 +#: ../SparkleDiff/SparkleDiff.cs:163 ../SparkleShare/SparkleShare.cs:89 msgid "This program comes with ABSOLUTELY NO WARRANTY." msgstr "Este programa vem com ABSOLUTAMENTE NENHUMA GARANTIA." -#: ../SparkleDiff/SparkleDiff.cs:160 ../SparkleShare/SparkleShare.cs:91 +#: ../SparkleDiff/SparkleDiff.cs:164 ../SparkleShare/SparkleShare.cs:90 msgid "This is free software, and you are welcome to redistribute it " msgstr "Este é um software livre, e você é incentivado a distribuí-lo " -#: ../SparkleDiff/SparkleDiff.cs:161 ../SparkleShare/SparkleShare.cs:92 +#: ../SparkleDiff/SparkleDiff.cs:165 ../SparkleShare/SparkleShare.cs:91 msgid "under certain conditions. Please read the GNU GPLv3 for details." msgstr "sob certas condições. Por favor leia a licença GNU GPLv3 para mais detalhes." -#: ../SparkleDiff/SparkleDiff.cs:163 +#: ../SparkleDiff/SparkleDiff.cs:167 msgid "SparkleDiff let's you compare revisions of an image file side by side." msgstr "O SparkleDiff permite que você compare lado a lado revisões de uma imagem." -#: ../SparkleDiff/SparkleDiff.cs:165 +#: ../SparkleDiff/SparkleDiff.cs:169 msgid "Usage: sparklediff [FILE]" msgstr "Utilização: sparklediff [ARQUIVO]" -#: ../SparkleDiff/SparkleDiff.cs:166 +#: ../SparkleDiff/SparkleDiff.cs:170 msgid "Open an image file to show its revisions" msgstr "Abre um arquivo de imagem e mostra suas revisões" -#: ../SparkleDiff/SparkleDiff.cs:168 ../SparkleShare/SparkleShare.cs:99 +#: ../SparkleDiff/SparkleDiff.cs:172 ../SparkleShare/SparkleShare.cs:98 msgid "Arguments:" msgstr "Argumentos:" -#: ../SparkleDiff/SparkleDiff.cs:169 ../SparkleShare/SparkleShare.cs:101 +#: ../SparkleDiff/SparkleDiff.cs:173 ../SparkleShare/SparkleShare.cs:100 msgid "\t -h, --help\t\tDisplay this help text." msgstr "\t -h, --help\t\tMostra esse texto de ajuda." -#. TRANSLATORS: The parameter is a filename -#: ../SparkleDiff/SparkleDiffWindow.cs:53 +#: ../SparkleDiff/SparkleDiffWindow.cs:92 #, csharp-format -msgid "Comparing Revisions of ‘{0}’" -msgstr "Comparando revisões de '{0}'" +msgid "{0} at {1}" +msgstr "{0} em {1}" -#: ../SparkleDiff/SparkleDiffWindow.cs:81 -msgid "Current Revision" -msgstr "Revisão Atual" +#: ../SparkleDiff/SparkleDiffWindow.cs:93 +msgid "ddd MMM d, yyyy" +msgstr "ddd MMM d, yyyy" -#. TRANSLATORS: This is a format specifier according to -#. System.Globalization.DateTimeFormatInfo -#: ../SparkleDiff/SparkleDiffWindow.cs:85 -msgid "d MMM\tH:mm" -msgstr "" +#: ../SparkleDiff/SparkleDiffWindow.cs:94 +msgid "H:mm" +msgstr "H:mm" -#: ../SparkleShare/SparkleDialog.cs:50 +#: ../SparkleShare/SparkleDialog.cs:51 msgid "Address of remote SparkleShare folder:" msgstr "Endereço da pasta remota SparkleShare:" -#: ../SparkleShare/SparkleDialog.cs:81 +#: ../SparkleShare/SparkleDialog.cs:82 msgid "Add Folder" msgstr "Adicionar Pasta" -#: ../SparkleShare/SparkleDialog.cs:126 +#: ../SparkleShare/SparkleDialog.cs:127 #, csharp-format msgid "Syncing folder ‘{0}’" msgstr "Sincronizando pasta ‘{0}’" -#: ../SparkleShare/SparkleDialog.cs:127 +#: ../SparkleShare/SparkleDialog.cs:128 msgid "SparkleShare will notify you when this is done." msgstr "SparkleShare irá notifica-lo quando houver concluído." -#: ../SparkleShare/SparkleDialog.cs:129 +#: ../SparkleShare/SparkleDialog.cs:130 msgid "Dismiss" msgstr "Fechar" -#: ../SparkleShare/SparkleDialog.cs:157 +#: ../SparkleShare/SparkleDialog.cs:158 #, csharp-format msgid "Something went wrong while syncing ‘{0}’" msgstr "Alguma coisa deu errado enquanto sincronizava ‘{0}’" -#: ../SparkleShare/SparkleDialog.cs:167 +#: ../SparkleShare/SparkleDialog.cs:168 msgid "Try Again…" msgstr "Tentar novamente…" -#: ../SparkleShare/SparkleDialog.cs:197 +#: ../SparkleShare/SparkleDialog.cs:198 #, csharp-format msgid "Successfully synced folder ‘{0}’" msgstr "Pasta ‘{0}’ sincronizada com sucesso" -#: ../SparkleShare/SparkleDialog.cs:198 +#: ../SparkleShare/SparkleDialog.cs:199 msgid "Now make great stuff happen!" msgstr "Agora faça grandes coisas acontecerem!" -#. Add a button to open the folder where the changed file is -#: ../SparkleShare/SparkleDialog.cs:200 ../SparkleShare/SparkleRepo.cs:319 -#: ../SparkleShare/SparkleWindow.cs:63 +#: ../SparkleShare/SparkleDialog.cs:201 ../SparkleShare/SparkleWindow.cs:62 msgid "Open Folder" msgstr "Abrir Pasta" -#: ../SparkleShare/SparkleHelpers.cs:164 +#: ../SparkleShare/SparkleHelpers.cs:136 #, csharp-format msgid "a second ago" msgid_plural "{0} seconds ago" msgstr[0] "há um segundo" msgstr[1] "há {0} segundos" -#: ../SparkleShare/SparkleHelpers.cs:170 +#: ../SparkleShare/SparkleHelpers.cs:142 #, csharp-format msgid "a minute ago" msgid_plural "about {0} minutes ago" msgstr[0] "há um minuto" msgstr[1] "há quase {0} minutos" -#: ../SparkleShare/SparkleHelpers.cs:176 +#: ../SparkleShare/SparkleHelpers.cs:148 #, csharp-format msgid "about an hour ago" msgid_plural "about {0} hours ago" msgstr[0] "há quase uma hora" msgstr[1] "há quase {0} horas" -#: ../SparkleShare/SparkleHelpers.cs:182 +#: ../SparkleShare/SparkleHelpers.cs:154 #, csharp-format msgid "yesterday" msgid_plural "{0} days ago" msgstr[0] "ontem" msgstr[1] "há {0} dias" -#: ../SparkleShare/SparkleHelpers.cs:188 +#: ../SparkleShare/SparkleHelpers.cs:160 #, csharp-format msgid "a month ago" msgid_plural "{0} months ago" msgstr[0] "há um mês" msgstr[1] "há {0} meses" -#: ../SparkleShare/SparkleHelpers.cs:193 +#: ../SparkleShare/SparkleHelpers.cs:165 #, csharp-format msgid "a year ago" msgid_plural "{0} years ago" msgstr[0] "há um ano" msgstr[1] "há {0} anos" -#: ../SparkleShare/SparkleHelpers.cs:205 +#: ../SparkleShare/SparkleIntro.cs:72 +msgid "Welcome to SparkleShare!" +msgstr "Bem vindo ao SparkleShare" + +#: ../SparkleShare/SparkleIntro.cs:78 +msgid "Before we can create a SparkleShare folder on this computer, we need a few bits of information from you." +msgstr "Antes de criarmos uma pasta SparkleShare neste computador, precisamos de algumas informação sobre você;" + +#: ../SparkleShare/SparkleIntro.cs:90 +msgid "Full Name:" +msgstr "Nome Completo:" + +#: ../SparkleShare/SparkleIntro.cs:106 +msgid "Email:" +msgstr "Email:" + +#: ../SparkleShare/SparkleIntro.cs:115 +msgid "Folder Address:" +msgstr "Endereço da Pasta:" + +#: ../SparkleShare/SparkleIntro.cs:122 +msgid "I'm already subscribed to a folder on a SparkleServer" +msgstr "Eu já tenho uma pasta cadastrada no SparkleShare" + +#: ../SparkleShare/SparkleIntro.cs:157 +msgid "Next" +msgstr "Próximo" + +#: ../SparkleShare/SparkleIntro.cs:168 +msgid "Configuring…" +msgstr "Configurando..." + +#: ../SparkleShare/SparkleIntro.cs:220 +msgid "SparkleShare is ready to go!" +msgstr "SparkleShare está pronto!" + +#: ../SparkleShare/SparkleIntro.cs:226 +msgid "Now you can start accepting invitations from others. Just click on invitations you get by email and we will take care of the rest." +msgstr "" + +#: ../SparkleShare/SparkleIntro.cs:237 +msgid "Learn how to host your own SparkleServer" +msgstr "" + +#: ../SparkleShare/SparkleIntro.cs:250 +msgid "Finish" +msgstr "Finalizar" + +#: ../SparkleShare/SparkleShare.cs:87 +msgid "SparkleShare Copyright (C) 2010 Hylke Bons" +msgstr "Diretos Autorais do SparkleShare (C) 2010 Hylke Bons" + +#: ../SparkleShare/SparkleShare.cs:93 +msgid "SparkleShare syncs the ~/SparkleShare folder with remote repositories." +msgstr "SparkleShare sincroniza a pasta ~/SparkleShare com repositórios remotos." + +#: ../SparkleShare/SparkleShare.cs:95 +msgid "Usage: sparkleshare [start|stop|restart] [OPTION]..." +msgstr "Utilização: sparkleshare [start|stop|restart] [OPTION]..." + +#: ../SparkleShare/SparkleShare.cs:96 +msgid "Sync SparkleShare folder with remote repositories." +msgstr "Sincroniza a pasta SparkleShare com repositórios remotos." + +#: ../SparkleShare/SparkleShare.cs:99 +msgid "\t -d, --disable-gui\tDon't show the notification icon." +msgstr "\t -d, --disable-gui\tNão mostra o ícone de notificação." + +#: ../SparkleShare/SparkleStatusIcon.cs:130 +msgid "SparkleShare Folder" +msgstr "Pasta SparkleShare:" + +#: ../SparkleShare/SparkleStatusIcon.cs:163 +msgid "No Shared Folders Yet" +msgstr "Nenhuma Pasta Compartilhada Ainda" + +#: ../SparkleShare/SparkleStatusIcon.cs:171 +msgid "Add Remote Folder…" +msgstr "Adicionar Pasta Remota…" + +#: ../SparkleShare/SparkleStatusIcon.cs:184 +msgid "Show Notifications" +msgstr "Mostrar Notificações" + +#: ../SparkleShare/SparkleStatusIcon.cs:205 +msgid "About" +msgstr "Sobre" + +#: ../SparkleShare/SparkleStatusIcon.cs:222 +msgid "Quit" +msgstr "Sair" + +#: ../SparkleShare/SparkleStatusIcon.cs:271 +msgid "All up to date" +msgstr "Tudo está atualizado" + +#: ../SparkleShare/SparkleStatusIcon.cs:280 +msgid "Syncing…" +msgstr "Sincronizando…" + +#: ../SparkleShare/SparkleUI.cs:247 +msgid "Ouch! Mid-air collision!" +msgstr "Ops! Colisão em pleno ar!" + +#: ../SparkleShare/SparkleUI.cs:248 +msgid "Don't worry, SparkleShare made a copy of each conflicting file." +msgstr "" + +#: ../SparkleShare/SparkleUI.cs:334 msgid "Hold your ponies!" msgstr "Segure seus pôneis!" -#: ../SparkleShare/SparkleHelpers.cs:206 -msgid "" -"SparkleShare is known to be insanely fast with \n" -"pictures of unicorns. Please make sure your internets\n" -"are upgraded to the latest version to avoid problems." +#: ../SparkleShare/SparkleUI.cs:335 +#, fuzzy +msgid "SparkleShare is known to be insanely fast with pictures of unicorns. Please make sure your internets are upgraded to the latest version to avoid any problems." msgstr "" "SparkleShare é conhecido por ser insanamente rápido com\n" "imagens de unicórnios. Para evitar problemas, por favor\n" "verifique se sua internet foi atualizada para a versão\n" "mais recente." -#: ../SparkleShare/SparkleShare.cs:88 -msgid "SparkleShare Copyright (C) 2010 Hylke Bons" -msgstr "Diretos Autorais do SparkleShare (C) 2010 Hylke Bons" - -#: ../SparkleShare/SparkleShare.cs:94 -msgid "SparkleShare syncs the ~/SparkleShare folder with remote repositories." -msgstr "SparkleShare sincroniza a pasta ~/SparkleShare com repositórios remotos." - -#: ../SparkleShare/SparkleShare.cs:96 -msgid "Usage: sparkleshare [start|stop|restart] [OPTION]..." -msgstr "Utilização: sparkleshare [start|stop|restart] [OPTION]..." - -#: ../SparkleShare/SparkleShare.cs:97 -msgid "Sync SparkleShare folder with remote repositories." -msgstr "Sincroniza a pasta SparkleShare com repositórios remotos." - -#: ../SparkleShare/SparkleShare.cs:100 -msgid "\t -d, --disable-gui\tDon't show the notification icon." -msgstr "\t -d, --disable-gui\tNão mostra o ícone de notificação." - -#: ../SparkleShare/SparkleStatusIcon.cs:69 -msgid "Error syncing" -msgstr "Erro ao sincronizar" - -#: ../SparkleShare/SparkleStatusIcon.cs:72 -msgid "Everything is up to date" -msgstr "Tudo está atualizado" - -#: ../SparkleShare/SparkleStatusIcon.cs:75 -msgid "Syncing…" -msgstr "Sincronizando…" - -#: ../SparkleShare/SparkleStatusIcon.cs:116 -msgid "Add a Remote Folder…" -msgstr "Adicionar uma Pasta Remota…" - -#: ../SparkleShare/SparkleStatusIcon.cs:124 -msgid "Show Notifications" -msgstr "Mostrar Notificações" - -#: ../SparkleShare/SparkleStatusIcon.cs:142 -msgid "Visit Website" -msgstr "Visitar o Website" - -#: ../SparkleShare/SparkleStatusIcon.cs:159 -msgid "Quit" -msgstr "Sair" - -#: ../SparkleShare/SparkleUI.cs:145 -msgid "Welcome to SparkleShare!" -msgstr "Bem vindo ao SparkleShare" - -#: ../SparkleShare/SparkleUI.cs:146 -msgid "You don't have any folders set up yet." -msgstr "Você ainda não possui nenhuma pasta configurada." - -#: ../SparkleShare/SparkleUI.cs:149 -msgid "Add a Folder…" -msgstr "Adicionar uma Pasta…" - #. TRANSLATORS: {0} is a folder name, and {1} is a server address -#: ../SparkleShare/SparkleWindow.cs:51 +#: ../SparkleShare/SparkleWindow.cs:50 #, csharp-format -msgid "‘{0}’ on {1}" -msgstr "‘{0}’ de {1}" +msgid "Recent Events in ‘{0}’" +msgstr "" #: ../SparkleShare/Nautilus/sparkleshare-nautilus-extension.py.in:108 msgid "Get Earlier Version" @@ -267,3 +308,24 @@ msgstr "Fazer uma cópia de uma anterior nesta pasta" #: ../SparkleShare/Nautilus/sparkleshare-nautilus-extension.py.in:122 msgid "Select to get a copy of this version" msgstr "Selecione para obter uma cópia dessa versão" + +#~ msgid "Comparing Revisions of ‘{0}’" +#~ msgstr "Comparando revisões de '{0}'" + +#~ msgid "Current Revision" +#~ msgstr "Revisão Atual" + +#~ msgid "Error syncing" +#~ msgstr "Erro ao sincronizar" + +#~ msgid "Everything is up to date" +#~ msgstr "Tudo está atualizado" + +#~ msgid "Visit Website" +#~ msgstr "Visitar o Website" + +#~ msgid "You don't have any folders set up yet." +#~ msgstr "Você ainda não possui nenhuma pasta configurada." + +#~ msgid "Add a Folder…" +#~ msgstr "Adicionar uma Pasta…" From 3759dd92d05cc89e038c66611a0476beaba13c09 Mon Sep 17 00:00:00 2001 From: Magnun Leno Date: Mon, 26 Jul 2010 12:03:24 +0000 Subject: [PATCH 04/38] l10n: Updated Portuguese (Brazilian) (pt_BR) translation to 95% New status: 62 messages complete with 1 fuzzy and 2 untranslated. Transmitted-via: Transifex (www.transifex.net). --- po/pt_BR.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/po/pt_BR.po b/po/pt_BR.po index a4b1522b..53ead4ec 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -212,7 +212,7 @@ msgstr "" #: ../SparkleShare/SparkleIntro.cs:237 msgid "Learn how to host your own SparkleServer" -msgstr "" +msgstr "Aprenda como hospedar o seu próprio SparkleServer" #: ../SparkleShare/SparkleIntro.cs:250 msgid "Finish" @@ -295,7 +295,7 @@ msgstr "" #: ../SparkleShare/SparkleWindow.cs:50 #, csharp-format msgid "Recent Events in ‘{0}’" -msgstr "" +msgstr "Eventos Recentes em '{0}'" #: ../SparkleShare/Nautilus/sparkleshare-nautilus-extension.py.in:108 msgid "Get Earlier Version" From cd80871acd54b109e95f9e27bf47300405206187 Mon Sep 17 00:00:00 2001 From: Hylke Bons Date: Tue, 27 Jul 2010 10:56:20 +0100 Subject: [PATCH 05/38] Code cleanup --- SparkleShare/SparkleIntro.cs | 45 ++++++++++++++++++------------ SparkleShare/SparkleRepo.cs | 2 +- SparkleShare/SparkleStatusIcon.cs | 5 ++-- SparkleShare/SparkleUI.cs | 2 +- data/icons/Makefile.am | 1 - data/icons/process-working-48.png | Bin 20512 -> 0 bytes 6 files changed, 32 insertions(+), 23 deletions(-) delete mode 100644 data/icons/process-working-48.png diff --git a/SparkleShare/SparkleIntro.cs b/SparkleShare/SparkleIntro.cs index cd6fb77f..45cd2122 100644 --- a/SparkleShare/SparkleIntro.cs +++ b/SparkleShare/SparkleIntro.cs @@ -167,7 +167,7 @@ namespace SparkleShare { } - private void ShowStepTwo () + public void ShowStepTwo () { Title = _("Add Remote Folder"); @@ -199,35 +199,41 @@ namespace SparkleShare { HBox layout_server = new HBox (true, 0); - ServerEntry = new Entry ("ssh://gitorious.org/sparkleshare"); - - RadioButton radio_button = new RadioButton ("" + _("On my own server:") + "") { - Xalign = 0 - }; + ServerEntry = new Entry ("ssh://server.org/"); + RadioButton radio_button = new RadioButton ("" + _("On my own server:") + ""); layout_server.Add (radio_button); layout_server.Add (ServerEntry); + string github_text = "" + "Github" + "\n" + + "" + + _("Github provides free hosting for Open Source projects, ") + + _("but also has paid accounts for extra space and bandwidth.") + + ""; - RadioButton radio_button_github = new RadioButton (radio_button, "" + _("Github") + "\n" + - "Github provides free hosting for Open Source projects, " + - "but also has paid accounts for extra space and bandwidth.") { - Xalign = 0 - }; + RadioButton radio_button_github = new RadioButton (radio_button, github_text); (radio_button_github.Child as Label).UseMarkup = true; (radio_button_github.Child as Label).Wrap = true; - RadioButton radio_button_gnome = new RadioButton (radio_button, "" + _("The GNOME Project") + "\n" + - "GNOME is an easy to understand interface to your computer. Select this option if you’re a developer or designer working on GNOME.") { - Xalign = 0 - }; - + string gnome_text = "" + _("The GNOME Project") + "\n" + + "" + + _("GNOME is an easy to understand interface to your computer.") + + _("Select this option if you’re a developer or designer working on GNOME.") + + ""; + + RadioButton radio_button_gnome = new RadioButton (radio_button, gnome_text); + (radio_button_gnome.Child as Label).UseMarkup = true; (radio_button_gnome.Child as Label).Wrap = true; - RadioButton radio_button_gitorious = new RadioButton (radio_button, "" + _("Gitorious") + "\n" + - "Gitorious provides a completely Free and Open Source infrastructure for hosting Open Source projects.") { + string gitorious_text = "" + _("Gitorious") + "\n" + + "" + + _("Gitorious provides a completely Free and Open Source infrastructure ") + + _("for hosting Open Source projects.") + + ""; + + RadioButton radio_button_gitorious = new RadioButton (radio_button, gitorious_text) { Xalign = 0 }; @@ -495,6 +501,7 @@ namespace SparkleShare { } + // Checks to see if an email address is valid private bool IsValidEmail(string email) { @@ -504,6 +511,7 @@ namespace SparkleShare { } + // Checks if a url is a valid git url private static bool IsGitUrl (string url) { @@ -528,6 +536,7 @@ namespace SparkleShare { return url; } + } } diff --git a/SparkleShare/SparkleRepo.cs b/SparkleShare/SparkleRepo.cs index ab0f51ab..b546864b 100644 --- a/SparkleShare/SparkleRepo.cs +++ b/SparkleShare/SparkleRepo.cs @@ -97,7 +97,7 @@ namespace SparkleShare { // Fetch remote changes every minute FetchTimer = new Timer () { - Interval = 30000 + Interval = 5000 }; FetchTimer.Elapsed += delegate { diff --git a/SparkleShare/SparkleStatusIcon.cs b/SparkleShare/SparkleStatusIcon.cs index 6cc3be5c..030b96a1 100644 --- a/SparkleShare/SparkleStatusIcon.cs +++ b/SparkleShare/SparkleStatusIcon.cs @@ -172,8 +172,9 @@ namespace SparkleShare { add_item.Activated += delegate { -// SparkleDialog dialog = new SparkleDialog (""); -// dialog.ShowAll (); + SparkleIntro intro = new SparkleIntro (); + intro.ShowStepTwo (); + intro.ShowAll (); }; diff --git a/SparkleShare/SparkleUI.cs b/SparkleShare/SparkleUI.cs index 5103dffa..170fd073 100644 --- a/SparkleShare/SparkleUI.cs +++ b/SparkleShare/SparkleUI.cs @@ -74,7 +74,7 @@ namespace SparkleShare { if (!HideUI) { // Show the intro screen if there are no folders - if (Repositories.Count != 0) { //TODO: CHANGE THIS BACK LATER + if (Repositories.Count == 0) { SparkleIntro intro = new SparkleIntro (); intro.ShowAll (); diff --git a/data/icons/Makefile.am b/data/icons/Makefile.am index 4011dc98..1f78d471 100644 --- a/data/icons/Makefile.am +++ b/data/icons/Makefile.am @@ -4,7 +4,6 @@ hicolordir = $(DESTDIR)$(datadir)/icons/hicolor theme_icons = \ animations,process-syncing-sparkleshare-24.png \ - animations,process-working-48.png \ places,folder-16.png \ places,folder-22.png \ places,folder-24.png \ diff --git a/data/icons/process-working-48.png b/data/icons/process-working-48.png deleted file mode 100644 index 3ab6b632fd2b82244947cc29f31157bca9e5c06c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20512 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 From 5036708adfa8469a8e4d88ac8941d8a2c48c09a7 Mon Sep 17 00:00:00 2001 From: Hylke Bons Date: Tue, 27 Jul 2010 12:00:01 +0100 Subject: [PATCH 06/38] Fix icon lookup errors --- SparkleShare/SparkleHelpers.cs | 2 ++ SparkleShare/SparklePaths.cs | 4 ++-- SparkleShare/SparkleRepo.cs | 1 + 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/SparkleShare/SparkleHelpers.cs b/SparkleShare/SparkleHelpers.cs index a76dffee..e202c1cb 100644 --- a/SparkleShare/SparkleHelpers.cs +++ b/SparkleShare/SparkleHelpers.cs @@ -98,10 +98,12 @@ namespace SparkleShare { // Looks up an icon from the system's theme public static Gdk.Pixbuf GetIcon (string Name, int Size) { + IconTheme IconTheme = new IconTheme (); IconTheme.AppendSearchPath (SparklePaths.SparkleIconPath); IconTheme.AppendSearchPath (SparklePaths.SparkleLocalIconPath); return IconTheme.LoadIcon (Name, Size, IconLookupFlags.GenericFallback); + } diff --git a/SparkleShare/SparklePaths.cs b/SparkleShare/SparklePaths.cs index 3f291b26..ce712cb6 100644 --- a/SparkleShare/SparklePaths.cs +++ b/SparkleShare/SparklePaths.cs @@ -37,8 +37,8 @@ namespace SparkleShare { public static string SparkleLocalIconPath = SparkleHelpers.CombineMore (HomePath, ".icons", "sparkleshare"); - public static string SparkleIconPath = SparkleHelpers.CombineMore (Defines.PREFIX, - "sparkleshare", "icons", "hicolor"); + public static string SparkleIconPath = SparkleHelpers.CombineMore (Defines.PREFIX, "share", "sparkleshare", + "icons"); } diff --git a/SparkleShare/SparkleRepo.cs b/SparkleShare/SparkleRepo.cs index b546864b..01749021 100644 --- a/SparkleShare/SparkleRepo.cs +++ b/SparkleShare/SparkleRepo.cs @@ -265,6 +265,7 @@ namespace SparkleShare { SparkleHelpers.DebugInfo ("Git", "[" + Name + "] Fetching changes..."); Process.StartInfo.Arguments = "fetch -v"; + Process.WaitForExit (); Process.Start (); From f0095cc32fc30c7bc0e559daeebadb6fdfe2e55f Mon Sep 17 00:00:00 2001 From: Hylke Bons Date: Tue, 27 Jul 2010 14:49:48 +0100 Subject: [PATCH 07/38] [adddialog] Add a check for fields --- SparkleShare/SparkleIntro.cs | 56 +++++++++++++++++++++++++++--------- SparkleShare/SparkleRepo.cs | 14 ++++----- 2 files changed, 49 insertions(+), 21 deletions(-) diff --git a/SparkleShare/SparkleIntro.cs b/SparkleShare/SparkleIntro.cs index 45cd2122..9cdcabef 100644 --- a/SparkleShare/SparkleIntro.cs +++ b/SparkleShare/SparkleIntro.cs @@ -199,10 +199,13 @@ namespace SparkleShare { HBox layout_server = new HBox (true, 0); - ServerEntry = new Entry ("ssh://server.org/"); + ServerEntry = new Entry (_("ssh://address-to-my-server/")); + + ServerEntry.Changed += CheckStepTwoFields; RadioButton radio_button = new RadioButton ("" + _("On my own server:") + ""); - layout_server.Add (radio_button); + + layout_server.Add (radio_button); layout_server.Add (ServerEntry); string github_text = "" + "Github" + "\n" + @@ -242,11 +245,20 @@ namespace SparkleShare { radio_button.Toggled += delegate { - if (radio_button.Active) + if (radio_button.Active) { + ServerEntry.Sensitive = true; - else + + CheckStepTwoFields (); + + } else { + ServerEntry.Sensitive = false; - + + CheckStepTwoFields (); + + } + ShowAll (); }; @@ -259,6 +271,8 @@ namespace SparkleShare { HBox layout_folder = new HBox (true, 0); FolderEntry = new Entry ("my-project"); + + FolderEntry.Changed += CheckStepTwoFields; Label folder_label = new Label ("" + _("Folder Name:") + "") { UseMarkup = true, @@ -277,12 +291,11 @@ namespace SparkleShare { Spacing = 6 }; - AddButton = new Button (_("Add")) { - Sensitive = false - }; + AddButton = new Button (_("Add")); AddButton.Clicked += delegate { + // TODO }; @@ -409,11 +422,28 @@ namespace SparkleShare { // filled in correctly public void CheckStepTwoFields (object o, EventArgs args) { + CheckStepTwoFields (); + } - if (IsGitUrl (ServerEntry.Text)) - AddButton.Sensitive = true; - else - AddButton.Sensitive = false; + + // Enables the Add button when the fields are + // filled in correctly + public void CheckStepTwoFields () + { + + AddButton.Sensitive = false; + bool IsFolder = !FolderEntry.Text.Trim ().Equals (""); + + if (ServerEntry.Sensitive == true) { + + if (IsGitUrl (ServerEntry.Text) && IsFolder) + AddButton.Sensitive = true; + + } else if (IsFolder) { + + AddButton.Sensitive = true; + + } } @@ -516,7 +546,7 @@ namespace SparkleShare { private static bool IsGitUrl (string url) { - return Regex.Match (url, @"(.)+(/|:)(.)+").Success; + return Regex.Match (url, @"ssh://(.)+").Success; } diff --git a/SparkleShare/SparkleRepo.cs b/SparkleShare/SparkleRepo.cs index 01749021..a9fd266b 100644 --- a/SparkleShare/SparkleRepo.cs +++ b/SparkleShare/SparkleRepo.cs @@ -69,11 +69,13 @@ namespace SparkleShare { LocalPath = path; Name = Path.GetFileName (LocalPath); - Process = new Process (); - Process.EnableRaisingEvents = true; + Process = new Process () { + EnableRaisingEvents = true + }; + + Process.StartInfo.FileName = "git"; Process.StartInfo.RedirectStandardOutput = true; Process.StartInfo.UseShellExecute = false; - Process.StartInfo.FileName = "git"; Process.StartInfo.WorkingDirectory = LocalPath; UserName = GetUserName (); @@ -269,8 +271,6 @@ namespace SparkleShare { Process.WaitForExit (); Process.Start (); - string output = Process.StandardOutput.ReadToEnd ().Trim (); // TODO: This doesn't work :( - SparkleHelpers.DebugInfo ("Git", "[" + Name + "] Changes fetched."); args = new SparkleEventArgs ("FetchingFinished"); @@ -278,9 +278,7 @@ namespace SparkleShare { if (FetchingFinished != null) FetchingFinished (this, args); - // Rebase if there are changes - if (!output.Contains ("up to date")) - Rebase (); + Rebase (); } finally { From 52f2d25dc22d220b311195f1d3978c9783dab2db Mon Sep 17 00:00:00 2001 From: Hylke Bons Date: Tue, 27 Jul 2010 15:46:17 +0100 Subject: [PATCH 08/38] don't show Skip button on manual repo add --- SparkleShare/SparkleIntro.cs | 23 +++++++++++++++++++---- SparkleShare/SparkleStatusIcon.cs | 2 +- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/SparkleShare/SparkleIntro.cs b/SparkleShare/SparkleIntro.cs index 9cdcabef..57ac7d5a 100644 --- a/SparkleShare/SparkleIntro.cs +++ b/SparkleShare/SparkleIntro.cs @@ -32,7 +32,7 @@ namespace SparkleShare { private Entry FolderEntry; private Button NextButton; private Button AddButton; - + private bool StepTwoOnly; // Short alias for the translations public static string _ (string s) @@ -49,6 +49,8 @@ namespace SparkleShare { Resizable = false; WindowPosition = WindowPosition.Center; + StepTwoOnly = false; + SetSizeRequest (640, 440); ShowStepOne (); @@ -167,6 +169,14 @@ namespace SparkleShare { } + public void ShowStepTwo (bool step_two_only) + { + + StepTwoOnly = step_two_only; + ShowStepTwo (); + + } + public void ShowStepTwo () { @@ -270,7 +280,7 @@ namespace SparkleShare { HBox layout_folder = new HBox (true, 0); - FolderEntry = new Entry ("my-project"); + FolderEntry = new Entry (); FolderEntry.Changed += CheckStepTwoFields; @@ -305,7 +315,9 @@ namespace SparkleShare { ShowStepThree (); }; - controls.Add (skip_button); + if (!StepTwoOnly) + controls.Add (skip_button); + controls.Add (AddButton); layout_vertical.PackStart (introduction, false, false, 0); @@ -422,7 +434,9 @@ namespace SparkleShare { // filled in correctly public void CheckStepTwoFields (object o, EventArgs args) { + CheckStepTwoFields (); + } @@ -553,8 +567,9 @@ namespace SparkleShare { // Convert the more human readable sparkle:// url to something Git can use. // Example: sparkle://gitorious.org/sparkleshare ssh://git@gitorious.org/sparkleshare - public static string SparkleToGitUrl (string url) + private static string SparkleToGitUrl (string url) { + if (url.StartsWith ("sparkle://")) url = url.Replace ("sparkle://", "ssh://git@"); diff --git a/SparkleShare/SparkleStatusIcon.cs b/SparkleShare/SparkleStatusIcon.cs index 030b96a1..22caf107 100644 --- a/SparkleShare/SparkleStatusIcon.cs +++ b/SparkleShare/SparkleStatusIcon.cs @@ -173,7 +173,7 @@ namespace SparkleShare { add_item.Activated += delegate { SparkleIntro intro = new SparkleIntro (); - intro.ShowStepTwo (); + intro.ShowStepTwo (true); intro.ShowAll (); }; From b261e245df5e493f483b518ca93fd2ef3b630153 Mon Sep 17 00:00:00 2001 From: Hylke Bons Date: Tue, 27 Jul 2010 17:48:08 +0100 Subject: [PATCH 09/38] Remove some finished todo's --- SparkleShare/SparkleIntro.cs | 2 -- 1 file changed, 2 deletions(-) diff --git a/SparkleShare/SparkleIntro.cs b/SparkleShare/SparkleIntro.cs index 57ac7d5a..d9570d1e 100644 --- a/SparkleShare/SparkleIntro.cs +++ b/SparkleShare/SparkleIntro.cs @@ -65,7 +65,6 @@ namespace SparkleShare { HBox layout_horizontal = new HBox (false, 6); - // TODO: Fix the path Image side_splash = new Image (SparkleHelpers.CombineMore (Defines.PREFIX, "share", "pixmaps", "side-splash.png")); @@ -186,7 +185,6 @@ namespace SparkleShare { HBox layout_horizontal = new HBox (false, 6); - // TODO: Fix the path Image side_splash = new Image (SparkleHelpers.CombineMore (Defines.PREFIX, "share", "pixmaps", "side-splash.png")); From 867d38680b2a6a048a4b9aa9973146e34e43162b Mon Sep 17 00:00:00 2001 From: Hylke Bons Date: Tue, 27 Jul 2010 23:41:20 +0100 Subject: [PATCH 10/38] [spinner] make spinner threadsafe --- SparkleShare/SparkleSpinner.cs | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/SparkleShare/SparkleSpinner.cs b/SparkleShare/SparkleSpinner.cs index e18d7e5d..de5ee338 100644 --- a/SparkleShare/SparkleSpinner.cs +++ b/SparkleShare/SparkleSpinner.cs @@ -15,6 +15,7 @@ // along with this program. If not, see . using Gtk; +using System; using System.Timers; namespace SparkleShare { @@ -32,12 +33,13 @@ namespace SparkleShare { private int NumSteps; private int Size; - public SparkleSpinner () : base () + public SparkleSpinner (int size) : base () { + Size = size; + CycleDuration = 750; CurrentStep = 0; - Size = 16; Gdk.Pixbuf spinner_gallery = SparkleHelpers.GetIcon ("process-working", Size); @@ -67,11 +69,22 @@ namespace SparkleShare { private void NextImage () { - if (CurrentStep < NumSteps) + + if (CurrentStep < NumSteps - 2) CurrentStep++; else CurrentStep = 0; + + Application.Invoke (delegate { SetImage (); }); + + } + + private void SetImage () + { + + Console.WriteLine (CurrentStep); Pixbuf = Images [CurrentStep]; + } public bool IsActive () From c542cbd949064700a7a4ce50e0714810a1a994b6 Mon Sep 17 00:00:00 2001 From: wojtech Date: Wed, 28 Jul 2010 08:03:40 +0000 Subject: [PATCH 11/38] l10n: Updated German (de) translation to 93% New status: 61 messages complete with 4 fuzzies and 0 untranslated. Transmitted-via: Transifex (www.transifex.net). --- po/de.po | 316 ++++++++++++++++++++++++++++++++----------------------- 1 file changed, 184 insertions(+), 132 deletions(-) diff --git a/po/de.po b/po/de.po index a9ab84ed..0132578a 100644 --- a/po/de.po +++ b/po/de.po @@ -7,255 +7,295 @@ msgid "" msgstr "" "Project-Id-Version: SparkleShare 0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-21 19:48+0000\n" +"POT-Creation-Date: 2010-07-27 08:24+0000\n" "PO-Revision-Date: 2010-06-21 16:26+0100\n" "Last-Translator: Martin Lettner \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Country: GERMANY\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Poedit-Language: German\n" -"X-Poedit-Country: GERMANY\n" -#: ../SparkleDiff/SparkleDiff.cs:77 ../SparkleShare/SparkleShare.cs:50 +#: ../SparkleDiff/SparkleDiff.cs:77 ../SparkleShare/SparkleShare.cs:49 msgid "Git wasn't found." msgstr "Git konnte nicht gefunden werden." -#: ../SparkleDiff/SparkleDiff.cs:78 ../SparkleShare/SparkleShare.cs:51 +#: ../SparkleDiff/SparkleDiff.cs:78 ../SparkleShare/SparkleShare.cs:50 msgid "You can get Git from http://git-scm.com/." msgstr "Sie können Git auf http://git-scm.com/ herunterladen." -#: ../SparkleDiff/SparkleDiff.cs:86 ../SparkleShare/SparkleShare.cs:58 +#: ../SparkleDiff/SparkleDiff.cs:86 ../SparkleShare/SparkleShare.cs:57 msgid "Sorry, you can't run SparkleShare with these permissions." msgstr "Entschuldigung, SparkleShare kann mit diesen Rechten nicht ausgeführt werden." -#: ../SparkleDiff/SparkleDiff.cs:87 ../SparkleShare/SparkleShare.cs:59 -#, fuzzy +#: ../SparkleDiff/SparkleDiff.cs:87 ../SparkleShare/SparkleShare.cs:58 msgid "Things would go utterly wrong." -msgstr "Vieles würde nicht richtig funktionieren." +msgstr "Alles würde völlig schief gehen." -#: ../SparkleDiff/SparkleDiff.cs:157 +#: ../SparkleDiff/SparkleDiff.cs:161 msgid "SparkleDiff Copyright (C) 2010 Hylke Bons" msgstr "SparkleDiff Copyright (C) 2010 Hylke Bons" -#: ../SparkleDiff/SparkleDiff.cs:159 ../SparkleShare/SparkleShare.cs:90 +#: ../SparkleDiff/SparkleDiff.cs:163 ../SparkleShare/SparkleShare.cs:89 msgid "This program comes with ABSOLUTELY NO WARRANTY." msgstr "Diese Anwendung kommt OHNE IRGENDEINE GARANTIE." -#: ../SparkleDiff/SparkleDiff.cs:160 ../SparkleShare/SparkleShare.cs:91 -#, fuzzy +#: ../SparkleDiff/SparkleDiff.cs:164 ../SparkleShare/SparkleShare.cs:90 msgid "This is free software, and you are welcome to redistribute it " -msgstr "Dies ist freie Software. Sie können es weitergeben und/oder modifizieren" +msgstr "Dies ist freie Software, die sie gerne weitergeben dürfen" -#: ../SparkleDiff/SparkleDiff.cs:161 ../SparkleShare/SparkleShare.cs:92 +#: ../SparkleDiff/SparkleDiff.cs:165 ../SparkleShare/SparkleShare.cs:91 msgid "under certain conditions. Please read the GNU GPLv3 for details." msgstr "unter bestimmten Bedingungen. Bitte lesen Sie dazu die GNU GPLv3 für weitere Details." -#: ../SparkleDiff/SparkleDiff.cs:163 +#: ../SparkleDiff/SparkleDiff.cs:167 msgid "SparkleDiff let's you compare revisions of an image file side by side." msgstr "SparkleDiff lässt dich Versionen einer Bilddatei nebeneinander vergleichen." -#: ../SparkleDiff/SparkleDiff.cs:165 +#: ../SparkleDiff/SparkleDiff.cs:169 msgid "Usage: sparklediff [FILE]" msgstr "Verwendung: sparklediff [DATEI]" -#: ../SparkleDiff/SparkleDiff.cs:166 +#: ../SparkleDiff/SparkleDiff.cs:170 msgid "Open an image file to show its revisions" msgstr "Öffnet eine Bilddatei zur Anzeige ihrer Versionen" -#: ../SparkleDiff/SparkleDiff.cs:168 ../SparkleShare/SparkleShare.cs:99 +#: ../SparkleDiff/SparkleDiff.cs:172 ../SparkleShare/SparkleShare.cs:98 msgid "Arguments:" msgstr "Parameter:" -#: ../SparkleDiff/SparkleDiff.cs:169 ../SparkleShare/SparkleShare.cs:101 +#: ../SparkleDiff/SparkleDiff.cs:173 ../SparkleShare/SparkleShare.cs:100 msgid "\t -h, --help\t\tDisplay this help text." msgstr "\t -h, --help\t\tDiesen Hilfe-Text anzeigen." -#. TRANSLATORS: The parameter is a filename -#: ../SparkleDiff/SparkleDiffWindow.cs:53 -#, csharp-format -msgid "Comparing Revisions of ‘{0}’" -msgstr "Versionen von »{0}« vergleichen" +#: ../SparkleDiff/SparkleDiffWindow.cs:92 +#, fuzzy, csharp-format +msgid "{0} at {1}" +msgstr "»{0}« auf {1}" -#: ../SparkleDiff/SparkleDiffWindow.cs:81 -msgid "Current Revision" -msgstr "Aktuelle Version" +#: ../SparkleDiff/SparkleDiffWindow.cs:93 +#, fuzzy +msgid "ddd MMM d, yyyy" +msgstr "ddd MMM d, yyyy" -#. TRANSLATORS: This is a format specifier according to -#. System.Globalization.DateTimeFormatInfo -#: ../SparkleDiff/SparkleDiffWindow.cs:85 -msgid "d MMM\tH:mm" -msgstr "d MMM\tH:mm" +#: ../SparkleDiff/SparkleDiffWindow.cs:94 +#, fuzzy +msgid "H:mm" +msgstr "H:mm" -#: ../SparkleShare/SparkleDialog.cs:50 +#: ../SparkleShare/SparkleDialog.cs:51 msgid "Address of remote SparkleShare folder:" msgstr "Adresse des entfernten SparkleShare-Verzeichnis:" -#: ../SparkleShare/SparkleDialog.cs:81 +#: ../SparkleShare/SparkleDialog.cs:82 msgid "Add Folder" msgstr "Verzeichnis hinzufügen" -#: ../SparkleShare/SparkleDialog.cs:126 +#: ../SparkleShare/SparkleDialog.cs:127 #, csharp-format msgid "Syncing folder ‘{0}’" msgstr "Verzeichnis »{0}« wird abgeglichen" -#: ../SparkleShare/SparkleDialog.cs:127 +#: ../SparkleShare/SparkleDialog.cs:128 msgid "SparkleShare will notify you when this is done." msgstr "SparkleShare wird Sie benachrichtigen sobald diese Aktion abgeschlossen ist." -#: ../SparkleShare/SparkleDialog.cs:129 +#: ../SparkleShare/SparkleDialog.cs:130 msgid "Dismiss" msgstr "Verwerfen" -#: ../SparkleShare/SparkleDialog.cs:157 +#: ../SparkleShare/SparkleDialog.cs:158 #, csharp-format msgid "Something went wrong while syncing ‘{0}’" msgstr "Beim Datenabgleich von »{0}« ist ein Fehler aufgetreten" -#: ../SparkleShare/SparkleDialog.cs:167 +#: ../SparkleShare/SparkleDialog.cs:168 msgid "Try Again…" msgstr "Erneut versuchen …" -#: ../SparkleShare/SparkleDialog.cs:197 +#: ../SparkleShare/SparkleDialog.cs:198 #, csharp-format msgid "Successfully synced folder ‘{0}’" msgstr "Verzeichnis »{0}« erfolgreich abgeglichen" -#: ../SparkleShare/SparkleDialog.cs:198 -#, fuzzy +#: ../SparkleShare/SparkleDialog.cs:199 msgid "Now make great stuff happen!" msgstr "Und jetzt, tue etwas großartiges!" -#. Add a button to open the folder where the changed file is -#: ../SparkleShare/SparkleDialog.cs:200 ../SparkleShare/SparkleRepo.cs:319 -#: ../SparkleShare/SparkleWindow.cs:63 +#: ../SparkleShare/SparkleDialog.cs:201 ../SparkleShare/SparkleWindow.cs:62 msgid "Open Folder" msgstr "Verzeichnis öffnen" -#: ../SparkleShare/SparkleHelpers.cs:164 +#: ../SparkleShare/SparkleHelpers.cs:136 #, csharp-format msgid "a second ago" msgid_plural "{0} seconds ago" msgstr[0] "vor einer Sekunde" msgstr[1] "vor {0} Sekunden" -#: ../SparkleShare/SparkleHelpers.cs:170 +#: ../SparkleShare/SparkleHelpers.cs:142 #, csharp-format msgid "a minute ago" msgid_plural "about {0} minutes ago" msgstr[0] "vor einer Minute" msgstr[1] "vor {0} Minuten" -#: ../SparkleShare/SparkleHelpers.cs:176 +#: ../SparkleShare/SparkleHelpers.cs:148 #, csharp-format msgid "about an hour ago" msgid_plural "about {0} hours ago" msgstr[0] "vor einer Stunde" msgstr[1] "vor {0} Stunden" -#: ../SparkleShare/SparkleHelpers.cs:182 +#: ../SparkleShare/SparkleHelpers.cs:154 #, csharp-format msgid "yesterday" msgid_plural "{0} days ago" msgstr[0] "gestern" msgstr[1] "vor {0} Tagen" -#: ../SparkleShare/SparkleHelpers.cs:188 +#: ../SparkleShare/SparkleHelpers.cs:160 #, csharp-format msgid "a month ago" msgid_plural "{0} months ago" msgstr[0] "vor einem Monat" msgstr[1] "vor {0} Monaten" -#: ../SparkleShare/SparkleHelpers.cs:193 +#: ../SparkleShare/SparkleHelpers.cs:165 #, csharp-format msgid "a year ago" msgid_plural "{0} years ago" msgstr[0] "vor einem Jahr" msgstr[1] "vor {0} Jahren" -#: ../SparkleShare/SparkleHelpers.cs:205 +#: ../SparkleShare/SparkleIntro.cs:72 +msgid "Welcome to SparkleShare!" +msgstr "Willkommen bei SparkleShare!" + +#: ../SparkleShare/SparkleIntro.cs:78 +msgid "Before we can create a SparkleShare folder on this computer, we need a few bits of information from you." +msgstr "Bevor wird einen SparkleShare-Ordner auf diesem Computer einrichten können, benötigen wir ein paar Informationen von Ihnen." + +#: ../SparkleShare/SparkleIntro.cs:90 +msgid "Full Name:" +msgstr "Vollständiger Name: " + +#: ../SparkleShare/SparkleIntro.cs:106 +msgid "Email:" +msgstr "Email:" + +#: ../SparkleShare/SparkleIntro.cs:115 +msgid "Folder Address:" +msgstr "Order-Adresse: " + +#: ../SparkleShare/SparkleIntro.cs:122 +msgid "I'm already subscribed to a folder on a SparkleServer" +msgstr "Ich abonniere bereits einen Order auf einem SparkleServer" + +#: ../SparkleShare/SparkleIntro.cs:157 +msgid "Next" +msgstr "Weiter" + +#: ../SparkleShare/SparkleIntro.cs:168 +msgid "Configuring…" +msgstr "Konfiguriere..." + +#: ../SparkleShare/SparkleIntro.cs:220 +msgid "SparkleShare is ready to go!" +msgstr "SparkleShare ist bereit zum Loslegen!" + +#: ../SparkleShare/SparkleIntro.cs:226 +msgid "Now you can start accepting invitations from others. Just click on invitations you get by email and we will take care of the rest." +msgstr "Sie können nun Einladungen Anderer annehmen. Klicken Sie einfach auf Einladungen, die Sie per Email erhalten und wir kümmern uns um den Rest." + +#: ../SparkleShare/SparkleIntro.cs:237 +msgid "Learn how to host your own SparkleServer" +msgstr "Lernen Sie, wie Sie ihren eigenen SparkleServer betreiben können" + +#: ../SparkleShare/SparkleIntro.cs:250 +msgid "Finish" +msgstr "Fertigstellen" + +#: ../SparkleShare/SparkleShare.cs:87 +msgid "SparkleShare Copyright (C) 2010 Hylke Bons" +msgstr "SparkleShare Copyright (C) 2010 Hylke Bons" + +#: ../SparkleShare/SparkleShare.cs:93 +msgid "SparkleShare syncs the ~/SparkleShare folder with remote repositories." +msgstr "SparkleShare gleicht das Verzeichnis ~/SparkleShare mit entfernten Verzeichnissen ab" + +#: ../SparkleShare/SparkleShare.cs:95 +msgid "Usage: sparkleshare [start|stop|restart] [OPTION]..." +msgstr "Verwendung: sparkleshare [start|stop|restart] [OPTION]..." + +#: ../SparkleShare/SparkleShare.cs:96 +msgid "Sync SparkleShare folder with remote repositories." +msgstr "SparkleShare Ordner mit entfernten Repositories abgleichen." + +#: ../SparkleShare/SparkleShare.cs:99 +msgid "\t -d, --disable-gui\tDon't show the notification icon." +msgstr "\t -d, --disable-gui\tBenachrichtigungs-Symbol nicht anzeigen." + +#: ../SparkleShare/SparkleStatusIcon.cs:130 +msgid "SparkleShare Folder" +msgstr "SparkleShare-Ordner" + +#: ../SparkleShare/SparkleStatusIcon.cs:163 +msgid "No Shared Folders Yet" +msgstr "Noch keine freigegebenen Ordner" + +#: ../SparkleShare/SparkleStatusIcon.cs:171 +msgid "Add Remote Folder…" +msgstr "Remote-Ordner hinzufügen …" + +#: ../SparkleShare/SparkleStatusIcon.cs:184 +msgid "Show Notifications" +msgstr "Benachrichtigungen anzeigen" + +#: ../SparkleShare/SparkleStatusIcon.cs:205 +msgid "About" +msgstr "Über" + +#: ../SparkleShare/SparkleStatusIcon.cs:222 +msgid "Quit" +msgstr "Beenden" + +#: ../SparkleShare/SparkleStatusIcon.cs:271 +msgid "All up to date" +msgstr "Schon am aktuellsten Stand." + +#: ../SparkleShare/SparkleStatusIcon.cs:280 +msgid "Syncing…" +msgstr "Abgleichen …" + +#: ../SparkleShare/SparkleUI.cs:247 +msgid "Ouch! Mid-air collision!" +msgstr "Autsch! Zusammenstoß im Flug!" + +#: ../SparkleShare/SparkleUI.cs:248 +msgid "Don't worry, SparkleShare made a copy of each conflicting file." +msgstr "Keine Sorge, SparkleShare hat eine Kopie jeder im Konflikt stehenden Datei angelegt." + +#: ../SparkleShare/SparkleUI.cs:334 msgid "Hold your ponies!" msgstr "Immer langsam mit den jungen Pferden!" -#: ../SparkleShare/SparkleHelpers.cs:206 -msgid "" -"SparkleShare is known to be insanely fast with \n" -"pictures of unicorns. Please make sure your internets\n" -"are upgraded to the latest version to avoid problems." +#: ../SparkleShare/SparkleUI.cs:335 +#, fuzzy +msgid "SparkleShare is known to be insanely fast with pictures of unicorns. Please make sure your internets are upgraded to the latest version to avoid any problems." msgstr "" "SparkleShare ist bekannt dafür, Bilder von Einhörnern\n" "wahnsinnig schnell zu bearbeiten. Bitte stellen Sie sicher,\n" "dass Sie die neueste Version des Internets installiert haben,\n" "um Probleme zu vermeiden." -#: ../SparkleShare/SparkleShare.cs:88 -msgid "SparkleShare Copyright (C) 2010 Hylke Bons" -msgstr "SparkleShare Copyright (C) 2010 Hylke Bons" - -#: ../SparkleShare/SparkleShare.cs:94 -msgid "SparkleShare syncs the ~/SparkleShare folder with remote repositories." -msgstr "SparkleShare gleicht das Verzeichnis ~/SparkleShare mit entfernten Verzeichnissen ab" - -#: ../SparkleShare/SparkleShare.cs:96 -msgid "Usage: sparkleshare [start|stop|restart] [OPTION]..." -msgstr "Verwendung: sparkleshare [start|stop|restart] [OPTION]..." - -#: ../SparkleShare/SparkleShare.cs:97 -msgid "Sync SparkleShare folder with remote repositories." -msgstr "SparkleShare Ordner mit entfernten Repositories abgleichen." - -#: ../SparkleShare/SparkleShare.cs:100 -msgid "\t -d, --disable-gui\tDon't show the notification icon." -msgstr "\t -d, --disable-gui\tBenachrichtigungs-Symbol nicht anzeigen." - -#: ../SparkleShare/SparkleStatusIcon.cs:69 -msgid "Error syncing" -msgstr "Fehler beim Datenabgleich" - -#: ../SparkleShare/SparkleStatusIcon.cs:72 -msgid "Everything is up to date" -msgstr "Alles ist auf dem aktuellsten Stand" - -#: ../SparkleShare/SparkleStatusIcon.cs:75 -msgid "Syncing…" -msgstr "Abgleichen …" - -#: ../SparkleShare/SparkleStatusIcon.cs:116 -msgid "Add a Remote Folder…" -msgstr "Ein entferntes Verzeichnis hinzufügen …" - -#: ../SparkleShare/SparkleStatusIcon.cs:124 -msgid "Show Notifications" -msgstr "Benachrichtigungen anzeigen" - -#: ../SparkleShare/SparkleStatusIcon.cs:142 -msgid "Visit Website" -msgstr "Website besuchen" - -#: ../SparkleShare/SparkleStatusIcon.cs:159 -msgid "Quit" -msgstr "Beenden" - -#: ../SparkleShare/SparkleUI.cs:145 -msgid "Welcome to SparkleShare!" -msgstr "Willkommen bei SparkleShare!" - -#: ../SparkleShare/SparkleUI.cs:146 -msgid "You don't have any folders set up yet." -msgstr "Sie haben noch keine Verzeichnisse konfiguriert." - -#: ../SparkleShare/SparkleUI.cs:149 -msgid "Add a Folder…" -msgstr "Ein Verzeichnis hinzufügen …" - #. TRANSLATORS: {0} is a folder name, and {1} is a server address -#: ../SparkleShare/SparkleWindow.cs:51 +#: ../SparkleShare/SparkleWindow.cs:50 #, csharp-format -msgid "‘{0}’ on {1}" -msgstr "»{0}« auf {1}" +msgid "Recent Events in ‘{0}’" +msgstr "Letzte Ereignisse in ‘{0}’" #: ../SparkleShare/Nautilus/sparkleshare-nautilus-extension.py.in:108 msgid "Get Earlier Version" @@ -269,21 +309,39 @@ msgstr "Erstelle eine Kopie einer früheren Version in diesem Verzeichnis" msgid "Select to get a copy of this version" msgstr "Wählen Sie eine Kopie dieser Version" +#~ msgid "Comparing Revisions of ‘{0}’" +#~ msgstr "Versionen von »{0}« vergleichen" + +#~ msgid "Current Revision" +#~ msgstr "Aktuelle Version" + +#~ msgid "d MMM\tH:mm" +#~ msgstr "d MMM\tH:mm" + +#~ msgid "Error syncing" +#~ msgstr "Fehler beim Datenabgleich" + +#~ msgid "Everything is up to date" +#~ msgstr "Alles ist auf dem aktuellsten Stand" + +#~ msgid "Visit Website" +#~ msgstr "Website besuchen" + +#~ msgid "You don't have any folders set up yet." +#~ msgstr "Sie haben noch keine Verzeichnisse konfiguriert." + +#~ msgid "Add a Folder…" +#~ msgstr "Ein Verzeichnis hinzufügen …" + #~ msgid "folder-sparkleshare" #~ msgstr "ordner-sparkleshare" -#~ msgid "Folder Name: " -#~ msgstr "Ordner Name: " - #~ msgid "Example: " #~ msgstr "Beispiel: " #~ msgid "‘Project’." #~ msgstr "‘Projekt’." -#~ msgid "Remote address: " -#~ msgstr "Remote-Adresse: " - #~ msgid "Downloading files,\n" #~ msgstr "Herunterladen von Dateien,\n" @@ -348,9 +406,6 @@ msgstr "Wählen Sie eine Kopie dieser Version" #~ msgid "] Changes merged." #~ msgstr "] Änderungen zusammengeführt." -#~ msgid "Already up-to-date." -#~ msgstr "Schon am aktuellsten Stand." - #~ msgid "] Nothing going on... " #~ msgstr "] Nichts passiert... " @@ -405,9 +460,6 @@ msgstr "Wählen Sie eine Kopie dieser Version" #~ msgid "’ to ‘" #~ msgstr "‘ zu ‘" -#~ msgid "Open Sharing Folder" -#~ msgstr "Öffne gemeinsamen Ornder" - #~ msgid "Happenings in ‘" #~ msgstr "Ereignis in ‘" From 84bde52b931f61714cbb6f7b1204e993f6dfe23e Mon Sep 17 00:00:00 2001 From: wojtech Date: Wed, 28 Jul 2010 08:18:43 +0000 Subject: [PATCH 12/38] l10n: Updated German (de) translation to 92% New status: 60 messages complete with 5 fuzzies and 0 untranslated. Transmitted-via: Transifex (www.transifex.net). --- po/de.po | 35 ++++++++++++++++++----------------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/po/de.po b/po/de.po index 0132578a..cd6f32ae 100644 --- a/po/de.po +++ b/po/de.po @@ -14,9 +14,9 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Poedit-Country: GERMANY\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Poedit-Language: German\n" +"X-Poedit-Country: GERMANY\n" #: ../SparkleDiff/SparkleDiff.cs:77 ../SparkleShare/SparkleShare.cs:49 msgid "Git wasn't found." @@ -52,7 +52,7 @@ msgstr "unter bestimmten Bedingungen. Bitte lesen Sie dazu die GNU GPLv3 für we #: ../SparkleDiff/SparkleDiff.cs:167 msgid "SparkleDiff let's you compare revisions of an image file side by side." -msgstr "SparkleDiff lässt dich Versionen einer Bilddatei nebeneinander vergleichen." +msgstr "SparkleDiff lässt dich Revisionen einer Bilddatei nebeneinander vergleichen." #: ../SparkleDiff/SparkleDiff.cs:169 msgid "Usage: sparklediff [FILE]" @@ -60,7 +60,7 @@ msgstr "Verwendung: sparklediff [DATEI]" #: ../SparkleDiff/SparkleDiff.cs:170 msgid "Open an image file to show its revisions" -msgstr "Öffnet eine Bilddatei zur Anzeige ihrer Versionen" +msgstr "Öffnet eine Bilddatei zur Anzeige ihrer Revisionen" #: ../SparkleDiff/SparkleDiff.cs:172 ../SparkleShare/SparkleShare.cs:98 msgid "Arguments:" @@ -87,20 +87,20 @@ msgstr "H:mm" #: ../SparkleShare/SparkleDialog.cs:51 msgid "Address of remote SparkleShare folder:" -msgstr "Adresse des entfernten SparkleShare-Verzeichnis:" +msgstr "Adresse des entfernten SparkleShare-Ordners:" #: ../SparkleShare/SparkleDialog.cs:82 msgid "Add Folder" -msgstr "Verzeichnis hinzufügen" +msgstr "Ordner hinzufügen" #: ../SparkleShare/SparkleDialog.cs:127 #, csharp-format msgid "Syncing folder ‘{0}’" -msgstr "Verzeichnis »{0}« wird abgeglichen" +msgstr "Ordner »{0}« wird abgeglichen" #: ../SparkleShare/SparkleDialog.cs:128 msgid "SparkleShare will notify you when this is done." -msgstr "SparkleShare wird Sie benachrichtigen sobald diese Aktion abgeschlossen ist." +msgstr "SparkleShare wird Sie benachrichtigen, sobald diese Aktion abgeschlossen ist." #: ../SparkleShare/SparkleDialog.cs:130 msgid "Dismiss" @@ -109,7 +109,7 @@ msgstr "Verwerfen" #: ../SparkleShare/SparkleDialog.cs:158 #, csharp-format msgid "Something went wrong while syncing ‘{0}’" -msgstr "Beim Datenabgleich von »{0}« ist ein Fehler aufgetreten" +msgstr "Beim Synchronisieren von »{0}« ist ein Fehler aufgetreten" #: ../SparkleShare/SparkleDialog.cs:168 msgid "Try Again…" @@ -118,7 +118,7 @@ msgstr "Erneut versuchen …" #: ../SparkleShare/SparkleDialog.cs:198 #, csharp-format msgid "Successfully synced folder ‘{0}’" -msgstr "Verzeichnis »{0}« erfolgreich abgeglichen" +msgstr "Ordner »{0}« erfolgreich abgeglichen" #: ../SparkleShare/SparkleDialog.cs:199 msgid "Now make great stuff happen!" @@ -126,7 +126,7 @@ msgstr "Und jetzt, tue etwas großartiges!" #: ../SparkleShare/SparkleDialog.cs:201 ../SparkleShare/SparkleWindow.cs:62 msgid "Open Folder" -msgstr "Verzeichnis öffnen" +msgstr "Ordner öffnen" #: ../SparkleShare/SparkleHelpers.cs:136 #, csharp-format @@ -176,7 +176,7 @@ msgstr "Willkommen bei SparkleShare!" #: ../SparkleShare/SparkleIntro.cs:78 msgid "Before we can create a SparkleShare folder on this computer, we need a few bits of information from you." -msgstr "Bevor wird einen SparkleShare-Ordner auf diesem Computer einrichten können, benötigen wir ein paar Informationen von Ihnen." +msgstr "Bevor wir einen SparkleShare-Ordner auf diesem Computer einrichten können, benötigen wir ein paar Informationen von Ihnen." #: ../SparkleShare/SparkleIntro.cs:90 msgid "Full Name:" @@ -208,7 +208,7 @@ msgstr "SparkleShare ist bereit zum Loslegen!" #: ../SparkleShare/SparkleIntro.cs:226 msgid "Now you can start accepting invitations from others. Just click on invitations you get by email and we will take care of the rest." -msgstr "Sie können nun Einladungen Anderer annehmen. Klicken Sie einfach auf Einladungen, die Sie per Email erhalten und wir kümmern uns um den Rest." +msgstr "Sie können nun Einladungen annehmen. Klicken Sie einfach auf Einladungen, die Sie per Email erhalten und wir kümmern uns um den Rest." #: ../SparkleShare/SparkleIntro.cs:237 msgid "Learn how to host your own SparkleServer" @@ -224,7 +224,7 @@ msgstr "SparkleShare Copyright (C) 2010 Hylke Bons" #: ../SparkleShare/SparkleShare.cs:93 msgid "SparkleShare syncs the ~/SparkleShare folder with remote repositories." -msgstr "SparkleShare gleicht das Verzeichnis ~/SparkleShare mit entfernten Verzeichnissen ab" +msgstr "SparkleShare synchronisiert den Ordner ~/SparkleShare mit dem Remote-Repository." #: ../SparkleShare/SparkleShare.cs:95 msgid "Usage: sparkleshare [start|stop|restart] [OPTION]..." @@ -232,7 +232,7 @@ msgstr "Verwendung: sparkleshare [start|stop|restart] [OPTION]..." #: ../SparkleShare/SparkleShare.cs:96 msgid "Sync SparkleShare folder with remote repositories." -msgstr "SparkleShare Ordner mit entfernten Repositories abgleichen." +msgstr "SparkleShare Ordner mit dem Remote-Repository synchronisieren." #: ../SparkleShare/SparkleShare.cs:99 msgid "\t -d, --disable-gui\tDon't show the notification icon." @@ -271,8 +271,9 @@ msgid "Syncing…" msgstr "Abgleichen …" #: ../SparkleShare/SparkleUI.cs:247 +#, fuzzy msgid "Ouch! Mid-air collision!" -msgstr "Autsch! Zusammenstoß im Flug!" +msgstr "Autsch! Zusammenstoß in der Luft!" #: ../SparkleShare/SparkleUI.cs:248 msgid "Don't worry, SparkleShare made a copy of each conflicting file." @@ -299,7 +300,7 @@ msgstr "Letzte Ereignisse in ‘{0}’" #: ../SparkleShare/Nautilus/sparkleshare-nautilus-extension.py.in:108 msgid "Get Earlier Version" -msgstr "Holen einer früheren Version" +msgstr "Frühere Version abrufen" #: ../SparkleShare/Nautilus/sparkleshare-nautilus-extension.py.in:109 msgid "Make a copy of an earlier version in this folder" @@ -307,7 +308,7 @@ msgstr "Erstelle eine Kopie einer früheren Version in diesem Verzeichnis" #: ../SparkleShare/Nautilus/sparkleshare-nautilus-extension.py.in:122 msgid "Select to get a copy of this version" -msgstr "Wählen Sie eine Kopie dieser Version" +msgstr "Selektieren, um eine Kopie dieser Version abzurufen" #~ msgid "Comparing Revisions of ‘{0}’" #~ msgstr "Versionen von »{0}« vergleichen" From 9ba41a2da6336ee68b6bec274632b8f776d44478 Mon Sep 17 00:00:00 2001 From: Magnun Leno Date: Wed, 28 Jul 2010 11:57:12 +0000 Subject: [PATCH 13/38] l10n: Updated Portuguese (Brazilian) (pt_BR) translation to 100% New status: 65 messages complete with 0 fuzzies and 0 untranslated. Transmitted-via: Transifex (www.transifex.net). --- po/pt_BR.po | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/po/pt_BR.po b/po/pt_BR.po index 53ead4ec..d7a48ccf 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: SparkleShare\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-26 08:25+0000\n" +"POT-Creation-Date: 2010-07-28 08:26+0000\n" "PO-Revision-Date: 2010-07-05 13:01-0300\n" "Last-Translator: Magnun Leno \n" "Language-Team: Brazilian Portuguese\n" @@ -208,7 +208,7 @@ msgstr "SparkleShare está pronto!" #: ../SparkleShare/SparkleIntro.cs:226 msgid "Now you can start accepting invitations from others. Just click on invitations you get by email and we will take care of the rest." -msgstr "" +msgstr "Agora você pode aceitar convites. Simplesmente clique nos convites que você recebeu por e-mail e nós tomaremos conta do resto." #: ../SparkleShare/SparkleIntro.cs:237 msgid "Learn how to host your own SparkleServer" @@ -276,20 +276,15 @@ msgstr "Ops! Colisão em pleno ar!" #: ../SparkleShare/SparkleUI.cs:248 msgid "Don't worry, SparkleShare made a copy of each conflicting file." -msgstr "" +msgstr "Não se preocupe, SparkleShare fez uma cópia de cada arquivo conflitante." #: ../SparkleShare/SparkleUI.cs:334 msgid "Hold your ponies!" msgstr "Segure seus pôneis!" #: ../SparkleShare/SparkleUI.cs:335 -#, fuzzy msgid "SparkleShare is known to be insanely fast with pictures of unicorns. Please make sure your internets are upgraded to the latest version to avoid any problems." -msgstr "" -"SparkleShare é conhecido por ser insanamente rápido com\n" -"imagens de unicórnios. Para evitar problemas, por favor\n" -"verifique se sua internet foi atualizada para a versão\n" -"mais recente." +msgstr "SparkleShare é conhecido por ser insanamente rápido com imagens de unicórnios. Para evitar problemas, por favor verifique se sua internet foi atualizada para a versão mais recente." #. TRANSLATORS: {0} is a folder name, and {1} is a server address #: ../SparkleShare/SparkleWindow.cs:50 From 061b5f8f66690df5672378c61161487e5f7553ba Mon Sep 17 00:00:00 2001 From: Jan-Christoph Borchardt Date: Wed, 28 Jul 2010 14:56:59 +0000 Subject: [PATCH 14/38] l10n: Updated German (de) translation to 92% New status: 60 messages complete with 5 fuzzies and 0 untranslated. Transmitted-via: Transifex (www.transifex.net). --- po/de.po | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/po/de.po b/po/de.po index cd6f32ae..e4e5f8d4 100644 --- a/po/de.po +++ b/po/de.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: SparkleShare 0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-27 08:24+0000\n" +"POT-Creation-Date: 2010-07-28 08:26+0000\n" "PO-Revision-Date: 2010-06-21 16:26+0100\n" "Last-Translator: Martin Lettner \n" "Language-Team: \n" @@ -44,15 +44,15 @@ msgstr "Diese Anwendung kommt OHNE IRGENDEINE GARANTIE." #: ../SparkleDiff/SparkleDiff.cs:164 ../SparkleShare/SparkleShare.cs:90 msgid "This is free software, and you are welcome to redistribute it " -msgstr "Dies ist freie Software, die sie gerne weitergeben dürfen" +msgstr "Dies ist freie Software, die Sie gerne weitergeben dürfen" #: ../SparkleDiff/SparkleDiff.cs:165 ../SparkleShare/SparkleShare.cs:91 msgid "under certain conditions. Please read the GNU GPLv3 for details." -msgstr "unter bestimmten Bedingungen. Bitte lesen Sie dazu die GNU GPLv3 für weitere Details." +msgstr "unter bestimmten Bedingungen. Bitte lesen Sie die GNU GPLv3 für weitere Details." #: ../SparkleDiff/SparkleDiff.cs:167 msgid "SparkleDiff let's you compare revisions of an image file side by side." -msgstr "SparkleDiff lässt dich Revisionen einer Bilddatei nebeneinander vergleichen." +msgstr "Mit SparkleDiff können Sie Revisionen einer Bilddatei nebeneinander vergleichen." #: ../SparkleDiff/SparkleDiff.cs:169 msgid "Usage: sparklediff [FILE]" @@ -60,7 +60,7 @@ msgstr "Verwendung: sparklediff [DATEI]" #: ../SparkleDiff/SparkleDiff.cs:170 msgid "Open an image file to show its revisions" -msgstr "Öffnet eine Bilddatei zur Anzeige ihrer Revisionen" +msgstr "Öffnet eine Bilddatei zur Anzeige Ihrer Revisionen" #: ../SparkleDiff/SparkleDiff.cs:172 ../SparkleShare/SparkleShare.cs:98 msgid "Arguments:" From 0f1a77eed8b4d1400b9d35993ab327eb9a03c513 Mon Sep 17 00:00:00 2001 From: Yann Yann Date: Thu, 29 Jul 2010 11:43:37 +0000 Subject: [PATCH 15/38] l10n: Updated fr_FR translation to 100% New status: 65 messages complete with 0 fuzzies and 0 untranslated. Transmitted-via: Transifex (www.transifex.net). --- po/fr_FR.po | 295 +++++++++++++++++++++++++++++++--------------------- 1 file changed, 179 insertions(+), 116 deletions(-) diff --git a/po/fr_FR.po b/po/fr_FR.po index 2c450fdc..12e35764 100644 --- a/po/fr_FR.po +++ b/po/fr_FR.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: SparkleShare\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-25 06:12+0000\n" +"POT-Creation-Date: 2010-07-29 06:23+0000\n" "PO-Revision-Date: 2010-07-13 16:07+0800\n" "Last-Translator: Yann Hermans \n" "Language-Team: French (France)\n" @@ -20,240 +20,279 @@ msgstr "" "X-Poedit-SourceCharset: utf-8\n" "X-Poedit-Country: FRANCE\n" -#: ../SparkleDiff/SparkleDiff.cs:77 ../SparkleShare/SparkleShare.cs:50 +#: ../SparkleDiff/SparkleDiff.cs:77 ../SparkleShare/SparkleShare.cs:49 msgid "Git wasn't found." msgstr "Git n’a pas été détecté." -#: ../SparkleDiff/SparkleDiff.cs:78 ../SparkleShare/SparkleShare.cs:51 +#: ../SparkleDiff/SparkleDiff.cs:78 ../SparkleShare/SparkleShare.cs:50 msgid "You can get Git from http://git-scm.com/." msgstr "Vous pouvez récupérer Git sur http://git-scm.com/." -#: ../SparkleDiff/SparkleDiff.cs:86 ../SparkleShare/SparkleShare.cs:58 +#: ../SparkleDiff/SparkleDiff.cs:86 ../SparkleShare/SparkleShare.cs:57 msgid "Sorry, you can't run SparkleShare with these permissions." msgstr "Désolé, vous ne disposez pas des autorisations nécessaires pour lancer SparkleShare." -#: ../SparkleDiff/SparkleDiff.cs:87 ../SparkleShare/SparkleShare.cs:59 +#: ../SparkleDiff/SparkleDiff.cs:87 ../SparkleShare/SparkleShare.cs:58 msgid "Things would go utterly wrong." msgstr "Les choses pourraient très mal tourner." -#: ../SparkleDiff/SparkleDiff.cs:157 +#: ../SparkleDiff/SparkleDiff.cs:161 msgid "SparkleDiff Copyright (C) 2010 Hylke Bons" msgstr "Copyright (C) SparkleDiff 2010 Hylke Bons" -#: ../SparkleDiff/SparkleDiff.cs:159 ../SparkleShare/SparkleShare.cs:90 +#: ../SparkleDiff/SparkleDiff.cs:163 ../SparkleShare/SparkleShare.cs:89 msgid "This program comes with ABSOLUTELY NO WARRANTY." msgstr "Ce logiciel est diffusé sans AUCUNE GARANTIE." -#: ../SparkleDiff/SparkleDiff.cs:160 ../SparkleShare/SparkleShare.cs:91 +#: ../SparkleDiff/SparkleDiff.cs:164 ../SparkleShare/SparkleShare.cs:90 msgid "This is free software, and you are welcome to redistribute it " msgstr "Ce logiciel est libre, et vous êtes invité à le re‑distribuer " -#: ../SparkleDiff/SparkleDiff.cs:161 ../SparkleShare/SparkleShare.cs:92 +#: ../SparkleDiff/SparkleDiff.cs:165 ../SparkleShare/SparkleShare.cs:91 msgid "under certain conditions. Please read the GNU GPLv3 for details." msgstr "sous certaines conditions. Merci de lire la licence GNU GPLv3 pour de plus amples informations." -#: ../SparkleDiff/SparkleDiff.cs:163 +#: ../SparkleDiff/SparkleDiff.cs:167 msgid "SparkleDiff let's you compare revisions of an image file side by side." msgstr "SparkleDiff vous permet de comparer les versions d’une image côte à côte." -#: ../SparkleDiff/SparkleDiff.cs:165 +#: ../SparkleDiff/SparkleDiff.cs:169 msgid "Usage: sparklediff [FILE]" msgstr "Utilisation : sparklediff [FICHIER]" -#: ../SparkleDiff/SparkleDiff.cs:166 +#: ../SparkleDiff/SparkleDiff.cs:170 msgid "Open an image file to show its revisions" msgstr "Ouvrir une image pour en afficher les versions" -#: ../SparkleDiff/SparkleDiff.cs:168 ../SparkleShare/SparkleShare.cs:99 +#: ../SparkleDiff/SparkleDiff.cs:172 ../SparkleShare/SparkleShare.cs:98 msgid "Arguments:" msgstr "Paramètres :" -#: ../SparkleDiff/SparkleDiff.cs:169 ../SparkleShare/SparkleShare.cs:101 +#: ../SparkleDiff/SparkleDiff.cs:173 ../SparkleShare/SparkleShare.cs:100 msgid "\t -h, --help\t\tDisplay this help text." msgstr "\t -h, --help\t\tAffiche ce texte d’aide." -#. TRANSLATORS: The parameter is a filename -#: ../SparkleDiff/SparkleDiffWindow.cs:53 +#: ../SparkleDiff/SparkleDiffWindow.cs:92 #, csharp-format -msgid "Comparing Revisions of ‘{0}’" -msgstr "Compare les versions de « {0} »" +msgid "{0} at {1}" +msgstr "{0} sur {1}" -#: ../SparkleDiff/SparkleDiffWindow.cs:81 -msgid "Current Revision" -msgstr "Version actuelle" +#: ../SparkleDiff/SparkleDiffWindow.cs:93 +msgid "ddd MMM d, yyyy" +msgstr "ddd d MMM yyyy" -#. TRANSLATORS: This is a format specifier according to -#. System.Globalization.DateTimeFormatInfo -#: ../SparkleDiff/SparkleDiffWindow.cs:85 -msgid "d MMM\tH:mm" -msgstr "d MMM\tH:mm" +#: ../SparkleDiff/SparkleDiffWindow.cs:94 +msgid "H:mm" +msgstr "H:mm" -#: ../SparkleShare/SparkleDialog.cs:50 +#: ../SparkleShare/SparkleDialog.cs:51 msgid "Address of remote SparkleShare folder:" msgstr "Adresse du dossier distant SparkleShare :" -#: ../SparkleShare/SparkleDialog.cs:81 +#: ../SparkleShare/SparkleDialog.cs:82 msgid "Add Folder" msgstr "Ajouter un dossier" -#: ../SparkleShare/SparkleDialog.cs:126 +#: ../SparkleShare/SparkleDialog.cs:127 #, csharp-format msgid "Syncing folder ‘{0}’" msgstr "Synchronise le dossier « {0} »" -#: ../SparkleShare/SparkleDialog.cs:127 +#: ../SparkleShare/SparkleDialog.cs:128 msgid "SparkleShare will notify you when this is done." msgstr "SparkleShare vous signalera la fin de l’opération." -#: ../SparkleShare/SparkleDialog.cs:129 +#: ../SparkleShare/SparkleDialog.cs:130 msgid "Dismiss" msgstr "Abandonner" -#: ../SparkleShare/SparkleDialog.cs:157 +#: ../SparkleShare/SparkleDialog.cs:158 #, csharp-format msgid "Something went wrong while syncing ‘{0}’" msgstr "Une erreur est survenue lors de la synchronisation de « {0} »" -#: ../SparkleShare/SparkleDialog.cs:167 +#: ../SparkleShare/SparkleDialog.cs:168 msgid "Try Again…" msgstr "Essayer de nouveau…" -#: ../SparkleShare/SparkleDialog.cs:197 +#: ../SparkleShare/SparkleDialog.cs:198 #, csharp-format msgid "Successfully synced folder ‘{0}’" msgstr "Le dossier « {0} » a été synchronisé avec succès" -#: ../SparkleShare/SparkleDialog.cs:198 +#: ../SparkleShare/SparkleDialog.cs:199 msgid "Now make great stuff happen!" msgstr "Maintenant, la magie peut opérer !" -#. Add a button to open the folder where the changed file is -#: ../SparkleShare/SparkleDialog.cs:200 ../SparkleShare/SparkleRepo.cs:319 -#: ../SparkleShare/SparkleWindow.cs:63 +#: ../SparkleShare/SparkleDialog.cs:201 ../SparkleShare/SparkleWindow.cs:62 msgid "Open Folder" msgstr "Ouvrir le dossier" -#: ../SparkleShare/SparkleHelpers.cs:164 +#: ../SparkleShare/SparkleHelpers.cs:136 #, csharp-format msgid "a second ago" msgid_plural "{0} seconds ago" msgstr[0] "il y a une seconde" msgstr[1] "il y a {0} secondes" -#: ../SparkleShare/SparkleHelpers.cs:170 +#: ../SparkleShare/SparkleHelpers.cs:142 #, csharp-format msgid "a minute ago" msgid_plural "about {0} minutes ago" msgstr[0] "il y a une minute" msgstr[1] "il y a environ {0} minutes" -#: ../SparkleShare/SparkleHelpers.cs:176 +#: ../SparkleShare/SparkleHelpers.cs:148 #, csharp-format msgid "about an hour ago" msgid_plural "about {0} hours ago" msgstr[0] "il y a environ une heure" msgstr[1] "il y a environ {0} heures" -#: ../SparkleShare/SparkleHelpers.cs:182 +#: ../SparkleShare/SparkleHelpers.cs:154 #, csharp-format msgid "yesterday" msgid_plural "{0} days ago" msgstr[0] "hier" msgstr[1] "il y a {0} jours" -#: ../SparkleShare/SparkleHelpers.cs:188 +#: ../SparkleShare/SparkleHelpers.cs:160 #, csharp-format msgid "a month ago" msgid_plural "{0} months ago" msgstr[0] "il y a un mois" msgstr[1] "il y a {0} mois" -#: ../SparkleShare/SparkleHelpers.cs:193 +#: ../SparkleShare/SparkleHelpers.cs:165 #, csharp-format msgid "a year ago" msgid_plural "{0} years ago" msgstr[0] "il y a un an" msgstr[1] "il y a {0} ans" -#: ../SparkleShare/SparkleHelpers.cs:205 -msgid "Hold your ponies!" -msgstr "Restons calme !" - -#: ../SparkleShare/SparkleHelpers.cs:206 -msgid "" -"SparkleShare is known to be insanely fast with \n" -"pictures of unicorns. Please make sure your internets\n" -"are upgraded to the latest version to avoid problems." -msgstr "" -"SparkleShare est réputé pour son hallucinante rapidité\n" -"concernant les images de licornes. Merci de vérifier que\n" -"votre navigateur est à jour pour éviter tout problème." - -#: ../SparkleShare/SparkleShare.cs:88 -msgid "SparkleShare Copyright (C) 2010 Hylke Bons" -msgstr "Copyright (C) SparkleShare 2010 Hylke Bons" - -#: ../SparkleShare/SparkleShare.cs:94 -msgid "SparkleShare syncs the ~/SparkleShare folder with remote repositories." -msgstr "SparkleShare synchronize le dossier ~/SparkleShare avec les dépôts distants." - -#: ../SparkleShare/SparkleShare.cs:96 -msgid "Usage: sparkleshare [start|stop|restart] [OPTION]..." -msgstr "Utilisation : sparkleshare [start|stop|restart] [OPTION]…" - -#: ../SparkleShare/SparkleShare.cs:97 -msgid "Sync SparkleShare folder with remote repositories." -msgstr "Synchroniser le dossier SparkleShare avec les dépôts distants." - -#: ../SparkleShare/SparkleShare.cs:100 -msgid "\t -d, --disable-gui\tDon't show the notification icon." -msgstr "\t -d, --disable-gui\tMasquer l’icône de notification." - -#: ../SparkleShare/SparkleStatusIcon.cs:69 -msgid "Error syncing" -msgstr "Erreur de synchronisation" - -#: ../SparkleShare/SparkleStatusIcon.cs:72 -msgid "Everything is up to date" -msgstr "Tout est à jour" - -#: ../SparkleShare/SparkleStatusIcon.cs:75 -msgid "Syncing…" -msgstr "Synchronisation en cours…" - -#: ../SparkleShare/SparkleStatusIcon.cs:116 -msgid "Add a Remote Folder…" -msgstr "Ajouter un dossier distant…" - -#: ../SparkleShare/SparkleStatusIcon.cs:124 -msgid "Show Notifications" -msgstr "Montrer les notifications" - -#: ../SparkleShare/SparkleStatusIcon.cs:142 -msgid "Visit Website" -msgstr "Visiter le site web" - -#: ../SparkleShare/SparkleStatusIcon.cs:159 -msgid "Quit" -msgstr "Quitter" - -#: ../SparkleShare/SparkleUI.cs:145 +#: ../SparkleShare/SparkleIntro.cs:72 msgid "Welcome to SparkleShare!" msgstr "Bienvenue sur SparkleShare !" -#: ../SparkleShare/SparkleUI.cs:146 -msgid "You don't have any folders set up yet." -msgstr "Vous n’avez encore configuré aucun dossier." +#: ../SparkleShare/SparkleIntro.cs:78 +msgid "Before we can create a SparkleShare folder on this computer, we need a few bits of information from you." +msgstr "Afin de pouvoir créer un dossier SparkleShare sur cet ordinateur, nous avons besoin de quelques informations." -#: ../SparkleShare/SparkleUI.cs:149 -msgid "Add a Folder…" -msgstr "Ajouter un dossier…" +#: ../SparkleShare/SparkleIntro.cs:90 +msgid "Full Name:" +msgstr "Nom et prénom:" + +#: ../SparkleShare/SparkleIntro.cs:106 +msgid "Email:" +msgstr "Email:" + +#: ../SparkleShare/SparkleIntro.cs:115 +msgid "Folder Address:" +msgstr "Adresse du dossier:" + +#: ../SparkleShare/SparkleIntro.cs:122 +msgid "I'm already subscribed to a folder on a SparkleServer" +msgstr "Je suis déjà assigné à un dossier sur le serveur SparkleServer" + +#: ../SparkleShare/SparkleIntro.cs:157 +msgid "Next" +msgstr "Suivant" + +#: ../SparkleShare/SparkleIntro.cs:168 +msgid "Configuring…" +msgstr "Configuration en cours..." + +#: ../SparkleShare/SparkleIntro.cs:220 +msgid "SparkleShare is ready to go!" +msgstr "SparkleShare est opérationnel!" + +#: ../SparkleShare/SparkleIntro.cs:226 +msgid "Now you can start accepting invitations from others. Just click on invitations you get by email and we will take care of the rest." +msgstr "" +"Vous pouvez désormais accepter des invitations.\r\n" +"Pour cela, il vous suffira de cliquer sur les invitations que vous aurez reçues par mail et nous nous occuperons du reste." + +#: ../SparkleShare/SparkleIntro.cs:237 +msgid "Learn how to host your own SparkleServer" +msgstr "Apprendre à héberger son propre serveur SparkleServer" + +#: ../SparkleShare/SparkleIntro.cs:250 +msgid "Finish" +msgstr "Terminer" + +#: ../SparkleShare/SparkleShare.cs:87 +msgid "SparkleShare Copyright (C) 2010 Hylke Bons" +msgstr "Copyright (C) SparkleShare 2010 Hylke Bons" + +#: ../SparkleShare/SparkleShare.cs:93 +msgid "SparkleShare syncs the ~/SparkleShare folder with remote repositories." +msgstr "SparkleShare synchronize le dossier ~/SparkleShare avec les dépôts distants." + +#: ../SparkleShare/SparkleShare.cs:95 +msgid "Usage: sparkleshare [start|stop|restart] [OPTION]..." +msgstr "Utilisation : sparkleshare [start|stop|restart] [OPTION]…" + +#: ../SparkleShare/SparkleShare.cs:96 +msgid "Sync SparkleShare folder with remote repositories." +msgstr "Synchroniser le dossier SparkleShare avec les dépôts distants." + +#: ../SparkleShare/SparkleShare.cs:99 +msgid "\t -d, --disable-gui\tDon't show the notification icon." +msgstr "\t -d, --disable-gui\tMasquer l’icône de notification." + +#: ../SparkleShare/SparkleStatusIcon.cs:130 +msgid "SparkleShare Folder" +msgstr "Dossier SparkleShare " + +#: ../SparkleShare/SparkleStatusIcon.cs:163 +msgid "No Shared Folders Yet" +msgstr "Encore aucun dossier de partagé" + +#: ../SparkleShare/SparkleStatusIcon.cs:171 +msgid "Add Remote Folder…" +msgstr "Ajouter un dossier distant..." + +#: ../SparkleShare/SparkleStatusIcon.cs:184 +msgid "Show Notifications" +msgstr "Montrer les notifications" + +#: ../SparkleShare/SparkleStatusIcon.cs:205 +msgid "About" +msgstr "A propos" + +#: ../SparkleShare/SparkleStatusIcon.cs:222 +msgid "Quit" +msgstr "Quitter" + +#: ../SparkleShare/SparkleStatusIcon.cs:271 +msgid "All up to date" +msgstr "Tous à jour" + +#: ../SparkleShare/SparkleStatusIcon.cs:280 +msgid "Syncing…" +msgstr "Synchronisation en cours…" + +#: ../SparkleShare/SparkleUI.cs:247 +msgid "Ouch! Mid-air collision!" +msgstr "Outch! Collision en plein ciel!" + +#: ../SparkleShare/SparkleUI.cs:248 +msgid "Don't worry, SparkleShare made a copy of each conflicting file." +msgstr "Ne vous inquiétez pas, SparkleShare à effectué une copie de chacun des fichiers en conflit." + +#: ../SparkleShare/SparkleUI.cs:334 +msgid "Hold your ponies!" +msgstr "Restons calme !" + +#: ../SparkleShare/SparkleUI.cs:335 +msgid "SparkleShare is known to be insanely fast with pictures of unicorns. Please make sure your internets are upgraded to the latest version to avoid any problems." +msgstr "SparkleShare est réputé pour son hallucinante rapidité concernant les images de licornes. Merci de vérifier que votre navigateur est à jour pour éviter tout problème." #. TRANSLATORS: {0} is a folder name, and {1} is a server address -#: ../SparkleShare/SparkleWindow.cs:51 +#: ../SparkleShare/SparkleWindow.cs:50 #, csharp-format -msgid "‘{0}’ on {1}" -msgstr "« {0} » sur {1}" +msgid "Recent Events in ‘{0}’" +msgstr "Derniers événements dans « {0} »" #: ../SparkleShare/Nautilus/sparkleshare-nautilus-extension.py.in:108 msgid "Get Earlier Version" @@ -266,3 +305,27 @@ msgstr "Créer une copie d'une version antérieure de ce dossier" #: ../SparkleShare/Nautilus/sparkleshare-nautilus-extension.py.in:122 msgid "Select to get a copy of this version" msgstr "Sélectionner pour obtenir une copie de cette version" + +#~ msgid "Comparing Revisions of ‘{0}’" +#~ msgstr "Compare les versions de « {0} »" + +#~ msgid "Current Revision" +#~ msgstr "Version actuelle" + +#~ msgid "d MMM\tH:mm" +#~ msgstr "d MMM\tH:mm" + +#~ msgid "Error syncing" +#~ msgstr "Erreur de synchronisation" + +#~ msgid "Everything is up to date" +#~ msgstr "Tout est à jour" + +#~ msgid "Visit Website" +#~ msgstr "Visiter le site web" + +#~ msgid "You don't have any folders set up yet." +#~ msgstr "Vous n’avez encore configuré aucun dossier." + +#~ msgid "Add a Folder…" +#~ msgstr "Ajouter un dossier…" From 45ca164fc9dc5651f390ffb030504a797c7238d3 Mon Sep 17 00:00:00 2001 From: Benjamin Podszun Date: Thu, 29 Jul 2010 14:03:10 +0100 Subject: [PATCH 16/38] Don't crash when the requested icon doesn't exist in theme --- SparkleShare/SparkleHelpers.cs | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/SparkleShare/SparkleHelpers.cs b/SparkleShare/SparkleHelpers.cs index e202c1cb..cb8efd84 100644 --- a/SparkleShare/SparkleHelpers.cs +++ b/SparkleShare/SparkleHelpers.cs @@ -96,13 +96,30 @@ namespace SparkleShare { // Looks up an icon from the system's theme - public static Gdk.Pixbuf GetIcon (string Name, int Size) + public static Gdk.Pixbuf GetIcon (string name, int size) { IconTheme IconTheme = new IconTheme (); IconTheme.AppendSearchPath (SparklePaths.SparkleIconPath); IconTheme.AppendSearchPath (SparklePaths.SparkleLocalIconPath); - return IconTheme.LoadIcon (Name, Size, IconLookupFlags.GenericFallback); + + try { + + return IconTheme.LoadIcon (name, size, IconLookupFlags.GenericFallback); + + } catch { + + try { + + return IconTheme.LoadIcon ("gtk-missing-image", size, IconLookupFlags.GenericFallback); + + } catch { + + return null; + + } + + } } From 03a79d72a0fda3edb5613638e9036d86c8632739 Mon Sep 17 00:00:00 2001 From: Hylke Bons Date: Thu, 29 Jul 2010 14:47:09 +0100 Subject: [PATCH 17/38] [sparkleintro] fix spinner size --- AUTHORS | 1 + SparkleShare/SparkleDialog.cs | 32 +--------- SparkleShare/SparkleIntro.cs | 97 +++++++++++++++++++++++++++++- SparkleShare/SparkleRepo.cs | 10 +++ SparkleShare/SparkleSpinner.cs | 29 ++++++--- data/icons/Makefile.am | 1 + data/icons/process-working-22.png | Bin 0 -> 7061 bytes 7 files changed, 133 insertions(+), 37 deletions(-) create mode 100644 data/icons/process-working-22.png diff --git a/AUTHORS b/AUTHORS index 230a6c16..691d6dbe 100644 --- a/AUTHORS +++ b/AUTHORS @@ -5,6 +5,7 @@ Maintainer: Contributors: Andreas Nilsson + Benjamin Podszun Bertrand Lorentz Garrett LeSage Jakub Steiner diff --git a/SparkleShare/SparkleDialog.cs b/SparkleShare/SparkleDialog.cs index ffb8f724..eb55eb03 100644 --- a/SparkleShare/SparkleDialog.cs +++ b/SparkleShare/SparkleDialog.cs @@ -115,24 +115,6 @@ namespace SparkleShare { int SlashPos = RepoRemoteUrl.LastIndexOf ("/"); int ColumnPos = RepoRemoteUrl.LastIndexOf (":"); - // Check whether a "/" or ":" is used to separate the - // repo name from the domain. - string RepoName; - if (SlashPos > ColumnPos) - RepoName = RepoRemoteUrl.Substring (SlashPos + 1); - else - RepoName = RepoRemoteUrl.Substring (ColumnPos + 1); - - SparkleBubble SyncingBubble; - SyncingBubble = new SparkleBubble (String.Format(_("Syncing folder ‘{0}’"), RepoName), - _("SparkleShare will notify you when this is done.")); - - SyncingBubble.AddAction ("", _("Dismiss"), - delegate { - SyncingBubble.Close (); - }); - - SyncingBubble.Show (); Process Process = new Process (); Process.EnableRaisingEvents = true; @@ -154,23 +136,13 @@ namespace SparkleShare { if (Process.ExitCode != 0) { - SparkleBubble ErrorBubble; - ErrorBubble = new SparkleBubble (String.Format(_("Something went wrong while syncing ‘{0}’"), RepoName), - "Please double check the address and\n" + - "network connection."); + // error try { Directory.Delete (SparkleHelpers.CombineMore (SparklePaths.SparkleTmpPath, RepoName)); } catch (System.IO.DirectoryNotFoundException) { SparkleHelpers.DebugInfo ("Config", "[" + RepoName + "] Temporary directory did not exist..."); } - - ErrorBubble.AddAction ("", _("Try Again…"), - delegate { - SparkleDialog SparkleDialog = new SparkleDialog (RepoRemoteUrl); - SparkleDialog.ShowAll (); - }); - ErrorBubble.Show (); } else { @@ -188,6 +160,8 @@ namespace SparkleShare { Writer.WriteLine (".DS_store"); // Ignore OSX's invisible directories Writer.Close (); + // TODO: Install username and email from global file + File.Create (SparkleHelpers.CombineMore (SparklePaths.SparklePath, RepoName, ".emblems")); diff --git a/SparkleShare/SparkleIntro.cs b/SparkleShare/SparkleIntro.cs index d9570d1e..9beca187 100644 --- a/SparkleShare/SparkleIntro.cs +++ b/SparkleShare/SparkleIntro.cs @@ -303,6 +303,8 @@ namespace SparkleShare { AddButton.Clicked += delegate { + ShowStepTwoAndAHalf (); + // TODO }; @@ -331,13 +333,106 @@ namespace SparkleShare { Add (layout_horizontal); - CheckStepOneFields (); + CheckStepTwoFields (); ShowAll (); } + private void ShowStepTwoAndAHalf () + { + + Title = _("Add Remote Folder"); + + Remove (Child); + + HBox layout_horizontal = new HBox (false, 6); + + Image side_splash = new Image (SparkleHelpers.CombineMore (Defines.PREFIX, "share", "pixmaps", + "side-splash.png")); + + VBox wrapper = new VBox (false, 0); + + VBox layout_vertical = new VBox (false, 0) { + BorderWidth = 30 + }; + + Label introduction = new Label ("" + + String.Format (_("Retrieving folder ‘{0}’…"), FolderEntry.Text) + + "") { + UseMarkup = true, + Xalign = 0 + }; + + Label information = new Label ("" + + _("This may take a while.\n") + + _("You sure it’s not coffee o-clock?" + + "")) { + UseMarkup = true, + Xalign = 0 + }; + + HButtonBox controls = new HButtonBox () { + BorderWidth = 12, + Layout = ButtonBoxStyle.End, + Spacing = 6 + }; + + Button button = new Button ("") { + Sensitive = false + }; + + if (StepTwoOnly) { + + button.Label = _("Finish"); + button.Clicked += delegate { + Destroy (); + }; + + } else { + + button.Label = _("Next"); + button.Clicked += delegate { + ShowStepThree (); + }; + + } + + controls.Add (button); + + SparkleSpinner spinner = new SparkleSpinner (22); + + Table table = new Table (2, 2, false) { + RowSpacing = 12, + ColumnSpacing = 9 + }; + + HBox box = new HBox (false, 0); + + table.Attach (spinner, 0, 1, 0, 1); + table.Attach (introduction, 1, 2, 0, 1); + table.Attach (information, 1, 2, 1, 2); + + box.PackStart (table, false, false, 0); + + layout_vertical.PackStart (box, false, false, 0); + + wrapper.PackStart (layout_vertical, true, true, 0); + wrapper.PackStart (controls, false, true, 0); + + layout_horizontal.PackStart (side_splash, false, false, 0); + layout_horizontal.PackStart (wrapper, true, true, 0); + + Add (layout_horizontal); + + CheckStepTwoFields (); + + ShowAll (); + + } + + private void ShowStepThree () { diff --git a/SparkleShare/SparkleRepo.cs b/SparkleShare/SparkleRepo.cs index a9fd266b..8c7e878f 100644 --- a/SparkleShare/SparkleRepo.cs +++ b/SparkleShare/SparkleRepo.cs @@ -66,6 +66,8 @@ namespace SparkleShare { public SparkleRepo (string path) { +// if (Directory.Exists) + LocalPath = path; Name = Path.GetFileName (LocalPath); @@ -130,6 +132,14 @@ namespace SparkleShare { } + public void Init () + { + + + + } + + private void CheckForChanges () { diff --git a/SparkleShare/SparkleSpinner.cs b/SparkleShare/SparkleSpinner.cs index de5ee338..b4ec4389 100644 --- a/SparkleShare/SparkleSpinner.cs +++ b/SparkleShare/SparkleSpinner.cs @@ -15,7 +15,6 @@ // along with this program. If not, see . using Gtk; -using System; using System.Timers; namespace SparkleShare { @@ -38,31 +37,42 @@ namespace SparkleShare { Size = size; - CycleDuration = 750; + CycleDuration = 600; CurrentStep = 0; Gdk.Pixbuf spinner_gallery = SparkleHelpers.GetIcon ("process-working", Size); - int frames_in_width = spinner_gallery.Width / Size; + int frames_in_width = spinner_gallery.Width / Size; int frames_in_height = spinner_gallery.Height / Size; + NumSteps = frames_in_width * frames_in_height; - Images = new Gdk.Pixbuf [NumSteps - 1]; + Images = new Gdk.Pixbuf [NumSteps - 1]; int i = 0; + for (int y = 0; y < frames_in_height; y++) { + for (int x = 0; x < frames_in_width; x++) { + if (!(y == 0 && x == 0)) { + Images [i] = new Gdk.Pixbuf (spinner_gallery, x * Size, y * Size, Size, Size); i++; + } + } + } - Timer = new Timer (); - Timer.Interval = CycleDuration / NumSteps; + Timer = new Timer () { + Interval = CycleDuration / NumSteps + }; + Timer.Elapsed += delegate { NextImage (); }; + Start (); } @@ -82,27 +92,32 @@ namespace SparkleShare { private void SetImage () { - Console.WriteLine (CurrentStep); Pixbuf = Images [CurrentStep]; } public bool IsActive () { + return Active; + } public void Start () { + CurrentStep = 0; Active = true; Timer.Start (); + } public void Stop () { + Active = false; Timer.Stop (); + } } diff --git a/data/icons/Makefile.am b/data/icons/Makefile.am index 1f78d471..4907c766 100644 --- a/data/icons/Makefile.am +++ b/data/icons/Makefile.am @@ -4,6 +4,7 @@ hicolordir = $(DESTDIR)$(datadir)/icons/hicolor theme_icons = \ animations,process-syncing-sparkleshare-24.png \ + animations,process-working-22.png \ places,folder-16.png \ places,folder-22.png \ places,folder-24.png \ diff --git a/data/icons/process-working-22.png b/data/icons/process-working-22.png new file mode 100644 index 0000000000000000000000000000000000000000..9005de7573779cece0fc075eeb8b0d969fe6f08e GIT binary patch literal 7061 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 Plg46hYGYDo1Wx@gRu*>z literal 0 HcmV?d00001 From 7a8325acc14401c5543218f6bc2f911893b13be1 Mon Sep 17 00:00:00 2001 From: Hylke Bons Date: Thu, 29 Jul 2010 16:10:14 +0100 Subject: [PATCH 18/38] [sparkledialog] remove dialog and move cloning code to sparkleintro --- SparkleShare/SparkleDialog.cs | 194 ---------------------------------- SparkleShare/SparkleRepo.cs | 64 ++++++++++- 2 files changed, 60 insertions(+), 198 deletions(-) delete mode 100644 SparkleShare/SparkleDialog.cs diff --git a/SparkleShare/SparkleDialog.cs b/SparkleShare/SparkleDialog.cs deleted file mode 100644 index eb55eb03..00000000 --- a/SparkleShare/SparkleDialog.cs +++ /dev/null @@ -1,194 +0,0 @@ -// SparkleShare, an instant update workflow to Git. -// Copyright (C) 2010 Hylke Bons -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . - -using Gtk; -using Mono.Unix; -using SparkleShare; -using System; -using System.Diagnostics; -using System.IO; -using System.Text.RegularExpressions; - -namespace SparkleShare { - - // A dialog where the user can enter a folder - // name and url to sync changes with - public class SparkleDialog : Window { - - // Short alias for the translations - public static string _ (string s) - { - return Catalog.GetString (s); - } - - private Button AddButton; - private ComboBoxEntry RemoteUrlCombo; - - public SparkleDialog (string Url) : base ("") - { - BorderWidth = 12; - IconName = "folder-sparkleshare"; - WidthRequest = 320; - Title = "SparkleShare"; - - SetPosition (WindowPosition.Center); - - VBox VBox = new VBox (false, 0); - - Label RemoteUrlLabel = new Label (_("Address of remote SparkleShare folder:")); - RemoteUrlLabel.Xalign = 0; - - ListStore Defaults = new ListStore (typeof (string)); - - RemoteUrlCombo = new ComboBoxEntry (Defaults, 0); - - if (Url.Equals ("")) - RemoteUrlCombo.Entry.Text = "ssh://"; - else - RemoteUrlCombo.Entry.Text = Url; - - RemoteUrlCombo.Entry.Completion = new EntryCompletion (); - RemoteUrlCombo.Entry.Completion.Model = Defaults; - - RemoteUrlCombo.Entry.Completion.InlineCompletion = true; - RemoteUrlCombo.Entry.Completion.PopupCompletion = true; - RemoteUrlCombo.Entry.Completion.TextColumn = 0; - RemoteUrlCombo.Entry.Changed += CheckFields; - - // Add some preset addresses - Defaults.AppendValues ("ssh://git@github.com/"); - Defaults.AppendValues ("ssh://git@git.gnome.org/"); - Defaults.AppendValues ("ssh://git@fedorahosted.org/"); - Defaults.AppendValues ("ssh://git@gitorious.org/"); - - HButtonBox ButtonBox = new HButtonBox (); - ButtonBox.Layout = ButtonBoxStyle.End; - ButtonBox.Spacing = 6; - ButtonBox.BorderWidth = 0; - - AddButton = new Button (_("Add Folder")); - AddButton.Clicked += CloneRepo; - AddButton.Sensitive = false; - - Button CancelButton = new Button (Stock.Cancel); - - CancelButton.Clicked += delegate { - Destroy (); - }; - - ButtonBox.Add (CancelButton); - ButtonBox.Add (AddButton); - - VBox.PackStart (RemoteUrlLabel, false, false, 0); - VBox.PackStart (RemoteUrlCombo, false, false, 12); - VBox.PackStart (ButtonBox, false, false, 0); - - Add (VBox); - - ShowAll (); - - } - - // Clones a remote repo - public void CloneRepo (object o, EventArgs args) { - -// SparkleUI.NotificationIcon.SetSyncingState (); - - HideAll (); - - string RepoRemoteUrl = RemoteUrlCombo.Entry.Text; - RepoRemoteUrl = SparkleToGitUrl (RepoRemoteUrl); - - int SlashPos = RepoRemoteUrl.LastIndexOf ("/"); - int ColumnPos = RepoRemoteUrl.LastIndexOf (":"); - - - Process Process = new Process (); - Process.EnableRaisingEvents = true; - Process.StartInfo.RedirectStandardOutput = true; - Process.StartInfo.UseShellExecute = false; - - SparkleHelpers.DebugInfo ("Config", "[" + RepoName + "] Cloning repository..."); - - // TODO: don't freeze the UI while cloning a repo - // Clone into the system's temporary folder - Process.StartInfo.FileName = "git"; - Process.StartInfo.WorkingDirectory = SparklePaths.SparkleTmpPath; - Process.StartInfo.Arguments = String.Format ("clone {0} {1}", - RepoRemoteUrl, - RepoName); - - Process.Start (); - Process.WaitForExit (); - - if (Process.ExitCode != 0) { - - // error - - try { - Directory.Delete (SparkleHelpers.CombineMore (SparklePaths.SparkleTmpPath, RepoName)); - } catch (System.IO.DirectoryNotFoundException) { - SparkleHelpers.DebugInfo ("Config", "[" + RepoName + "] Temporary directory did not exist..."); - } - - } else { - - SparkleHelpers.DebugInfo ("Git", "[" + RepoName + "] Repository cloned"); - - Directory.Move (SparkleHelpers.CombineMore (SparklePaths.SparkleTmpPath, RepoName), - SparkleHelpers.CombineMore (SparklePaths.SparklePath, RepoName)); - - - // Add a .gitignore file to the repo - TextWriter Writer = new StreamWriter (SparkleHelpers.CombineMore (SparklePaths.SparklePath, RepoName, - ".gitignore")); - Writer.WriteLine ("*~"); // Ignore gedit swap files - Writer.WriteLine (".*.sw?"); // Ignore vi swap files - Writer.WriteLine (".DS_store"); // Ignore OSX's invisible directories - Writer.Close (); - - // TODO: Install username and email from global file - - File.Create (SparkleHelpers.CombineMore (SparklePaths.SparklePath, RepoName, - ".emblems")); - - SparkleShare.SparkleUI.UpdateRepositories (); - - // Show a confirmation notification - SparkleBubble FinishedBubble; - FinishedBubble = new SparkleBubble (String.Format(_("Successfully synced folder ‘{0}’"), RepoName), - _("Now make great stuff happen!")); - - FinishedBubble.AddAction ("", _("Open Folder"), - delegate { - Process.StartInfo.FileName = "xdg-open"; - Process.StartInfo.Arguments = SparkleHelpers.CombineMore (SparklePaths.SparklePath, RepoName); - Process.Start (); - } ); - FinishedBubble.Show (); - - } - - } - - - - - - - } - -} diff --git a/SparkleShare/SparkleRepo.cs b/SparkleShare/SparkleRepo.cs index 8c7e878f..ad77701c 100644 --- a/SparkleShare/SparkleRepo.cs +++ b/SparkleShare/SparkleRepo.cs @@ -132,11 +132,67 @@ namespace SparkleShare { } - public void Init () + public void Clone () { - - - + + Process process = new Process () { + EnableRaisingEvents = true + }; + + // Cloning started event + + process.StartInfo.RedirectStandardOutput = true; + process.StartInfo.UseShellExecute = false; + process.StartInfo.WorkingDirectory = SparklePaths.SparkleTmpPath; + process.StartInfo.Arguments = String.Format ("clone {0} {1}", RemoteOriginUrl, Name); + + process.Start (); + + process.Exited += delegate { + // Cloning finished event + + + + if (Process.ExitCode != 0) { + + // Cloning failed event + + try { + Directory.Delete (SparkleHelpers.CombineMore (SparklePaths.SparkleTmpPath, Name)); + } catch (System.IO.DirectoryNotFoundException) { + SparkleHelpers.DebugInfo ("Config", "[" + Name + "] Temporary directory did not exist..."); + } + + } else { + + SparkleHelpers.DebugInfo ("Git", "[" + Name + "] Repository cloned"); + + Directory.Move (SparkleHelpers.CombineMore (SparklePaths.SparkleTmpPath, Name), + SparkleHelpers.CombineMore (SparklePaths.SparklePath, Name)); + + + // Add a .gitignore file to the repo + TextWriter Writer = new StreamWriter (SparkleHelpers.CombineMore (SparklePaths.SparklePath, Name, + ".gitignore")); + Writer.WriteLine ("*~"); // Ignore gedit swap files + Writer.WriteLine (".*.sw?"); // Ignore vi swap files + Writer.WriteLine (".DS_store"); // Ignore OSX's invisible directories + Writer.Close (); + + // TODO: write gitignore rules in repo/.git/info/exclude + + // TODO: Install username and email from global file + + + } + + + + + + }; + + } From 5ed7bc1ee41a3c5a19968c6675c083fd402d85ab Mon Sep 17 00:00:00 2001 From: Hylke Bons Date: Fri, 30 Jul 2010 10:57:33 +0100 Subject: [PATCH 19/38] Add events for cloning and move the main loop to SparkleUI --- SparkleShare/SparkleIntro.cs | 6 +-- SparkleShare/SparkleRepo.cs | 74 +++++++++++++++++++++--------------- SparkleShare/SparkleShare.cs | 5 --- SparkleShare/SparkleUI.cs | 29 +++++++++++--- 4 files changed, 69 insertions(+), 45 deletions(-) diff --git a/SparkleShare/SparkleIntro.cs b/SparkleShare/SparkleIntro.cs index 9beca187..961b598f 100644 --- a/SparkleShare/SparkleIntro.cs +++ b/SparkleShare/SparkleIntro.cs @@ -379,7 +379,7 @@ namespace SparkleShare { Spacing = 6 }; - Button button = new Button ("") { + Button button = new Button () { Sensitive = false }; @@ -660,7 +660,7 @@ namespace SparkleShare { // Convert the more human readable sparkle:// url to something Git can use. // Example: sparkle://gitorious.org/sparkleshare ssh://git@gitorious.org/sparkleshare - private static string SparkleToGitUrl (string url) +/* private static string SparkleToGitUrl (string url) { if (url.StartsWith ("sparkle://")) @@ -674,7 +674,7 @@ namespace SparkleShare { return url; } - +*/ } } diff --git a/SparkleShare/SparkleRepo.cs b/SparkleShare/SparkleRepo.cs index ad77701c..60389f78 100644 --- a/SparkleShare/SparkleRepo.cs +++ b/SparkleShare/SparkleRepo.cs @@ -32,7 +32,7 @@ namespace SparkleShare { private Timer FetchTimer; private Timer BufferTimer; private FileSystemWatcher Watcher; - private bool HasChanged = false; + private bool HasChanged; private DateTime LastChange; private System.Object ChangeLock = new System.Object(); @@ -52,6 +52,9 @@ namespace SparkleShare { public delegate void FetchingFinishedEventHandler (object o, SparkleEventArgs args); public delegate void NewCommitEventHandler (object o, NewCommitArgs args); public delegate void ConflictDetectedEventHandler (object o, SparkleEventArgs args); + public delegate void CloningStartedEventHandler (object o, SparkleEventArgs args); + public delegate void CloningFinishedEventHandler (object o, SparkleEventArgs args); + public delegate void CloningFailedEventHandler (object o, SparkleEventArgs args); public event AddedEventHandler Added; public event CommitedEventHandler Commited; @@ -61,6 +64,9 @@ namespace SparkleShare { public event FetchingFinishedEventHandler FetchingFinished; public event NewCommitEventHandler NewCommit; public event ConflictDetectedEventHandler ConflictDetected; + public event CloningStartedEventHandler CloningStarted; + public event CloningFinishedEventHandler CloningFinished; + public event CloningFailedEventHandler CloningFailed; public SparkleRepo (string path) @@ -87,6 +93,8 @@ namespace SparkleShare { Domain = GetDomain (RemoteOriginUrl); + HasChanged = false; + // Watch the repository's folder Watcher = new FileSystemWatcher (LocalPath) { IncludeSubdirectories = true, @@ -135,12 +143,16 @@ namespace SparkleShare { public void Clone () { + SparkleEventArgs args = new SparkleEventArgs ("CloningStarted"); + + if (CloningStarted != null) + CloningStarted (this, args); + + Process process = new Process () { EnableRaisingEvents = true }; - // Cloning started event - process.StartInfo.RedirectStandardOutput = true; process.StartInfo.UseShellExecute = false; process.StartInfo.WorkingDirectory = SparklePaths.SparkleTmpPath; @@ -149,50 +161,50 @@ namespace SparkleShare { process.Start (); process.Exited += delegate { - // Cloning finished event + + if (Process.ExitCode != 0) { + + args = new SparkleEventArgs ("CloningFailed"); + + if (CloningFailed != null) + CloningFailed (this, args); - - if (Process.ExitCode != 0) { - - // Cloning failed event - - try { - Directory.Delete (SparkleHelpers.CombineMore (SparklePaths.SparkleTmpPath, Name)); - } catch (System.IO.DirectoryNotFoundException) { - SparkleHelpers.DebugInfo ("Config", "[" + Name + "] Temporary directory did not exist..."); - } + try { + Directory.Delete (SparkleHelpers.CombineMore (SparklePaths.SparkleTmpPath, Name)); + } catch (System.IO.DirectoryNotFoundException) { + SparkleHelpers.DebugInfo ("Config", "[" + Name + "] Temporary directory did not exist..."); + } - } else { + } else { - SparkleHelpers.DebugInfo ("Git", "[" + Name + "] Repository cloned"); + args = new SparkleEventArgs ("CloningFinished"); - Directory.Move (SparkleHelpers.CombineMore (SparklePaths.SparkleTmpPath, Name), - SparkleHelpers.CombineMore (SparklePaths.SparklePath, Name)); + if (CloningFinished != null) + CloningFinished (this, args); - // Add a .gitignore file to the repo - TextWriter Writer = new StreamWriter (SparkleHelpers.CombineMore (SparklePaths.SparklePath, Name, - ".gitignore")); - Writer.WriteLine ("*~"); // Ignore gedit swap files - Writer.WriteLine (".*.sw?"); // Ignore vi swap files - Writer.WriteLine (".DS_store"); // Ignore OSX's invisible directories - Writer.Close (); + SparkleHelpers.DebugInfo ("Git", "[" + Name + "] Repository cloned"); - // TODO: write gitignore rules in repo/.git/info/exclude + Directory.Move (SparkleHelpers.CombineMore (SparklePaths.SparkleTmpPath, Name), + SparkleHelpers.CombineMore (SparklePaths.SparklePath, Name)); - // TODO: Install username and email from global file - - - } + // Add a .gitignore file to the repo + TextWriter writer = new StreamWriter (SparkleHelpers.CombineMore (SparklePaths.SparklePath, Name, + ".git/info/exclude")); + writer.WriteLine ("*~"); // Ignore gedit swap files + writer.WriteLine (".*.sw?"); // Ignore vi swap files + writer.WriteLine (".DS_store"); // Ignore OSX's invisible directories + writer.Close (); + // TODO: Install username and email from global file + } }; - } diff --git a/SparkleShare/SparkleShare.cs b/SparkleShare/SparkleShare.cs index edade95e..24931382 100644 --- a/SparkleShare/SparkleShare.cs +++ b/SparkleShare/SparkleShare.cs @@ -72,13 +72,8 @@ namespace SparkleShare { } } - Gtk.Application.Init (); - SparkleUI = new SparkleUI (HideUI); - // The main loop - Gtk.Application.Run (); - } // Prints the help output diff --git a/SparkleShare/SparkleUI.cs b/SparkleShare/SparkleUI.cs index 170fd073..5eb690b3 100644 --- a/SparkleShare/SparkleUI.cs +++ b/SparkleShare/SparkleUI.cs @@ -43,6 +43,8 @@ namespace SparkleShare { public SparkleUI (bool HideUI) { + Gtk.Application.Init (); + Repositories = new List (); Process = new Process () { @@ -87,6 +89,9 @@ namespace SparkleShare { } + // The main loop + Gtk.Application.Run (); + } @@ -254,7 +259,7 @@ namespace SparkleShare { // Updates the statusicon to the syncing state - public void UpdateStatusIconSyncing (object o, EventArgs args) + public void UpdateStatusIconToSyncing (object o, EventArgs args) { NotificationIcon.SyncingReposCount++; @@ -264,7 +269,7 @@ namespace SparkleShare { // Updates the syncing icon to the idle state - public void UpdateStatusIconIdle (object o, EventArgs args) + public void UpdateStatusIconToIdle (object o, EventArgs args) { NotificationIcon.SyncingReposCount--; @@ -296,19 +301,31 @@ namespace SparkleShare { }; repo.FetchingStarted += delegate { - Application.Invoke (UpdateStatusIconSyncing); + Application.Invoke (UpdateStatusIconToSyncing); }; repo.FetchingFinished += delegate { - Application.Invoke (UpdateStatusIconIdle); + Application.Invoke (UpdateStatusIconToIdle); + }; + + repo.CloningStarted += delegate { + Application.Invoke (UpdateStatusIconToSyncing); + }; + + repo.CloningFinished += delegate { + Application.Invoke (UpdateStatusIconToIdle); + }; + + repo.CloningFailed += delegate { + Application.Invoke (UpdateStatusIconToIdle); }; repo.PushingStarted += delegate { - Application.Invoke (UpdateStatusIconSyncing); + Application.Invoke (UpdateStatusIconToSyncing); }; repo.PushingFinished += delegate { - Application.Invoke (UpdateStatusIconIdle); + Application.Invoke (UpdateStatusIconToIdle); }; repo.ConflictDetected += delegate { From fc1219600e0dc26c90d84e198f5de7ea404bf946 Mon Sep 17 00:00:00 2001 From: Hylke Bons Date: Sat, 31 Jul 2010 20:13:01 +0100 Subject: [PATCH 20/38] Add new fetcher class --- SparkleShare/Makefile.am | 1 + SparkleShare/SparkleFetcher.cs | 122 +++++++++++++++++ SparkleShare/SparkleIntro.cs | 238 ++++++++++++++++++++++++++++++--- SparkleShare/SparkleRepo.cs | 77 +---------- SparkleShare/SparkleShare.cs | 2 +- SparkleShare/SparkleUI.cs | 12 -- 6 files changed, 349 insertions(+), 103 deletions(-) create mode 100644 SparkleShare/SparkleFetcher.cs diff --git a/SparkleShare/Makefile.am b/SparkleShare/Makefile.am index e567a44c..faebde1d 100644 --- a/SparkleShare/Makefile.am +++ b/SparkleShare/Makefile.am @@ -10,6 +10,7 @@ LINK = $(REF_SPARKLESHARE) SOURCES = \ Defines.cs \ SparkleBubble.cs \ +SparkleFetcher.cs \ SparkleHelpers.cs \ SparkleIntro.cs \ SparklePaths.cs \ diff --git a/SparkleShare/SparkleFetcher.cs b/SparkleShare/SparkleFetcher.cs new file mode 100644 index 00000000..ad8c509e --- /dev/null +++ b/SparkleShare/SparkleFetcher.cs @@ -0,0 +1,122 @@ +// SparkleShare, an instant update workflow to Git. +// Copyright (C) 2010 Hylke Bons +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +using Gtk; +using System; +using System.IO; +using System.Diagnostics; + +namespace SparkleShare { + + public class SparkleFetcher { + + public delegate void CloningStartedEventHandler (object o, SparkleEventArgs args); + public delegate void CloningFinishedEventHandler (object o, SparkleEventArgs args); + public delegate void CloningFailedEventHandler (object o, SparkleEventArgs args); + + public event CloningStartedEventHandler CloningStarted; + public event CloningFinishedEventHandler CloningFinished; + public event CloningFailedEventHandler CloningFailed; + + private string Folder; + private string RemoteOriginUrl; + private string RepoName; + + + public SparkleFetcher (string url, string folder) + { + + RepoName = Path.GetDirectoryName (folder); + Folder = folder; + RemoteOriginUrl = url; + + } + + + public void Clone () + { + + SparkleEventArgs args = new SparkleEventArgs ("CloningStarted"); + + if (CloningStarted != null) + CloningStarted (this, args); + + Process process = new Process () { + EnableRaisingEvents = true + }; + + process.StartInfo.RedirectStandardOutput = true; + process.StartInfo.UseShellExecute = false; + process.StartInfo.FileName = "git"; + process.StartInfo.Arguments = "clone " + RemoteOriginUrl + " " + Folder; + + Console.WriteLine (Folder); + + Console.WriteLine (process.StartInfo.FileName + " " + process.StartInfo.Arguments); + + process.Exited += delegate { + + Console.WriteLine (process.ExitTime.ToString ()); + Console.WriteLine (process.ExitCode); + + if (process.ExitCode != 0) { + + args = new SparkleEventArgs ("CloningFailed"); + + if (CloningFailed != null) + CloningFailed (this, args); + + } else { + + InstallExcludeRules (); + + args = new SparkleEventArgs ("CloningFinished"); + + Console.WriteLine ("FINISHED"); + + if (CloningFinished != null) { + Console.WriteLine ("EVENT FIRED"); + CloningFinished (this, args); + } + + } + + }; + + process.Start (); + + } + + + // Add a .gitignore file to the repo + private void InstallExcludeRules () + { + + TextWriter writer; + writer = new StreamWriter (SparkleHelpers.CombineMore (SparklePaths.SparklePath, + RepoName, ".git/info/exclude")); + + writer.WriteLine ("*~"); // Ignore gedit swap files + writer.WriteLine (".*.sw?"); // Ignore vi swap files + writer.WriteLine (".DS_store"); // Ignore OSX's invisible directories + + writer.Close (); + + } + + } + +} diff --git a/SparkleShare/SparkleIntro.cs b/SparkleShare/SparkleIntro.cs index 961b598f..da5222de 100644 --- a/SparkleShare/SparkleIntro.cs +++ b/SparkleShare/SparkleIntro.cs @@ -74,7 +74,7 @@ namespace SparkleShare { BorderWidth = 30 }; - Label introduction = new Label ("" + + Label header = new Label ("" + _("Welcome to SparkleShare!") + "") { UseMarkup = true, @@ -146,7 +146,7 @@ namespace SparkleShare { controls.Add (NextButton); - layout_vertical.PackStart (introduction, false, false, 0); + layout_vertical.PackStart (header, false, false, 0); layout_vertical.PackStart (information, false, false, 21); layout_vertical.PackStart (new Label (""), false, false, 0); layout_vertical.PackStart (table, false, false, 0); @@ -176,6 +176,7 @@ namespace SparkleShare { } + public void ShowStepTwo () { @@ -194,7 +195,7 @@ namespace SparkleShare { BorderWidth = 30 }; - Label introduction = new Label ("" + + Label header = new Label ("" + _("Where does your remote folder reside?") + "") { UseMarkup = true, @@ -223,13 +224,13 @@ namespace SparkleShare { ""; RadioButton radio_button_github = new RadioButton (radio_button, github_text); - + (radio_button_github.Child as Label).UseMarkup = true; (radio_button_github.Child as Label).Wrap = true; string gnome_text = "" + _("The GNOME Project") + "\n" + "" + - _("GNOME is an easy to understand interface to your computer.") + + _("GNOME is an easy to understand interface to your computer.") + " " + _("Select this option if you’re a developer or designer working on GNOME.") + ""; @@ -245,7 +246,7 @@ namespace SparkleShare { ""; RadioButton radio_button_gitorious = new RadioButton (radio_button, gitorious_text) { - Xalign = 0 + Xalign = 0 }; (radio_button_gitorious.Child as Label).UseMarkup = true; @@ -292,7 +293,7 @@ namespace SparkleShare { layout_folder.PackStart (folder_label, true, true, 12); layout_folder.PackStart (FolderEntry, true, true, 0); - + HButtonBox controls = new HButtonBox () { BorderWidth = 12, Layout = ButtonBoxStyle.End, @@ -303,9 +304,87 @@ namespace SparkleShare { AddButton.Clicked += delegate { - ShowStepTwoAndAHalf (); + string server = ""; - // TODO + if (radio_button.Active) { + + server = ServerEntry.Text; + + // Remove the trailing slash if there is one + if (server.EndsWith ("/")) + server = server.Trim ("/".ToCharArray ()); + + } + + if (radio_button_gitorious.Active) + server = "ssh://git@gitorious.org"; + + if (radio_button_github.Active) + server = "ssh://git@github.com"; + + if (radio_button_gnome.Active) + server = "ssh://git@gnome.org"; + + + string name = FolderEntry.Text; + + // Remove the starting slash if there is one + if (name.StartsWith ("/")) + name = name.Substring (1); + + + string url = server + "/" + name; + string tmp_folder = SparkleHelpers.CombineMore (SparklePaths.SparkleTmpPath, name); + + SparkleFetcher fetcher = new SparkleFetcher (url, tmp_folder); + + Console.WriteLine (url); + + fetcher.CloningStarted += delegate { + + SparkleHelpers.DebugInfo ("Git", "[" + name + "] Cloning Repository"); + + }; + + + fetcher.CloningFinished += delegate { + + Console.WriteLine ("CLONING FINISHED"); + + SparkleHelpers.DebugInfo ("Git", "[" + name + "] Repository cloned"); + + Directory.Move (tmp_folder, + SparkleHelpers.CombineMore (SparklePaths.SparklePath, name)); + + // Install username and email from global file + + ShowFinishedStep (); + + }; + + + fetcher.CloningFailed += delegate { + + SparkleHelpers.DebugInfo ("Git", "[" + name + "] Cloning failed"); + + try { + + Directory.Delete (SparkleHelpers.CombineMore (SparklePaths.SparkleTmpPath, + name)); + + SparkleHelpers.DebugInfo ("Config", + "[" + name + "] Deleted temporary directory"); + + } catch (System.IO.DirectoryNotFoundException) { + + ShowErrorStep (); + + } + + }; + + ShowStepTwoAndAHalf (); + fetcher.Clone (); }; @@ -315,12 +394,13 @@ namespace SparkleShare { ShowStepThree (); }; + if (!StepTwoOnly) controls.Add (skip_button); controls.Add (AddButton); - layout_vertical.PackStart (introduction, false, false, 0); + layout_vertical.PackStart (header, false, false, 0); layout_vertical.PackStart (new Label (""), false, false, 3); layout_vertical.PackStart (table, false, false, 0); layout_vertical.PackStart (layout_folder, false, false, 6); @@ -340,6 +420,133 @@ namespace SparkleShare { } + private void ShowErrorStep () + { + + Remove (Child); + + Title = _("Error adding folder"); + + HBox layout_horizontal = new HBox (false, 6); + + Image side_splash = new Image (SparkleHelpers.CombineMore (Defines.PREFIX, "share", "pixmaps", + "side-splash.png")); + + VBox wrapper = new VBox (false, 0); + + VBox layout_vertical = new VBox (false, 0) { + BorderWidth = 30 + }; + + Label header = new Label ("" + + _("Something went wrong…") + + "") { + UseMarkup = true, + Xalign = 0 + }; + + Label information = new Label (_("Hey, it's an Alpha!")) { + Xalign = 0, + Wrap = true + }; + + + HButtonBox controls = new HButtonBox () { + BorderWidth = 12, + Layout = ButtonBoxStyle.End + }; + + Button try_again_button = new Button (_("Try again…")) { + Sensitive = true + }; + + try_again_button.Clicked += delegate (object o, EventArgs args) { + + ShowStepTwo (); + + }; + + controls.Add (try_again_button); + + layout_vertical.PackStart (header, false, false, 0); + layout_vertical.PackStart (information, false, false, 0); + + wrapper.PackStart (layout_vertical, true, true, 0); + wrapper.PackStart (controls, false, true, 0); + + layout_horizontal.PackStart (side_splash, false, false, 0); + layout_horizontal.PackStart (wrapper, true, true, 0); + + Add (layout_horizontal); + + ShowAll (); + + } + + + private void ShowFinishedStep () + { + + Remove (Child); + + Title = _("Folder Added Successfully"); + + HBox layout_horizontal = new HBox (false, 6); + + Image side_splash = new Image (SparkleHelpers.CombineMore (Defines.PREFIX, "share", "pixmaps", + "side-splash.png")); + + VBox wrapper = new VBox (false, 0); + + VBox layout_vertical = new VBox (false, 0) { + BorderWidth = 30 + }; + + Label header = new Label ("" + + _("Done!") + + "") { + UseMarkup = true, + Xalign = 0 + }; + + Label information = new Label (_("Looks like the stars are aligned right for you!")) { + Xalign = 0, + Wrap = true + }; + + + HButtonBox controls = new HButtonBox () { + BorderWidth = 12, + Layout = ButtonBoxStyle.End + }; + + Button finish_button = new Button (_("Finish")); + + finish_button.Clicked += delegate (object o, EventArgs args) { + + SparkleShare.SparkleUI.UpdateRepositories (); + Destroy (); + + }; + + controls.Add (finish_button); + + layout_vertical.PackStart (header, false, false, 0); + layout_vertical.PackStart (information, false, false, 0); + + wrapper.PackStart (layout_vertical, true, true, 0); + wrapper.PackStart (controls, false, true, 0); + + layout_horizontal.PackStart (side_splash, false, false, 0); + layout_horizontal.PackStart (wrapper, true, true, 0); + + Add (layout_horizontal); + + ShowAll (); + + } + + private void ShowStepTwoAndAHalf () { @@ -358,11 +565,12 @@ namespace SparkleShare { BorderWidth = 30 }; - Label introduction = new Label ("" + + Label header = new Label ("" + String.Format (_("Retrieving folder ‘{0}’…"), FolderEntry.Text) + "") { UseMarkup = true, - Xalign = 0 + Xalign = 0, + Wrap = true }; Label information = new Label ("" + @@ -411,7 +619,7 @@ namespace SparkleShare { HBox box = new HBox (false, 0); table.Attach (spinner, 0, 1, 0, 1); - table.Attach (introduction, 1, 2, 0, 1); + table.Attach (header, 1, 2, 0, 1); table.Attach (information, 1, 2, 1, 2); box.PackStart (table, false, false, 0); @@ -451,7 +659,7 @@ namespace SparkleShare { BorderWidth = 30 }; - Label introduction = new Label ("" + + Label header = new Label ("" + _("SparkleShare is ready to go!") + "") { UseMarkup = true, @@ -473,7 +681,7 @@ namespace SparkleShare { link_wrapper.PackStart (link, false, false, 0); - layout_vertical.PackStart (introduction, false, false, 0); + layout_vertical.PackStart (header, false, false, 0); layout_vertical.PackStart (information, false, false, 21); layout_vertical.PackStart (link_wrapper, false, false, 0); diff --git a/SparkleShare/SparkleRepo.cs b/SparkleShare/SparkleRepo.cs index 60389f78..a9c87391 100644 --- a/SparkleShare/SparkleRepo.cs +++ b/SparkleShare/SparkleRepo.cs @@ -52,9 +52,6 @@ namespace SparkleShare { public delegate void FetchingFinishedEventHandler (object o, SparkleEventArgs args); public delegate void NewCommitEventHandler (object o, NewCommitArgs args); public delegate void ConflictDetectedEventHandler (object o, SparkleEventArgs args); - public delegate void CloningStartedEventHandler (object o, SparkleEventArgs args); - public delegate void CloningFinishedEventHandler (object o, SparkleEventArgs args); - public delegate void CloningFailedEventHandler (object o, SparkleEventArgs args); public event AddedEventHandler Added; public event CommitedEventHandler Commited; @@ -64,15 +61,13 @@ namespace SparkleShare { public event FetchingFinishedEventHandler FetchingFinished; public event NewCommitEventHandler NewCommit; public event ConflictDetectedEventHandler ConflictDetected; - public event CloningStartedEventHandler CloningStarted; - public event CloningFinishedEventHandler CloningFinished; - public event CloningFailedEventHandler CloningFailed; public SparkleRepo (string path) { -// if (Directory.Exists) + if (!Directory.Exists (path)) + Directory.CreateDirectory (path); LocalPath = path; Name = Path.GetFileName (LocalPath); @@ -140,74 +135,6 @@ namespace SparkleShare { } - public void Clone () - { - - SparkleEventArgs args = new SparkleEventArgs ("CloningStarted"); - - if (CloningStarted != null) - CloningStarted (this, args); - - - Process process = new Process () { - EnableRaisingEvents = true - }; - - process.StartInfo.RedirectStandardOutput = true; - process.StartInfo.UseShellExecute = false; - process.StartInfo.WorkingDirectory = SparklePaths.SparkleTmpPath; - process.StartInfo.Arguments = String.Format ("clone {0} {1}", RemoteOriginUrl, Name); - - process.Start (); - - process.Exited += delegate { - - if (Process.ExitCode != 0) { - - args = new SparkleEventArgs ("CloningFailed"); - - if (CloningFailed != null) - CloningFailed (this, args); - - - try { - Directory.Delete (SparkleHelpers.CombineMore (SparklePaths.SparkleTmpPath, Name)); - } catch (System.IO.DirectoryNotFoundException) { - SparkleHelpers.DebugInfo ("Config", "[" + Name + "] Temporary directory did not exist..."); - } - - } else { - - args = new SparkleEventArgs ("CloningFinished"); - - if (CloningFinished != null) - CloningFinished (this, args); - - - SparkleHelpers.DebugInfo ("Git", "[" + Name + "] Repository cloned"); - - Directory.Move (SparkleHelpers.CombineMore (SparklePaths.SparkleTmpPath, Name), - SparkleHelpers.CombineMore (SparklePaths.SparklePath, Name)); - - // Add a .gitignore file to the repo - TextWriter writer = new StreamWriter (SparkleHelpers.CombineMore (SparklePaths.SparklePath, Name, - ".git/info/exclude")); - - writer.WriteLine ("*~"); // Ignore gedit swap files - writer.WriteLine (".*.sw?"); // Ignore vi swap files - writer.WriteLine (".DS_store"); // Ignore OSX's invisible directories - - writer.Close (); - - // TODO: Install username and email from global file - - } - - }; - - } - - private void CheckForChanges () { diff --git a/SparkleShare/SparkleShare.cs b/SparkleShare/SparkleShare.cs index 24931382..adbb9381 100644 --- a/SparkleShare/SparkleShare.cs +++ b/SparkleShare/SparkleShare.cs @@ -12,7 +12,7 @@ // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License -// along with this program. If not, see . +// along with this program. If not, see . using Gtk; using Mono.Unix; diff --git a/SparkleShare/SparkleUI.cs b/SparkleShare/SparkleUI.cs index 5eb690b3..33e61da6 100644 --- a/SparkleShare/SparkleUI.cs +++ b/SparkleShare/SparkleUI.cs @@ -308,18 +308,6 @@ namespace SparkleShare { Application.Invoke (UpdateStatusIconToIdle); }; - repo.CloningStarted += delegate { - Application.Invoke (UpdateStatusIconToSyncing); - }; - - repo.CloningFinished += delegate { - Application.Invoke (UpdateStatusIconToIdle); - }; - - repo.CloningFailed += delegate { - Application.Invoke (UpdateStatusIconToIdle); - }; - repo.PushingStarted += delegate { Application.Invoke (UpdateStatusIconToSyncing); }; From 5a48d9a8396b3498f6853f09c7874eb3cd9173f1 Mon Sep 17 00:00:00 2001 From: Alex Hudson Date: Sat, 31 Jul 2010 20:21:33 +0100 Subject: [PATCH 21/38] Fix nautilus install path --- AUTHORS | 1 + SparkleShare/Nautilus/Makefile.am | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/AUTHORS b/AUTHORS index 691d6dbe..fb859a62 100644 --- a/AUTHORS +++ b/AUTHORS @@ -4,6 +4,7 @@ Maintainer: Contributors: + Alex Hudson Andreas Nilsson Benjamin Podszun Bertrand Lorentz diff --git a/SparkleShare/Nautilus/Makefile.am b/SparkleShare/Nautilus/Makefile.am index feb9a115..dedd2f6e 100644 --- a/SparkleShare/Nautilus/Makefile.am +++ b/SparkleShare/Nautilus/Makefile.am @@ -2,7 +2,7 @@ SOURCES = \ sparkleshare-nautilus-extension.py if NAUTILUS_EXTENSION_ENABLED -NAUTILUS_PYTHON_INSTALL_DIR=$(subst $(NAUTILUS_LIBDIR),${libdir},$(NAUTILUS_PYTHON_DIR)) +NAUTILUS_PYTHON_INSTALL_DIR=$(subst "$(NAUTILUS_LIBDIR)/","${libdir}/",$(NAUTILUS_PYTHON_DIR)) extensiondir = $(NAUTILUS_PYTHON_INSTALL_DIR) extension_SCRIPTS = $(addprefix $(srcdir)/, $(SOURCES)) else From 50693d9960173e2760c740f6b3dd417ce7ecddeb Mon Sep 17 00:00:00 2001 From: Hylke Bons Date: Sun, 1 Aug 2010 13:31:11 +0100 Subject: [PATCH 22/38] Fix some events not firing and deleting of temporary repos --- SparkleShare/SparkleFetcher.cs | 21 ++++++++------- SparkleShare/SparkleIntro.cs | 45 ++++++++++++++++++++++---------- SparkleShare/SparkleShare.csproj | 1 + 3 files changed, 43 insertions(+), 24 deletions(-) diff --git a/SparkleShare/SparkleFetcher.cs b/SparkleShare/SparkleFetcher.cs index ad8c509e..de1fbc4d 100644 --- a/SparkleShare/SparkleFetcher.cs +++ b/SparkleShare/SparkleFetcher.cs @@ -33,13 +33,11 @@ namespace SparkleShare { private string Folder; private string RemoteOriginUrl; - private string RepoName; public SparkleFetcher (string url, string folder) { - RepoName = Path.GetDirectoryName (folder); Folder = folder; RemoteOriginUrl = url; @@ -81,16 +79,13 @@ namespace SparkleShare { } else { + InstallUserInfo (); InstallExcludeRules (); args = new SparkleEventArgs ("CloningFinished"); - Console.WriteLine ("FINISHED"); - - if (CloningFinished != null) { - Console.WriteLine ("EVENT FIRED"); + if (CloningFinished != null) CloningFinished (this, args); - } } @@ -101,13 +96,19 @@ namespace SparkleShare { } + private void InstallUserInfo () + { + + // Install username and email from global file + + } + + // Add a .gitignore file to the repo private void InstallExcludeRules () { - TextWriter writer; - writer = new StreamWriter (SparkleHelpers.CombineMore (SparklePaths.SparklePath, - RepoName, ".git/info/exclude")); + TextWriter writer = new StreamWriter (SparkleHelpers.CombineMore (Folder, ".git/info/exclude")); writer.WriteLine ("*~"); // Ignore gedit swap files writer.WriteLine (".*.sw?"); // Ignore vi swap files diff --git a/SparkleShare/SparkleIntro.cs b/SparkleShare/SparkleIntro.cs index da5222de..49c05254 100644 --- a/SparkleShare/SparkleIntro.cs +++ b/SparkleShare/SparkleIntro.cs @@ -334,7 +334,8 @@ namespace SparkleShare { string url = server + "/" + name; - string tmp_folder = SparkleHelpers.CombineMore (SparklePaths.SparkleTmpPath, name); + string tmp_folder = SparkleHelpers.CombineMore (SparklePaths.SparkleTmpPath, + System.IO.Path.GetFileNameWithoutExtension (name)); SparkleFetcher fetcher = new SparkleFetcher (url, tmp_folder); @@ -349,14 +350,11 @@ namespace SparkleShare { fetcher.CloningFinished += delegate { - Console.WriteLine ("CLONING FINISHED"); - SparkleHelpers.DebugInfo ("Git", "[" + name + "] Repository cloned"); - Directory.Move (tmp_folder, - SparkleHelpers.CombineMore (SparklePaths.SparklePath, name)); + ClearAttributes (tmp_folder); - // Install username and email from global file + Directory.Move (tmp_folder, SparklePaths.SparklePath); ShowFinishedStep (); @@ -367,20 +365,18 @@ namespace SparkleShare { SparkleHelpers.DebugInfo ("Git", "[" + name + "] Cloning failed"); - try { + if (Directory.Exists (tmp_folder)) { - Directory.Delete (SparkleHelpers.CombineMore (SparklePaths.SparkleTmpPath, - name)); + ClearAttributes (tmp_folder); + Directory.Delete (tmp_folder, true); SparkleHelpers.DebugInfo ("Config", "[" + name + "] Deleted temporary directory"); - } catch (System.IO.DirectoryNotFoundException) { - - ShowErrorStep (); - } + ShowErrorStep (); + }; ShowStepTwoAndAHalf (); @@ -420,6 +416,27 @@ namespace SparkleShare { } + // Recursively sets access rights of a folder to 'Normal' + private void ClearAttributes (string path) + { + + if (Directory .Exists (path)) { + + string [] folders = Directory .GetDirectories (path); + + foreach (string folder in folders) + ClearAttributes (folder); + + string [] files = Directory .GetFiles(path); + + foreach (string file in files) + File.SetAttributes (file, FileAttributes.Normal); + + } + + } + + private void ShowErrorStep () { @@ -440,7 +457,7 @@ namespace SparkleShare { Label header = new Label ("" + _("Something went wrong…") + - "") { + "\n") { UseMarkup = true, Xalign = 0 }; diff --git a/SparkleShare/SparkleShare.csproj b/SparkleShare/SparkleShare.csproj index 3372eb65..21cb32b2 100644 --- a/SparkleShare/SparkleShare.csproj +++ b/SparkleShare/SparkleShare.csproj @@ -40,6 +40,7 @@ + From 27ff5e25e1f78f1579686dee42b6ef1de94334ee Mon Sep 17 00:00:00 2001 From: Hylke Bons Date: Sun, 1 Aug 2010 15:19:49 +0100 Subject: [PATCH 23/38] Fix moving of repos to the SparkleShare folder when cloning has finished --- SparkleShare/SparkleIntro.cs | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/SparkleShare/SparkleIntro.cs b/SparkleShare/SparkleIntro.cs index 49c05254..36165677 100644 --- a/SparkleShare/SparkleIntro.cs +++ b/SparkleShare/SparkleIntro.cs @@ -332,6 +332,8 @@ namespace SparkleShare { if (name.StartsWith ("/")) name = name.Substring (1); + // TODO: remove .git suffic for folders in Sparkleshare + // TODO: Add '... (2)' if folder already exists string url = server + "/" + name; string tmp_folder = SparkleHelpers.CombineMore (SparklePaths.SparkleTmpPath, @@ -354,7 +356,18 @@ namespace SparkleShare { ClearAttributes (tmp_folder); - Directory.Move (tmp_folder, SparklePaths.SparklePath); + try { + + Directory.Move (tmp_folder, + SparkleHelpers.CombineMore (SparklePaths.SparklePath, + System.IO.Path.GetFileNameWithoutExtension (name))); + + } catch (Exception e) { + + SparkleHelpers.DebugInfo ("Git", + "[" + name + "] Error moving folder: " + e.Message); + + } ShowFinishedStep (); @@ -542,7 +555,7 @@ namespace SparkleShare { finish_button.Clicked += delegate (object o, EventArgs args) { SparkleShare.SparkleUI.UpdateRepositories (); - Destroy (); +// Destroy (); }; From 567f4503cdbfaee80ab568e8a8d68c23e07bd459 Mon Sep 17 00:00:00 2001 From: Hylke Bons Date: Sun, 1 Aug 2010 16:31:45 +0100 Subject: [PATCH 24/38] Add a numbered prefix name for cloned folders if the name already exists --- SparkleShare/SparkleIntro.cs | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/SparkleShare/SparkleIntro.cs b/SparkleShare/SparkleIntro.cs index 36165677..229f3f86 100644 --- a/SparkleShare/SparkleIntro.cs +++ b/SparkleShare/SparkleIntro.cs @@ -332,12 +332,11 @@ namespace SparkleShare { if (name.StartsWith ("/")) name = name.Substring (1); - // TODO: remove .git suffic for folders in Sparkleshare - // TODO: Add '... (2)' if folder already exists + string canonical_name = System.IO.Path.GetFileNameWithoutExtension (name); string url = server + "/" + name; string tmp_folder = SparkleHelpers.CombineMore (SparklePaths.SparkleTmpPath, - System.IO.Path.GetFileNameWithoutExtension (name)); + canonical_name); SparkleFetcher fetcher = new SparkleFetcher (url, tmp_folder); @@ -345,22 +344,36 @@ namespace SparkleShare { fetcher.CloningStarted += delegate { - SparkleHelpers.DebugInfo ("Git", "[" + name + "] Cloning Repository"); + SparkleHelpers.DebugInfo ("Git", "[" + canonical_name + "] Cloning Repository"); }; fetcher.CloningFinished += delegate { - SparkleHelpers.DebugInfo ("Git", "[" + name + "] Repository cloned"); + SparkleHelpers.DebugInfo ("Git", "[" + canonical_name + "] Repository cloned"); ClearAttributes (tmp_folder); try { + bool folder_exists = Directory.Exists ( + SparkleHelpers.CombineMore (SparklePaths.SparklePath, canonical_name)); + + int i = 1; + while (folder_exists) { + + i++; + folder_exists = Directory.Exists ( + SparkleHelpers.CombineMore (SparklePaths.SparklePath, + canonical_name + " (" + i + ")")); + + } + + string target_folder_name = canonical_name + " (" + i + ")"; + Directory.Move (tmp_folder, - SparkleHelpers.CombineMore (SparklePaths.SparklePath, - System.IO.Path.GetFileNameWithoutExtension (name))); + SparkleHelpers.CombineMore (SparklePaths.SparklePath, target_folder_name)); } catch (Exception e) { @@ -376,7 +389,7 @@ namespace SparkleShare { fetcher.CloningFailed += delegate { - SparkleHelpers.DebugInfo ("Git", "[" + name + "] Cloning failed"); + SparkleHelpers.DebugInfo ("Git", "[" + canonical_name + "] Cloning failed"); if (Directory.Exists (tmp_folder)) { From 7f5a5a4b3160219d2b788fd796de2e2c932f8ed6 Mon Sep 17 00:00:00 2001 From: Hylke Bons Date: Sun, 1 Aug 2010 16:41:45 +0100 Subject: [PATCH 25/38] Use the secondary text color for information texts instead of hard coding it --- SparkleDiff/RevisionView.cs | 2 ++ SparkleShare/SparkleIntro.cs | 24 ++++++++++++++++++++---- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/SparkleDiff/RevisionView.cs b/SparkleDiff/RevisionView.cs index 9b4be802..49cec875 100644 --- a/SparkleDiff/RevisionView.cs +++ b/SparkleDiff/RevisionView.cs @@ -117,10 +117,12 @@ namespace SparkleShare { // Example: from "rgb:0,0,0" to "#000000" public string GdkColorToHex (Gdk.Color color) { + return String.Format("#{0:X2}{1:X2}{2:X2}", (int) Math.Truncate(color.Red / 256.00), (int) Math.Truncate(color.Green / 256.00), (int) Math.Truncate(color.Blue / 256.00)); + } diff --git a/SparkleShare/SparkleIntro.cs b/SparkleShare/SparkleIntro.cs index 229f3f86..e7b415ed 100644 --- a/SparkleShare/SparkleIntro.cs +++ b/SparkleShare/SparkleIntro.cs @@ -33,6 +33,7 @@ namespace SparkleShare { private Button NextButton; private Button AddButton; private bool StepTwoOnly; + private string SecondaryTextColor; // Short alias for the translations public static string _ (string s) @@ -53,6 +54,9 @@ namespace SparkleShare { SetSizeRequest (640, 440); + Window window = new Window (""); + SecondaryTextColor = GdkColorToHex (window.Style.Foreground (StateType.Insensitive)); + ShowStepOne (); } @@ -218,7 +222,7 @@ namespace SparkleShare { layout_server.Add (ServerEntry); string github_text = "" + "Github" + "\n" + - "" + + "" + _("Github provides free hosting for Open Source projects, ") + _("but also has paid accounts for extra space and bandwidth.") + ""; @@ -229,7 +233,7 @@ namespace SparkleShare { (radio_button_github.Child as Label).Wrap = true; string gnome_text = "" + _("The GNOME Project") + "\n" + - "" + + "" + _("GNOME is an easy to understand interface to your computer.") + " " + _("Select this option if you’re a developer or designer working on GNOME.") + ""; @@ -240,7 +244,7 @@ namespace SparkleShare { (radio_button_gnome.Child as Label).Wrap = true; string gitorious_text = "" + _("Gitorious") + "\n" + - "" + + "" + _("Gitorious provides a completely Free and Open Source infrastructure ") + _("for hosting Open Source projects.") + ""; @@ -616,7 +620,7 @@ namespace SparkleShare { Wrap = true }; - Label information = new Label ("" + + Label information = new Label ("" + _("This may take a while.\n") + _("You sure it’s not coffee o-clock?" + "")) { @@ -909,6 +913,18 @@ namespace SparkleShare { } + // Converts a Gdk RGB color to a hex value. + // Example: from "rgb:0,0,0" to "#000000" + public string GdkColorToHex (Gdk.Color color) + { + + return String.Format("#{0:X2}{1:X2}{2:X2}", + (int) Math.Truncate(color.Red / 256.00), + (int) Math.Truncate(color.Green / 256.00), + (int) Math.Truncate(color.Blue / 256.00)); + + } + // Convert the more human readable sparkle:// url to something Git can use. // Example: sparkle://gitorious.org/sparkleshare ssh://git@gitorious.org/sparkleshare /* private static string SparkleToGitUrl (string url) From 5a444c5bc1a86397cb805797d4f82114b181e485 Mon Sep 17 00:00:00 2001 From: Hylke Bons Date: Sun, 1 Aug 2010 17:01:34 +0100 Subject: [PATCH 26/38] Fix some crashes due to calling UI updates from a different thread --- SparkleShare/SparkleFetcher.cs | 2 +- SparkleShare/SparkleIntro.cs | 30 ++++++++++++++++++------------ 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/SparkleShare/SparkleFetcher.cs b/SparkleShare/SparkleFetcher.cs index de1fbc4d..545ae6b9 100644 --- a/SparkleShare/SparkleFetcher.cs +++ b/SparkleShare/SparkleFetcher.cs @@ -99,7 +99,7 @@ namespace SparkleShare { private void InstallUserInfo () { - // Install username and email from global file + // TODO: Install username and email from global file } diff --git a/SparkleShare/SparkleIntro.cs b/SparkleShare/SparkleIntro.cs index e7b415ed..d3a94581 100644 --- a/SparkleShare/SparkleIntro.cs +++ b/SparkleShare/SparkleIntro.cs @@ -386,7 +386,7 @@ namespace SparkleShare { } - ShowFinishedStep (); + Application.Invoke (delegate { ShowFinishedStep (); }); }; @@ -405,7 +405,7 @@ namespace SparkleShare { } - ShowErrorStep (); + Application.Invoke (delegate { ShowErrorStep (); }); }; @@ -486,15 +486,18 @@ namespace SparkleShare { }; Label header = new Label ("" + - _("Something went wrong…") + - "\n") { + _("Something went wrong…") + + "\n") { UseMarkup = true, Xalign = 0 }; - Label information = new Label (_("Hey, it's an Alpha!")) { + Label information = new Label ("" + + _("Hey, it's an Alpha!") + + "") { Xalign = 0, - Wrap = true + Wrap = true, + UseMarkup = true }; @@ -516,7 +519,7 @@ namespace SparkleShare { controls.Add (try_again_button); layout_vertical.PackStart (header, false, false, 0); - layout_vertical.PackStart (information, false, false, 0); + layout_vertical.PackStart (information, false, false, 6); wrapper.PackStart (layout_vertical, true, true, 0); wrapper.PackStart (controls, false, true, 0); @@ -550,15 +553,18 @@ namespace SparkleShare { }; Label header = new Label ("" + - _("Done!") + - "") { + _("Folder successfully retrieved!") + + "") { UseMarkup = true, Xalign = 0 }; - Label information = new Label (_("Looks like the stars are aligned right for you!")) { + Label information = new Label ("" + + _("Buy a lottery ticket!") + + "") { Xalign = 0, - Wrap = true + Wrap = true, + UseMarkup = true }; @@ -579,7 +585,7 @@ namespace SparkleShare { controls.Add (finish_button); layout_vertical.PackStart (header, false, false, 0); - layout_vertical.PackStart (information, false, false, 0); + layout_vertical.PackStart (information, false, false, 6); wrapper.PackStart (layout_vertical, true, true, 0); wrapper.PackStart (controls, false, true, 0); From c7d37e5da206b4c3e32baf5ff74f26fa00d75285 Mon Sep 17 00:00:00 2001 From: Hylke Bons Date: Sun, 1 Aug 2010 17:18:11 +0100 Subject: [PATCH 27/38] Remove unneeded source file in sparklediff --- SparkleDiff/LeftRevisionView.cs | 36 ---------------------------- SparkleShare/SparkleIntro.cs | 42 ++++++++++++++++----------------- 2 files changed, 21 insertions(+), 57 deletions(-) delete mode 100644 SparkleDiff/LeftRevisionView.cs diff --git a/SparkleDiff/LeftRevisionView.cs b/SparkleDiff/LeftRevisionView.cs deleted file mode 100644 index 402112be..00000000 --- a/SparkleDiff/LeftRevisionView.cs +++ /dev/null @@ -1,36 +0,0 @@ -// SparkleShare, an instant update workflow to Git. -// Copyright (C) 2010 Hylke Bons -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . - -using Gtk; - -namespace SparkleShare { - - public class LeftRevisionView : RevisionView { - - public LeftRevisionView (string [] revisions) : base (revisions) { - - ComboBox.Active = 1; - - if (Direction == Gtk.TextDirection.Ltr) - ScrolledWindow.Placement = CornerType.TopRight; - else - ScrolledWindow.Placement = CornerType.TopLeft; - - } - - } - -} diff --git a/SparkleShare/SparkleIntro.cs b/SparkleShare/SparkleIntro.cs index d3a94581..06c26d46 100644 --- a/SparkleShare/SparkleIntro.cs +++ b/SparkleShare/SparkleIntro.cs @@ -446,27 +446,6 @@ namespace SparkleShare { } - // Recursively sets access rights of a folder to 'Normal' - private void ClearAttributes (string path) - { - - if (Directory .Exists (path)) { - - string [] folders = Directory .GetDirectories (path); - - foreach (string folder in folders) - ClearAttributes (folder); - - string [] files = Directory .GetFiles(path); - - foreach (string file in files) - File.SetAttributes (file, FileAttributes.Normal); - - } - - } - - private void ShowErrorStep () { @@ -919,6 +898,27 @@ namespace SparkleShare { } + // Recursively sets access rights of a folder to 'Normal' + private void ClearAttributes (string path) + { + + if (Directory.Exists (path)) { + + string [] folders = Directory .GetDirectories (path); + + foreach (string folder in folders) + ClearAttributes (folder); + + string [] files = Directory .GetFiles(path); + + foreach (string file in files) + File.SetAttributes (file, FileAttributes.Normal); + + } + + } + + // Converts a Gdk RGB color to a hex value. // Example: from "rgb:0,0,0" to "#000000" public string GdkColorToHex (Gdk.Color color) From 069ffca1fca997a7d13131fcfab39cf72603be00 Mon Sep 17 00:00:00 2001 From: Hylke Bons Date: Sun, 1 Aug 2010 17:26:23 +0100 Subject: [PATCH 28/38] add todo --- SparkleShare/SparkleStatusIcon.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/SparkleShare/SparkleStatusIcon.cs b/SparkleShare/SparkleStatusIcon.cs index 22caf107..f736d88b 100644 --- a/SparkleShare/SparkleStatusIcon.cs +++ b/SparkleShare/SparkleStatusIcon.cs @@ -127,6 +127,7 @@ namespace SparkleShare { Menu.Add (new SeparatorMenuItem ()); + // TODO: Append folder size in secondary text color Gtk.Action folder_action = new Gtk.Action ("", _("SparkleShare Folder")) { IconName = "folder-sparkleshare", IsImportant = true From 44c092886dda69ca7a4a0dd08b23c7db492a729b Mon Sep 17 00:00:00 2001 From: Hylke Bons Date: Sun, 1 Aug 2010 18:12:02 +0100 Subject: [PATCH 29/38] Install user info from global config file after cloning a repo --- SparkleShare/SparkleFetcher.cs | 41 ++++++++++++++++++++++++++-------- SparkleShare/SparkleIntro.cs | 2 +- 2 files changed, 33 insertions(+), 10 deletions(-) diff --git a/SparkleShare/SparkleFetcher.cs b/SparkleShare/SparkleFetcher.cs index 545ae6b9..f64be9f0 100644 --- a/SparkleShare/SparkleFetcher.cs +++ b/SparkleShare/SparkleFetcher.cs @@ -31,14 +31,14 @@ namespace SparkleShare { public event CloningFinishedEventHandler CloningFinished; public event CloningFailedEventHandler CloningFailed; - private string Folder; + private string TargetFolder; private string RemoteOriginUrl; public SparkleFetcher (string url, string folder) { - Folder = folder; + TargetFolder = folder; RemoteOriginUrl = url; } @@ -47,6 +47,9 @@ namespace SparkleShare { public void Clone () { + if (Directory.Exists (TargetFolder)) + Directory.Delete (TargetFolder, true); + SparkleEventArgs args = new SparkleEventArgs ("CloningStarted"); if (CloningStarted != null) @@ -59,11 +62,7 @@ namespace SparkleShare { process.StartInfo.RedirectStandardOutput = true; process.StartInfo.UseShellExecute = false; process.StartInfo.FileName = "git"; - process.StartInfo.Arguments = "clone " + RemoteOriginUrl + " " + Folder; - - Console.WriteLine (Folder); - - Console.WriteLine (process.StartInfo.FileName + " " + process.StartInfo.Arguments); + process.StartInfo.Arguments = "clone " + RemoteOriginUrl + " " + TargetFolder; process.Exited += delegate { @@ -96,10 +95,34 @@ namespace SparkleShare { } + // Install the user's name and email into + // the newly cloned repository private void InstallUserInfo () { - // TODO: Install username and email from global file + string global_config_file_path = SparkleHelpers.CombineMore (SparklePaths.SparkleConfigPath, "config"); + + if (File.Exists (global_config_file_path)) { + + StreamReader reader = new StreamReader (global_config_file_path); + string user_info = reader.ReadToEnd (); + reader.Close (); + + string repo_config_file_path = SparkleHelpers.CombineMore (TargetFolder, ".git", "config"); + + reader = new StreamReader (repo_config_file_path); + string repo_info = reader.ReadToEnd (); + reader.Close (); + + string new_repo_info = repo_info + "\n" + user_info; + + TextWriter writer = new StreamWriter (repo_config_file_path); + writer.WriteLine (new_repo_info); + writer.Close (); + + SparkleHelpers.DebugInfo ("Config", "Added user info to '" + repo_config_file_path + "'"); + + } } @@ -108,7 +131,7 @@ namespace SparkleShare { private void InstallExcludeRules () { - TextWriter writer = new StreamWriter (SparkleHelpers.CombineMore (Folder, ".git/info/exclude")); + TextWriter writer = new StreamWriter (SparkleHelpers.CombineMore (TargetFolder, ".git/info/exclude")); writer.WriteLine ("*~"); // Ignore gedit swap files writer.WriteLine (".*.sw?"); // Ignore vi swap files diff --git a/SparkleShare/SparkleIntro.cs b/SparkleShare/SparkleIntro.cs index 06c26d46..a4489cf7 100644 --- a/SparkleShare/SparkleIntro.cs +++ b/SparkleShare/SparkleIntro.cs @@ -799,7 +799,7 @@ namespace SparkleShare { private void Configure () { - string config_file_path = SparkleHelpers.CombineMore (SparklePaths.SparkleConfigPath, ".gitconfig"); + string config_file_path = SparkleHelpers.CombineMore (SparklePaths.SparkleConfigPath, "config"); TextWriter writer = new StreamWriter (config_file_path); writer.WriteLine ("[user]\n" + From 3dcc661d776ffc742b8d3172579bc6cf65eac8ac Mon Sep 17 00:00:00 2001 From: Hylke Bons Date: Sun, 1 Aug 2010 18:17:50 +0100 Subject: [PATCH 30/38] don't add a newline to the global configuration file --- SparkleShare/SparkleIntro.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SparkleShare/SparkleIntro.cs b/SparkleShare/SparkleIntro.cs index a4489cf7..dc8d46c8 100644 --- a/SparkleShare/SparkleIntro.cs +++ b/SparkleShare/SparkleIntro.cs @@ -804,7 +804,7 @@ namespace SparkleShare { TextWriter writer = new StreamWriter (config_file_path); writer.WriteLine ("[user]\n" + "\tname = " + NameEntry.Text + "\n" + - "\temail = " + EmailEntry.Text + "\n"); + "\temail = " + EmailEntry.Text); writer.Close (); SparkleHelpers.DebugInfo ("Config", "Created '" + config_file_path + "'"); From eac51b1a1293f8774aed3c4129493c727f5cae2e Mon Sep 17 00:00:00 2001 From: Hylke Bons Date: Sun, 1 Aug 2010 18:27:53 +0100 Subject: [PATCH 31/38] don't use small text for infomation texts --- SparkleShare/SparkleIntro.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/SparkleShare/SparkleIntro.cs b/SparkleShare/SparkleIntro.cs index dc8d46c8..0f2bf970 100644 --- a/SparkleShare/SparkleIntro.cs +++ b/SparkleShare/SparkleIntro.cs @@ -471,7 +471,7 @@ namespace SparkleShare { Xalign = 0 }; - Label information = new Label ("" + + Label information = new Label ("" + _("Hey, it's an Alpha!") + "") { Xalign = 0, @@ -498,7 +498,7 @@ namespace SparkleShare { controls.Add (try_again_button); layout_vertical.PackStart (header, false, false, 0); - layout_vertical.PackStart (information, false, false, 6); + layout_vertical.PackStart (information, false, false, 3); wrapper.PackStart (layout_vertical, true, true, 0); wrapper.PackStart (controls, false, true, 0); @@ -538,7 +538,7 @@ namespace SparkleShare { Xalign = 0 }; - Label information = new Label ("" + + Label information = new Label ("" + _("Buy a lottery ticket!") + "") { Xalign = 0, @@ -564,7 +564,7 @@ namespace SparkleShare { controls.Add (finish_button); layout_vertical.PackStart (header, false, false, 0); - layout_vertical.PackStart (information, false, false, 6); + layout_vertical.PackStart (information, false, false, 3); wrapper.PackStart (layout_vertical, true, true, 0); wrapper.PackStart (controls, false, true, 0); From 3ffe8dcd556f0e6edb88dc4ce4c2418cf56feddb Mon Sep 17 00:00:00 2001 From: Hylke Bons Date: Sun, 1 Aug 2010 18:42:09 +0100 Subject: [PATCH 32/38] code cleanup --- SparkleShare/SparkleFetcher.cs | 2 ++ SparkleShare/SparkleUI.cs | 1 + 2 files changed, 3 insertions(+) diff --git a/SparkleShare/SparkleFetcher.cs b/SparkleShare/SparkleFetcher.cs index f64be9f0..ccd08e75 100644 --- a/SparkleShare/SparkleFetcher.cs +++ b/SparkleShare/SparkleFetcher.cs @@ -114,6 +114,8 @@ namespace SparkleShare { string repo_info = reader.ReadToEnd (); reader.Close (); + File.Delete (repo_config_file_path); + string new_repo_info = repo_info + "\n" + user_info; TextWriter writer = new StreamWriter (repo_config_file_path); diff --git a/SparkleShare/SparkleUI.cs b/SparkleShare/SparkleUI.cs index 33e61da6..0f41cc22 100644 --- a/SparkleShare/SparkleUI.cs +++ b/SparkleShare/SparkleUI.cs @@ -168,6 +168,7 @@ namespace SparkleShare { if (!File.Exists (desktopfile_path)) { if (!Directory.Exists (apps_path)) + Directory.CreateDirectory (apps_path); TextWriter writer = new StreamWriter (desktopfile_path); From 48e919920f12d6d930d57bfd696f67fbfbc62955 Mon Sep 17 00:00:00 2001 From: Hylke Bons Date: Sun, 1 Aug 2010 19:17:57 +0100 Subject: [PATCH 33/38] Use SparkleToGitUrl method on typed in addresses --- SparkleShare/SparkleIntro.cs | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/SparkleShare/SparkleIntro.cs b/SparkleShare/SparkleIntro.cs index 0f2bf970..67123a80 100644 --- a/SparkleShare/SparkleIntro.cs +++ b/SparkleShare/SparkleIntro.cs @@ -312,7 +312,7 @@ namespace SparkleShare { if (radio_button.Active) { - server = ServerEntry.Text; + server = SparkleToGitUrl (ServerEntry.Text); // Remove the trailing slash if there is one if (server.EndsWith ("/")) @@ -870,8 +870,10 @@ namespace SparkleShare { process.Start (); process.Exited += delegate { + SparkleHelpers.DebugInfo ("Config", "Created key '" + key_file_name + "'"); SparkleHelpers.DebugInfo ("Config", "Created key '" + key_file_name + ".pub'"); + }; } @@ -924,30 +926,26 @@ namespace SparkleShare { public string GdkColorToHex (Gdk.Color color) { - return String.Format("#{0:X2}{1:X2}{2:X2}", - (int) Math.Truncate(color.Red / 256.00), - (int) Math.Truncate(color.Green / 256.00), - (int) Math.Truncate(color.Blue / 256.00)); + return String.Format ("#{0:X2}{1:X2}{2:X2}", + (int) Math.Truncate (color.Red / 256.00), + (int) Math.Truncate (color.Green / 256.00), + (int) Math.Truncate (color.Blue / 256.00)); } + // Convert the more human readable sparkle:// url to something Git can use. // Example: sparkle://gitorious.org/sparkleshare ssh://git@gitorious.org/sparkleshare -/* private static string SparkleToGitUrl (string url) + private static string SparkleToGitUrl (string url) { if (url.StartsWith ("sparkle://")) url = url.Replace ("sparkle://", "ssh://git@"); - // Usually don't need the ".git" at the end. - // It looks ugly as a folder too. - if (url.EndsWith (".git")) - url = url.Substring (0, url.Length - 4); - return url; } -*/ + } } From 25bda54c4f074bb3494cc23b8d5c2dcf63b0a92d Mon Sep 17 00:00:00 2001 From: Hylke Bons Date: Sun, 1 Aug 2010 19:30:20 +0100 Subject: [PATCH 34/38] adjust some paddings in intro and add some debuginfo to fetcher --- SparkleShare/SparkleFetcher.cs | 15 +++------------ SparkleShare/SparkleIntro.cs | 4 ++-- 2 files changed, 5 insertions(+), 14 deletions(-) diff --git a/SparkleShare/SparkleFetcher.cs b/SparkleShare/SparkleFetcher.cs index ccd08e75..ce8ef033 100644 --- a/SparkleShare/SparkleFetcher.cs +++ b/SparkleShare/SparkleFetcher.cs @@ -66,8 +66,7 @@ namespace SparkleShare { process.Exited += delegate { - Console.WriteLine (process.ExitTime.ToString ()); - Console.WriteLine (process.ExitCode); + SparkleHelpers.DebugInfo ("Git", "Exit code " + process.ExitCode.ToString ()); if (process.ExitCode != 0) { @@ -110,16 +109,8 @@ namespace SparkleShare { string repo_config_file_path = SparkleHelpers.CombineMore (TargetFolder, ".git", "config"); - reader = new StreamReader (repo_config_file_path); - string repo_info = reader.ReadToEnd (); - reader.Close (); - - File.Delete (repo_config_file_path); - - string new_repo_info = repo_info + "\n" + user_info; - - TextWriter writer = new StreamWriter (repo_config_file_path); - writer.WriteLine (new_repo_info); + TextWriter writer = File.AppendText (repo_config_file_path); + writer.WriteLine (user_info); writer.Close (); SparkleHelpers.DebugInfo ("Config", "Added user info to '" + repo_config_file_path + "'"); diff --git a/SparkleShare/SparkleIntro.cs b/SparkleShare/SparkleIntro.cs index 67123a80..2d9b31aa 100644 --- a/SparkleShare/SparkleIntro.cs +++ b/SparkleShare/SparkleIntro.cs @@ -498,7 +498,7 @@ namespace SparkleShare { controls.Add (try_again_button); layout_vertical.PackStart (header, false, false, 0); - layout_vertical.PackStart (information, false, false, 3); + layout_vertical.PackStart (information, false, false, 0); wrapper.PackStart (layout_vertical, true, true, 0); wrapper.PackStart (controls, false, true, 0); @@ -564,7 +564,7 @@ namespace SparkleShare { controls.Add (finish_button); layout_vertical.PackStart (header, false, false, 0); - layout_vertical.PackStart (information, false, false, 3); + layout_vertical.PackStart (information, false, false, 0); wrapper.PackStart (layout_vertical, true, true, 0); wrapper.PackStart (controls, false, true, 0); From 0400aee11157f654f454ec9ba9d899ee252c5cb6 Mon Sep 17 00:00:00 2001 From: Hylke Bons Date: Sun, 1 Aug 2010 21:01:34 +0100 Subject: [PATCH 35/38] Tweak intro side splash --- data/side-splash.png | Bin 69406 -> 69715 bytes data/side-splash.svg | 60 ++++++++++++++++++++++++++++++++++++++----- 2 files changed, 53 insertions(+), 7 deletions(-) diff --git a/data/side-splash.png b/data/side-splash.png index a4dfebdaace4bcd8566a660ffc9498036878323e..d2e9134ccbc637dd00f9920281db1959e052fe8d 100644 GIT binary patch literal 69715 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

#QH*JkA$Wd+rMMZgW^=FMq(n3+Q0&p7s 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

{sgbR;ED%9ZEbTm4C)vx4Q80F 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 A2><{9 literal 69406 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

3R0HHbjE;)E3cq9 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 a@c#h*({|u9oNNC80000 @@ -576,7 +576,7 @@ x2="15.142853" y1="385.79074" x1="-17.857147" - gradientTransform="matrix(0.93600978,0,0,1,1.5716112,0)" + gradientTransform="matrix(0.93600978,0,0,1,1.5716112,5.089059e-7)" gradientUnits="userSpaceOnUse" id="linearGradient8586" xlink:href="#linearGradient8492" @@ -593,6 +593,36 @@ offset="1" style="stop-color:#2e3436;stop-opacity:0;" /> + + + @@ -602,7 +632,7 @@ image/svg+xml - + @@ -927,9 +957,25 @@ style="opacity:0.2;color:#000000;fill:url(#linearGradient8586);fill-opacity:1;stroke:none;stroke-width:3;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" id="rect8488" width="30.888323" - height="400" + height="440.4061" x="-15.142853" - y="185.79074" + y="145.38464" + transform="scale(-1,1)" /> + + From 9adb803d7c3a8a1d9a392b0ed6a375f8e900ba1e Mon Sep 17 00:00:00 2001 From: Hylke Bons Date: Sun, 1 Aug 2010 21:21:28 +0100 Subject: [PATCH 36/38] tweak some icons --- data/icons/folder-sparkleshare-24.png | Bin 1041 -> 1148 bytes .../icons/process-syncing-sparkleshare-24.png | Bin 2518 -> 2560 bytes data/side-splash.svg | 17 - data/sparkleshare.svg | 1357 ++++------------- 4 files changed, 338 insertions(+), 1036 deletions(-) diff --git a/data/icons/folder-sparkleshare-24.png b/data/icons/folder-sparkleshare-24.png index 2136b5db3b4aef1f59d5eac63ce12873445a91b8..a93d38f40fcaac61ebac1e72089cc6b4609959b2 100644 GIT binary patch delta 1054 zcmV+(1mXLU2>b|;ZGQj~bVXQnRB3c_4 zW*|yoYjt8EQ*>o%Ze?;Ob0B18b7^O8uq@lO000AlNklC816{h6Z7mdv(EiANVjDJrT2MvN~-zTLA)sD zm*d#ft=$ucH2@aGQ6yXq$Y;_x(LC3N-XZSh>3?X8lKOOjrtUp-9(ap_)qA`9vWtO9iRbTC_- zWN~_u#+EK<+d(0Ho`?$VO?jG{5>@%Q6}xKy2E-L;h_G7CosVHcA>`pBlxD6H-Mts< zmw$+N_e1V-RjxQreT!6_f?q1eLa_vB05}!T9HvvJiEll?ucwaTnmL-f_mSN41a>w{ zyfIPvtSyL3DJWsZDO3SO#5;b_onD-q=}abDKrIrAffs{NBh5~p%=s_byze=piB__y zbBvunM)#w8kOl`03g9mS%3?N$L9!y^sefwViHHEl;_b<0p5ueC;@@0+T~wnWfuRLv=?&m Y-(47#zp*V6e*gdg07*qoM6N<$g3O2TD*ylh delta 946 zcmV;j15Nz=2$2YoZGQufNklDy5r(I~P`{xKLE^XBDHOAYF9RqNxRiQfq3AiKW;MO`OI_CO<>C<$sgY1M(`yyrq~h02SG@ z^H}>z@1TBtEdVL6!N~!W-TcTi^{%5}eNZ2)2i9l#a-QVRCv*OCar?bPI{L37@U4lu zky`v;hSn&CnmW04^QP$J*!ZcD0jF%GJWS0Q<@GIt`tCXarI=0Qc~x9VpC{DZDV_K9 zxY#R^dFaZB?|)G&6ysADG6#U_fT9nV=hAq~m9{+(<}WG!#Xr_f#T5~#9qE^Yy@R@M z4ZyR?(rg-A2Cx>E^3ZzUZfbA24OD})sDfHR(XxM=zeMubp}jyQ;B>z{-w?sgOiv?a zP~(JX>+K`nREws*$K0_S@6;#YSIZ+fcRq`9)kFzUP=9%6)1K#uBpOTJpc>>kJBgh< zj`QdN%!a#hvPtauW7Sh+l%l;lF9DW4y*b+0h(Gp4|e;)son>rrG znL7h&(fq)b*6OnXD3KDb5QIwVvFZXI#SGJWDRI(I%vw7HF$@gKNw^liGf?ZSi| zD1R=YUJlffOE2IdGa}-us^^M`0O5;^{_xm$C;IPyV54JD&Sa52FL&fQB_355G&Lp#Pz?^7AOLqs@l?%xl)V&OmxNY-<1!Q UfS2xn9{>OV07*qoM6N<$f-Xtb-T(jq diff --git a/data/icons/process-syncing-sparkleshare-24.png b/data/icons/process-syncing-sparkleshare-24.png index 5a65b42011c68d8ee7727623b5e333ea88e162f5..632a3e2625aaf14a970c60c6ac1b7c7174e722d8 100644 GIT binary patch delta 2356 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 diff --git a/data/side-splash.svg b/data/side-splash.svg index fa42b637..256fa574 100644 --- a/data/side-splash.svg +++ b/data/side-splash.svg @@ -39,13 +39,6 @@ inkscape:window-maximized="1" /> - - - Lapo Calamandrei + Hylke Bons, Lapo Calamandrei sparkleshare @@ -173,21 +173,34 @@ dir - Based of Jakub Steiner's design + Derived from Jakub Steiner's design + rdf:resource="http://creativecommons.org/licenses/by-sa/3.0/" /> + + + Hylke Bons, Lapo Calamandrei + + + + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + id="linearGradient3486" + xlink:href="#linearGradient4989-0" + inkscape:collect="always" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + height="24" + inkscape:export-filename="/home/hbons/github/SparkleShare/data/icons/folder-sparkleshare-24.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90" /> + d="m 305.84985,185.48915 4.68974,0 c 0.5327,0 1.21512,-1.08469 1.64776,-1.63322 0.1341,-0.20388 0.34688,-0.35593 0.60228,-0.35593 3.57008,0.006 7.14057,-0.0156 10.71038,0.0141 l 0,9.30895 c 0,3.20283 -1.29007,3.67699 -1.65038,3.67699 l -15.69924,0 c -0.36031,0 -1.65038,-0.40781 -1.65038,-3.67699 l 0,-7.34245 c 0,0 1.34984,0.009 1.34984,0.009 l 0,0 0,0 0,-3e-5 z" /> - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From be22c18d9ca6c06169963adb9aa8886e673110cf Mon Sep 17 00:00:00 2001 From: Bertrand Lorentz Date: Mon, 2 Aug 2010 12:54:54 +0200 Subject: [PATCH 37/38] [FriendFace] Remove unneeded using statements --- FriendFace/GravatarIconProvider.cs | 1 - FriendFace/IconProvider.cs | 1 - 2 files changed, 2 deletions(-) diff --git a/FriendFace/GravatarIconProvider.cs b/FriendFace/GravatarIconProvider.cs index 1eee1f02..a958c5c0 100644 --- a/FriendFace/GravatarIconProvider.cs +++ b/FriendFace/GravatarIconProvider.cs @@ -15,7 +15,6 @@ // along with this program. If not, see .using Gtk; using Gtk; -using Mono.Unix; using System; using System.IO; using System.Net; diff --git a/FriendFace/IconProvider.cs b/FriendFace/IconProvider.cs index 4f16fefb..e23a5d95 100644 --- a/FriendFace/IconProvider.cs +++ b/FriendFace/IconProvider.cs @@ -17,7 +17,6 @@ // along with this program. If not, see .using Gtk; using Gtk; -using Mono.Unix; using System; using System.IO; From 5452b57dc9c062ad52a7ad7afdfc21a77bce1813 Mon Sep 17 00:00:00 2001 From: Bertrand Lorentz Date: Mon, 2 Aug 2010 13:11:33 +0200 Subject: [PATCH 38/38] [build] Fix up solution and csproj files Enable Makefile integration in the SparkleShare and NotifySharp projects, so that files are kept in sync in Makefile.am and the MonoDevelop project. --- FriendFace/FriendFace.csproj | 51 +++++++++++++++++++++++++++++++- NotifySharp/Makefile.am | 2 +- NotifySharp/NotifySharp.csproj | 39 +++++++++++++++++++----- SparkleShare.sln | 7 +---- SparkleShare/Makefile.am | 28 +++++++++--------- SparkleShare/SparkleShare.csproj | 37 +++++++++++++++++------ 6 files changed, 126 insertions(+), 38 deletions(-) diff --git a/FriendFace/FriendFace.csproj b/FriendFace/FriendFace.csproj index 522e24e6..6d63a00f 100644 --- a/FriendFace/FriendFace.csproj +++ b/FriendFace/FriendFace.csproj @@ -1 +1,50 @@ - Debug AnyCPU 8.0.50727 2.0 {3BA434AF-494F-4F5D-9D21-B7BD24FD67AF} Exe FriendFace FriendFace true full false bin\Debug DEBUG prompt 4 none false bin\Release prompt 4 \ No newline at end of file + + + + Debug + AnyCPU + 8.0.50727 + 2.0 + {3BA434AF-494F-4F5D-9D21-B7BD24FD67AF} + Library + FriendFace + FriendFace + + + true + full + false + ..\bin + DEBUG + prompt + 4 + + + none + false + ..\bin + prompt + 4 + + + + gtk-sharp-2.0 + + + gtk-sharp-2.0 + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/NotifySharp/Makefile.am b/NotifySharp/Makefile.am index edc94265..c01305d6 100644 --- a/NotifySharp/Makefile.am +++ b/NotifySharp/Makefile.am @@ -4,7 +4,7 @@ TARGET = library LINK = $(REF_NOTIFY_SHARP) -SOURCES = \ +SOURCES = \ Global.cs \ Notification.cs diff --git a/NotifySharp/NotifySharp.csproj b/NotifySharp/NotifySharp.csproj index 4562b26f..f7301a81 100644 --- a/NotifySharp/NotifySharp.csproj +++ b/NotifySharp/NotifySharp.csproj @@ -14,7 +14,7 @@ true full false - bin\Debug + ..\bin DEBUG prompt 4 @@ -22,7 +22,7 @@ none false - bin\Release + ..\bin prompt 4 @@ -31,11 +31,36 @@ - - - - - + + ndesk-dbus-1.0 + + + ndesk-dbus-glib-1.0 + + + gtk-sharp-2.0 + + + glib-sharp-2.0 + + + gtk-sharp-2.0 + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/SparkleShare.sln b/SparkleShare.sln index af6794fc..3d33d811 100644 --- a/SparkleShare.sln +++ b/SparkleShare.sln @@ -5,8 +5,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SparkleShare", "SparkleShar EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NotifySharp", "NotifySharp\NotifySharp.csproj", "{005CCA8E-DFBF-464A-B6DA-452C62D4589C}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpSSH", "SharpSSH\SharpSSH.csproj", "{BB50B7E2-4622-4D8B-B7FF-5E5D8F02D91F}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FriendFace", "FriendFace\FriendFace.csproj", "{3BA434AF-494F-4F5D-9D21-B7BD24FD67AF}" EndProject Global @@ -27,13 +25,10 @@ Global {728483AA-E34B-4441-BF2C-C8BC2901E4E0}.Debug|Any CPU.Build.0 = Debug|Any CPU {728483AA-E34B-4441-BF2C-C8BC2901E4E0}.Release|Any CPU.ActiveCfg = Release|Any CPU {728483AA-E34B-4441-BF2C-C8BC2901E4E0}.Release|Any CPU.Build.0 = Release|Any CPU - {BB50B7E2-4622-4D8B-B7FF-5E5D8F02D91F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {BB50B7E2-4622-4D8B-B7FF-5E5D8F02D91F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {BB50B7E2-4622-4D8B-B7FF-5E5D8F02D91F}.Release|Any CPU.ActiveCfg = Release|Any CPU - {BB50B7E2-4622-4D8B-B7FF-5E5D8F02D91F}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(MonoDevelopProperties) = preSolution StartupItem = SparkleShare\SparkleShare.csproj + outputpath = bin name = SparkleShare EndGlobalSection EndGlobal diff --git a/SparkleShare/Makefile.am b/SparkleShare/Makefile.am index faebde1d..0bd4c5cd 100644 --- a/SparkleShare/Makefile.am +++ b/SparkleShare/Makefile.am @@ -7,20 +7,20 @@ TARGET = exe LINK = $(REF_SPARKLESHARE) -SOURCES = \ -Defines.cs \ -SparkleBubble.cs \ -SparkleFetcher.cs \ -SparkleHelpers.cs \ -SparkleIntro.cs \ -SparklePaths.cs \ -SparklePlatform.cs \ -SparkleRepo.cs \ -SparkleShare.cs \ -SparkleSpinner.cs \ -SparkleStatusIcon.cs \ -SparkleUI.cs \ -SparkleWindow.cs +SOURCES = \ + Defines.cs \ + SparkleBubble.cs \ + SparkleFetcher.cs \ + SparkleHelpers.cs \ + SparkleIntro.cs \ + SparklePaths.cs \ + SparklePlatform.cs \ + SparkleRepo.cs \ + SparkleShare.cs \ + SparkleSpinner.cs \ + SparkleStatusIcon.cs \ + SparkleUI.cs \ + SparkleWindow.cs include $(top_srcdir)/build/build.mk diff --git a/SparkleShare/SparkleShare.csproj b/SparkleShare/SparkleShare.csproj index 21cb32b2..abe5dc3a 100644 --- a/SparkleShare/SparkleShare.csproj +++ b/SparkleShare/SparkleShare.csproj @@ -14,7 +14,7 @@ true full false - bin\Debug + ..\bin DEBUG prompt 4 @@ -22,21 +22,23 @@ none false - bin\Release + ..\bin prompt 4 - - - + + gtk-sharp-2.0 + + + gtk-sharp-2.0 + + + gtk-sharp-2.0 + - - False - ..\SharpSSH\lib\DiffieHellman.dll - @@ -51,6 +53,8 @@ + + @@ -58,4 +62,19 @@ NotifySharp + + + + + + + + + + + + + + +