diff --git a/SparkleShare/Makefile.am b/SparkleShare/Makefile.am index 9b34f320..28cd4390 100755 --- a/SparkleShare/Makefile.am +++ b/SparkleShare/Makefile.am @@ -19,7 +19,6 @@ SOURCES = \ SparkleBubblesController.cs \ SparkleController.cs \ SparkleControllerBase.cs \ - SparkleEntry.cs \ SparkleEventLog.cs \ SparkleEventLogController.cs \ SparkleExtensions.cs \ diff --git a/SparkleShare/SparkleEntry.cs b/SparkleShare/SparkleEntry.cs deleted file mode 100755 index 304fe941..00000000 --- a/SparkleShare/SparkleEntry.cs +++ /dev/null @@ -1,106 +0,0 @@ -// SparkleShare, a collaboration and sharing tool. -// 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 private 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 private License for more details. -// -// You should have received a copy of the GNU General private License -// along with this program. If not, see . - - -using Gtk; - -// TODO: Remove with Gtk3 -namespace SparkleShare { - - public class SparkleEntry : Entry { - - - private string example_text; - private bool example_text_active; - - - public SparkleEntry () - { - ExampleTextActive = true; - - FocusGrabbed += delegate { OnEntered (); }; - ClipboardPasted += delegate { OnEntered (); }; - - FocusOutEvent += delegate { - if (Text.Equals ("") || Text == null) - ExampleTextActive = true; - - if (ExampleTextActive) - UseExampleText (); - }; - } - - - private void OnEntered () - { - if (ExampleTextActive) { - ExampleTextActive = false; - Text = ""; - UseNormalTextColor (); - } - } - - - public bool ExampleTextActive { - get { - return this.example_text_active; - } - - set { - this.example_text_active = value; - - if (this.example_text_active) - UseSecondaryTextColor (); - else - UseNormalTextColor (); - } - } - - - public string ExampleText - { - get { - return this.example_text; - } - - set { - this.example_text = value; - - if (this.example_text_active) - UseExampleText (); - } - } - - - private void UseExampleText () - { - Text = this.example_text; - UseSecondaryTextColor (); - } - - - private void UseSecondaryTextColor () - { - ModifyText (StateType.Normal, Style.Foreground (StateType.Insensitive)); - } - - - private void UseNormalTextColor () - { - ModifyText (StateType.Normal, Style.Foreground (StateType.Normal)); - } - } -} diff --git a/SparkleShare/SparkleSetup.cs b/SparkleShare/SparkleSetup.cs index b3b65a39..6a42eee9 100755 --- a/SparkleShare/SparkleSetup.cs +++ b/SparkleShare/SparkleSetup.cs @@ -31,9 +31,6 @@ namespace SparkleShare { public SparkleSetupController Controller = new SparkleSetupController (); - private string SecondaryTextColor; - private string SecondaryTextColorSelected; - private ProgressBar progress_bar = new ProgressBar (); @@ -46,17 +43,6 @@ namespace SparkleShare { public SparkleSetup () : base () { - SecondaryTextColor = SparkleUIHelpers.GdkColorToHex (Style.Foreground (StateType.Insensitive)); - SecondaryTextColorSelected = - SparkleUIHelpers.GdkColorToHex ( - MixColors ( - new TreeView ().Style.Foreground (StateType.Selected), - new TreeView ().Style.Background (StateType.Selected), - 0.15 - ) - ); - - Controller.HideWindowEvent += delegate { Application.Invoke (delegate { HideAll (); @@ -186,8 +172,10 @@ namespace SparkleShare { tree.AppendColumn (service_column); - SparkleEntry path_entry = new SparkleEntry (); - SparkleEntry address_entry = new SparkleEntry (); + Entry address_entry = new Entry (); + Entry path_entry = new Entry (); + Label address_example = new Label ("1") { Xalign = 0, UseMarkup = true }; + Label path_example = new Label ("2") { Xalign = 0, UseMarkup = true }; // Select the first plugin by default @@ -200,18 +188,11 @@ namespace SparkleShare { string example_text, FieldState state) { Application.Invoke (delegate { - address_entry.Text = text; - address_entry.Sensitive = (state == FieldState.Enabled); + address_entry.Text = text; + address_entry.Sensitive = (state == FieldState.Enabled); + address_example.Markup = "" + example_text + ""; - if (string.IsNullOrEmpty (example_text)) - address_entry.ExampleText = null; - else - address_entry.ExampleText = example_text; - - if (string.IsNullOrEmpty (text)) - address_entry.ExampleTextActive = true; - else - address_entry.ExampleTextActive = false; }); }; @@ -219,21 +200,13 @@ namespace SparkleShare { string example_text, FieldState state) { Application.Invoke (delegate { - path_entry.Text = text; - path_entry.Sensitive = (state == FieldState.Enabled); - - // TODO: Use small labels like the mac UI - if (string.IsNullOrEmpty (example_text)) - path_entry.ExampleText = null; - else - path_entry.ExampleText = example_text; - - if (string.IsNullOrEmpty (text)) - path_entry.ExampleTextActive = true; - else - path_entry.ExampleTextActive = false; + path_entry.Text = text; + path_entry.Sensitive = (state == FieldState.Enabled); + path_example.Markup = "" + example_text + ""; }); }; + // Update the address field text when the selection changes tree.CursorChanged += delegate (object sender, EventArgs e) { @@ -291,7 +264,8 @@ namespace SparkleShare { Xalign = 0 }, true, true, 0); - layout_address.PackStart (address_entry, true, true, 0); + layout_address.PackStart (address_entry, false, false, 0); + layout_address.PackStart (address_example, false, false, 0); path_entry.Completion = new EntryCompletion(); @@ -312,7 +286,8 @@ namespace SparkleShare { Xalign = 0 }, true, true, 0); - layout_path.PackStart (path_entry, true, true, 0); + layout_path.PackStart (path_entry, false, false, 0); + layout_path.PackStart (path_example, false, false, 0); layout_fields.PackStart (layout_address); layout_fields.PackStart (layout_path); @@ -330,7 +305,6 @@ namespace SparkleShare { Controller.PageCancelled (); }; - // Sync button Button add_button = new Button (_("Add")); add_button.Clicked += delegate { @@ -340,10 +314,16 @@ namespace SparkleShare { Controller.AddPageCompleted (server, folder_name); }; + Controller.UpdateAddProjectButtonEvent += delegate (bool button_enabled) { + Application.Invoke (delegate { + add_button.Sensitive = button_enabled; + }); + }; + AddButton (cancel_button); AddButton (add_button); - Controller.CheckAddPage (address_entry.Text, path_entry.Text, tree.SelectedRow); + Controller.CheckAddPage (address_entry.Text, path_entry.Text, 1); break; } @@ -629,19 +609,6 @@ namespace SparkleShare { (cell as CellRendererText).Markup = markup; } - - - private Gdk.Color MixColors (Gdk.Color first_color, Gdk.Color second_color, double ratio) - { - return new Gdk.Color ( - Convert.ToByte ((255 * (Math.Min (65535, first_color.Red * (1.0 - ratio) + - second_color.Red * ratio))) / 65535), - Convert.ToByte ((255 * (Math.Min (65535, first_color.Green * (1.0 - ratio) + - second_color.Green * ratio))) / 65535), - Convert.ToByte ((255 * (Math.Min (65535, first_color.Blue * (1.0 - ratio) + - second_color.Blue * ratio))) / 65535) - ); - } } diff --git a/SparkleShare/SparkleSetupWindow.cs b/SparkleShare/SparkleSetupWindow.cs index 45ef6a41..1f13927f 100755 --- a/SparkleShare/SparkleSetupWindow.cs +++ b/SparkleShare/SparkleSetupWindow.cs @@ -36,6 +36,9 @@ namespace SparkleShare { public string Header; public string Description; + + public string SecondaryTextColor; + public string SecondaryTextColorSelected; public Container Content; @@ -48,20 +51,31 @@ namespace SparkleShare { WindowPosition = WindowPosition.Center; Deletable = false; - SetSizeRequest (680, 440); + SecondaryTextColor = SparkleUIHelpers.GdkColorToHex (Style.Foreground (StateType.Insensitive)); + + SecondaryTextColorSelected = + SparkleUIHelpers.GdkColorToHex ( + MixColors ( + new TreeView ().Style.Foreground (StateType.Selected), + new TreeView ().Style.Background (StateType.Selected), + 0.15 + ) + ); - HBox = new HBox (false, 6); + SetSizeRequest (680, 400); + + HBox = new HBox (false, 0); VBox = new VBox (false, 0); Wrapper = new VBox (false, 0) { - BorderWidth = 30 + BorderWidth = 0 }; Buttons = CreateButtonBox (); VBox.PackStart (Wrapper, true, true, 0); - VBox.PackStart (Buttons, false, false, 0); + VBox.PackStart (Buttons, false, false, 15); EventBox box = new EventBox (); Gdk.Color bg_color = new Gdk.Color (); @@ -74,7 +88,7 @@ namespace SparkleShare { box.Add (side_splash); HBox.PackStart (box, false, false, 0); - HBox.PackStart (VBox, true, true, 0); + HBox.PackStart (VBox, true, true, 30); base.Add (HBox); } @@ -83,7 +97,7 @@ namespace SparkleShare { private HButtonBox CreateButtonBox () { return new HButtonBox () { - BorderWidth = 12, + BorderWidth = 0, Layout = ButtonBoxStyle.End, Spacing = 6 }; @@ -101,7 +115,7 @@ namespace SparkleShare { { Label header = new Label ("" + Header + "") { UseMarkup = true, - Xalign = 0 + Xalign = 0, }; Label description = new Label (Description) { @@ -110,6 +124,7 @@ namespace SparkleShare { }; VBox layout_vertical = new VBox (false, 0); + layout_vertical.PackStart (new Label (""), false, false, 6); layout_vertical.PackStart (header, false, false, 0); if (!string.IsNullOrEmpty (Description)) @@ -137,10 +152,24 @@ namespace SparkleShare { ShowAll (); } + new public void ShowAll () { Present (); base.ShowAll (); } + + + private Gdk.Color MixColors (Gdk.Color first_color, Gdk.Color second_color, double ratio) + { + return new Gdk.Color ( + Convert.ToByte ((255 * (Math.Min (65535, first_color.Red * (1.0 - ratio) + + second_color.Red * ratio))) / 65535), + Convert.ToByte ((255 * (Math.Min (65535, first_color.Green * (1.0 - ratio) + + second_color.Green * ratio))) / 65535), + Convert.ToByte ((255 * (Math.Min (65535, first_color.Blue * (1.0 - ratio) + + second_color.Blue * ratio))) / 65535) + ); + } } }