From 62d4b97fffff44d5844fce8fd0d733d19ae6b24e Mon Sep 17 00:00:00 2001 From: Hylke Bons Date: Mon, 14 Mar 2011 01:39:42 +0000 Subject: [PATCH] [log] update on new commits and open new logs off centre --- SparkleShare/SparkleLog.cs | 42 +++++++++++++++++++++++++------------- SparkleShare/SparkleUI.cs | 11 +++++++--- 2 files changed, 36 insertions(+), 17 deletions(-) diff --git a/SparkleShare/SparkleLog.cs b/SparkleShare/SparkleLog.cs index 231fe51a..29280f28 100644 --- a/SparkleShare/SparkleLog.cs +++ b/SparkleShare/SparkleLog.cs @@ -53,8 +53,17 @@ namespace SparkleShare { string name = System.IO.Path.GetFileName (LocalPath); SetDefaultSize (480, 640); - SetPosition (WindowPosition.Center); BorderWidth = 0; + SetPosition (WindowPosition.Center); + + // Open slightly off center for each consecutive window + if (SparkleUI.OpenLogs.Count > 0) { + + int x, y; + GetPosition (out x, out y); + Move (x + SparkleUI.OpenLogs.Count * 20, y + SparkleUI.OpenLogs.Count * 20); + + } // TRANSLATORS: {0} is a folder name, and {1} is a server address Title = String.Format(_("Events in ‘{0}’"), name); @@ -64,18 +73,14 @@ namespace SparkleShare { Close (); }; - CreateEventLog (); - UpdateEventLog (); - LayoutVertical = new VBox (false, 0); - ScrolledWindow = new ScrolledWindow (); - - ScrolledWindow.AddWithViewport (WebView); - (ScrolledWindow.Child as Viewport).ShadowType = ShadowType.None; + CreateEventLog (); LayoutVertical.PackStart (ScrolledWindow, true, true, 0); + UpdateEventLog (); + HButtonBox dialog_buttons = new HButtonBox { Layout = ButtonBoxStyle.Edge, BorderWidth = 12 @@ -103,17 +108,12 @@ namespace SparkleShare { dialog_buttons.Add (open_folder_button); dialog_buttons.Add (close_button); - LayoutVertical.PackStart (new HSeparator (), false, false, 0); - // We have to hide the menubar somewhere... LayoutVertical.PackStart (CreateShortcutsBar (), false, false, 0); LayoutVertical.PackStart (dialog_buttons, false, false, 0); Add (LayoutVertical); - CreateEventLog (); - UpdateEventLog (); - } @@ -142,6 +142,9 @@ namespace SparkleShare { }; + ScrolledWindow = new ScrolledWindow (); + ScrolledWindow.AddWithViewport (WebView); + } @@ -161,7 +164,18 @@ namespace SparkleShare { SparkleHelpers.CombineMore (Defines.PREFIX, "share", "sparkleshare", "icons", "hicolor", "32x32", "status", "avatar-default.png")); - WebView.LoadHtmlString (html, "file://"); + WebView.LoadString (html, null, null, "file://"); + + LayoutVertical.Remove (ScrolledWindow); + ScrolledWindow = new ScrolledWindow (); + Viewport viewport = new Viewport (); + WebView.Reparent (viewport); + ScrolledWindow.Add (viewport); + (ScrolledWindow.Child as Viewport).ShadowType = ShadowType.None; + LayoutVertical.PackStart (ScrolledWindow, true, true, 0); + LayoutVertical.ReorderChild (ScrolledWindow, 0); + + ShowAll (); } diff --git a/SparkleShare/SparkleUI.cs b/SparkleShare/SparkleUI.cs index e9fbb897..46858188 100644 --- a/SparkleShare/SparkleUI.cs +++ b/SparkleShare/SparkleUI.cs @@ -80,9 +80,14 @@ namespace SparkleShare { // Show a bubble when there are new changes SparkleShare.Controller.NotificationRaised += delegate (SparkleCommit commit, string repository_path) { - foreach (SparkleLog log in OpenLogs) - if (log.LocalPath.Equals (repository_path)) - log.UpdateEventLog (); + foreach (SparkleLog log in OpenLogs) { + if (log.LocalPath.Equals (repository_path)) { + Application.Invoke (delegate { + log.UpdateEventLog (); + }); + } + } + if (!SparkleShare.Controller.NotificationsEnabled) return;