diff --git a/SparkleShare/Windows/SparkleEventLog.Designer.cs b/SparkleShare/Windows/SparkleEventLog.Designer.cs
index aedf4e7b..860181f9 100644
--- a/SparkleShare/Windows/SparkleEventLog.Designer.cs
+++ b/SparkleShare/Windows/SparkleEventLog.Designer.cs
@@ -1,21 +1,6 @@
namespace SparkleShare {
partial class SparkleEventLog {
- ///
- /// Required designer variable.
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// Clean up any resources being used.
- ///
- /// true if managed resources should be disposed; otherwise, false.
- protected override void Dispose(bool disposing) {
- if (disposing && (components != null)) {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
+
#region Windows Form Designer generated code
///
@@ -23,64 +8,12 @@ namespace SparkleShare {
/// the contents of this method with the code editor.
///
private void InitializeComponent() {
- this.WebViewPanel = new System.Windows.Forms.Panel ();
- this.panel2 = new System.Windows.Forms.Panel ();
- this.combo_box = new System.Windows.Forms.ComboBox ();
- this.panel2.SuspendLayout ();
- this.SuspendLayout ();
- //
- // WebViewPanel
- //
- this.WebViewPanel.Dock = System.Windows.Forms.DockStyle.Fill;
- this.WebViewPanel.Location = new System.Drawing.Point (0, 44);
- this.WebViewPanel.Name = "WebViewPanel";
- this.WebViewPanel.Size = new System.Drawing.Size (472, 569);
- this.WebViewPanel.TabIndex = 1;
- //
- // panel2
- //
- this.panel2.Controls.Add (this.combo_box);
- this.panel2.Dock = System.Windows.Forms.DockStyle.Top;
- this.panel2.Location = new System.Drawing.Point (0, 0);
- this.panel2.Name = "panel2";
- this.panel2.Size = new System.Drawing.Size (472, 44);
- this.panel2.TabIndex = 0;
- //
- // combo_box
- //
- this.combo_box.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.combo_box.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
- this.combo_box.FormattingEnabled = true;
- this.combo_box.Location = new System.Drawing.Point (339, 12);
- this.combo_box.Name = "combo_box";
- this.combo_box.Size = new System.Drawing.Size (121, 21);
- this.combo_box.TabIndex = 0;
- this.combo_box.SelectedIndexChanged += new System.EventHandler (this.combo_box_SelectedIndexChanged);
- //
- // SparkleEventLog
- //
- this.AutoScaleDimensions = new System.Drawing.SizeF (6F, 13F);
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.ClientSize = new System.Drawing.Size (472, 613);
- this.Controls.Add (this.WebViewPanel);
- this.Controls.Add (this.panel2);
- this.Name = "SparkleEventLog";
- this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
- this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
- this.Text = "Recent Events";
- this.FormClosing += new System.Windows.Forms.FormClosingEventHandler (this.SparkleEventLog_FormClosing);
- this.panel2.ResumeLayout (false);
- this.ResumeLayout (false);
-
+
+
}
#endregion
- private System.Windows.Forms.Panel WebViewPanel;
- private System.Windows.Forms.Panel panel2;
- private System.Windows.Forms.ComboBox combo_box;
-
-
diff --git a/SparkleShare/Windows/SparkleEventLog.cs b/SparkleShare/Windows/SparkleEventLog.cs
index 56db705a..4a8fd7b0 100644
--- a/SparkleShare/Windows/SparkleEventLog.cs
+++ b/SparkleShare/Windows/SparkleEventLog.cs
@@ -1,5 +1,5 @@
// SparkleShare, a collaboration and sharing tool.
-// Copyright (C) 2010 Hylke Bons
+// Copyright (C) 2010 Hylke Bons (hylkebons@gmail.com)
//
// 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
@@ -12,200 +12,154 @@
// 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 (http://www.gnu.org/licenses/).
using System;
-using System.Linq;
-using System.Collections.Generic;
-using System.Diagnostics;
-using System.Text.RegularExpressions;
-using System.Threading;
-
-using System.Windows.Forms;
-using System.Drawing;
-using System.Runtime.InteropServices;
-using System.ComponentModel;
-
-using SparkleLib;
-using CefSharp;
-using System.IO;
-using System.Text;
+using System.ComponentModel;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
namespace SparkleShare {
- public partial class SparkleEventLog : Form, IBeforeResourceLoad {
- private readonly CefWebBrowser _browserControl;
+ public class SparkleEventLog : Window {
+
+ public SparkleEventLogController Controller = new SparkleEventLogController ();
+
+ private Label updates;
- private string HTML;
- private List change_sets;
- private string selected_log = null;
// Short alias for the translations
- public static string _ (string s)
+ public static string _(string s)
{
- return Program._ (s);
+ return Program._(s);
}
- public SparkleEventLog ()
+
+ public SparkleEventLog ()
{
- InitializeComponent ();
-
- Program.TranslateWinForm (this);
-
- // this.Icon = Icons.sparkleshare;
- this.change_sets = Program.Controller.GetLog (null);
- GenerateHTML ();
-
- _browserControl = new CefWebBrowser ("application://sparkleshare/eventlog");
- _browserControl.Dock = DockStyle.Fill;
- //_browserControl.PropertyChanged += HandleBrowserPropertyChanged;
- //_browserControl.ConsoleMessage += HandleConsoleMessage;
- _browserControl.BeforeResourceLoadHandler = this;
- WebViewPanel.Controls.Add (_browserControl);
- UpdateChooser ();
-
- }
-
- public void UpdateChooser ()
- {
- this.combo_box.Items.Add (_ ("All Projects"));
- this.combo_box.Items.Add ("");
- foreach (string folder_name in Program.Controller.Folders)
- this.combo_box.Items.Add (folder_name);
+ Title = "Recent Changes";
+ ResizeMode = ResizeMode.NoResize;
+ Height = 640;
+ Width = 480;
+ Background = new SolidColorBrush (Colors.WhiteSmoke);
- //this.combo_box.SelectedItem = this.combo_box.Items[0];
-
- }
+ Closing += Close;
+
+ CreateAbout ();
- public void UpdateEvents ()
- {
- UpdateEvents (true);
- }
-
-
- public void UpdateEvents (bool silent)
- {
- Thread thread = new Thread (new ThreadStart (delegate {
- Program.SetUiCulture ();
- Stopwatch watch = new Stopwatch ();
- watch.Start ();
- this.change_sets = Program.Controller.GetLog (this.selected_log);
- GenerateHTML ();
- watch.Stop ();
-
- // A short delay is less annoying than
- // a flashing window
- if (watch.ElapsedMilliseconds < 500 && !silent)
- Thread.Sleep (500 - (int) watch.ElapsedMilliseconds);
-
- AddHTML ();
- }));
-
- thread.Start ();
- }
-
-
- private void GenerateHTML ()
- {
- HTML = Program.Controller.GetHTMLLog (this.change_sets);
-
- if (HTML == null)
- return;
-
- HTML = HTML.Replace ("", this.Font.Size + "px");
- HTML = HTML.Replace ("", this.Font.Size + "px");
- HTML = HTML.Replace ("", "#0085cf");
- HTML = HTML.Replace ("", "#009ff8");
- HTML = HTML.Replace ("", "\"" + this.Font.FontFamily + "\"");
- HTML = HTML.Replace ("", this.ForeColor.ToHex());
- HTML = HTML.Replace ("", this.BackColor.ToHex());
- HTML = HTML.Replace ("", this.BackColor.ToHex());
- HTML = HTML.Replace ("", this.ForeColor.ToHex());
- HTML = HTML.Replace ("", this.ForeColor.ToHex());
- HTML = HTML.Replace ("",
- "application://sparkleshare/avatar-default-32.png");
- HTML = HTML.Replace ("",
- "application://sparkleshare/document-added-12.png");
- HTML = HTML.Replace ("",
- "application://sparkleshare/document-edited-12.png");
- HTML = HTML.Replace ("",
- "application://sparkleshare/document-deleted-12.png");
- HTML = HTML.Replace ("",
- "application://sparkleshare/document-moved-12.png");
-
- HTML = HTML.Replace("href='" + SparkleConfig.DefaultConfig.FoldersPath, "href='application://file/" + SparkleConfig.DefaultConfig.FoldersPath);
- HTML = HTML.Replace ("file://application://sparkleshare/", "application://sparkleshare/");
- HTML = HTML.Replace ("file://", "application://file/");
- }
-
-
- private void AddHTML ()
- {
- try
- {
- Invoke((Action)delegate
- {
- _browserControl.Reload();
+ Controller.ShowWindowEvent += delegate {
+ Dispatcher.Invoke ((Action) delegate {
+ Show ();
+ Activate ();
+ BringIntoView ();
});
- }
- catch (InvalidOperationException e)
- {
- }
+ };
+
+ Controller.HideWindowEvent += delegate {
+ Dispatcher.Invoke ((Action) delegate {
+ Hide ();
+ });
+ };
+/* Controller.CheckingForNewVersionEvent += delegate {
+ Dispatcher.Invoke ((Action) delegate {
+ this.updates.Content = "Checking for updates...";
+ this.updates.UpdateLayout ();
+ });
+ };*/
}
- private void SparkleEventLog_FormClosing (object sender, FormClosingEventArgs e)
+
+ private void CreateAbout ()
{
- if (e.CloseReason != CloseReason.ApplicationExitCall
- && e.CloseReason != CloseReason.TaskManagerClosing
- && e.CloseReason != CloseReason.WindowsShutDown) {
- e.Cancel = true;
- this.Hide ();
- }
+ Image image = new Image () {
+ Width = 640,
+ Height = 260
+ };
+
+ BitmapImage bitmap_image = new BitmapImage();
+
+ bitmap_image.BeginInit();
+ // TODO: get relative reference to the image
+ bitmap_image.UriSource = new Uri(@"C:\Users\Hylke\Code\SparkleShare\data\about.png");
+ bitmap_image.DecodePixelWidth = 640;
+ bitmap_image.EndInit();
+
+ image.Source = bitmap_image;
+
+
+ Label version = new Label () {
+ Content = "version ",// + Controller.RunningVersion,
+ FontSize = 11,
+ Foreground = new SolidColorBrush (Colors.White)
+ };
+
+ this.updates = new Label () {
+ Content = "Checking for updates...",
+ FontSize = 11,
+ Foreground = new SolidColorBrush (Color.FromRgb(45, 62, 81))
+ };
+
+ TextBlock credits = new TextBlock () {
+ FontSize = 11,
+ Foreground = new SolidColorBrush (Colors.White),
+ Text = "Copyright © 2010–" + DateTime.Now.Year + " Hylke Bons and others.\n" +
+ "\n" +
+ "SparkleShare is Free and Open Source Software. You are free to use, modify, " +
+ "and redistribute it under the GNU General Public License version 3 or later.",
+ TextWrapping = TextWrapping.Wrap,
+ Width = 318
+ };
+
+ Canvas canvas = new Canvas ();
+
+ ComboBox combo_box = new ComboBox ();
+
+ ComboBoxItem item = new ComboBoxItem () {
+ Content = "All Projects"
+ };
+
+
+ combo_box.Items.Add (item);
+
+ combo_box.Items.Add (new Separator ());
+ combo_box.SelectedItem = combo_box.Items.GetItemAt (0);
+ combo_box.Width = 150;
+
+
+ canvas.Children.Add (image);
+ Canvas.SetLeft (image, 0);
+ Canvas.SetTop (image, 0);
+
+ canvas.Children.Add (version);
+ Canvas.SetLeft (version, 289);
+ Canvas.SetTop (version, 92);
+
+ canvas.Children.Add (this.updates);
+ Canvas.SetLeft (this.updates, 289);
+ Canvas.SetTop (this.updates, 109);
+
+ canvas.Children.Add (credits);
+ Canvas.SetLeft (credits, 294);
+ Canvas.SetTop (credits, 142);
+
+
+ canvas.Children.Add (combo_box);
+ Canvas.SetLeft (combo_box, 50);
+ Canvas.SetTop (combo_box, 100);
+ Content = canvas;
}
-
-
- #region IBeforeResourceLoad Members
-
- public void HandleBeforeResourceLoad (CefWebBrowser browserControl, IRequestResponse requestResponse)
+
+
+ private void Close (object sender, CancelEventArgs args)
{
- IRequest request = requestResponse.Request;
- Console.WriteLine ("{0} {1}", request.Method, request.Url);
-
- if (request.Url.StartsWith ("application://sparkleshare/eventlog")) {
- Stream resourceStream;
- if (HTML != null)
- resourceStream = new MemoryStream (Encoding.UTF8.GetPreamble ().Concat (Encoding.UTF8.GetBytes (HTML)).ToArray ());
- else
- resourceStream = new MemoryStream ();
-
- requestResponse.RespondWith (resourceStream, "text/html");
- } else if (request.Url.StartsWith ("application://file/")) {
- string Filename = request.Url.Substring ("application://file/".Length);
- Filename = Uri.UnescapeDataString (Filename);
- Filename = Filename.Replace ("/", "\\");
-
- if (Filename.StartsWith(SparkleConfig.DefaultConfig.FoldersPath))
- System.Diagnostics.Process.Start (Filename);
- }
- }
-
- #endregion
-
- private void combo_box_SelectedIndexChanged (object sender, EventArgs e)
- {
- String SelectedText = this.combo_box.SelectedItem as string;
-
- if (string.IsNullOrEmpty (SelectedText) || SelectedText.Equals (_ ("All Folders")))
- this.selected_log = null;
- else
- this.selected_log = SelectedText;
-
- UpdateEvents (false);
+ Controller.WindowClosed ();
+ args.Cancel = true;
}
}
}
-
diff --git a/SparkleShare/Windows/SparkleShare.csproj b/SparkleShare/Windows/SparkleShare.csproj
index 480f7883..78096a29 100644
--- a/SparkleShare/Windows/SparkleShare.csproj
+++ b/SparkleShare/Windows/SparkleShare.csproj
@@ -124,12 +124,7 @@
-
- Form
-
-
- SparkleEventLog.cs
-
+
Form
@@ -147,6 +142,9 @@
True
Strings.tt
+
+ SparkleEventLogController.cs
+
@@ -215,10 +213,6 @@
Resources.Designer.cs
Designer
-
- SparkleEventLog.cs
- Designer
-
SparkleSetup.cs
Designer
diff --git a/SparkleShare/Windows/SparkleStatusIcon.cs b/SparkleShare/Windows/SparkleStatusIcon.cs
index 807ca3fb..da769e81 100644
--- a/SparkleShare/Windows/SparkleStatusIcon.cs
+++ b/SparkleShare/Windows/SparkleStatusIcon.cs
@@ -221,12 +221,12 @@ namespace SparkleShare {
};
subfolder_item.Click += OpenFolderDelegate (folder_name);
-
+ /*
if (Program.Controller.UnsyncedFolders.Contains (folder_name))
subfolder_item.Icon = Icons.dialog_error_16;
else
subfolder_item.Icon = Icons.sparkleshare_windows_status;
-
+ */
this.context_menu.Items.Add (subfolder_item);
}