summaryrefslogtreecommitdiff
path: root/SparkleShare/Windows
diff options
context:
space:
mode:
Diffstat (limited to 'SparkleShare/Windows')
-rw-r--r--SparkleShare/Windows/Images/folder.png (renamed from SparkleShare/Windows/Pixmaps/folder.png)bin639 -> 639 bytes
-rw-r--r--SparkleShare/Windows/Images/process-syncing-down.png (renamed from SparkleShare/Windows/Pixmaps/process-syncing-down.png)bin352 -> 352 bytes
-rw-r--r--SparkleShare/Windows/Images/process-syncing-error.png (renamed from SparkleShare/Windows/Pixmaps/process-syncing-error.png)bin300 -> 300 bytes
-rw-r--r--SparkleShare/Windows/Images/process-syncing-idle.png (renamed from SparkleShare/Windows/Pixmaps/process-syncing-idle.png)bin433 -> 433 bytes
-rw-r--r--SparkleShare/Windows/Images/process-syncing-up.png (renamed from SparkleShare/Windows/Pixmaps/process-syncing-up.png)bin357 -> 357 bytes
-rw-r--r--SparkleShare/Windows/Images/process-syncing.png (renamed from SparkleShare/Windows/Pixmaps/process-syncing.png)bin288 -> 288 bytes
-rw-r--r--SparkleShare/Windows/Images/sparkleshare-app.ico (renamed from SparkleShare/Windows/Pixmaps/sparkleshare-app.ico)bin68092 -> 68092 bytes
-rw-r--r--SparkleShare/Windows/Images/sparkleshare-folder.ico (renamed from SparkleShare/Windows/Pixmaps/sparkleshare-folder.ico)bin38403 -> 38403 bytes
-rw-r--r--SparkleShare/Windows/Images/sparkleshare-folder.png (renamed from SparkleShare/Windows/Pixmaps/sparkleshare-folder.png)bin633 -> 633 bytes
-rw-r--r--SparkleShare/Windows/Images/tutorial-slide-3.png (renamed from SparkleShare/Windows/Pixmaps/tutorial-slide-3.png)bin24292 -> 24292 bytes
-rw-r--r--SparkleShare/Windows/README.md4
-rw-r--r--SparkleShare/Windows/SparkleController.cs270
-rw-r--r--SparkleShare/Windows/SparkleEventLog.cs372
-rw-r--r--SparkleShare/Windows/SparkleEventLogWindow.xaml38
-rw-r--r--SparkleShare/Windows/SparkleEventLogWindow.xaml.cs262
-rw-r--r--SparkleShare/Windows/SparkleLib/Git/SparkleLib.Git.csproj71
-rw-r--r--SparkleShare/Windows/SparkleLib/SparkleLib.csproj97
-rw-r--r--SparkleShare/Windows/SparkleShare.Windows.csproj337
-rw-r--r--SparkleShare/Windows/SparkleShare.csproj294
-rw-r--r--SparkleShare/Windows/SparkleShare.sln49
-rw-r--r--SparkleShare/Windows/SparkleShare.vssettings2
-rw-r--r--SparkleShare/Windows/SparkleShare.wxs8
-rw-r--r--SparkleShare/Windows/SparkleShareInviteOpener/SparkleShareInviteOpener.csproj20
-rw-r--r--SparkleShare/Windows/SparkleShareInviteOpener/sparkleshare-invite-opener.cs2
-rw-r--r--SparkleShare/Windows/UserInterface/About.cs (renamed from SparkleShare/Windows/SparkleAbout.cs)17
-rw-r--r--SparkleShare/Windows/UserInterface/Bubbles.cs (renamed from SparkleShare/Windows/SparkleBubbles.cs)14
-rw-r--r--SparkleShare/Windows/UserInterface/Controller.cs199
-rw-r--r--SparkleShare/Windows/UserInterface/EventLog.cs347
-rw-r--r--SparkleShare/Windows/UserInterface/Note.xaml (renamed from SparkleShare/Windows/SparkleNote.xaml)4
-rw-r--r--SparkleShare/Windows/UserInterface/Note.xaml.cs (renamed from SparkleShare/Windows/SparkleNote.xaml.cs)22
-rw-r--r--SparkleShare/Windows/UserInterface/NotifyIcon.cs (renamed from SparkleShare/Windows/SparkleNotifyIcon.cs)376
-rw-r--r--SparkleShare/Windows/UserInterface/ProtocolHandler.cs74
-rw-r--r--SparkleShare/Windows/UserInterface/Setup.cs (renamed from SparkleShare/Windows/SparkleSetup.cs)199
-rw-r--r--SparkleShare/Windows/UserInterface/SetupWindow.cs (renamed from SparkleShare/Windows/SparkleSetupWindow.cs)386
-rw-r--r--SparkleShare/Windows/UserInterface/Shortcut.cs (renamed from SparkleShare/Windows/SparkleShortcut.cs)5
-rw-r--r--SparkleShare/Windows/UserInterface/Spinner.cs (renamed from SparkleShare/Windows/SparkleSpinner.cs)182
-rw-r--r--SparkleShare/Windows/UserInterface/StatusIcon.cs (renamed from SparkleShare/Windows/SparkleStatusIcon.cs)40
-rw-r--r--SparkleShare/Windows/UserInterface/UserInterface.cs (renamed from SparkleShare/Windows/SparkleUI.cs)40
-rw-r--r--SparkleShare/Windows/UserInterface/UserInterfaceHelpers.cs (renamed from SparkleShare/Windows/SparkleUIHelpers.cs)12
-rw-r--r--SparkleShare/Windows/app.config3
-rw-r--r--SparkleShare/Windows/build.cmd2
-rw-r--r--SparkleShare/Windows/packages.config7
42 files changed, 1555 insertions, 2200 deletions
diff --git a/SparkleShare/Windows/Pixmaps/folder.png b/SparkleShare/Windows/Images/folder.png
index 46fa475..46fa475 100644
--- a/SparkleShare/Windows/Pixmaps/folder.png
+++ b/SparkleShare/Windows/Images/folder.png
Binary files differ
diff --git a/SparkleShare/Windows/Pixmaps/process-syncing-down.png b/SparkleShare/Windows/Images/process-syncing-down.png
index f5bd436..f5bd436 100644
--- a/SparkleShare/Windows/Pixmaps/process-syncing-down.png
+++ b/SparkleShare/Windows/Images/process-syncing-down.png
Binary files differ
diff --git a/SparkleShare/Windows/Pixmaps/process-syncing-error.png b/SparkleShare/Windows/Images/process-syncing-error.png
index ee81060..ee81060 100644
--- a/SparkleShare/Windows/Pixmaps/process-syncing-error.png
+++ b/SparkleShare/Windows/Images/process-syncing-error.png
Binary files differ
diff --git a/SparkleShare/Windows/Pixmaps/process-syncing-idle.png b/SparkleShare/Windows/Images/process-syncing-idle.png
index 7856e12..7856e12 100644
--- a/SparkleShare/Windows/Pixmaps/process-syncing-idle.png
+++ b/SparkleShare/Windows/Images/process-syncing-idle.png
Binary files differ
diff --git a/SparkleShare/Windows/Pixmaps/process-syncing-up.png b/SparkleShare/Windows/Images/process-syncing-up.png
index 56b8f23..56b8f23 100644
--- a/SparkleShare/Windows/Pixmaps/process-syncing-up.png
+++ b/SparkleShare/Windows/Images/process-syncing-up.png
Binary files differ
diff --git a/SparkleShare/Windows/Pixmaps/process-syncing.png b/SparkleShare/Windows/Images/process-syncing.png
index 9f9df04..9f9df04 100644
--- a/SparkleShare/Windows/Pixmaps/process-syncing.png
+++ b/SparkleShare/Windows/Images/process-syncing.png
Binary files differ
diff --git a/SparkleShare/Windows/Pixmaps/sparkleshare-app.ico b/SparkleShare/Windows/Images/sparkleshare-app.ico
index 73917b1..73917b1 100644
--- a/SparkleShare/Windows/Pixmaps/sparkleshare-app.ico
+++ b/SparkleShare/Windows/Images/sparkleshare-app.ico
Binary files differ
diff --git a/SparkleShare/Windows/Pixmaps/sparkleshare-folder.ico b/SparkleShare/Windows/Images/sparkleshare-folder.ico
index e00ebf4..e00ebf4 100644
--- a/SparkleShare/Windows/Pixmaps/sparkleshare-folder.ico
+++ b/SparkleShare/Windows/Images/sparkleshare-folder.ico
Binary files differ
diff --git a/SparkleShare/Windows/Pixmaps/sparkleshare-folder.png b/SparkleShare/Windows/Images/sparkleshare-folder.png
index f44e363..f44e363 100644
--- a/SparkleShare/Windows/Pixmaps/sparkleshare-folder.png
+++ b/SparkleShare/Windows/Images/sparkleshare-folder.png
Binary files differ
diff --git a/SparkleShare/Windows/Pixmaps/tutorial-slide-3.png b/SparkleShare/Windows/Images/tutorial-slide-3.png
index be651b0..be651b0 100644
--- a/SparkleShare/Windows/Pixmaps/tutorial-slide-3.png
+++ b/SparkleShare/Windows/Images/tutorial-slide-3.png
Binary files differ
diff --git a/SparkleShare/Windows/README.md b/SparkleShare/Windows/README.md
index 17ff4a6..c85784e 100644
--- a/SparkleShare/Windows/README.md
+++ b/SparkleShare/Windows/README.md
@@ -6,7 +6,7 @@ You can choose to build SparkleShare from source or to run the Windows installer
Install version 4.0 of the [.NET Framework](http://www.microsoft.com/download/en/details.aspx?id=17851) if you haven't already.
-Install [msysGit](http://msysgit.github.io/) and copy the contents of the install folder
+Install [msysGit](https://github.com/msysgit/msysgit/releases) and copy the contents of the install folder
(`C:\Program Files (x86)\Git` by default) to `C:\path\to\SparkleShare-sources\bin\msysgit\` (create the "bin"-folder in the SparkleShare source directory).
Open a command prompt and execute the following:
@@ -34,7 +34,7 @@ This will create `SparkleShare.msi` in the same directory.
### Resetting SparkleShare settings
-Remove `My Documents\SparkleShare` and `AppData\Roaming\sparkleshare` (`AppData` is hidden by default).
+Remove `My Documents\SparkleShare` and `AppData\Roaming\org.sparkleshare.SparkleShare` (`AppData` is hidden by default).
### Uninstalling
diff --git a/SparkleShare/Windows/SparkleController.cs b/SparkleShare/Windows/SparkleController.cs
deleted file mode 100644
index ed9a65f..0000000
--- a/SparkleShare/Windows/SparkleController.cs
+++ /dev/null
@@ -1,270 +0,0 @@
-// SparkleShare, a collaboration and sharing tool.
-// 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
-// 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 <http://www.gnu.org/licenses/>.
-
-
-using System;
-using System.Collections.Generic;
-using System.Diagnostics;
-using System.IO;
-using System.Reflection;
-using System.Runtime.InteropServices;
-using System.Text;
-using System.Text.RegularExpressions;
-using System.Threading;
-using Forms = System.Windows.Forms;
-
-using Microsoft.Win32;
-using SparkleLib;
-using System.Windows;
-
-
-namespace SparkleShare {
-
- public class SparkleController : SparkleControllerBase {
-
- private int ssh_agent_pid;
-
-
- public SparkleController () : base ()
- {
- }
-
-
- public override string PluginsPath
- {
- get {
- return Path.Combine (Path.GetDirectoryName (Assembly.GetExecutingAssembly ().Location), "plugins");
- }
- }
-
-
- public override void Initialize ()
- {
- // Add msysgit to path, as we cannot asume it is added to the path
- // Asume it is installed in @"<exec dir>\msysgit\bin"
- string executable_path = Path.GetDirectoryName (Forms.Application.ExecutablePath);
- string msysgit_path = Path.Combine (executable_path, "msysgit");
-
-
- string new_PATH = msysgit_path + @"\bin" + ";" +
- msysgit_path + @"\mingw\bin" + ";" +
- msysgit_path + @"\cmd" + ";" +
- Environment.ExpandEnvironmentVariables ("%PATH%");
-
- Environment.SetEnvironmentVariable ("PATH", new_PATH);
- Environment.SetEnvironmentVariable ("HOME", Environment.GetFolderPath (Environment.SpecialFolder.UserProfile));
-
- StartSSH ();
- SparkleLib.Git.SparkleGit.SSHPath = Path.Combine (msysgit_path, "bin", "ssh.exe");
-
- base.Initialize ();
- }
-
-
- public override string EventLogHTML {
- get {
- string html = SparkleUIHelpers.GetHTML ("event-log.html");
- return html.Replace ("<!-- $jquery -->", SparkleUIHelpers.GetHTML ("jquery.js"));
- }
- }
-
-
- public override string DayEntryHTML {
- get {
- return SparkleUIHelpers.GetHTML ("day-entry.html");
- }
- }
-
-
- public override string EventEntryHTML {
- get {
- return SparkleUIHelpers.GetHTML ("event-entry.html");
- }
- }
-
-
- public override void CreateStartupItem ()
- {
- string startup_folder_path = Environment.GetFolderPath (Environment.SpecialFolder.Startup);
- string shortcut_path = Path.Combine (startup_folder_path, "SparkleShare.lnk");
-
- if (File.Exists (shortcut_path))
- File.Delete (shortcut_path);
-
- string shortcut_target = Forms.Application.ExecutablePath;
-
- Shortcut shortcut = new Shortcut ();
- shortcut.Create (shortcut_path, shortcut_target);
- }
-
-
- public override void InstallProtocolHandler ()
- {
- // We ship a separate .exe for this
- }
-
-
- public override void AddToBookmarks ()
- {
- string user_profile_path = Environment.GetFolderPath (Environment.SpecialFolder.UserProfile);
- string shortcut_path = Path.Combine (user_profile_path, "Links", "SparkleShare.lnk");
-
- if (File.Exists (shortcut_path))
- File.Delete (shortcut_path);
-
- Shortcut shortcut = new Shortcut ();
- shortcut.Create (FoldersPath, shortcut_path);
- }
-
-
- public override bool CreateSparkleShareFolder ()
- {
- if (Directory.Exists (FoldersPath))
- return false;
-
- Directory.CreateDirectory (FoldersPath);
-
- File.SetAttributes (FoldersPath, File.GetAttributes (FoldersPath) | FileAttributes.System);
- SparkleLogger.LogInfo ("Config", "Created '" + FoldersPath + "'");
-
- string app_path = Path.GetDirectoryName (Forms.Application.ExecutablePath);
- string icon_file_path = Path.Combine (app_path, "Pixmaps", "sparkleshare-folder.ico");
-
- if (!File.Exists (icon_file_path)) {
- string ini_file_path = Path.Combine (FoldersPath, "desktop.ini");
- string n = Environment.NewLine;
-
- string ini_file = "[.ShellClassInfo]" + n +
- "IconFile=" + icon_file_path + n +
- "IconIndex=0" + n +
- "InfoTip=SparkleShare";
-
- try {
- File.Create (ini_file_path).Close ();
- File.WriteAllText (ini_file_path, ini_file);
-
- File.SetAttributes (ini_file_path,
- File.GetAttributes (ini_file_path) | FileAttributes.Hidden | FileAttributes.System);
-
- } catch (IOException e) {
- SparkleLogger.LogInfo ("Config", "Failed setting icon for '" + FoldersPath + "': " + e.Message);
- }
-
- return true;
- }
-
- return false;
- }
-
-
- public override void OpenFile (string path)
- {
- Process.Start (path);
- }
-
-
- public override void OpenFolder (string path)
- {
- Process.Start (path);
- }
-
-
- public override void OpenWebsite (string url)
- {
- Process.Start (new ProcessStartInfo (url));
- }
-
-
- public override void CopyToClipboard (string text)
- {
- try {
- Clipboard.SetData (DataFormats.Text, text);
-
- } catch (COMException e) {
- SparkleLogger.LogInfo ("Controller", "Copy to clipboard failed", e);
- }
- }
-
-
- public override void Quit ()
- {
- StopSSH ();
- base.Quit ();
- }
-
-
- private void StartSSH ()
- {
- string auth_agent_pid = Environment.GetEnvironmentVariable ("SSH_AGENT_PID");
-
- if (!string.IsNullOrEmpty (auth_agent_pid)) {
- SparkleLogger.LogInfo ("Controller", "Trying to use existing ssh-agent with PID=" + auth_agent_pid + "...");
- this.ssh_agent_pid = Convert.ToInt32 (auth_agent_pid);
-
- try {
- Process ssh_agent = Process.GetProcessById (this.ssh_agent_pid);
- SparkleLogger.LogInfo ("Controller", "Using existing ssh-agent with PID=" + this.ssh_agent_pid);
-
- return;
-
- } catch (ArgumentException) {
- SparkleLogger.LogInfo ("Controller", "ssh-agent with PID=" + auth_agent_pid + " does not exist. Starting a new one...");
- }
- }
-
- Process process = new Process ();
- process.StartInfo.FileName = "ssh-agent";
- process.StartInfo.UseShellExecute = false;
- process.StartInfo.RedirectStandardOutput = true;
- process.StartInfo.CreateNoWindow = true;
-
- process.Start ();
-
- string output = process.StandardOutput.ReadToEnd ();
- process.WaitForExit ();
-
- Match auth_sock_match = new Regex (@"SSH_AUTH_SOCK=([^;\n\r]*)").Match (output);
- Match ssh_pid_match = new Regex (@"SSH_AGENT_PID=([^;\n\r]*)").Match (output);
-
- if (auth_sock_match.Success)
- Environment.SetEnvironmentVariable ("SSH_AUTH_SOCK", auth_sock_match.Groups [1].Value);
-
- if (ssh_pid_match.Success) {
- Int32.TryParse (ssh_pid_match.Groups [1].Value, out this.ssh_agent_pid);
- Environment.SetEnvironmentVariable ("SSH_AGENT_PID", "" + this.ssh_agent_pid);
-
- SparkleLogger.LogInfo ("Controller", "ssh-agent started, PID=" + this.ssh_agent_pid);
-
- } else {
- SparkleLogger.LogInfo ("Controller", "Could not start ssh-agent:" + output);
- }
- }
-
-
- private void StopSSH ()
- {
- if (this.ssh_agent_pid == 0)
- return;
-
- try {
- Process.GetProcessById (this.ssh_agent_pid).Kill ();
-
- } catch (ArgumentException e) {
- SparkleLogger.LogInfo ("SSH", "Could not stop ssh-agent: " + e.Message);
- }
- }
- }
-}
diff --git a/SparkleShare/Windows/SparkleEventLog.cs b/SparkleShare/Windows/SparkleEventLog.cs
deleted file mode 100644
index 7938d77..0000000
--- a/SparkleShare/Windows/SparkleEventLog.cs
+++ /dev/null
@@ -1,372 +0,0 @@
-// SparkleShare, a collaboration and sharing tool.
-// 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
-// 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 (http://www.gnu.org/licenses/).
-
-using System;
-using System.ComponentModel;
-using System.IO;
-using System.Runtime.InteropServices;
-using System.Security.Permissions;
-using System.Threading;
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Media;
-using System.Windows.Media.Imaging;
-
-using Microsoft.Win32;
-using Shapes = System.Windows.Shapes;
-
-using SparkleLib;
-
-namespace SparkleShare {
-
- public class SparkleEventLog : Window {
-
- public SparkleEventLogController Controller = new SparkleEventLogController ();
-
- private Canvas canvas;
- private Label size_label_value;
- private Label history_label_value;
- private ComboBox combo_box;
- private WebBrowser web_browser;
- private SparkleSpinner spinner;
-
-
- public SparkleEventLog ()
- {
- Title = "Recent Changes";
- Height = 640;
- Width = 480;
- ResizeMode = ResizeMode.NoResize; // TODO
- Background = new SolidColorBrush (Color.FromRgb (240, 240, 240));
- AllowsTransparency = false;
- Icon = SparkleUIHelpers.GetImageSource ("sparkleshare-app", "ico");
-
- int x = (int) (SystemParameters.PrimaryScreenWidth * 0.61);
- int y = (int) (SystemParameters.PrimaryScreenHeight * 0.5 - (Height * 0.5));
-
- WindowStartupLocation = WindowStartupLocation.Manual;
- Left = x;
- Top = y;
-
- WriteOutImages ();
-
- Label size_label = new Label () {
- Content = "Size:",
- FontWeight = FontWeights.Bold
- };
-
- this.size_label_value = new Label () {
- Content = Controller.Size
- };
-
- size_label.Measure (new Size (Double.PositiveInfinity, Double.PositiveInfinity));
- Rect size_label_rect = new Rect (size_label.DesiredSize);
-
- Label history_label = new Label () {
- Content = "History:",
- FontWeight = FontWeights.Bold
- };
-
- this.history_label_value = new Label () {
- Content = Controller.HistorySize,
- };
-
- history_label.Measure (new Size (Double.PositiveInfinity, Double.PositiveInfinity));
- Rect history_label_rect = new Rect (history_label.DesiredSize);
-
- Shapes.Rectangle line = new Shapes.Rectangle () {
- Width = Width,
- Height = 1,
- Fill = new SolidColorBrush (Color.FromRgb (223, 223, 223))
- };
-
- Shapes.Rectangle background = new Shapes.Rectangle () {
- Width = Width,
- Height = Height,
- Fill = new SolidColorBrush (Color.FromRgb (250, 250, 250))
- };
-
- this.web_browser = new WebBrowser () {
- Width = Width - 6,
- Height = Height - 64
- };
-
- this.web_browser.ObjectForScripting = new SparkleScriptingObject ();
-
-
- spinner = new SparkleSpinner (22);
-
- // Disable annoying IE clicking sound
- CoInternetSetFeatureEnabled (21, 0x00000002, true);
-
-
- this.canvas = new Canvas ();
- Content = this.canvas;
-
- this.canvas.Children.Add (size_label);
- Canvas.SetLeft (size_label, 24);
- Canvas.SetTop (size_label, 4);
-
- this.canvas.Children.Add (this.size_label_value);
- Canvas.SetLeft (this.size_label_value, 22 + size_label_rect.Width);
- Canvas.SetTop (this.size_label_value, 4);
-
- this.canvas.Children.Add (history_label);
- Canvas.SetLeft (history_label, 130);
- Canvas.SetTop (history_label, 4);
-
- this.canvas.Children.Add (this.history_label_value);
- Canvas.SetLeft (this.history_label_value, 130 + history_label_rect.Width);
- Canvas.SetTop (this.history_label_value, 4);
-
- this.canvas.Children.Add (background);
- Canvas.SetLeft (background, 0);
- Canvas.SetTop (background, 36);
-
- this.canvas.Children.Add (spinner);
- Canvas.SetLeft (spinner, (Width / 2) - 15);
- Canvas.SetTop (spinner, (Height / 2) - 22);
-
- this.canvas.Children.Add (line);
- Canvas.SetLeft (line, 0);
- Canvas.SetTop (line, 35);
-
-
- Closing += Close;
-
- Controller.ShowWindowEvent += delegate {
- Dispatcher.BeginInvoke ((Action) delegate {
- Show ();
- Activate ();
- BringIntoView ();
- });
- };
-
- Controller.HideWindowEvent += delegate {
- Dispatcher.BeginInvoke ((Action) delegate {
- Hide ();
-
- if (this.canvas.Children.Contains (this.web_browser))
- this.canvas.Children.Remove (this.web_browser);
- });
- };
-
- Controller.UpdateSizeInfoEvent += delegate (string size, string history_size) {
- Dispatcher.BeginInvoke ((Action) delegate {
- this.size_label_value.Content = size;
- this.size_label_value.UpdateLayout ();
-
- this.history_label_value.Content = history_size;
- this.history_label_value.UpdateLayout ();
- });
- };
-
- Controller.UpdateChooserEvent += delegate (string [] folders) {
- Dispatcher.BeginInvoke ((Action) delegate {
- UpdateChooser (folders);
- });
- };
-
- Controller.UpdateChooserEnablementEvent += delegate (bool enabled) {
- Dispatcher.BeginInvoke ((Action) delegate {
- this.combo_box.IsEnabled = enabled;
- });
- };
-
- Controller.UpdateContentEvent += delegate (string html) {
- Dispatcher.BeginInvoke ((Action) delegate {
- UpdateContent (html);
- });
- };
-
- Controller.ContentLoadingEvent += delegate {
- Dispatcher.BeginInvoke ((Action) delegate {
- this.spinner.Start ();
-
- if (this.canvas.Children.Contains (this.web_browser))
- this.canvas.Children.Remove (this.web_browser);
- });
- };
-
- Controller.ShowSaveDialogEvent += delegate (string file_name, string target_folder_path) {
- Dispatcher.BeginInvoke ((Action) delegate {
- SaveFileDialog dialog = new SaveFileDialog () {
- FileName = file_name,
- InitialDirectory = target_folder_path,
- Title = "Restore from History",
- DefaultExt = "." + Path.GetExtension (file_name),
- Filter = "All Files|*.*"
- };
-
- Nullable<bool> result = dialog.ShowDialog (this);
-
- if (result == true)
- Controller.SaveDialogCompleted (dialog.FileName);
- else
- Controller.SaveDialogCancelled ();
- });
- };
- }
-
-
- public void UpdateChooser (string [] folders)
- {
- if (folders == null)
- folders = Controller.Folders;
-
- if (this.combo_box != null)
- this.canvas.Children.Remove (this.combo_box);
-
- this.combo_box = new ComboBox () {
- Width = 160
- };
-
- ComboBoxItem item = new ComboBoxItem () {
- Content = "Summary"
- };
-
- this.combo_box.Items.Add (item);
- this.combo_box.Items.Add (new Separator ());
-
- this.combo_box.SelectedItem = combo_box.Items [0];
-
- int row = 2;
- foreach (string folder in folders) {
- this.combo_box.Items.Add (
- new ComboBoxItem () { Content = folder }
- );
-
- if (folder.Equals (Controller.SelectedFolder))
- this.combo_box.SelectedItem = combo_box.Items [row];
-
- row++;
- }
-
- this.combo_box.SelectionChanged += delegate {
- Dispatcher.BeginInvoke ((Action) delegate {
- int index = this.combo_box.SelectedIndex;
-
- if (index == 0)
- Controller.SelectedFolder = null;
- else
- Controller.SelectedFolder = (string)
- (this.combo_box.Items [index] as ComboBoxItem).Content;
- });
- };
-
- this.canvas.Children.Add (combo_box);
- Canvas.SetLeft (this.combo_box, Width - 24 - this.combo_box.Width);
- Canvas.SetTop (this.combo_box, 6);
- }
-
-
- public void UpdateContent (string html)
- {
- string pixmaps_path = Path.Combine (SparkleLib.SparkleConfig.DefaultConfig.TmpPath, "Pixmaps".SHA1 ());
- pixmaps_path = pixmaps_path.Replace ("\\", "/");
-
- html = html.Replace ("<a href=", "<a class='windows' href=");
- html = html.Replace ("<!-- $body-font-family -->", "'Segoe UI', sans-serif");
- html = html.Replace ("<!-- $day-entry-header-font-size -->", "13px");
- html = html.Replace ("<!-- $body-font-size -->", "12px");
- html = html.Replace ("<!-- $secondary-font-color -->", "#bbb");
- html = html.Replace ("<!-- $small-color -->", "#ddd");
- html = html.Replace ("<!-- $small-font-size -->", "90%");
- html = html.Replace ("<!-- $day-entry-header-background-color -->", "#f5f5f5");
- html = html.Replace ("<!-- $a-color -->", "#0085cf");
- html = html.Replace ("<!-- $a-hover-color -->", "#009ff8");
- html = html.Replace ("<!-- $pixmaps-path -->", pixmaps_path);
- html = html.Replace ("<!-- $document-added-background-image -->", pixmaps_path + "/document-added-12.png");
- html = html.Replace ("<!-- $document-edited-background-image -->", pixmaps_path + "/document-edited-12.png");
- html = html.Replace ("<!-- $document-deleted-background-image -->", pixmaps_path + "/document-deleted-12.png");
- html = html.Replace ("<!-- $document-moved-background-image -->", pixmaps_path + "/document-moved-12.png");
-
- this.spinner.Stop ();
-
- this.web_browser.ObjectForScripting = new SparkleScriptingObject ();
- this.web_browser.NavigateToString (html);
-
- if (!this.canvas.Children.Contains (this.web_browser)) {
- this.canvas.Children.Add (this.web_browser);
- Canvas.SetLeft (this.web_browser, 0);
- Canvas.SetTop (this.web_browser, 36);
- }
- }
-
-
- private void WriteOutImages ()
- {
- string tmp_path = SparkleLib.SparkleConfig.DefaultConfig.TmpPath;
- string pixmaps_path = Path.Combine (tmp_path, "Pixmaps".SHA1 ());
-
- if (!Directory.Exists (pixmaps_path)) {
- Directory.CreateDirectory (pixmaps_path);
-
- File.SetAttributes (tmp_path,
- File.GetAttributes (tmp_path) | FileAttributes.Hidden);
- }
-
- BitmapSource image = SparkleUIHelpers.GetImageSource ("user-icon-default");
- string file_path = Path.Combine (pixmaps_path, "user-icon-default.png");
-
- using (FileStream stream = new FileStream (file_path, FileMode.Create))
- {
- BitmapEncoder encoder = new PngBitmapEncoder ();
- encoder.Frames.Add (BitmapFrame.Create (image));
- encoder.Save (stream);
- }
-
- string [] actions = new string [] {"added", "deleted", "edited", "moved"};
-
- foreach (string action in actions) {
- image = SparkleUIHelpers.GetImageSource ("document-" + action + "-12");
- file_path = Path.Combine (pixmaps_path, "document-" + action + "-12.png");
-
- using (FileStream stream = new FileStream (file_path, FileMode.Create))
- {
- BitmapEncoder encoder = new PngBitmapEncoder ();
- encoder.Frames.Add (BitmapFrame.Create (image));
- encoder.Save (stream);
- }
- }
- }
-
-
- private void Close (object sender, CancelEventArgs args)
- {
- Controller.WindowClosed ();
- args.Cancel = true;
- }
-
-
- [DllImport ("urlmon.dll")]
- [PreserveSig]
- [return:MarshalAs (UnmanagedType.Error)]
- static extern int CoInternetSetFeatureEnabled (int feature,
- [MarshalAs (UnmanagedType.U4)] int flags, bool enable);
- }
-
-
- [PermissionSet(SecurityAction.Demand, Name = "FullTrust")]
- [ComVisible(true)]
- public class SparkleScriptingObject {
-
- public void LinkClicked (string url)
- {
- Program.UI.EventLog.Controller.LinkClicked (url);
- }
- }
-}
diff --git a/SparkleShare/Windows/SparkleEventLogWindow.xaml b/SparkleShare/Windows/SparkleEventLogWindow.xaml
deleted file mode 100644
index a43d38f..0000000
--- a/SparkleShare/Windows/SparkleEventLogWindow.xaml
+++ /dev/null
@@ -1,38 +0,0 @@
-<Window x:Class="SparkleShare.SparkleEventLogWindow"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
- xmlns:sparkleShare="clr-namespace:SparkleShare"
- mc:Ignorable="d"
- Height="640" SizeToContent="WidthAndHeight" Title="Recent Changes" MinHeight="640" MinWidth="490">
- <Grid x:Name="grid_Base" Background="White">
- <Border VerticalAlignment="Top" Height="35" Background="#FFF0F0F0" BorderBrush="#FFDFDFDF" BorderThickness="0,0,0,1">
- <Grid>
- <Label Content="Size: ?" Height="28" Name="label_Size" HorizontalAlignment="Left" Margin="20,0,0,0" FontWeight="Bold" />
- <Label Content="History: ?" Height="28" Name="label_History" HorizontalAlignment="Left" Margin="100,0,0,0" FontWeight="Bold" />
- <ComboBox HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0,0,6,0" MinWidth="120" x:Name="combobox" />
- </Grid>
- </Border>
-
- <Grid Margin="0, 35, 0, 0">
- <Grid.RowDefinitions>
- <RowDefinition Height="*"/>
- <RowDefinition Height="Auto"/>
- </Grid.RowDefinitions>
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="*"></ColumnDefinition>
- <ColumnDefinition Width="Auto"></ColumnDefinition>
- </Grid.ColumnDefinitions>
-
- <sparkleShare:SparkleSpinner x:Name="spinner" />
- <WebBrowser x:Name="webbrowser" Height="{Binding ElementName=sizingControlHeight, Path=ActualHeight}" Width="{Binding ElementName=sizingControlWidth, Path=ActualWidth}" />
-
- <!-- WPF always resizes from child to parent. Unfortunately the webbrowser takes all space it gets.
- To correct this "feature" we use a dummy control in a different column to bind the height to.
- See: http://stackoverflow.com/questions/7300975/prevent-parent-from-being-resized-by-child -->
- <Rectangle Name="sizingControlHeight" Grid.Column="1" Visibility="Hidden" />
- <Rectangle Name="sizingControlWidth" Grid.Column="0" Grid.Row="1" Visibility="Hidden" />
- </Grid>
- </Grid>
-</Window> \ No newline at end of file
diff --git a/SparkleShare/Windows/SparkleEventLogWindow.xaml.cs b/SparkleShare/Windows/SparkleEventLogWindow.xaml.cs
deleted file mode 100644
index ac6b581..0000000
--- a/SparkleShare/Windows/SparkleEventLogWindow.xaml.cs
+++ /dev/null
@@ -1,262 +0,0 @@
-// SparkleShare, a collaboration and sharing tool.
-// 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
-// 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 <http://www.gnu.org/licenses/>.
-
-
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.IO;
-using System.Linq;
-using System.Security.Permissions;
-using System.Text;
-using System.Runtime.InteropServices;
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Media;
-using System.Windows.Media.Imaging;
-
-using Microsoft.Win32;
-
-namespace SparkleShare
-{
- public partial class SparkleEventLogWindow : Window
- {
- public SparkleEventLogController Controller = new SparkleEventLogController ();
-
- [DllImport("urlmon.dll")]
- [PreserveSig]
- [return: MarshalAs(UnmanagedType.Error)]
- static extern int CoInternetSetFeatureEnabled (int feature, [MarshalAs(UnmanagedType.U4)] int flags, bool enable);
-
-
- public SparkleEventLogWindow ()
- {
- InitializeComponent ();
-
-
- Background = new SolidColorBrush (Color.FromRgb(240, 240, 240));
- AllowsTransparency = false;
- Icon = SparkleUIHelpers.GetImageSource ("sparkleshare-app", "ico");
- WindowStartupLocation = WindowStartupLocation.CenterScreen;
-
- WriteOutImages ();
-
- this.label_Size.Content = "Size: " + Controller.Size;
- this.label_History.Content = "History: " + Controller.HistorySize;
-
- this.webbrowser.ObjectForScripting = new SparkleScriptingObject ();
-
- // Disable annoying IE clicking sound
- CoInternetSetFeatureEnabled (21, 0x00000002, true);
-
- Closing += this.OnClosing;
-
- Controller.ShowWindowEvent += delegate {
- Dispatcher.BeginInvoke ((Action) (() => {
- Show ();
- Activate ();
- BringIntoView ();
- }));
- };
-
- Controller.HideWindowEvent += delegate {
- Dispatcher.BeginInvoke ((Action) (() => {
- Hide ();
- this.spinner.Visibility = Visibility.Visible;
- this.webbrowser.Visibility = Visibility.Collapsed;
- }));
- };
-
- Controller.UpdateSizeInfoEvent += delegate (string size, string history_size) {
- Dispatcher.BeginInvoke ((Action) (() => {
- this.label_Size.Content = "Size: " + size;
- this.label_History.Content = "History: " + history_size;
- }));
- };
-
- Controller.UpdateChooserEvent += delegate (string [] folders) {
- Dispatcher.BeginInvoke ((Action) (() =>
- UpdateChooser (folders))
- );
- };
-
- Controller.UpdateChooserEnablementEvent += delegate (bool enabled) {
- Dispatcher.BeginInvoke ((Action) (() =>
- this.combobox.IsEnabled = enabled
- ));
- };
-
- Controller.UpdateContentEvent += delegate (string html) {
- Dispatcher.BeginInvoke ((Action) (() => {
- UpdateContent (html);
-
- this.spinner.Visibility = Visibility.Collapsed;
- this.webbrowser.Visibility = Visibility.Visible;
- }));
- };
-
- Controller.ContentLoadingEvent += () => this.Dispatcher.BeginInvoke (
- (Action)(() => {
- this.spinner.Visibility = Visibility.Visible;
- this.spinner.Start ();
- this.webbrowser.Visibility = Visibility.Collapsed;
- }));
-
- Controller.ShowSaveDialogEvent += delegate (string file_name, string target_folder_path) {
- Dispatcher.BeginInvoke ((Action) (() => {
- SaveFileDialog dialog = new SaveFileDialog () {
- FileName = file_name,
- InitialDirectory = target_folder_path,
- Title = "Restore from History",
- DefaultExt = "." + Path.GetExtension (file_name),
- Filter = "All Files|*.*"
- };
-
- bool? result = dialog.ShowDialog (this);
-
- if (result == true)
- Controller.SaveDialogCompleted (dialog.FileName);
- else
- Controller.SaveDialogCancelled ();
- }));
- };
- }
-
-
- private void OnClosing (object sender, CancelEventArgs cancel_event_args)
- {
- Controller.WindowClosed ();
- cancel_event_args.Cancel = true;
- }
-
-
- private void UpdateContent (string html)
- {
- string pixmaps_path = Path.Combine (SparkleLib.SparkleConfig.DefaultConfig.TmpPath, "Pixmaps");
- pixmaps_path = pixmaps_path.Replace ("\\", "/");
-
- html = html.Replace ("<a href=", "<a class='windows' href=");
- html = html.Replace ("<!-- $body-font-family -->", "Segoe UI");
- html = html.Replace ("<!-- $day-entry-header-font-size -->", "13px");
- html = html.Replace ("<!-- $body-font-size -->", "12px");
- html = html.Replace ("<!-- $secondary-font-color -->", "#bbb");
- html = html.Replace ("<!-- $small-color -->", "#ddd");
- html = html.Replace ("<!-- $small-font-size -->", "90%");
- html = html.Replace ("<!-- $day-entry-header-background-color -->", "#f5f5f5");
- html = html.Replace ("<!-- $a-color -->", "#0085cf");
- html = html.Replace ("<!-- $a-hover-color -->", "#009ff8");
- html = html.Replace ("<!-- $pixmaps-path -->", pixmaps_path);
- html = html.Replace ("<!-- $document-added-background-image -->", pixmaps_path + "/document-added-12.png");
- html = html.Replace ("<!-- $document-edited-background-image -->", pixmaps_path + "/document-edited-12.png");
- html = html.Replace ("<!-- $document-deleted-background-image -->", pixmaps_path + "/document-deleted-12.png");
- html = html.Replace ("<!-- $document-moved-background-image -->", pixmaps_path + "/document-moved-12.png");
-
- this.spinner.Stop ();
-
- this.webbrowser.ObjectForScripting = new SparkleScriptingObject ();
- this.webbrowser.NavigateToString (html);
- }
-
-
- public void UpdateChooser (string [] folders)
- {
- if (folders == null) {
- folders = Controller.Folders;
- }
-
- this.combobox.Items.Clear ();
- this.combobox.Items.Add (new ComboBoxItem () { Content = "Summary" });
- this.combobox.Items.Add (new Separator ());
- this.combobox.SelectedItem = combobox.Items [0];
-
- int row = 2;
- foreach (string folder in folders) {
- this.combobox.Items.Add (new ComboBoxItem () { Content = folder } );
-
- if (folder.Equals (Controller.SelectedFolder))
- this.combobox.SelectedItem = this.combobox.Items [row];
-
- row++;
- }
-
- this.combobox.SelectionChanged += delegate {
- Dispatcher.BeginInvoke ((Action) delegate {
- int index = this.combobox.SelectedIndex;
-
- if (index == 0)
- Controller.SelectedFolder = null;
- else
- Controller.SelectedFolder = (string) ((ComboBoxItem) this.combobox.Items [index]).Content;
- });
- };
- }
-
-
- private void WriteOutImages ()
- {
- string tmp_path = SparkleLib.SparkleConfig.DefaultConfig.TmpPath;
- string pixmaps_path = Path.Combine (tmp_path, "Pixmaps");
-
- if (!Directory.Exists (pixmaps_path))
- {
- Directory.CreateDirectory (pixmaps_path);
-
- File.SetAttributes (tmp_path, File.GetAttributes (tmp_path) | FileAttributes.Hidden);
- }
-
- BitmapSource image = SparkleUIHelpers.GetImageSource ("user-icon-default");
- string file_path = Path.Combine (pixmaps_path, "user-icon-default.png");
-
- using (FileStream stream = new FileStream (file_path, FileMode.Create))
- {
- BitmapEncoder encoder = new PngBitmapEncoder ();
- encoder.Frames.Add (BitmapFrame.Create (image));
- encoder.Save (stream);
- }
-
- string[] actions = new string [] { "added", "deleted", "edited", "moved" };
-
- foreach (string action in actions)
- {
- image = SparkleUIHelpers.GetImageSource ("document-" + action + "-12");
- file_path = Path.Combine (pixmaps_path, "document-" + action + "-12.png");
-
- using (FileStream stream = new FileStream (file_path, FileMode.Create))
- {
- BitmapEncoder encoder = new PngBitmapEncoder ();
- encoder.Frames.Add (BitmapFrame.Create(image));
- encoder.Save (stream);
- }
- }
- }
- }
-
-
-
-
-
- [PermissionSet(SecurityAction.Demand, Name = "FullTrust")]
- [ComVisible(true)]
- public class SparkleScriptingObject
- {
- public void LinkClicked(string url)
- {
- Program.UI.EventLog.Controller.LinkClicked(url);
- }
- }
-
-
-}
diff --git a/SparkleShare/Windows/SparkleLib/Git/SparkleLib.Git.csproj b/SparkleShare/Windows/SparkleLib/Git/SparkleLib.Git.csproj
deleted file mode 100644
index 473b4dc..0000000
--- a/SparkleShare/Windows/SparkleLib/Git/SparkleLib.Git.csproj
+++ /dev/null
@@ -1,71 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <ProjectGuid>{7F0DB8D0-E278-4955-8204-FC391B99F7C1}</ProjectGuid>
- <OutputType>Library</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <RootNamespace>SparkleLib.Git</RootNamespace>
- <AssemblyName>SparkleLib.Git</AssemblyName>
- <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
- <FileAlignment>512</FileAlignment>
- <TargetFrameworkProfile />
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugSymbols>true</DebugSymbols>
- <DebugType>full</DebugType>
- <Optimize>false</Optimize>
- <OutputPath>..\..\..\..\bin\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- <OutputPath>..\..\..\..\bin\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- </PropertyGroup>
- <ItemGroup>
- <Reference Include="System" />
- <Reference Include="System.Core" />
- <Reference Include="System.Xml.Linq" />
- <Reference Include="System.Data.DataSetExtensions" />
- <Reference Include="Microsoft.CSharp" />
- <Reference Include="System.Data" />
- <Reference Include="System.Xml" />
- </ItemGroup>
- <ItemGroup>
- <Compile Include="..\..\..\..\SparkleLib\Git\SparkleFetcherGit.cs">
- <Link>SparkleFetcherGit.cs</Link>
- </Compile>
- <Compile Include="..\..\..\..\SparkleLib\Git\SparkleGit.cs">
- <Link>SparkleGit.cs</Link>
- <SubType>Component</SubType>
- </Compile>
- <Compile Include="..\..\..\..\SparkleLib\Git\SparkleRepoGit.cs">
- <Link>SparkleRepoGit.cs</Link>
- </Compile>
- </ItemGroup>
- <ItemGroup>
- <Folder Include="Properties\" />
- </ItemGroup>
- <ItemGroup>
- <ProjectReference Include="..\SparkleLib.csproj">
- <Project>{748f6316-37b4-46fd-a011-af073bc7c02d}</Project>
- <Name>SparkleLib</Name>
- </ProjectReference>
- </ItemGroup>
- <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
- <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
- Other similar extension points exist, see Microsoft.Common.targets.
- <Target Name="BeforeBuild">
- </Target>
- <Target Name="AfterBuild">
- </Target>
- -->
-</Project> \ No newline at end of file
diff --git a/SparkleShare/Windows/SparkleLib/SparkleLib.csproj b/SparkleShare/Windows/SparkleLib/SparkleLib.csproj
deleted file mode 100644
index 4c5eaff..0000000
--- a/SparkleShare/Windows/SparkleLib/SparkleLib.csproj
+++ /dev/null
@@ -1,97 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <ProjectGuid>{748F6316-37B4-46FD-A011-AF073BC7C02D}</ProjectGuid>
- <OutputType>Library</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <RootNamespace>SparkleLib</RootNamespace>
- <AssemblyName>SparkleLib</AssemblyName>
- <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
- <FileAlignment>512</FileAlignment>
- <TargetFrameworkProfile />
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugSymbols>true</DebugSymbols>
- <DebugType>full</DebugType>
- <Optimize>false</Optimize>
- <OutputPath>..\..\..\bin\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- <OutputPath>..\..\..\bin\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- </PropertyGroup>
- <ItemGroup>
- <Reference Include="System" />
- <Reference Include="System.Core" />
- <Reference Include="System.Xml.Linq" />
- <Reference Include="System.Data.DataSetExtensions" />
- <Reference Include="Microsoft.CSharp" />
- <Reference Include="System.Data" />
- <Reference Include="System.Xml" />
- </ItemGroup>
- <ItemGroup>
- <Folder Include="Properties\" />
- </ItemGroup>
- <ItemGroup>
- <Compile Include="..\..\..\SparkleLib\Defines.cs">
- <Link>Defines.cs</Link>
- </Compile>
- <Compile Include="..\..\..\SparkleLib\SparkleBackend.cs">
- <Link>SparkleBackend.cs</Link>
- </Compile>
- <Compile Include="..\..\..\SparkleLib\SparkleConfig.cs">
- <Link>SparkleConfig.cs</Link>
- </Compile>
- <Compile Include="..\..\..\SparkleLib\SparkleExtensions.cs">
- <Link>SparkleExtensions.cs</Link>
- </Compile>
- <Compile Include="..\..\..\SparkleLib\SparkleFetcherBase.cs">
- <Link>SparkleFetcherBase.cs</Link>
- </Compile>
- <Compile Include="..\..\..\SparkleLib\SparkleFetcherSSH.cs">
- <Link>SparkleFetcherSSH.cs</Link>
- </Compile>
- <Compile Include="..\..\..\SparkleLib\SparkleListenerBase.cs">
- <Link>SparkleListenerBase.cs</Link>
- </Compile>
- <Compile Include="..\..\..\SparkleLib\SparkleListenerFactory.cs">
- <Link>SparkleListenerFactory.cs</Link>
- </Compile>
- <Compile Include="..\..\..\SparkleLib\SparkleListenerTcp.cs">
- <Link>SparkleListenerTcp.cs</Link>
- </Compile>
- <Compile Include="..\..\..\SparkleLib\SparkleLogger.cs">
- <Link>SparkleLogger.cs</Link>
- </Compile>
- <Compile Include="..\..\..\SparkleLib\SparkleRepoBase.cs">
- <Link>SparkleRepoBase.cs</Link>
- </Compile>
- <Compile Include="..\..\..\SparkleLib\SparkleUser.cs">
- <Link>SparkleUser.cs</Link>
- </Compile>
- <Compile Include="..\..\..\SparkleLib\SparkleWatcher.cs">
- <Link>SparkleWatcher.cs</Link>
- </Compile>
- <Compile Include="..\..\..\SparkleLib\SparkleWrappers.cs">
- <Link>SparkleWrappers.cs</Link>
- </Compile>
- </ItemGroup>
- <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
- <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
- Other similar extension points exist, see Microsoft.Common.targets.
- <Target Name="BeforeBuild">
- </Target>
- <Target Name="AfterBuild">
- </Target>
- -->
-</Project> \ No newline at end of file
diff --git a/SparkleShare/Windows/SparkleShare.Windows.csproj b/SparkleShare/Windows/SparkleShare.Windows.csproj
new file mode 100644
index 0000000..a3c32c1
--- /dev/null
+++ b/SparkleShare/Windows/SparkleShare.Windows.csproj
@@ -0,0 +1,337 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProductVersion>8.0.30703</ProductVersion>
+ <ProjectGuid>{728483AA-E34B-4441-BF2C-C8BC2901E4E0}</ProjectGuid>
+ <OutputType>WinExe</OutputType>
+ <AssemblyName>SparkleShare.Windows</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <RootNamespace>SparkleShare.Windows</RootNamespace>
+ <FileUpgradeFlags>
+ </FileUpgradeFlags>
+ <OldToolsVersion>3.5</OldToolsVersion>
+ <UpgradeBackupLocation>
+ </UpgradeBackupLocation>
+ <IsWebBootstrapper>false</IsWebBootstrapper>
+ <PublishUrl>publish\</PublishUrl>
+ <Install>true</Install>
+ <InstallFrom>Disk</InstallFrom>
+ <UpdateEnabled>false</UpdateEnabled>
+ <UpdateMode>Foreground</UpdateMode>
+ <UpdateInterval>7</UpdateInterval>
+ <UpdateIntervalUnits>Days</UpdateIntervalUnits>
+ <UpdatePeriodically>false</UpdatePeriodically>
+ <UpdateRequired>false</UpdateRequired>
+ <MapFileExtensions>true</MapFileExtensions>
+ <ApplicationRevision>0</ApplicationRevision>
+ <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
+ <UseApplicationTrust>false</UseApplicationTrust>
+ <BootstrapperEnabled>true</BootstrapperEnabled>
+ <ApplicationIcon>Images\sparkleshare-app.ico</ApplicationIcon>
+ <ReleaseVersion>
+ </ReleaseVersion>
+ <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>..\..\bin</OutputPath>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+ <PlatformTarget>x86</PlatformTarget>
+ <DefineConstants>TRACE</DefineConstants>
+ <DebugSymbols>true</DebugSymbols>
+ <Prefer32Bit>false</Prefer32Bit>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
+ <OutputPath>..\..\bin\</OutputPath>
+ <DefineConstants>TRACE;DEBUG</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <DebugType>full</DebugType>
+ <DebugSymbols>true</DebugSymbols>
+ <WarningLevel>4</WarningLevel>
+ <Optimize>false</Optimize>
+ <Prefer32Bit>false</Prefer32Bit>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Windows-Debug|AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <OutputPath>..\..\bin\</OutputPath>
+ <DefineConstants>TRACE;DEBUG</DefineConstants>
+ <DebugType>full</DebugType>
+ <PlatformTarget>AnyCPU</PlatformTarget>
+ <ErrorReport>prompt</ErrorReport>
+ <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'ReleaseWindows|AnyCPU'">
+ <DebugSymbols>true</DebugSymbols>
+ <OutputPath>..\..\bin\</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <Optimize>true</Optimize>
+ <DebugType>pdbonly</DebugType>
+ <PlatformTarget>x86</PlatformTarget>
+ <ErrorReport>prompt</ErrorReport>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'DebugMac|AnyCPU' ">
+ <OutputPath>..\..\bin\</OutputPath>
+ <DefineConstants>TRACE;DEBUG</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <DebugType>full</DebugType>
+ <DebugSymbols>true</DebugSymbols>
+ <WarningLevel>4</WarningLevel>
+ <Optimize>false</Optimize>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'DebugWindows|AnyCPU'">
+ <DebugSymbols>true</DebugSymbols>
+ <OutputPath>..\..\bin\</OutputPath>
+ <DefineConstants>TRACE;DEBUG</DefineConstants>
+ <DebugType>full</DebugType>
+ <PlatformTarget>AnyCPU</PlatformTarget>
+ <ErrorReport>prompt</ErrorReport>
+ <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
+ <Prefer32Bit>true</Prefer32Bit>
+ </PropertyGroup>
+ <Import Project="..\Common\SparkleShare.projitems" Label="Shared" Condition="Exists('..\Common\SparkleShare.projitems')" />
+ <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+ <ItemGroup>
+ <Reference Include="DeltaCompressionDotNet, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1d14d6e5194e7f4a, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\DeltaCompressionDotNet.1.0.0\lib\net45\DeltaCompressionDotNet.dll</HintPath>
+ </Reference>
+ <Reference Include="DeltaCompressionDotNet.MsDelta, Version=1.0.0.0, Culture=neutral, PublicKeyToken=46b2138a390abf55, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\DeltaCompressionDotNet.1.0.0\lib\net45\DeltaCompressionDotNet.MsDelta.dll</HintPath>
+ </Reference>
+ <Reference Include="DeltaCompressionDotNet.PatchApi, Version=1.0.0.0, Culture=neutral, PublicKeyToken=3e8888ee913ed789, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\DeltaCompressionDotNet.1.0.0\lib\net45\DeltaCompressionDotNet.PatchApi.dll</HintPath>
+ </Reference>
+ <Reference Include="ICSharpCode.SharpZipLib, Version=0.86.0.518, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\squirrel.windows.1.5.2\lib\Net45\ICSharpCode.SharpZipLib.dll</HintPath>
+ </Reference>
+ <Reference Include="Mono.Cecil, Version=0.9.6.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\Mono.Cecil.0.9.6.1\lib\net45\Mono.Cecil.dll</HintPath>
+ </Reference>
+ <Reference Include="Mono.Cecil.Mdb, Version=0.9.6.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\Mono.Cecil.0.9.6.1\lib\net45\Mono.Cecil.Mdb.dll</HintPath>
+ </Reference>
+ <Reference Include="Mono.Cecil.Pdb, Version=0.9.6.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\Mono.Cecil.0.9.6.1\lib\net45\Mono.Cecil.Pdb.dll</HintPath>
+ </Reference>
+ <Reference Include="Mono.Cecil.Rocks, Version=0.9.6.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\Mono.Cecil.0.9.6.1\lib\net45\Mono.Cecil.Rocks.dll</HintPath>
+ </Reference>
+ <Reference Include="NuGet.Squirrel, Version=3.0.0.0, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\squirrel.windows.1.5.2\lib\Net45\NuGet.Squirrel.dll</HintPath>
+ </Reference>
+ <Reference Include="Splat, Version=1.6.2.0, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\Splat.1.6.2\lib\Net45\Splat.dll</HintPath>
+ </Reference>
+ <Reference Include="Squirrel, Version=1.5.2.0, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\squirrel.windows.1.5.2\lib\Net45\Squirrel.dll</HintPath>
+ </Reference>
+ <Reference Include="System" />
+ <Reference Include="System.Core" />
+ <Reference Include="System.Data" />
+ <Reference Include="System.Drawing" />
+ <Reference Include="System.Windows.Forms" />
+ <Reference Include="System.Configuration" />
+ <Reference Include="System.Xml" />
+ <Reference Include="PresentationCore" />
+ <Reference Include="PresentationFramework" />
+ <Reference Include="WindowsBase" />
+ <Reference Include="WindowsFormsIntegration" />
+ <Reference Include="System.Xaml" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="UserInterface\About.cs" />
+ <Compile Include="UserInterface\Bubbles.cs" />
+ <Compile Include="UserInterface\EventLog.cs" />
+ <Compile Include="UserInterface\Controller.cs" />
+ <Compile Include="UserInterface\Note.xaml.cs">
+ <DependentUpon>Note.xaml</DependentUpon>
+ </Compile>
+ <Compile Include="UserInterface\NotifyIcon.cs" />
+ <Compile Include="UserInterface\ProtocolHandler.cs" />
+ <Compile Include="UserInterface\Setup.cs" />
+ <Compile Include="UserInterface\SetupWindow.cs" />
+ <Compile Include="UserInterface\Shortcut.cs" />
+ <Compile Include="UserInterface\Spinner.cs" />
+ <Compile Include="UserInterface\StatusIcon.cs" />
+ <Compile Include="UserInterface\UserInterface.cs" />
+ <Compile Include="UserInterface\UserInterfaceHelpers.cs" />
+ </ItemGroup>
+ <ProjectExtensions>
+ <VisualStudio />
+ </ProjectExtensions>
+ <ItemGroup>
+ <BootstrapperPackage Include="Microsoft.Net.Framework.2.0">
+ <Visible>False</Visible>
+ <ProductName>.NET Framework 2.0 %28x86%29</ProductName>
+ <Install>true</Install>
+ </BootstrapperPackage>
+ <BootstrapperPackage Include="Microsoft.Net.Framework.3.0">
+ <Visible>False</Visible>
+ <ProductName>.NET Framework 3.0 %28x86%29</ProductName>
+ <Install>false</Install>
+ </BootstrapperPackage>
+ <BootstrapperPackage Include="Microsoft.Net.Framework.3.5">
+ <Visible>False</Visible>
+ <ProductName>.NET Framework 3.5</ProductName>
+ <Install>false</Install>
+ </BootstrapperPackage>
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{508349B6-6B84-4DF5-91F0-309BEEBAD82D}" />
+ <Service Include="{B4F97281-0DBD-4835-9ED8-7DFB966E87FF}" />
+ </ItemGroup>
+ <ItemGroup>
+ <EmbeddedResource Include="..\Common\Images\about.png">
+ <Link>Images\about.png</Link>
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </EmbeddedResource>
+ <EmbeddedResource Include="..\Common\Images\side-splash.png">
+ <Link>Images\side-splash.png</Link>
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </EmbeddedResource>
+ <EmbeddedResource Include="..\Common\HTML\day-entry.html">
+ <Link>HTML\day-entry.html</Link>
+ </EmbeddedResource>
+ <EmbeddedResource Include="..\Common\HTML\event-entry.html">
+ <Link>HTML\event-entry.html</Link>
+ </EmbeddedResource>
+ <EmbeddedResource Include="..\Common\HTML\event-log.html">
+ <Link>HTML\event-log.html</Link>
+ <SubType>Designer</SubType>
+ </EmbeddedResource>
+ <EmbeddedResource Include="..\Common\HTML\jquery.js">
+ <Link>HTML\jquery.js</Link>
+ </EmbeddedResource>
+ <EmbeddedResource Include="..\Common\Images\user-icon-default.png">
+ <Link>Images\user-icon-default.png</Link>
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </EmbeddedResource>
+ <EmbeddedResource Include="..\Linux\Images\icons\hicolor\document-added-12.png">
+ <Link>Images\document-added-12.png</Link>
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </EmbeddedResource>
+ <EmbeddedResource Include="..\Linux\Images\icons\hicolor\document-deleted-12.png">
+ <Link>Images\document-deleted-12.png</Link>
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </EmbeddedResource>
+ <EmbeddedResource Include="..\Linux\Images\icons\hicolor\document-edited-12.png">
+ <Link>Images\document-edited-12.png</Link>
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </EmbeddedResource>
+ <EmbeddedResource Include="..\Linux\Images\icons\hicolor\document-moved-12.png">
+ <Link>Images\document-moved-12.png</Link>
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </EmbeddedResource>
+ <EmbeddedResource Include="..\Linux\Images\icons\hicolor\process-working-22.png">
+ <Link>Images\process-working-22.png</Link>
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </EmbeddedResource>
+ <EmbeddedResource Include="Images\process-syncing-down.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </EmbeddedResource>
+ <EmbeddedResource Include="Images\process-syncing-idle.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </EmbeddedResource>
+ <EmbeddedResource Include="Images\process-syncing-up.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </EmbeddedResource>
+ <EmbeddedResource Include="Images\process-syncing.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </EmbeddedResource>
+ <EmbeddedResource Include="..\Common\Images\tutorial-slide-1.png">
+ <Link>Images\tutorial-slide-1.png</Link>
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </EmbeddedResource>
+ <EmbeddedResource Include="..\Common\Images\tutorial-slide-2.png">
+ <Link>Images\tutorial-slide-2.png</Link>
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </EmbeddedResource>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="..\Common\Presets\github.png">
+ <Link>Presets\github.png</Link>
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </None>
+ <None Include="..\Common\Presets\own-server.png">
+ <Link>Presets\own-server.png</Link>
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </None>
+ <None Include="..\Common\Presets\bitbucket.png">
+ <Link>Presets\bitbucket.png</Link>
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </None>
+ <None Include="..\Common\Presets\planio.png">
+ <Link>Presets\planio.png</Link>
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </None>
+ <None Include="app.config" />
+ <None Include="packages.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="..\Common\Presets\bitbucket.xml">
+ <Link>Presets\bitbucket.xml</Link>
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </None>
+ <None Include="..\Common\Presets\github.xml">
+ <Link>Presets\github.xml</Link>
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </None>
+ <None Include="..\Common\Presets\own-server.xml">
+ <Link>Presets\own-server.xml</Link>
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </None>
+ <None Include="..\Common\Presets\planio.xml">
+ <Link>Presets\planio.xml</Link>
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </None>
+ </ItemGroup>
+ <ItemGroup>
+ <EmbeddedResource Include="Images\folder.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </EmbeddedResource>
+ <EmbeddedResource Include="Images\process-syncing-error.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </EmbeddedResource>
+ <EmbeddedResource Include="Images\sparkleshare-app.ico">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </EmbeddedResource>
+ <EmbeddedResource Include="Images\sparkleshare-folder.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </EmbeddedResource>
+ </ItemGroup>
+ <ItemGroup>
+ <EmbeddedResource Include="Images\tutorial-slide-3.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </EmbeddedResource>
+ </ItemGroup>
+ <ItemGroup>
+ <Resource Include="..\Common\Images\text-balloon.png">
+ <Link>Images\text-balloon.png</Link>
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Resource>
+ <Content Include="Images\sparkleshare-folder.ico">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ </ItemGroup>
+ <ItemGroup>
+ <Page Include="UserInterface\Note.xaml">
+ <SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ </Page>
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\Sparkles\Sparkles.csproj">
+ <Project>{2C914413-B31C-4362-93C7-1AE34F09112A}</Project>
+ <Name>Sparkles</Name>
+ </ProjectReference>
+ <ProjectReference Include="..\..\Sparkles\Git\Sparkles.Git.csproj">
+ <Project>{009FDCD7-1D57-4202-BB6D-8477D8C6B8EE}</Project>
+ <Name>Sparkles.Git</Name>
+ </ProjectReference>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/SparkleShare/Windows/SparkleShare.csproj b/SparkleShare/Windows/SparkleShare.csproj
deleted file mode 100644
index b437064..0000000
--- a/SparkleShare/Windows/SparkleShare.csproj
+++ /dev/null
@@ -1,294 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Release</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <ProductVersion>9.0.30729</ProductVersion>
- <ProjectGuid>{728483AA-E34B-4441-BF2C-C8BC2901E4E0}</ProjectGuid>
- <OutputType>WinExe</OutputType>
- <AssemblyName>SparkleShare</AssemblyName>
- <SchemaVersion>2.0</SchemaVersion>
- <RootNamespace>SparkleShare</RootNamespace>
- <FileUpgradeFlags>
- </FileUpgradeFlags>
- <OldToolsVersion>3.5</OldToolsVersion>
- <UpgradeBackupLocation>
- </UpgradeBackupLocation>
- <IsWebBootstrapper>false</IsWebBootstrapper>
- <PublishUrl>publish\</PublishUrl>
- <Install>true</Install>
- <InstallFrom>Disk</InstallFrom>
- <UpdateEnabled>false</UpdateEnabled>
- <UpdateMode>Foreground</UpdateMode>
- <UpdateInterval>7</UpdateInterval>
- <UpdateIntervalUnits>Days</UpdateIntervalUnits>
- <UpdatePeriodically>false</UpdatePeriodically>
- <UpdateRequired>false</UpdateRequired>
- <MapFileExtensions>true</MapFileExtensions>
- <ApplicationRevision>0</ApplicationRevision>
- <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
- <UseApplicationTrust>false</UseApplicationTrust>
- <BootstrapperEnabled>true</BootstrapperEnabled>
- <ApplicationIcon>Pixmaps\sparkleshare-app.ico</ApplicationIcon>
- <ReleaseVersion>
- </ReleaseVersion>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- <OutputPath>..\..\bin</OutputPath>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
- <PlatformTarget>x86</PlatformTarget>
- <DefineConstants>TRACE</DefineConstants>
- <DebugSymbols>true</DebugSymbols>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
- <OutputPath>..\..\bin\</OutputPath>
- <DefineConstants>TRACE;DEBUG</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <DebugType>full</DebugType>
- <DebugSymbols>true</DebugSymbols>
- </PropertyGroup>
- <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
- <ItemGroup>
- <Reference Include="System" />
- <Reference Include="System.Core" />
- <Reference Include="System.Data" />
- <Reference Include="System.Drawing" />
- <Reference Include="System.Windows.Forms" />
- <Reference Include="System.Configuration" />
- <Reference Include="System.Xml" />
- <Reference Include="PresentationCore" />
- <Reference Include="PresentationFramework" />
- <Reference Include="WindowsBase" />
- <Reference Include="WindowsFormsIntegration" />
- <Reference Include="System.Xaml" />
- </ItemGroup>
- <ItemGroup>
- <Compile Include="..\SparkleBubblesController.cs">
- <Link>SparkleBubblesController.cs</Link>
- </Compile>
- <Compile Include="..\SparkleControllerBase.cs">
- <Link>SparkleControllerBase.cs</Link>
- </Compile>
- <Compile Include="..\SparkleExtensions.cs">
- <Link>SparkleExtensions.cs</Link>
- </Compile>
- <Compile Include="..\SparkleInvite.cs">
- <Link>SparkleInvite.cs</Link>
- </Compile>
- <Compile Include="..\SparkleNoteController.cs">
- <Link>SparkleNoteController.cs</Link>
- </Compile>
- <Compile Include="..\SparklePlugin.cs">
- <Link>SparklePlugin.cs</Link>
- </Compile>
- <Compile Include="..\SparkleStatusIconController.cs">
- <Link>SparkleStatusIconController.cs</Link>
- </Compile>
- <Compile Include="..\SparkleSetupController.cs" />
- <Compile Include="SparkleEventLogWindow.xaml.cs">
- <DependentUpon>SparkleEventLogWindow.xaml</DependentUpon>
- </Compile>
- <Compile Include="SparkleNote.xaml.cs">
- <DependentUpon>SparkleNote.xaml</DependentUpon>
- </Compile>
- <Compile Include="SparkleShortcut.cs" />
- <Compile Include="SparkleUI.cs" />
- <Compile Include="..\SparkleAboutController.cs" />
- <Compile Include="..\SparkleAvatars.cs" />
- <Compile Include="SparkleBubbles.cs" />
- <Compile Include="SparkleAbout.cs" />
- <Compile Include="SparkleController.cs" />
- <Compile Include="SparkleSetup.cs" />
- <Compile Include="SparkleStatusIcon.cs" />
- <Compile Include="SparkleUIHelpers.cs" />
- <Compile Include="..\SparkleEventLogController.cs">
- <Link>SparkleEventLogController.cs</Link>
- </Compile>
- <Compile Include="..\SparkleKeys.cs">
- <Link>SparkleKeys.cs</Link>
- </Compile>
- <Compile Include="SparkleSetupWindow.cs" />
- <Compile Include="..\Program.cs">
- <Link>Program.cs</Link>
- </Compile>
- <Compile Include="SparkleNotifyIcon.cs" />
- <Compile Include="SparkleSpinner.cs" />
- </ItemGroup>
- <ProjectExtensions>
- <MonoDevelop>
- <Properties>
- <MonoDevelop.Autotools.MakefileInfo RelativeMakefileName="Makefile.am">
- <BuildFilesVar Sync="True" Name="SOURCES" />
- <DeployFilesVar />
- <ResourcesVar />
- <OthersVar />
- <GacRefVar />
- <AsmRefVar />
- <ProjectRefVar />
- </MonoDevelop.Autotools.MakefileInfo>
- </Properties>
- </MonoDevelop>
- <VisualStudio />
- </ProjectExtensions>
- <ItemGroup>
- <BootstrapperPackage Include="Microsoft.Net.Framework.2.0">
- <Visible>False</Visible>
- <ProductName>.NET Framework 2.0 %28x86%29</ProductName>
- <Install>true</Install>
- </BootstrapperPackage>
- <BootstrapperPackage Include="Microsoft.Net.Framework.3.0">
- <Visible>False</Visible>
- <ProductName>.NET Framework 3.0 %28x86%29</ProductName>
- <Install>false</Install>
- </BootstrapperPackage>
- <BootstrapperPackage Include="Microsoft.Net.Framework.3.5">
- <Visible>False</Visible>
- <ProductName>.NET Framework 3.5</ProductName>
- <Install>false</Install>
- </BootstrapperPackage>
- </ItemGroup>
- <ItemGroup>
- <Service Include="{508349B6-6B84-4DF5-91F0-309BEEBAD82D}" />
- <Service Include="{B4F97281-0DBD-4835-9ED8-7DFB966E87FF}" />
- </ItemGroup>
- <ItemGroup>
- <EmbeddedResource Include="..\Common\Pixmaps\about.png">
- <Link>Pixmaps\about.png</Link>
- </EmbeddedResource>
- <EmbeddedResource Include="..\Common\Pixmaps\side-splash.png">
- <Link>Pixmaps\side-splash.png</Link>
- </EmbeddedResource>
- <EmbeddedResource Include="..\Common\HTML\day-entry.html">
- <Link>HTML\day-entry.html</Link>
- </EmbeddedResource>
- <EmbeddedResource Include="..\Common\HTML\event-entry.html">
- <Link>HTML\event-entry.html</Link>
- </EmbeddedResource>
- <EmbeddedResource Include="..\Common\HTML\event-log.html">
- <Link>HTML\event-log.html</Link>
- <SubType>Designer</SubType>
- </EmbeddedResource>
- <EmbeddedResource Include="..\Common\HTML\jquery.js">
- <Link>HTML\jquery.js</Link>
- </EmbeddedResource>
- <EmbeddedResource Include="..\Common\Pixmaps\user-icon-default.png">
- <Link>Pixmaps\user-icon-default.png</Link>
- </EmbeddedResource>
- <EmbeddedResource Include="..\Linux\Pixmaps\icons\document-added-12.png">
- <Link>Pixmaps\document-added-12.png</Link>
- </EmbeddedResource>
- <EmbeddedResource Include="..\Linux\Pixmaps\icons\document-deleted-12.png">
- <Link>Pixmaps\document-deleted-12.png</Link>
- </EmbeddedResource>
- <EmbeddedResource Include="..\Linux\Pixmaps\icons\document-edited-12.png">
- <Link>Pixmaps\document-edited-12.png</Link>
- </EmbeddedResource>
- <EmbeddedResource Include="..\Linux\Pixmaps\icons\document-moved-12.png">
- <Link>Pixmaps\document-moved-12.png</Link>
- </EmbeddedResource>
- <EmbeddedResource Include="..\Linux\Pixmaps\icons\process-working-22.png">
- <Link>Pixmaps\process-working-22.png</Link>
- </EmbeddedResource>
- <EmbeddedResource Include="Pixmaps\process-syncing-down.png" />
- <EmbeddedResource Include="Pixmaps\process-syncing-idle.png" />
- <EmbeddedResource Include="Pixmaps\process-syncing-up.png" />
- <EmbeddedResource Include="Pixmaps\process-syncing.png" />
- <EmbeddedResource Include="..\Common\Pixmaps\tutorial-slide-1.png">
- <Link>Pixmaps\tutorial-slide-1.png</Link>
- </EmbeddedResource>
- <EmbeddedResource Include="..\Common\Pixmaps\tutorial-slide-2.png">
- <Link>Pixmaps\tutorial-slide-2.png</Link>
- </EmbeddedResource>
- </ItemGroup>
- <ItemGroup>
- <None Include="..\Common\Plugins\github.png">
- <Link>Plugins\github.png</Link>
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="..\Common\Plugins\gitorious.png">
- <Link>Plugins\gitorious.png</Link>
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="..\Common\Plugins\own-server.png">
- <Link>Plugins\own-server.png</Link>
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="..\Common\Plugins\bitbucket.png">
- <Link>Plugins\bitbucket.png</Link>
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="..\Common\Plugins\ssnet.png">
- <Link>Plugins\ssnet.png</Link>
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="..\Common\Plugins\planio.png">
- <Link>Plugins\planio.png</Link>
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- </ItemGroup>
- <ItemGroup>
- <None Include="..\Common\Plugins\ssnet.xml">
- <Link>Plugins\ssnet.xml</Link>
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="..\Common\Plugins\bitbucket.xml">
- <Link>Plugins\bitbucket.xml</Link>
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="..\Common\Plugins\github.xml">
- <Link>Plugins\github.xml</Link>
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="..\Common\Plugins\gitorious.xml">
- <Link>Plugins\gitorious.xml</Link>
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="..\Common\Plugins\own-server.xml">
- <Link>Plugins\own-server.xml</Link>
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="..\Common\Plugins\planio.xml">
- <Link>Plugins\planio.xml</Link>
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- </ItemGroup>
- <ItemGroup>
- <EmbeddedResource Include="Pixmaps\folder.png" />
- <EmbeddedResource Include="Pixmaps\process-syncing-error.png" />
- <EmbeddedResource Include="Pixmaps\sparkleshare-app.ico" />
- <EmbeddedResource Include="Pixmaps\sparkleshare-folder.png" />
- </ItemGroup>
- <ItemGroup>
- <EmbeddedResource Include="Pixmaps\tutorial-slide-3.png" />
- </ItemGroup>
- <ItemGroup>
- <Resource Include="..\Common\Pixmaps\text-balloon.png">
- <Link>Pixmaps\text-balloon.png</Link>
- </Resource>
- <Content Include="Pixmaps\sparkleshare-folder.ico" />
- </ItemGroup>
- <ItemGroup>
- <Page Include="SparkleEventLogWindow.xaml">
- <SubType>Designer</SubType>
- <Generator>MSBuild:Compile</Generator>
- </Page>
- <Page Include="SparkleNote.xaml">
- <SubType>Designer</SubType>
- <Generator>MSBuild:Compile</Generator>
- </Page>
- </ItemGroup>
- <ItemGroup>
- <ProjectReference Include="SparkleLib\Git\SparkleLib.Git.csproj">
- <Project>{7f0db8d0-e278-4955-8204-fc391b99f7c1}</Project>
- <Name>SparkleLib.Git</Name>
- </ProjectReference>
- <ProjectReference Include="SparkleLib\SparkleLib.csproj">
- <Project>{748f6316-37b4-46fd-a011-af073bc7c02d}</Project>
- <Name>SparkleLib</Name>
- </ProjectReference>
- </ItemGroup>
-</Project> \ No newline at end of file
diff --git a/SparkleShare/Windows/SparkleShare.sln b/SparkleShare/Windows/SparkleShare.sln
deleted file mode 100644
index 03ee1fd..0000000
--- a/SparkleShare/Windows/SparkleShare.sln
+++ /dev/null
@@ -1,49 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 2013
-VisualStudioVersion = 12.0.30110.0
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SparkleShare", "SparkleShare.csproj", "{728483AA-E34B-4441-BF2C-C8BC2901E4E0}"
- ProjectSection(ProjectDependencies) = postProject
- {1DB5492D-B897-4A5E-8DD7-175EC65F52F2} = {1DB5492D-B897-4A5E-8DD7-175EC65F52F2}
- EndProjectSection
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SparkleShareInviteOpener", "SparkleShareInviteOpener\SparkleShareInviteOpener.csproj", "{1DB5492D-B897-4A5E-8DD7-175EC65F52F2}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SparkleLib", "SparkleLib\SparkleLib.csproj", "{748F6316-37B4-46FD-A011-AF073BC7C02D}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SparkleLib.Git", "SparkleLib\Git\SparkleLib.Git.csproj", "{7F0DB8D0-E278-4955-8204-FC391B99F7C1}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Release|Any CPU = Release|Any CPU
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {728483AA-E34B-4441-BF2C-C8BC2901E4E0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {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
- {1DB5492D-B897-4A5E-8DD7-175EC65F52F2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {1DB5492D-B897-4A5E-8DD7-175EC65F52F2}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {1DB5492D-B897-4A5E-8DD7-175EC65F52F2}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {1DB5492D-B897-4A5E-8DD7-175EC65F52F2}.Release|Any CPU.Build.0 = Release|Any CPU
- {748F6316-37B4-46FD-A011-AF073BC7C02D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {748F6316-37B4-46FD-A011-AF073BC7C02D}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {748F6316-37B4-46FD-A011-AF073BC7C02D}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {748F6316-37B4-46FD-A011-AF073BC7C02D}.Release|Any CPU.Build.0 = Release|Any CPU
- {7F0DB8D0-E278-4955-8204-FC391B99F7C1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {7F0DB8D0-E278-4955-8204-FC391B99F7C1}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {7F0DB8D0-E278-4955-8204-FC391B99F7C1}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {7F0DB8D0-E278-4955-8204-FC391B99F7C1}.Release|Any CPU.Build.0 = Release|Any CPU
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
- GlobalSection(MonoDevelopProperties) = preSolution
- StartupItem = SparkleShare.csproj
- version =
- outputpath = bin
- name = SparkleShare
- EndGlobalSection
-EndGlobal
diff --git a/SparkleShare/Windows/SparkleShare.vssettings b/SparkleShare/Windows/SparkleShare.vssettings
index 9651a51..240532e 100644
--- a/SparkleShare/Windows/SparkleShare.vssettings
+++ b/SparkleShare/Windows/SparkleShare.vssettings
@@ -91,7 +91,7 @@
<PropertyValue name="FilterURLs">True</PropertyValue>
<PropertyValue name="GlobalErrorPattern">\[{"Error":[^n];"SharepointError";"HasException":true</PropertyValue>
<PropertyValue name="ParameterizeSiteName">True</PropertyValue>
- <PropertyValue name="RulesFileName">C:\Program Files\Microsoft Visual Studio 12.0\Common7\IDE\PrivateAssemblies\WebTestPlugins\DefaultSharePointRules.xml</PropertyValue>
+ <PropertyValue name="RulesFileName">C:\Program Files\Microsoft Visual Studio 12.0\Common7\IDE\PrivateAssemblies\WebTestPresets\DefaultSharePointRules.xml</PropertyValue>
<PropertyValue name="URLPatterns">AAEAAAD/////AQAAAAAAAAAMAgAAAGxNaWNyb3NvZnQuVmlzdWFsU3R1ZGlvLlF1YWxpdHlUb29scy5Wc2lwLCBWZXJzaW9uPTEyLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EEAQAAAMMBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tNaWNyb3NvZnQuVmlzdWFsU3R1ZGlvLlRlc3RUb29scy5Wc2lwLlVSTFBhdHRlcm4sIE1pY3Jvc29mdC5WaXN1YWxTdHVkaW8uUXVhbGl0eVRvb2xzLlZzaXAsIFZlcnNpb249MTIuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYV1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24EAAAyTWljcm9zb2Z0LlZpc3VhbFN0dWRpby5UZXN0VG9vbHMuVnNpcC5VUkxQYXR0ZXJuW10CAAAACAgJAwAAAAQAAAAEAAAABwMAAAAAAQAAAAQAAAAEME1pY3Jvc29mdC5WaXN1YWxTdHVkaW8uVGVzdFRvb2xzLlZzaXAuVVJMUGF0dGVybgIAAAAJBAAAAAkFAAAACQYAAAAJBwAAAAwIAAAASVN5c3RlbSwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFBAAAADBNaWNyb3NvZnQuVmlzdWFsU3R1ZGlvLlRlc3RUb29scy5Wc2lwLlVSTFBhdHRlcm4DAAAAD1Byb3BlcnR5Q2hhbmdlZAptX2NyaXRlcmlhCW1fcGF0dGVybgQBATFTeXN0ZW0uQ29tcG9uZW50TW9kZWwuUHJvcGVydHlDaGFuZ2VkRXZlbnRIYW5kbGVyCAAAAAIAAAAKBgkAAAAIRW5kc1dpdGgGCgAAAAlibGFuay5naWYBBQAAAAQAAAAKCQkAAAAGDAAAAAlibGFuay5odG0BBgAAAAQAAAAKCQkAAAAGDgAAAA9TY3JpcHRSZXN4LmFzaHgBBwAAAAQAAAAKCQkAAAAGEAAAAA5jb21tYW5kdWkuYXNoeAs=</PropertyValue>
<PropertyValue name="UseRegexForGlobalErrorPattern">True</PropertyValue>
</Category><Category name="Browser Link_BrowserLinkOptions" Category="{600fc5ef-ed38-3ecb-b7fa-e2fb3aa59ebb}" Package="{8c28e535-abc9-4f92-b5c9-6c16617c8884}" RegisteredName="Browser Link_BrowserLinkOptions" PackageName="EurekaPackage"><PropertyValue name="Enabled">True</PropertyValue></Category><Category name="CSS_Advanced" Category="{978df9f7-5f7c-46c1-afe6-3e4335e93514}" Package="{5330c67f-305c-4b17-a3dc-fbb7aee69c09}" RegisteredName="CSS_Advanced" PackageName="CssPackage"/><Category name="CoffeeScript_Advanced" Category="{9a5ed2f4-b737-4876-9b7f-7a94e634e74f}" Package="{52244c9d-db46-4905-bda0-b3406c46d2a4}" RegisteredName="CoffeeScript_Advanced" PackageName="CoffeeScriptPackage"/><Category name="Debugger" Category="{EEDBF29A-5C8B-4E01-827C-263382C18CFE}" Package="{C9DD4A57-47FB-11D2-83E7-00C04F9902C1}" RegisteredName="Debugger" PackageName="Visual Studio Debugger"><PropertyValue name="ConfirmDeleteAllBreakpoints">1</PropertyValue><PropertyValue name="StopAllProcesses">1</PropertyValue><PropertyValue name="StopOnExceptionCrossingManagedBoundary">0</PropertyValue><PropertyValue name="EnableAddressLevelDebugging">1</PropertyValue><PropertyValue name="ShowDisassemblyWhenNoSource">0</PropertyValue><PropertyValue name="EnableBreakpointConstraints">1</PropertyValue><PropertyValue name="UseExceptionHelper">1</PropertyValue><PropertyValue name="AutoUnwindOnException">1</PropertyValue><PropertyValue name="JustMyCode">1</PropertyValue><PropertyValue name="ShowNonPublicMembers">0</PropertyValue><PropertyValue name="WarnIfNoUserCodeOnLaunch">1</PropertyValue><PropertyValue name="FrameworkSourceStepping">0</PropertyValue><PropertyValue name="WarnAboutSymbolCacheDuringRemoteManagedDebugging">1</PropertyValue><PropertyValue name="EnableStepFiltering">1</PropertyValue><PropertyValue name="WarnOnStepFilter">1</PropertyValue><PropertyValue name="AllowImplicitFuncEval">1</PropertyValue><PropertyValue name="AllowToString">1</PropertyValue><PropertyValue name="UseSourceServer">0</PropertyValue><PropertyValue name="ShowSourceServerDiagnostics">0</PropertyValue><PropertyValue name="AlwaysColorMarkerText">0</PropertyValue><PropertyValue name="UseDocumentChecksum">1</PropertyValue><PropertyValue name="OutputToImmediate">0</PropertyValue><PropertyValue name="ShowRawStructures">0</PropertyValue><PropertyValue name="DisableJITOptimization">1</PropertyValue><PropertyValue name="ShowNoSymbolsDialog">1</PropertyValue><PropertyValue name="ShowScriptDebuggingDisabledDialog">1</PropertyValue><PropertyValue name="EnableILInterpreterMinidump">1</PropertyValue><PropertyValue name="EnableILInterpreterLive">0</PropertyValue><PropertyValue name="HexDisplay">0</PropertyValue><PropertyValue name="HexInput">0</PropertyValue><PropertyValue name="MapClientBreakpoints">1</PropertyValue><PropertyValue name="AddUnmappedBreakpointAtMappedLocation">0</PropertyValue><PropertyValue name="StepIntoOnRestart">0</PropertyValue><PropertyValue name="ENCEnable">1</PropertyValue><PropertyValue name="ENCApplyChangesOnContinue">1</PropertyValue><PropertyValue name="ENCWelcome">0</PropertyValue><PropertyValue name="ENCStaleCodeWarning">1</PropertyValue><PropertyValue name="ENCPrecompile">1</PropertyValue><PropertyValue name="ENCRelink">1</PropertyValue><PropertyValue name="NOENCAllowEdits">1</PropertyValue><PropertyValue name="NOENCIgnore">0</PropertyValue><PropertyValue name="NOENCRebuild">0</PropertyValue><PropertyValue name="ENCEnableWhenRemoteDebugging">0</PropertyValue><PropertyValue name="ConfirmFoundFiles">0</PropertyValue><PropertyValue name="DisasmLineNumbers">0</PropertyValue><PropertyValue name="ModulesShowAll">0</PropertyValue><PropertyValue name="UseCodeSense">1</PropertyValue><PropertyValue name="DisasmFields">67577</PropertyValue><PropertyValue name="CallStackViewOptions">3604736</PropertyValue><PropertyValue name="ShowExternalCode">0</PropertyValue><PropertyValue name="SourceStepUnit">0</PropertyValue><PropertyValue name="DisasmStepUnit">2</PropertyValue><PropertyValue name="CrossThreadCallStack">1</PropertyValue><PropertyValue name="ShowOnlyFlaggedThreads">0</PropertyValue><PropertyValue name="ConcurrencySupport">1</PropertyValue><PropertyValue name="GuessAtThreadNames">1</PropertyValue><PropertyValue name="ShowOtherThreadIpMarkers">0</PropertyValue><PropertyValue name="ShowThreadCategory">1</PropertyValue><PropertyValue name="SaveRemoteDumps">1</PropertyValue><PropertyValue name="LongEvalTimeout">10000</PropertyValue><PropertyValue name="NormalEvalTimeout">5000</PropertyValue><PropertyValue name="QuickwatchTimeout">15000</PropertyValue><PropertyValue name="DataTipTimeout">1500</PropertyValue><PropertyValue name="AutosReturnValsTimeout">1000</PropertyValue><PropertyValue name="AutosRegistersTimeout">1000</PropertyValue><PropertyValue name="LocalsTimeout">1000</PropertyValue><PropertyValue name="RegistersTimeout">2000</PropertyValue><PropertyValue name="AddressExpressionTimeout">2000</PropertyValue><PropertyValue name="ScriptDocsTimeout">5000</PropertyValue><PropertyValue name="ImmediateWindowTimeout">10000</PropertyValue><PropertyValue name="SetValueTimeout">10000</PropertyValue><PropertyValue name="TreeGridRePaintTimer">250</PropertyValue><PropertyValue name="TreeGridBusyPaintTimer">1000</PropertyValue><PropertyValue name="ModulesWindowUpdateTimer">500</PropertyValue><PropertyValue name="TreeGridDelayOnEnterTimer">125</PropertyValue><PropertyValue name="DelayTreeGridPaintOnBreak">1</PropertyValue><PropertyValue name="ShowNonprintableCharsAsGlyphs">0</PropertyValue><PropertyValue name="ShowSystemProcesses">0</PropertyValue><PropertyValue name="ShowProcessesFromAllSessions">0</PropertyValue><PropertyValue name="EnhancedDataTips">1</PropertyValue><PropertyValue name="DataTipDismissalSensitivity">1</PropertyValue><PropertyValue name="DataTipKeyboardDismissal">0</PropertyValue><PropertyValue name="UserSpecifiedEngines">0</PropertyValue><PropertyValue name="OutputOnException">1</PropertyValue><PropertyValue name="OutputOnStepFilter">1</PropertyValue><PropertyValue name="OutputOnModuleLoad">1</PropertyValue><PropertyValue name="OutputOnModuleUnload">1</PropertyValue><PropertyValue name="OutputOnModuleSymbolSearch">1</PropertyValue><PropertyValue name="OutputOnProcessDestroy">1</PropertyValue><PropertyValue name="OutputOnThreadDestroy">1</PropertyValue><PropertyValue name="OutputOnOutputDebugString">1</PropertyValue><PropertyValue name="OutputOnDebuggerMessage">1</PropertyValue><PropertyValue name="VariableWindowIcons">1</PropertyValue><PropertyValue name="DisableAttachSecurityWarning">0</PropertyValue><PropertyValue name="LoadDllExports">0</PropertyValue><PropertyValue name="NativeRPC">0</PropertyValue><PropertyValue name="AllowSideEffectEval">0</PropertyValue><PropertyValue name="LoadSymbolsWhenSettingsChanged">1</PropertyValue><PropertyValue name="SymbolUseExcludeList">1</PropertyValue><PropertyValue name="SymbolsAlwaysLoadAdjacent">1</PropertyValue><PropertyValue name="DontForceCacheOnManualLoad">0</PropertyValue><PropertyValue name="SymbolUseMSSymbolServers">0</PropertyValue><PropertyValue name="AutoLoadFromSymbolPath">1</PropertyValue><PropertyValue name="OneClickEdit">0</PropertyValue><PropertyValue name="OfferArrayExpansion">0</PropertyValue><PropertyValue name="VariableWindowPromptOnLargeExpansion">1</PropertyValue><PropertyValue name="VariableWindowMaxSupportedChildren">1000000</PropertyValue><PropertyValue name="PromptToAddSourceToIgnoreList">0</PropertyValue><PropertyValue name="OwnerDrawDebugLocationToolbar">0</PropertyValue><PropertyValue name="EnableSelectedBreakpointHighlight">1</PropertyValue><PropertyValue name="DisableUniscribe">0</PropertyValue><PropertyValue name="ShowParallelStacksBottomUp">1</PropertyValue><PropertyValue name="ThreadsWindowGroupingColumn">2048</PropertyValue><PropertyValue name="ThreadsWindowVisibleColumns">509</PropertyValue><PropertyValue name="ThreadsWindowShowTipWhenCallStackExpanded">0</PropertyValue><PropertyValue name="AllowDesignModePinning">0</PropertyValue><PropertyValue name="CallStackParamToString">0</PropertyValue><PropertyValue name="CheckRDTForFilesFirst">1</PropertyValue><PropertyValue name="AllowSourceServerInPartialTrust">0</PropertyValue><PropertyValue name="ENCEnableCrossUser">0</PropertyValue><PropertyValue name="ENCEnableNative">0</PropertyValue><PropertyValue name="OpenNewFilesProvisionally">1</PropertyValue><PropertyValue name="ForceRealFuncEval">1</PropertyValue><PropertyValue name="ShowOnlyCurrentProcess">0</PropertyValue><PropertyValue name="GpuRaceHazardsAllowSame">0</PropertyValue><PropertyValue name="DisasmToolbarIsExpanded">0</PropertyValue><PropertyValue name="AlwaysRunUntrustedSourceServerCommands">0</PropertyValue><PropertyValue name="DebugEngineCompatibilityMode">0</PropertyValue><PropertyValue name="CallStackViewOptionsEx">1</PropertyValue><PropertyValue name="ManagedDebugEngineCompatibilityMode_Normal">0</PropertyValue><PropertyValue name="ManagedDebugEngineCompatibilityMode_ProductInstalled">1</PropertyValue><PropertyValue name="ManagedMemoryViewCollapseSmallObjects">1</PropertyValue><PropertyValue name="SourceServerExtractToDirectory"/><PropertyValue name="FrameworkSourceServerName">http://referencesource.microsoft.com/symbols</PropertyValue><PropertyValue name="PublicSymbolServerName"/><PropertyValue name="PublicSymbolServerName2">http://msdl.microsoft.com/download/symbols</PropertyValue><PropertyValue name="DefaultTracepointMessage">Function: $FUNCTION, Thread: $TID $TNAME</PropertyValue><PropertyValue name="ProgramToDebugPath"/><PropertyValue name="AttachToProcessDefaultEngineList"/><PropertyValue name="SecureSourceLocalDirectory"/><PropertyValue name="SymbolPath"/><PropertyValue name="SymbolPathState"/><PropertyValue name="SymbolCacheDir"/><PropertyValue name="SymbolIncludeList"/><PropertyValue name="SymbolIncludeListState"/><PropertyValue name="SymbolExcludeList"/><PropertyValue name="SymbolExcludeListState"/></Category><Category name="Git Version Control_GitSccProvider" Category="{33a4cda9-b7a6-3f4f-9e1f-e4d71f0a9cfa}" Package="{7fe30a77-37f9-4cf2-83dd-96b207028e1b}" RegisteredName="Git Version Control_GitSccProvider" PackageName="SccProviderPackage"/><Category name="HTML Tag Specific" Category="{7583bb73-a453-40e8-8951-b6986ddb1d9b}" Package="{1B437D20-F8FE-11D2-A6AE-00104BCC7269}" RegisteredName="HTML Tag Specific" PackageName="Visual Studio HTM Editor Package"/><Category name="HTMLX_Advanced" Category="{3d9c2439-5c0a-4592-b9e8-42e26dfe636b}" Package="{cf49ec7d-92b1-4bbd-9254-9cc13978e82e}" RegisteredName="HTMLX_Advanced" PackageName="HtmlPackage"/><Category name="LESS_Advanced" Category="{1b200b66-f69e-452e-9c6f-d38f9cb0628b}" Package="{f4b61ec8-36d8-4155-b2a0-199587d8ddcc}" RegisteredName="LESS_Advanced" PackageName="LessPackage"/><Category name="Performance" Category="{7A697B67-8D8F-43c2-A11C-57568FE3F513}" Package="{f4a63b2a-49ab-4b2d-aa59-a10f01026c89}" RegisteredName="Performance" PackageName="PerformancePackage"><PropertyValue name="toolsoptions.numfunc">5</PropertyValue><PropertyValue name="toolsoptions.showtimetick">0</PropertyValue><PropertyValue name="toolsoptions.numbuffer">64</PropertyValue><PropertyValue name="toolsoptions.sizebuffer">64</PropertyValue><PropertyValue name="toolsoptions.serialize">1</PropertyValue><PropertyValue name="performancereport.showquery">0</PropertyValue><PropertyValue name="toolsoptions.formatcounters">1</PropertyValue><PropertyValue name="toolsoptions.exportpath"/><PropertyValue name="toolsoptions.exportformat">csv</PropertyValue><PropertyValue name="performancereport.hotpathcandidateratio">3.0</PropertyValue><PropertyValue name="performancereport.shownoisereductionwarning">1</PropertyValue><PropertyValue name="performancereport.noisereductiontrim">0</PropertyValue><PropertyValue name="performancereport.noisereductionfold">0</PropertyValue><PropertyValue name="performancereport.noisereductiontrimthreshold">2.0</PropertyValue><PropertyValue name="performancereport.noisereductionfoldthreshold">3.0</PropertyValue><PropertyValue name="tools.options.justmycode">1</PropertyValue><PropertyValue name="tools.options.justmycode.callee">1</PropertyValue><PropertyValue name="tools.options.justmycode.caller">0</PropertyValue><PropertyValue name="tools.options.kernelmodeanalysis">0</PropertyValue><PropertyValue name="tools.options.rules.actions"/></Category><Category name="Source Control_TeamFoundation" Category="{2A718788-A6D9-44C5-90EF-438BF5B06A74}" Package="{4CA58AB2-18FA-4F8D-95D4-32DDF27D184C}" RegisteredName="Source Control_TeamFoundation" PackageName="Microsoft.VisualStudio.TeamFoundation.VersionControl.HatPackage, Microsoft.VisualStudio.TeamFoundation.VersionControl, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"><PropertyValue name="IsProxyEnabled">False</PropertyValue><PropertyValue name="ProxyUrl"/><PropertyValue name="GetLatestOnCheckOut">false</PropertyValue><PropertyValue name="AttemptToAutoResolveConflicts">true</PropertyValue><PropertyValue name="ShowDeletedItems">false</PropertyValue><PropertyValue name="OpenSceToMostRecentPath">false</PropertyValue><PropertyValue name="PromptToConfirmMergeResult">-1</PropertyValue></Category><Category name="Test Tools_Test Execution" Category="{48d11193-265d-1458-743e-2b88c655b377}" Package="{a9405ae6-9ac6-4f0e-a03f-7afe45f6fcb7}" RegisteredName="Test Tools_Test Execution" PackageName="Microsoft.VisualStudio.TestTools.TestCaseManagement.QualityToolsPackage, Microsoft.VisualStudio.QualityTools.TestCaseManagement, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"><PropertyValue name="IsCodeColoringEnabled">True</PropertyValue><PropertyValue name="IsInPlaceInstrumentationEnabled">True</PropertyValue><PropertyValue name="KeepHostProcessAlive">True</PropertyValue><PropertyValue name="MaxTestRunsPerSolution">25</PropertyValue><PropertyValue name="PathToWebRoot"/><PropertyValue name="UnitTestResultNavigatePointOfFailure">True</PropertyValue></Category><Category name="WebProjects" Category="{C78AFEEB-A722-4cf3-AD3F-8694126C2145}" Package="{39c9c826-8ef8-4079-8c95-428f5b1c323f}" RegisteredName="WebProjects" PackageName="Visual Web Developer Project System Package"><PropertyValue name="WarnBeforeRunIfErrors">false</PropertyValue><PropertyValue name="Use64BitIISExpress">false</PropertyValue></Category><Category name="WindowsFormsDesigner_General" Category="{de03177c-918d-40af-8c17-c9d63670c175}" Package="{7b5d447b-0b12-41ea-a84e-c822034422d4}" RegisteredName="WindowsFormsDesigner_General" PackageName="Windows Forms Designer Resources Package"><PropertyValue name="AutoToolboxPopulate">True</PropertyValue><PropertyValue name="EnableInSituEditing">True</PropertyValue><PropertyValue name="EnableRefactoringOnRename">True</PropertyValue><PropertyValue name="GridSize">8, 8</PropertyValue><PropertyValue name="LayoutMode">SnapLines</PropertyValue><PropertyValue name="ObjectBoundSmartTagAutoShow">True</PropertyValue><PropertyValue name="ShowGrid">True</PropertyValue><PropertyValue name="SnapToGrid">True</PropertyValue><PropertyValue name="UseOptimizedCodeGeneration">True</PropertyValue></Category><Category name="XAML_Formatting" Category="{dac05320-0c3a-4ead-a332-8c23b0cfc130}" Package="{512be089-83ec-4cc6-8483-cf16565ae209}" RegisteredName="XAML_Formatting" PackageName="DesignerPackage"><PropertyValue name="AttributeFormat">Preserve</PropertyValue><PropertyValue name="AutoInsertAttributeQuotes">True</PropertyValue><PropertyValue name="AutoInsertCommas">True</PropertyValue><PropertyValue name="AutoInsertEndBraces">True</PropertyValue><PropertyValue name="AutoInsertEndTags">True</PropertyValue><PropertyValue name="AutoNameElements">False</PropertyValue><PropertyValue name="AutoOutlining">True</PropertyValue><PropertyValue name="AutoReformatOnEndTag">True</PropertyValue><PropertyValue name="AutoReformatOnPaste">True</PropertyValue><PropertyValue name="AutoReformatOnStartTag">True</PropertyValue><PropertyValue name="AutoToolboxPopulate">True</PropertyValue><PropertyValue name="BlankLineOption">Preserve</PropertyValue><PropertyValue name="KeepFirstAttributeOnSameLine">True</PropertyValue><PropertyValue name="MaximizeXamlEditor">False</PropertyValue><PropertyValue name="QuoteStyle">DoubleQuote</PropertyValue><PropertyValue name="WrapColumn">120</PropertyValue><PropertyValue name="WrapTags">False</PropertyValue></Category><Category name="XmlEditor" Category="{4E1CDE49-B840-4826-8CC6-8FB80D7EF455}" Package="{87569308-4813-40a0-9cd0-d7a30838ca3f}" RegisteredName="XmlEditor" PackageName="Visual Studio XML Editor Package"><PropertyValue name="AttributeFormatting">None</PropertyValue><PropertyValue name="AutoDownload">False</PropertyValue><PropertyValue name="AutoInsertAttributeQuotes">True</PropertyValue><PropertyValue name="AutoInsertEndTags">True</PropertyValue><PropertyValue name="AutoInsertNamespaceDeclarations">True</PropertyValue><PropertyValue name="AutoInsertOther">True</PropertyValue><PropertyValue name="AutoOutlining">True</PropertyValue><PropertyValue name="AutoReformatOnEndTag">True</PropertyValue><PropertyValue name="AutoReformatOnPaste">True</PropertyValue><PropertyValue name="FormatMixedContentByDefault">True</PropertyValue><PropertyValue name="SchemaCacheLocation">%VsInstallDir%\xml\Schemas</PropertyValue></Category></UserSettings> \ No newline at end of file
diff --git a/SparkleShare/Windows/SparkleShare.wxs b/SparkleShare/Windows/SparkleShare.wxs
index 99bf5fa..6ca687b 100644
--- a/SparkleShare/Windows/SparkleShare.wxs
+++ b/SparkleShare/Windows/SparkleShare.wxs
@@ -2,7 +2,7 @@
<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi' xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
<Product Name='SparkleShare' Id='184950D5-67F6-4D06-9717-7E2F1607A7B0' UpgradeCode='D3DF1D99-87F5-47A7-A349-863DD6E4B73A'
- Language='1033' Codepage='1252' Version='1.5.0' Manufacturer='SparkleShare'>
+ Language='1033' Codepage='1252' Version='2.0.1' Manufacturer='SparkleShare'>
<Package Id='*' Keywords='Installer' Description="SparkleShare Setup" Manufacturer='SparkleShare'
InstallerVersion='100' Languages='1033' Compressed='yes' SummaryCodepage='1252' />
@@ -20,9 +20,9 @@
<File Id='SparkleShareInviteOpener.exe' Name='SparkleShareInviteOpener.exe' Source='!(wix.root)\bin\SparkleShareInviteOpener.exe' DiskId='1' />
</Component>
<Component Id='Libraries' Guid='0DA692D5-4DBE-4251-9F62-E7C1A76F10E1'>
- <File Id='SparkleLib.Git.dll' Name='SparkleLib.Git.dll' Source='!(wix.root)\bin\SparkleLib.Git.dll' DiskId='1' />
- <File Id='SparkleLib.dll' Name='SparkleLib.dll' Source='!(wix.root)\bin\SparkleLib.dll' DiskId='1' />
- <File Id='sparkleshare_app.ico' Name='sparkleshare.ico' Source='!(wix.root)\SparkleShare\Windows\Pixmaps\sparkleshare-app.ico' DiskId='1' />
+ <File Id='Sparkles.Git.dll' Name='Sparkles.Git.dll' Source='!(wix.root)\bin\Sparkles.Git.dll' DiskId='1' />
+ <File Id='Sparkles.dll' Name='Sparkles.dll' Source='!(wix.root)\bin\Sparkles.dll' DiskId='1' />
+ <File Id='sparkleshare_app.ico' Name='sparkleshare.ico' Source='!(wix.root)\SparkleShare\Windows\Images\sparkleshare-app.ico' DiskId='1' />
</Component>
<Directory Id='MSYSGIT_DIR' Name='msysgit'>
</Directory>
diff --git a/SparkleShare/Windows/SparkleShareInviteOpener/SparkleShareInviteOpener.csproj b/SparkleShare/Windows/SparkleShareInviteOpener/SparkleShareInviteOpener.csproj
index 379d780..bbccc79 100644
--- a/SparkleShare/Windows/SparkleShareInviteOpener/SparkleShareInviteOpener.csproj
+++ b/SparkleShare/Windows/SparkleShareInviteOpener/SparkleShareInviteOpener.csproj
@@ -11,7 +11,7 @@
<RootNamespace>SparkleShareInviteOpener</RootNamespace>
<AssemblyName>SparkleShareInviteOpener</AssemblyName>
<FileAlignment>512</FileAlignment>
- <ApplicationIcon>..\Pixmaps\sparkleshare-app.ico</ApplicationIcon>
+ <ApplicationIcon>..\Images\sparkleshare-app.ico</ApplicationIcon>
<ReleaseVersion />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
@@ -29,6 +29,24 @@
<DebugType>full</DebugType>
<DebugSymbols>true</DebugSymbols>
</PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'DebugWindows|AnyCPU'">
+ <DebugSymbols>true</DebugSymbols>
+ <OutputPath>..\..\..\bin\</OutputPath>
+ <DefineConstants>TRACE;DEBUG</DefineConstants>
+ <DebugType>full</DebugType>
+ <PlatformTarget>AnyCPU</PlatformTarget>
+ <ErrorReport>prompt</ErrorReport>
+ <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'ReleaseWindows|AnyCPU'">
+ <OutputPath>..\..\..\bin\</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <Optimize>true</Optimize>
+ <DebugType>pdbonly</DebugType>
+ <PlatformTarget>AnyCPU</PlatformTarget>
+ <ErrorReport>prompt</ErrorReport>
+ <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
+ </PropertyGroup>
<ItemGroup>
<Reference Include="System" />
</ItemGroup>
diff --git a/SparkleShare/Windows/SparkleShareInviteOpener/sparkleshare-invite-opener.cs b/SparkleShare/Windows/SparkleShareInviteOpener/sparkleshare-invite-opener.cs
index 98d9128..9f79ab8 100644
--- a/SparkleShare/Windows/SparkleShareInviteOpener/sparkleshare-invite-opener.cs
+++ b/SparkleShare/Windows/SparkleShareInviteOpener/sparkleshare-invite-opener.cs
@@ -1,5 +1,5 @@
// SparkleShare, a collaboration and sharing tool.
-// Copyright (C) 2010 Hylke Bons <hylkebons@gmail.com>
+// Copyright (C) 2010 Hylke Bons <hi@planetpeanut.uk>
//
// 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
diff --git a/SparkleShare/Windows/SparkleAbout.cs b/SparkleShare/Windows/UserInterface/About.cs
index 1e19fc9..85f6cf0 100644
--- a/SparkleShare/Windows/SparkleAbout.cs
+++ b/SparkleShare/Windows/UserInterface/About.cs
@@ -1,5 +1,5 @@
// SparkleShare, a collaboration and sharing tool.
-// Copyright (C) 2010 Hylke Bons (hylkebons@gmail.com)
+// Copyright (C) 2010 Hylke Bons (hi@planetpeanut.uk)
//
// 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
@@ -17,30 +17,27 @@
using System;
using System.ComponentModel;
-using System.Diagnostics;
using System.Windows;
using System.Windows.Input;
using System.Windows.Controls;
using System.Windows.Media;
-using System.Windows.Media.Imaging;
-using System.Xaml;
namespace SparkleShare {
- public class SparkleAbout : Window {
+ public class About : Window {
- public SparkleAboutController Controller = new SparkleAboutController ();
+ public AboutController Controller = new AboutController ();
private Label updates;
- public SparkleAbout ()
+ public About ()
{
Title = "About SparkleShare";
ResizeMode = ResizeMode.NoResize;
Height = 288;
Width = 720;
- Icon = SparkleUIHelpers.GetImageSource("sparkleshare-app", "ico");
+ Icon = UserInterfaceHelpers.GetImageSource("sparkleshare-app", "ico");
WindowStartupLocation = WindowStartupLocation.CenterScreen;
Closing += Close;
@@ -77,7 +74,7 @@ namespace SparkleShare {
Height = 260
};
- image.Source = SparkleUIHelpers.GetImageSource ("about");
+ image.Source = UserInterfaceHelpers.GetImageSource ("about");
Label version = new Label () {
@@ -179,7 +176,7 @@ namespace SparkleShare {
Content = text_block;
MouseUp += delegate {
- Program.Controller.OpenWebsite (url);
+ SparkleShare.Controller.OpenWebsite (url);
};
}
}
diff --git a/SparkleShare/Windows/SparkleBubbles.cs b/SparkleShare/Windows/UserInterface/Bubbles.cs
index cbae16d..79e672c 100644
--- a/SparkleShare/Windows/SparkleBubbles.cs
+++ b/SparkleShare/Windows/UserInterface/Bubbles.cs
@@ -1,5 +1,5 @@
// SparkleShare, a collaboration and sharing tool.
-// Copyright (C) 2010 Hylke Bons <hylkebons@gmail.com>
+// Copyright (C) 2010 Hylke Bons <hi@planetpeanut.uk>
//
// 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
@@ -15,22 +15,20 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
-using System;
-
namespace SparkleShare {
- public class SparkleBubbles {
+ public class Bubbles {
- public SparkleBubblesController Controller = new SparkleBubblesController ();
+ public BubblesController Controller = new BubblesController ();
- public SparkleBubbles ()
+ public Bubbles ()
{
Controller.ShowBubbleEvent += delegate (string title, string subtext, string image_path) {
- if (!Program.Controller.NotificationsEnabled)
+ if (!SparkleShare.Controller.NotificationsEnabled)
return;
- Program.UI.StatusIcon.ShowBalloon (title, subtext, image_path);
+ SparkleShare.UI.StatusIcon.ShowBalloon (title, subtext, image_path);
};
}
}
diff --git a/SparkleShare/Windows/UserInterface/Controller.cs b/SparkleShare/Windows/UserInterface/Controller.cs
new file mode 100644
index 0000000..7ba2f3b
--- /dev/null
+++ b/SparkleShare/Windows/UserInterface/Controller.cs
@@ -0,0 +1,199 @@
+// SparkleShare, a collaboration and sharing tool.
+// Copyright (C) 2010 Hylke Bons <hi@planetpeanut.uk>
+//
+// 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 <http://www.gnu.org/licenses/>.
+
+
+using System;
+using System.Diagnostics;
+using System.IO;
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+using System.Windows;
+using Forms = System.Windows.Forms;
+
+using Sparkles;
+using Sparkles.Git;
+
+namespace SparkleShare {
+
+ public class Controller : BaseController {
+
+ public Controller (Configuration config)
+ : base (config)
+ {
+ }
+
+
+ public override string PresetsPath
+ {
+ get {
+ return Path.Combine (Path.GetDirectoryName (Assembly.GetExecutingAssembly ().Location), "Presets");
+ }
+ }
+
+
+ public override void Initialize ()
+ {
+ // Add msysgit to path, as we cannot asume it is added to the path
+ // Asume it is installed in @"<exec dir>\msysgit\bin"
+ string executable_path = Path.GetDirectoryName (Forms.Application.ExecutablePath);
+ string msysgit_path = Path.Combine (executable_path, "msysgit");
+
+ Environment.SetEnvironmentVariable ("HOME", Environment.GetFolderPath (Environment.SpecialFolder.UserProfile));
+
+ SSHCommand.SSHPath = Path.Combine (msysgit_path, "usr", "bin");
+ SSHFetcher.SSHKeyScan = Path.Combine (msysgit_path, "usr", "bin", "ssh-keyscan.exe");
+ GitCommand.GitPath = Path.Combine (msysgit_path, "bin", "git.exe");
+
+ base.Initialize ();
+ }
+
+
+ public override string EventLogHTML {
+ get {
+ string html = UserInterfaceHelpers.GetHTML ("event-log.html");
+ return html.Replace ("<!-- $jquery -->", UserInterfaceHelpers.GetHTML ("jquery.js"));
+ }
+ }
+
+
+ public override string DayEntryHTML {
+ get {
+ return UserInterfaceHelpers.GetHTML ("day-entry.html");
+ }
+ }
+
+
+ public override string EventEntryHTML {
+ get {
+ return UserInterfaceHelpers.GetHTML ("event-entry.html");
+ }
+ }
+
+
+ public override void SetFolderIcon ()
+ {
+ string app_path = Path.GetDirectoryName (Forms.Application.ExecutablePath);
+ string icon_file_path = Path.Combine (app_path, "Images", "sparkleshare-folder.ico");
+
+ if (!File.Exists (icon_file_path))
+ {
+ string ini_file_path = Path.Combine (FoldersPath, "desktop.ini");
+ string n = Environment.NewLine;
+
+ string ini_file = "[.ShellClassInfo]" + n +
+ "IconFile=" + icon_file_path + n +
+ "IconIndex=0" + n +
+ "InfoTip=SparkleShare";
+
+ try
+ {
+ File.Create (ini_file_path).Close ();
+ File.WriteAllText (ini_file_path, ini_file);
+
+ File.SetAttributes (ini_file_path,
+ File.GetAttributes (ini_file_path) | FileAttributes.Hidden | FileAttributes.System);
+
+ }
+ catch (IOException e)
+ {
+ Logger.LogInfo ("Config", "Failed setting icon for '" + FoldersPath + "': " + e.Message);
+ }
+ }
+ }
+
+
+ public override void CreateStartupItem ()
+ {
+ string startup_folder_path = Environment.GetFolderPath (Environment.SpecialFolder.Startup);
+ string shortcut_path = Path.Combine (startup_folder_path, "SparkleShare.lnk");
+
+ if (File.Exists (shortcut_path))
+ File.Delete (shortcut_path);
+
+ string shortcut_target = Forms.Application.ExecutablePath;
+
+ Shortcut shortcut = new Shortcut ();
+ shortcut.Create (shortcut_path, shortcut_target);
+ }
+
+
+ public override void InstallProtocolHandler ()
+ {
+ // We ship a separate .exe for this
+ }
+
+
+ public void AddToBookmarks ()
+ {
+ string user_profile_path = Environment.GetFolderPath (Environment.SpecialFolder.UserProfile);
+ string shortcut_path = Path.Combine (user_profile_path, "Links", "SparkleShare.lnk");
+
+ if (File.Exists (shortcut_path))
+ File.Delete (shortcut_path);
+
+ Shortcut shortcut = new Shortcut ();
+ shortcut.Create (FoldersPath, shortcut_path);
+ }
+
+
+ public override void CreateSparkleShareFolder ()
+ {
+ if (!Directory.Exists (FoldersPath))
+ {
+ Directory.CreateDirectory (FoldersPath);
+
+ File.SetAttributes (FoldersPath, File.GetAttributes(FoldersPath) | FileAttributes.System);
+ Logger.LogInfo ("Config", "Created '" + FoldersPath + "'");
+ }
+ }
+
+
+ public override void OpenFile (string path)
+ {
+ Process.Start (path);
+ }
+
+
+ public override void OpenFolder (string path)
+ {
+ Process.Start (path);
+ }
+
+
+ public override void OpenWebsite (string url)
+ {
+ Process.Start (new ProcessStartInfo (url));
+ }
+
+
+ public override void CopyToClipboard (string text)
+ {
+ try {
+ Clipboard.SetData (DataFormats.Text, text);
+
+ } catch (COMException e) {
+ Logger.LogInfo ("Controller", "Copy to clipboard failed", e);
+ }
+ }
+
+
+ public override void Quit ()
+ {
+ base.Quit ();
+ }
+ }
+}
diff --git a/SparkleShare/Windows/UserInterface/EventLog.cs b/SparkleShare/Windows/UserInterface/EventLog.cs
new file mode 100644
index 0000000..735648b
--- /dev/null
+++ b/SparkleShare/Windows/UserInterface/EventLog.cs
@@ -0,0 +1,347 @@
+// SparkleShare, a collaboration and sharing tool.
+// Copyright (C) 2010 Hylke Bons <hi@planetpeanut.uk>
+//
+// 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 <http://www.gnu.org/licenses/>.
+
+
+using System;
+using System.ComponentModel;
+using System.IO;
+using System.Security.Permissions;
+using System.Runtime.InteropServices;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Shapes;
+
+using Microsoft.Win32;
+using System.Windows.Data;
+
+namespace SparkleShare
+{
+ public class EventLog : Window {
+
+ public EventLogController Controller = new EventLogController ();
+
+ private Label label_Size;
+ private Label label_History;
+
+ private WebBrowser webbrowser;
+
+ private Spinner spinner;
+
+ private ComboBox combobox;
+
+ private Grid grid_Base;
+
+ [DllImport("urlmon.dll")]
+ [PreserveSig]
+ [return: MarshalAs(UnmanagedType.Error)]
+ static extern int CoInternetSetFeatureEnabled(int feature, [MarshalAs(UnmanagedType.U4)] int flags, bool enable);
+
+ public EventLog()
+ {
+ CreateEventLog();
+
+ Background = new SolidColorBrush(Color.FromRgb(240, 240, 240));
+ AllowsTransparency = false;
+ Icon = UserInterfaceHelpers.GetImageSource("sparkleshare-app", "ico");
+ WindowStartupLocation = WindowStartupLocation.CenterScreen;
+
+ WriteOutImages();
+
+ this.label_Size.Content = "Size: " + Controller.Size;
+ this.label_History.Content = "History: " + Controller.HistorySize;
+
+ this.webbrowser.ObjectForScripting = new SparkleScriptingObject();
+
+ // Disable annoying IE clicking sound
+ CoInternetSetFeatureEnabled(21, 0x00000002, true);
+
+ Closing += this.OnClosing;
+
+ Controller.ShowWindowEvent += delegate {
+ Dispatcher.BeginInvoke((Action)(() => {
+ Show();
+ Activate();
+ BringIntoView();
+ }));
+ };
+
+ Controller.HideWindowEvent += delegate {
+ Dispatcher.BeginInvoke((Action)(() => {
+ Hide();
+ this.spinner.Visibility = Visibility.Visible;
+ this.webbrowser.Visibility = Visibility.Collapsed;
+ }));
+ };
+
+ Controller.UpdateSizeInfoEvent += delegate (string size, string history_size) {
+ Dispatcher.BeginInvoke((Action)(() => {
+ this.label_Size.Content = "Size: " + size;
+ this.label_History.Content = "History: " + history_size;
+ }));
+ };
+
+ Controller.UpdateChooserEvent += delegate (string[] folders) {
+ Dispatcher.BeginInvoke((Action)(() =>
+ UpdateChooser(folders))
+ );
+ };
+
+ Controller.UpdateChooserEnablementEvent += delegate (bool enabled) {
+ Dispatcher.BeginInvoke((Action)(() =>
+ this.combobox.IsEnabled = enabled
+ ));
+ };
+
+ Controller.UpdateContentEvent += delegate (string html) {
+ Dispatcher.BeginInvoke((Action)(() => {
+ UpdateContent(html);
+
+ this.spinner.Visibility = Visibility.Collapsed;
+ this.webbrowser.Visibility = Visibility.Visible;
+ }));
+ };
+
+ Controller.ContentLoadingEvent += () => this.Dispatcher.BeginInvoke(
+ (Action)(() => {
+ this.spinner.Visibility = Visibility.Visible;
+ this.spinner.Start();
+ this.webbrowser.Visibility = Visibility.Collapsed;
+ }));
+
+ Controller.ShowSaveDialogEvent += delegate (string file_name, string target_folder_path) {
+ Dispatcher.BeginInvoke((Action)(() => {
+ SaveFileDialog dialog = new SaveFileDialog()
+ {
+ FileName = file_name,
+ InitialDirectory = target_folder_path,
+ Title = "Restore from History",
+ DefaultExt = "." + System.IO.Path.GetExtension(file_name),
+ Filter = "All Files|*.*"
+ };
+
+ bool? result = dialog.ShowDialog(this);
+
+ if (result == true)
+ Controller.SaveDialogCompleted(dialog.FileName);
+ else
+ Controller.SaveDialogCancelled();
+ }));
+ };
+ }
+
+
+ private void CreateEventLog () {
+ grid_Base = new Grid { Background = Brushes.White };
+
+ label_Size = new Label {
+ Content = "Size: ?",
+ Height = 28,
+ HorizontalAlignment = HorizontalAlignment.Left,
+ Margin = new Thickness(20, 0, 0, 0),
+ FontWeight = FontWeights.Bold
+ };
+
+ label_History = new Label {
+ Content = "History: ?",
+ Height = 28,
+ HorizontalAlignment = HorizontalAlignment.Left,
+ Margin = new Thickness(100, 0, 0, 0),
+ FontWeight = FontWeights.Bold
+ };
+
+ combobox = new ComboBox {
+ HorizontalAlignment = HorizontalAlignment.Right,
+ VerticalAlignment = VerticalAlignment.Center,
+ Margin = new Thickness(0, 0, 6, 0),
+ MinWidth = 120
+ };
+
+ spinner = new Spinner { Name = "spinner" };
+ webbrowser = new WebBrowser { Name = "webbrowser" };
+
+ Border border = new Border {
+ VerticalAlignment = VerticalAlignment.Top,
+ Height = 35,
+ Background = new SolidColorBrush(Color.FromArgb(255, 240, 240, 240)),
+ BorderBrush = new SolidColorBrush(Color.FromArgb(255, 223, 223, 223)),
+ BorderThickness = new Thickness(0, 0, 0, 1)
+ };
+
+ Grid borderGrid = new Grid();
+
+ borderGrid.Children.Add(this.label_Size);
+ borderGrid.Children.Add(this.label_History);
+ borderGrid.Children.Add(this.combobox);
+
+ border.Child = borderGrid;
+
+ Grid browserGrid = new Grid { Margin = new Thickness(0, 35, 0, 0) };
+
+ browserGrid.RowDefinitions.Add(new RowDefinition { Height = new GridLength(1, GridUnitType.Star) });
+ browserGrid.RowDefinitions.Add(new RowDefinition { Height = GridLength.Auto });
+
+ browserGrid.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) });
+ browserGrid.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Auto });
+
+ browserGrid.Children.Add(this.spinner);
+ browserGrid.Children.Add(this.webbrowser);
+
+ Rectangle sizingControlHeight = new Rectangle {
+ Name = "sizingControlHeight",
+ Visibility = Visibility.Hidden
+ };
+
+ Grid.SetColumn(sizingControlHeight, 1);
+
+ Rectangle sizingControlWidth = new Rectangle {
+ Name = "sizingControlHeight",
+ Visibility = Visibility.Hidden
+ };
+
+ Grid.SetColumn(sizingControlWidth, 0);
+ Grid.SetRow(sizingControlWidth, 0);
+
+ browserGrid.Children.Add(sizingControlHeight);
+ browserGrid.Children.Add(sizingControlWidth);
+
+ webbrowser.SetBinding(HeightProperty, new Binding("ActualHeightProperty") { ElementName = sizingControlHeight.Name });
+ webbrowser.SetBinding(WidthProperty, new Binding("ActualWidthProperty") { ElementName = sizingControlWidth.Name });
+
+ grid_Base.Children.Add(border);
+ }
+
+ private void OnClosing(object sender, CancelEventArgs cancel_event_args)
+ {
+ Controller.WindowClosed();
+ cancel_event_args.Cancel = true;
+ }
+
+
+ private void UpdateContent(string html)
+ {
+ string pixmaps_path = System.IO.Path.Combine(Sparkles.Configuration.DefaultConfiguration.TmpPath, "Images");
+ pixmaps_path = pixmaps_path.Replace("\\", "/");
+
+ html = html.Replace("<a href=", "<a class='windows' href=");
+ html = html.Replace("<!-- $body-font-family -->", "Segoe UI");
+ html = html.Replace("<!-- $day-entry-header-font-size -->", "13px");
+ html = html.Replace("<!-- $body-font-size -->", "12px");
+ html = html.Replace("<!-- $secondary-font-color -->", "#bbb");
+ html = html.Replace("<!-- $small-color -->", "#ddd");
+ html = html.Replace("<!-- $small-font-size -->", "90%");
+ html = html.Replace("<!-- $day-entry-header-background-color -->", "#f5f5f5");
+ html = html.Replace("<!-- $a-color -->", "#0085cf");
+ html = html.Replace("<!-- $a-hover-color -->", "#009ff8");
+ html = html.Replace("<!-- $pixmaps-path -->", pixmaps_path);
+ html = html.Replace("<!-- $document-added-background-image -->", pixmaps_path + "/document-added-12.png");
+ html = html.Replace("<!-- $document-edited-background-image -->", pixmaps_path + "/document-edited-12.png");
+ html = html.Replace("<!-- $document-deleted-background-image -->", pixmaps_path + "/document-deleted-12.png");
+ html = html.Replace("<!-- $document-moved-background-image -->", pixmaps_path + "/document-moved-12.png");
+
+ this.spinner.Stop();
+
+ this.webbrowser.ObjectForScripting = new SparkleScriptingObject();
+ this.webbrowser.NavigateToString(html);
+ }
+
+
+ public void UpdateChooser(string[] folders)
+ {
+ if (folders == null)
+ {
+ folders = Controller.Folders;
+ }
+
+ this.combobox.Items.Clear();
+ this.combobox.Items.Add(new ComboBoxItem() { Content = "Summary" });
+ this.combobox.Items.Add(new Separator());
+ this.combobox.SelectedItem = combobox.Items[0];
+
+ int row = 2;
+ foreach (string folder in folders)
+ {
+ this.combobox.Items.Add(new ComboBoxItem() { Content = folder });
+
+ if (folder.Equals(Controller.SelectedFolder))
+ this.combobox.SelectedItem = this.combobox.Items[row];
+
+ row++;
+ }
+
+ this.combobox.SelectionChanged += delegate {
+ Dispatcher.BeginInvoke((Action)delegate {
+ int index = this.combobox.SelectedIndex;
+
+ if (index == 0)
+ Controller.SelectedFolder = null;
+ else
+ Controller.SelectedFolder = (string)((ComboBoxItem)this.combobox.Items[index]).Content;
+ });
+ };
+ }
+
+
+ private void WriteOutImages()
+ {
+ string tmp_path = Sparkles.Configuration.DefaultConfiguration.TmpPath;
+ string pixmaps_path = System.IO.Path.Combine(tmp_path, "Images");
+
+ if (!Directory.Exists(pixmaps_path))
+ {
+ Directory.CreateDirectory(pixmaps_path);
+
+ File.SetAttributes(tmp_path, File.GetAttributes(tmp_path) | FileAttributes.Hidden);
+ }
+
+ BitmapSource image = UserInterfaceHelpers.GetImageSource("user-icon-default");
+ string file_path = System.IO.Path.Combine(pixmaps_path, "user-icon-default.png");
+
+ using (FileStream stream = new FileStream(file_path, FileMode.Create))
+ {
+ BitmapEncoder encoder = new PngBitmapEncoder();
+ encoder.Frames.Add(BitmapFrame.Create(image));
+ encoder.Save(stream);
+ }
+
+ string[] actions = new string[] { "added", "deleted", "edited", "moved" };
+
+ foreach (string action in actions)
+ {
+ image = UserInterfaceHelpers.GetImageSource("document-" + action + "-12");
+ file_path = System.IO.Path.Combine(pixmaps_path, "document-" + action + "-12.png");
+
+ using (FileStream stream = new FileStream(file_path, FileMode.Create))
+ {
+ BitmapEncoder encoder = new PngBitmapEncoder();
+ encoder.Frames.Add(BitmapFrame.Create(image));
+ encoder.Save(stream);
+ }
+ }
+ }
+ }
+
+ [PermissionSet(SecurityAction.Demand, Name = "FullTrust")]
+ [ComVisible(true)]
+ public class SparkleScriptingObject
+ {
+ public void LinkClicked(string url)
+ {
+ SparkleShare.UI.EventLog.Controller.LinkClicked(url);
+ }
+ }
+}
diff --git a/SparkleShare/Windows/SparkleNote.xaml b/SparkleShare/Windows/UserInterface/Note.xaml
index 22f2b24..2d39a24 100644
--- a/SparkleShare/Windows/SparkleNote.xaml
+++ b/SparkleShare/Windows/UserInterface/Note.xaml
@@ -1,4 +1,4 @@
-<Window x:Class="SparkleShare.SparkleNote"
+<Window x:Class="SparkleShare.Note"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
@@ -26,7 +26,7 @@
</StackPanel>
<TextBox x:Name="balloon_text_field" Grid.Row="1" Grid.ColumnSpan="2" Width="438" Height="72" BorderBrush="{x:Null}" BorderThickness="0" Padding="8,12,8,8" TextWrapping="Wrap" AcceptsReturn="True" Text="Anything to add?" >
<TextBox.Background>
- <ImageBrush ImageSource="pack://application:,,,/SparkleShare;component/Pixmaps/text-balloon.png" Stretch="Uniform"></ImageBrush>
+ <ImageBrush ImageSource="pack://application:,,,/SparkleShare.Windows;component/Images/text-balloon.png" Stretch="Uniform"></ImageBrush>
</TextBox.Background>
</TextBox>
<StackPanel Grid.Column="1" Grid.Row="2" VerticalAlignment="Bottom" HorizontalAlignment="Right" Orientation="Horizontal">
diff --git a/SparkleShare/Windows/SparkleNote.xaml.cs b/SparkleShare/Windows/UserInterface/Note.xaml.cs
index a0ba4cc..3616dd7 100644
--- a/SparkleShare/Windows/SparkleNote.xaml.cs
+++ b/SparkleShare/Windows/UserInterface/Note.xaml.cs
@@ -1,5 +1,5 @@
// SparkleShare, a collaboration and sharing tool.
-// Copyright (C) 2010 Hylke Bons <hylkebons@gmail.com>
+// Copyright (C) 2010 Hylke Bons <hi@planetpeanut.uk>
//
// 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
@@ -22,23 +22,23 @@ using System.Windows;
using System.Windows.Forms.Integration;
using System.Windows.Media;
-using SparkleLib;
+using Sparkles;
namespace SparkleShare {
- public partial class SparkleNote : Window {
+ public partial class Note : Window {
- public SparkleNoteController Controller = new SparkleNoteController ();
+ public NoteController Controller = new NoteController ();
private readonly string default_text = "Anything to add?";
- public SparkleNote()
+ public Note ()
{
InitializeComponent();
Background = new SolidColorBrush(Color.FromRgb(240, 240, 240));
AllowsTransparency = false;
- Icon = SparkleUIHelpers.GetImageSource("sparkleshare-app", "ico");
+ Icon = UserInterfaceHelpers.GetImageSource("sparkleshare-app", "ico");
WindowStartupLocation = WindowStartupLocation.CenterScreen;
Closing += this.OnClosing;
@@ -85,16 +85,16 @@ namespace SparkleShare {
private void CreateNote()
{
- ImageSource avatar = SparkleUIHelpers.GetImageSource("user-icon-default");
+ ImageSource avatar = UserInterfaceHelpers.GetImageSource("user-icon-default");
if (File.Exists (Controller.AvatarFilePath)) {
- avatar = SparkleUIHelpers.GetImage (Controller.AvatarFilePath);
+ avatar = UserInterfaceHelpers.GetImage (Controller.AvatarFilePath);
}
this.user_image.ImageSource = avatar;
this.Title = Controller.CurrentProject ?? "Add Note";
- this.user_name_text_block.Text = Program.Controller.CurrentUser.Name;
- this.user_email_text_field.Text = Program.Controller.CurrentUser.Email;
+ this.user_name_text_block.Text = SparkleShare.Controller.CurrentUser.Name;
+ this.user_email_text_field.Text = SparkleShare.Controller.CurrentUser.Email;
this.balloon_text_field.Text = default_text;
ElementHost.EnableModelessKeyboardInterop (this);
@@ -120,4 +120,4 @@ namespace SparkleShare {
}
}
}
-} \ No newline at end of file
+}
diff --git a/SparkleShare/Windows/SparkleNotifyIcon.cs b/SparkleShare/Windows/UserInterface/NotifyIcon.cs
index d873017..f123511 100644
--- a/SparkleShare/Windows/SparkleNotifyIcon.cs
+++ b/SparkleShare/Windows/UserInterface/NotifyIcon.cs
@@ -1,188 +1,188 @@
-// SparkleShare, a collaboration and sharing tool.
-// 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
-// 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 <http://www.gnu.org/licenses/>.
-
-
-using System;
-using System.ComponentModel;
-using System.Runtime.InteropServices;
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Input;
-using System.Windows.Markup;
-
-using Drawing = System.Drawing;
-using Forms = System.Windows.Forms;
-
-namespace SparkleShare {
-
- [ContentProperty("Text")]
- [DefaultEvent("MouseDoubleClick")]
- public class SparkleNotifyIcon : UIElement, IAddChild {
-
- [DllImport("user32.dll", EntryPoint = "DestroyIcon")]
- static extern bool DestroyIcon(IntPtr h_icon);
-
- public Drawing.Bitmap Icon {
- set {
- NotifyIcon.Icon = GetIconFromBitmap(value);
- }
- }
-
- public string Text {
- get {
- return (string) GetValue(TextProperty);
- }
- set {
- var text = value;
-
- if(!string.IsNullOrEmpty(HeaderText))
- text = HeaderText + "\n" + text;
-
- SetValue(TextProperty, text);
- }
- }
-
- public ContextMenu ContextMenu {
- get;
- set;
- }
-
- public string HeaderText {
- get;
- set;
- }
-
- private Forms.NotifyIcon NotifyIcon {
- get;
- set;
- }
-
- public readonly RoutedEvent MouseClickEvent = EventManager.RegisterRoutedEvent(
- "MouseClick", RoutingStrategy.Bubble, typeof(MouseButtonEventHandler), typeof(SparkleNotifyIcon));
-
- public readonly RoutedEvent MouseDoubleClickEvent = EventManager.RegisterRoutedEvent(
- "MouseDoubleClick", RoutingStrategy.Bubble, typeof(MouseButtonEventHandler), typeof(SparkleNotifyIcon));
-
- public readonly DependencyProperty TextProperty = DependencyProperty.Register(
- "Text", typeof(string), typeof(SparkleNotifyIcon), new PropertyMetadata(OnTextChanged));
-
- public SparkleNotifyIcon() {
- VisibilityProperty.OverrideMetadata(typeof(SparkleNotifyIcon), new PropertyMetadata(OnVisibilityChanged));
-
- NotifyIcon = new Forms.NotifyIcon {
- Text = Text,
- Visible = true,
- ContextMenu = new Forms.ContextMenu()
- };
- NotifyIcon.MouseDown += OnMouseDown;
- NotifyIcon.MouseUp += OnMouseUp;
- NotifyIcon.MouseClick += OnMouseClick;
- NotifyIcon.MouseDoubleClick += OnMouseDoubleClick;
- }
-
- public void ShowBalloonTip(string title, string subtext, string image_path) {
- // TODO:
- // - Use the image pointed to by image_path
- // - Find a way to use the prettier (Win7?) balloons
- NotifyIcon.ShowBalloonTip(5 * 1000, title, subtext, Forms.ToolTipIcon.Info);
- }
-
- public void Dispose() {
- NotifyIcon.Dispose();
- }
-
-
- void IAddChild.AddChild(object value) {
- throw new InvalidOperationException();
- }
-
- void IAddChild.AddText(string text) {
- if(text == null)
- throw new ArgumentNullException();
-
- Text = text;
- }
-
- private static MouseButtonEventArgs CreateMouseButtonEventArgs(RoutedEvent handler, Forms.MouseButtons button) {
- MouseButton mouse_button;
-
- if(button == Forms.MouseButtons.Left) {
- mouse_button = MouseButton.Left;
-
- } else if(button == Forms.MouseButtons.Right) {
- mouse_button = MouseButton.Right;
-
- } else if(button == Forms.MouseButtons.Middle) {
- mouse_button = MouseButton.Middle;
-
- } else if(button == Forms.MouseButtons.XButton1) {
- mouse_button = MouseButton.XButton1;
-
- } else if(button == Forms.MouseButtons.XButton2) {
- mouse_button = MouseButton.XButton2;
-
- } else {
- throw new InvalidOperationException();
- }
-
- return new MouseButtonEventArgs(InputManager.Current.PrimaryMouseDevice, 0, mouse_button) {
- RoutedEvent = handler
- };
- }
-
- private void OnVisibilityChanged(DependencyObject target, DependencyPropertyChangedEventArgs args) {
- SparkleNotifyIcon control = (SparkleNotifyIcon) target;
- control.NotifyIcon.Visible = (control.Visibility == Visibility.Visible);
- }
-
- private void OnMouseDown(object sender, Forms.MouseEventArgs args) {
- RaiseEvent(CreateMouseButtonEventArgs(MouseDownEvent, args.Button));
- }
-
- private void OnMouseClick(object sender, Forms.MouseEventArgs args) {
- RaiseEvent(CreateMouseButtonEventArgs(MouseClickEvent, args.Button));
- }
-
- private void OnMouseDoubleClick(object sender, Forms.MouseEventArgs args) {
- RaiseEvent(CreateMouseButtonEventArgs(MouseDoubleClickEvent, args.Button));
- }
-
- private void OnMouseUp(object sender, Forms.MouseEventArgs args) {
-
- if(args.Button == Forms.MouseButtons.Right) {
-
- ContextMenu.IsOpen = true;
- ContextMenu.StaysOpen = false;
- }
-
- RaiseEvent(CreateMouseButtonEventArgs(MouseUpEvent, args.Button));
- }
-
- private static void OnTextChanged(DependencyObject target, DependencyPropertyChangedEventArgs args) {
- SparkleNotifyIcon control = (SparkleNotifyIcon) target;
- control.NotifyIcon.Text = control.Text;
- }
-
-
- private static Drawing.Icon GetIconFromBitmap(Drawing.Bitmap bitmap) {
- IntPtr unmanaged_icon = bitmap.GetHicon();
- Drawing.Icon icon = (Drawing.Icon) Drawing.Icon.FromHandle(unmanaged_icon).Clone();
- DestroyIcon(unmanaged_icon);
-
- return icon;
- }
- }
-}
+// SparkleShare, a collaboration and sharing tool.
+// Copyright (C) 2010 Hylke Bons <hi@planetpeanut.uk>
+//
+// 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 <http://www.gnu.org/licenses/>.
+
+
+using System;
+using System.ComponentModel;
+using System.Runtime.InteropServices;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Input;
+using System.Windows.Markup;
+
+using Drawing = System.Drawing;
+using Forms = System.Windows.Forms;
+
+namespace SparkleShare {
+
+ [ContentProperty("Text")]
+ [DefaultEvent("MouseDoubleClick")]
+ public class NotifyIcon : UIElement, IAddChild {
+
+ [DllImport("user32.dll", EntryPoint = "DestroyIcon")]
+ static extern bool DestroyIcon(IntPtr h_icon);
+
+ public Drawing.Bitmap Icon {
+ set {
+ Notification.Icon = GetIconFromBitmap(value);
+ }
+ }
+
+ public string Text {
+ get {
+ return (string) GetValue(TextProperty);
+ }
+ set {
+ var text = value;
+
+ if(!string.IsNullOrEmpty(HeaderText))
+ text = HeaderText + "\n" + text;
+
+ SetValue(TextProperty, text);
+ }
+ }
+
+ public ContextMenu ContextMenu {
+ get;
+ set;
+ }
+
+ public string HeaderText {
+ get;
+ set;
+ }
+
+ private Forms.NotifyIcon Notification {
+ get;
+ set;
+ }
+
+ public readonly RoutedEvent MouseClickEvent = EventManager.RegisterRoutedEvent(
+ "MouseClick", RoutingStrategy.Bubble, typeof(MouseButtonEventHandler), typeof(NotifyIcon));
+
+ public readonly RoutedEvent MouseDoubleClickEvent = EventManager.RegisterRoutedEvent(
+ "MouseDoubleClick", RoutingStrategy.Bubble, typeof(MouseButtonEventHandler), typeof(NotifyIcon));
+
+ public readonly DependencyProperty TextProperty = DependencyProperty.Register(
+ "Text", typeof(string), typeof(NotifyIcon), new PropertyMetadata(OnTextChanged));
+
+ public NotifyIcon() {
+ VisibilityProperty.OverrideMetadata(typeof(NotifyIcon), new PropertyMetadata(OnVisibilityChanged));
+
+ Notification = new Forms.NotifyIcon {
+ Text = Text,
+ Visible = true,
+ ContextMenu = new Forms.ContextMenu()
+ };
+ Notification.MouseDown += OnMouseDown;
+ Notification.MouseUp += OnMouseUp;
+ Notification.MouseClick += OnMouseClick;
+ Notification.MouseDoubleClick += OnMouseDoubleClick;
+ }
+
+ public void ShowBalloonTip(string title, string subtext, string image_path) {
+ // TODO:
+ // - Use the image pointed to by image_path
+ // - Find a way to use the prettier (Win7?) balloons
+ Notification.ShowBalloonTip(5 * 1000, title, subtext, Forms.ToolTipIcon.Info);
+ }
+
+ public void Dispose() {
+ Notification.Dispose();
+ }
+
+
+ void IAddChild.AddChild(object value) {
+ throw new InvalidOperationException();
+ }
+
+ void IAddChild.AddText(string text) {
+ if(text == null)
+ throw new ArgumentNullException();
+
+ Text = text;
+ }
+
+ private static MouseButtonEventArgs CreateMouseButtonEventArgs(RoutedEvent handler, Forms.MouseButtons button) {
+ MouseButton mouse_button;
+
+ if(button == Forms.MouseButtons.Left) {
+ mouse_button = MouseButton.Left;
+
+ } else if(button == Forms.MouseButtons.Right) {
+ mouse_button = MouseButton.Right;
+
+ } else if(button == Forms.MouseButtons.Middle) {
+ mouse_button = MouseButton.Middle;
+
+ } else if(button == Forms.MouseButtons.XButton1) {
+ mouse_button = MouseButton.XButton1;
+
+ } else if(button == Forms.MouseButtons.XButton2) {
+ mouse_button = MouseButton.XButton2;
+
+ } else {
+ throw new InvalidOperationException();
+ }
+
+ return new MouseButtonEventArgs(InputManager.Current.PrimaryMouseDevice, 0, mouse_button) {
+ RoutedEvent = handler
+ };
+ }
+
+ private void OnVisibilityChanged(DependencyObject target, DependencyPropertyChangedEventArgs args) {
+ NotifyIcon control = (NotifyIcon) target;
+ control.Notification.Visible = (control.Visibility == Visibility.Visible);
+ }
+
+ private void OnMouseDown(object sender, Forms.MouseEventArgs args) {
+ RaiseEvent(CreateMouseButtonEventArgs(MouseDownEvent, args.Button));
+ }
+
+ private void OnMouseClick(object sender, Forms.MouseEventArgs args) {
+ RaiseEvent(CreateMouseButtonEventArgs(MouseClickEvent, args.Button));
+ }
+
+ private void OnMouseDoubleClick(object sender, Forms.MouseEventArgs args) {
+ RaiseEvent(CreateMouseButtonEventArgs(MouseDoubleClickEvent, args.Button));
+ }
+
+ private void OnMouseUp(object sender, Forms.MouseEventArgs args) {
+
+ if(args.Button == Forms.MouseButtons.Right) {
+
+ ContextMenu.IsOpen = true;
+ ContextMenu.StaysOpen = false;
+ }
+
+ RaiseEvent(CreateMouseButtonEventArgs(MouseUpEvent, args.Button));
+ }
+
+ private static void OnTextChanged(DependencyObject target, DependencyPropertyChangedEventArgs args) {
+ NotifyIcon control = (NotifyIcon) target;
+ control.Notification.Text = control.Text;
+ }
+
+
+ private static Drawing.Icon GetIconFromBitmap(Drawing.Bitmap bitmap) {
+ IntPtr unmanaged_icon = bitmap.GetHicon();
+ Drawing.Icon icon = (Drawing.Icon) Drawing.Icon.FromHandle(unmanaged_icon).Clone();
+ DestroyIcon(unmanaged_icon);
+
+ return icon;
+ }
+ }
+}
diff --git a/SparkleShare/Windows/UserInterface/ProtocolHandler.cs b/SparkleShare/Windows/UserInterface/ProtocolHandler.cs
new file mode 100644
index 0000000..b08bd7e
--- /dev/null
+++ b/SparkleShare/Windows/UserInterface/ProtocolHandler.cs
@@ -0,0 +1,74 @@
+// SparkleShare, a collaboration and sharing tool.
+// Copyright (C) 2010 Hylke Bons <hi@planetpeanut.uk>
+//
+// 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 <http://www.gnu.org/licenses/>.
+
+
+using Microsoft.Win32;
+using System.IO;
+
+namespace SparkleShare
+{
+
+ /// <summary>
+ /// Maintain Protocol Handlers created by SparkleShare
+ /// </summary>
+ static class SparkleProtocolHandler
+ {
+
+ /// <summary>
+ /// Add or Update protocol handler
+ /// </summary>
+ /// <param name="handleName">The name of the handler to add</param>
+ /// <param name="handleValue">Default value of the protocol handler</param>
+ /// <param name="handleCommand">The arguments passed to the Invite Opener</param>
+ internal static void AddProtocolHandler(string handleName, string handleValue, string handleCommand)
+ {
+ var inviteOpener = Path.Combine(Directory.GetCurrentDirectory(), "SparkleShareInviteOpener");
+
+ // test the handleName for third party protocols like GitHub
+ // if one exist and their default value doesn't match our custom Protocol, do not update
+ using (RegistryKey testKey = Registry.ClassesRoot.OpenSubKey(handleName))
+ {
+ if (testKey == null || handleValue.Equals(testKey.GetValue("")))
+ {
+ using (RegistryKey key = Registry.CurrentUser.CreateSubKey("Software").CreateSubKey("Classes").CreateSubKey(handleName))
+ {
+ key.SetValue("", handleValue);
+ key.SetValue("URL Protocol", "");
+ key.CreateSubKey("DefaultIcon").SetValue("", inviteOpener);
+ key.CreateSubKey("shell")
+ .CreateSubKey("open")
+ .CreateSubKey("command")
+ .SetValue("", inviteOpener + " " + handleCommand);
+ }
+ }
+ }
+ }
+
+ /// <summary>
+ /// Remove protocol handler
+ /// </summary>
+ /// <param name="handleName">The name of the handler to remove</param>
+ /// <param name="handleValue">Default value of the protocol handler</param>
+ internal static void RemoveProtocolHandler(string handleName, string handleValue)
+ {
+ var key = Registry.CurrentUser.OpenSubKey(handleName);
+
+ // if the the default value doesn't match our custom Protocol, do not remove
+ if (key != null && handleValue.Equals(key.GetValue("")))
+ Registry.CurrentUser.DeleteSubKeyTree(handleName);
+ }
+ }
+}
diff --git a/SparkleShare/Windows/SparkleSetup.cs b/SparkleShare/Windows/UserInterface/Setup.cs
index d51d69e..d6b523c 100644
--- a/SparkleShare/Windows/SparkleSetup.cs
+++ b/SparkleShare/Windows/UserInterface/Setup.cs
@@ -1,5 +1,5 @@
// SparkleShare, a collaboration and sharing tool.
-// Copyright (C) 2010 Hylke Bons <hylkebons@gmail.com>
+// Copyright (C) 2010 Hylke Bons <hi@planetpeanut.uk>
//
// 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
@@ -15,33 +15,27 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
+using Sparkles;
using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.IO;
-using System.Media;
using System.Windows;
using System.Windows.Controls;
-using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Markup;
using System.Windows.Media;
using System.Windows.Media.Imaging;
-using System.Windows.Navigation;
using System.Windows.Shell;
using Drawing = System.Drawing;
using Imaging = System.Windows.Interop.Imaging;
-using WPF = System.Windows.Controls;
namespace SparkleShare {
- public class SparkleSetup : SparkleSetupWindow {
+ public class Setup : SetupWindow {
- public SparkleSetupController Controller = new SparkleSetupController ();
+ public SetupController Controller = new SetupController ();
- public SparkleSetup ()
+ public Setup ()
{
Controller.ShowWindowEvent += delegate {
Dispatcher.BeginInvoke ((Action) delegate {
@@ -139,7 +133,7 @@ namespace SparkleShare {
cancel_button.Click += delegate {
Dispatcher.BeginInvoke ((Action) delegate {
- Program.UI.StatusIcon.Dispose ();
+ SparkleShare.UI.StatusIcon.Dispose ();
Controller.SetupPageCancelled ();
});
};
@@ -268,7 +262,7 @@ namespace SparkleShare {
header_style.Setters.Add (new Setter (GridViewColumnHeader.VisibilityProperty, Visibility.Collapsed));
grid_view.ColumnHeaderContainerStyle = header_style;
- foreach (SparklePlugin plugin in Controller.Plugins) {
+ foreach (Preset plugin in Controller.Presets) {
// FIXME: images are blurry
BitmapFrame image = BitmapFrame.Create (
new Uri (plugin.ImagePath)
@@ -284,7 +278,7 @@ namespace SparkleShare {
}
list_view.View = grid_view;
- list_view.SelectedIndex = Controller.SelectedPluginIndex;
+ list_view.SelectedIndex = Controller.SelectedPresetIndex;
TextBlock address_label = new TextBlock () {
Text = "Address:",
@@ -294,11 +288,11 @@ namespace SparkleShare {
TextBox address_box = new TextBox () {
Width = 200,
Text = Controller.PreviousAddress,
- IsEnabled = (Controller.SelectedPlugin.Address == null)
+ IsEnabled = (Controller.SelectedPreset.Address == null)
};
TextBlock address_help_label = new TextBlock () {
- Text = Controller.SelectedPlugin.AddressExample,
+ Text = Controller.SelectedPreset.AddressExample,
FontSize = 11,
Foreground = new SolidColorBrush (Color.FromRgb (128, 128, 128))
};
@@ -312,11 +306,11 @@ namespace SparkleShare {
TextBox path_box = new TextBox () {
Width = 200,
Text = Controller.PreviousPath,
- IsEnabled = (Controller.SelectedPlugin.Path == null)
+ IsEnabled = (Controller.SelectedPreset.Path == null)
};
TextBlock path_help_label = new TextBlock () {
- Text = Controller.SelectedPlugin.PathExample,
+ Text = Controller.SelectedPreset.PathExample,
FontSize = 11,
Width = 200,
Foreground = new SolidColorBrush (Color.FromRgb (128, 128, 128))
@@ -409,11 +403,11 @@ namespace SparkleShare {
};
list_view.SelectionChanged += delegate {
- Controller.SelectedPluginChanged (list_view.SelectedIndex);
+ Controller.SelectedPresetChanged (list_view.SelectedIndex);
};
list_view.KeyDown += delegate {
- Controller.SelectedPluginChanged (list_view.SelectedIndex);
+ Controller.SelectedPresetChanged (list_view.SelectedIndex);
};
Controller.CheckAddPage (address_box.Text, path_box.Text, list_view.SelectedIndex);
@@ -509,7 +503,7 @@ namespace SparkleShare {
help_block.Inlines.Add (new Bold (new Run (Controller.PreviousUrl)));
help_block.Inlines.Add (" is the address we’ve compiled. Does this look alright?\n\n");
- help_block.Inlines.Add ("Is this computer’s Client ID known by the host??");
+ help_block.Inlines.Add ("Is this computer’s Client ID known by the host?");
if (warnings.Length > 0) {
bullets_block.Text += "\n\n•";
@@ -773,7 +767,7 @@ namespace SparkleShare {
};
Button show_files_button = new Button () {
- Content = "Show files…"
+ Content = "Show files"
};
if (warnings.Length > 0) {
@@ -814,167 +808,6 @@ namespace SparkleShare {
break;
}
-
- case PageType.Tutorial: {
- switch (Controller.TutorialPageNumber) {
- case 1: {
- Header = "What’s happening next?";
- Description = "SparkleShare creates a special folder on your computer " +
- "that will keep track of your projects.";
-
-
- WPF.Image slide_image = new WPF.Image () {
- Width = 324,
- Height = 200
- };
-
- slide_image.Source = SparkleUIHelpers.GetImageSource ("tutorial-slide-1");
-
- Button skip_tutorial_button = new Button () {
- Content = "Skip tutorial"
- };
-
- Button continue_button = new Button () {
- Content = "Continue"
- };
-
-
- ContentCanvas.Children.Add (slide_image);
- Canvas.SetLeft (slide_image, 228);
- Canvas.SetTop (slide_image, 130);
-
- Buttons.Add (skip_tutorial_button);
- Buttons.Add (continue_button);
-
-
- skip_tutorial_button.Click += delegate {
- Controller.TutorialSkipped ();
- };
-
- continue_button.Click += delegate {
- Controller.TutorialPageCompleted ();
- };
-
- break;
- }
-
- case 2: {
- Header = "Sharing files with others";
- Description = "All files added to your project folders are synced automatically with " +
- "the host and your team members.";
-
-
- Button continue_button = new Button () {
- Content = "Continue"
- };
-
- WPF.Image slide_image = new WPF.Image () {
- Width = 324,
- Height = 200
- };
-
- slide_image.Source = SparkleUIHelpers.GetImageSource ("tutorial-slide-2");
-
-
- ContentCanvas.Children.Add (slide_image);
- Canvas.SetLeft (slide_image, 228);
- Canvas.SetTop (slide_image, 130);
-
- Buttons.Add (continue_button);
-
-
- continue_button.Click += delegate {
- Controller.TutorialPageCompleted ();
- };
-
- break;
- }
-
- case 3: {
- Header = "The status icon helps you";
- Description = "It shows the syncing progress, provides easy access to " +
- "your projects, and lets you view recent changes.";
-
- Button continue_button = new Button () {
- Content = "Continue"
- };
-
- WPF.Image slide_image = new WPF.Image () {
- Width = 324,
- Height = 200
- };
-
- slide_image.Source = SparkleUIHelpers.GetImageSource ("tutorial-slide-3");
-
-
- ContentCanvas.Children.Add (slide_image);
- Canvas.SetLeft (slide_image, 228);
- Canvas.SetTop (slide_image, 130);
-
- Buttons.Add (continue_button);
-
-
- continue_button.Click += delegate {
- Controller.TutorialPageCompleted ();
- };
-
- break;
- }
-
- case 4: {
- Header = "Here’s your unique Client ID";
- Description = "You’ll need it whenever you want to link this computer to a host. " +
- "You can also find it in the status icon menu.";
-
-
- TextBox link_code_text_box = new TextBox () {
- Text = Program.Controller.CurrentUser.PublicKey,
- Width = 250,
- MaxLines = 1,
- TextWrapping = TextWrapping.NoWrap,
- IsEnabled = false
- };
-
- Button copy_button = new Button () {
- Content = "Copy",
- Width = 60
- };
-
- Button finish_button = new Button () {
- Content = "Finish"
- };
-
- CheckBox check_box = new CheckBox () {
- Content = "Add SparkleShare to startup items",
- IsChecked = true
- };
-
-
- ContentCanvas.Children.Add (link_code_text_box);
- Canvas.SetLeft (link_code_text_box, 235);
- Canvas.SetTop (link_code_text_box, 190);
-
- ContentCanvas.Children.Add (copy_button);
- Canvas.SetLeft (copy_button, 490);
- Canvas.SetTop (copy_button, 190);
-
- ContentCanvas.Children.Add (check_box);
- Canvas.SetLeft (check_box, 185);
- Canvas.SetBottom (check_box, 12);
-
- Buttons.Add (finish_button);
-
-
- check_box.Click += delegate { Controller.StartupItemChanged (check_box.IsChecked.Value); };
- finish_button.Click += delegate { Controller.TutorialPageCompleted (); };
- copy_button.Click += delegate { Controller.CopyToClipboardClicked(); };
-
- break;
- }
- }
-
- break;
- }
}
ShowAll ();
diff --git a/SparkleShare/Windows/SparkleSetupWindow.cs b/SparkleShare/Windows/UserInterface/SetupWindow.cs
index 87607e2..6208906 100644
--- a/SparkleShare/Windows/SparkleSetupWindow.cs
+++ b/SparkleShare/Windows/UserInterface/SetupWindow.cs
@@ -1,193 +1,193 @@
-// SparkleShare, a collaboration and sharing tool.
-// 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
-// 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 (http://www.gnu.org/licenses/).
-
-
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Forms.Integration;
-using System.Windows.Media;
-using System.Windows.Shapes;
-using System.Windows.Shell;
-using System.Runtime.InteropServices;
-using System.Windows.Interop;
-
-namespace SparkleShare {
-
- public class SparkleSetupWindow : Window {
-
- public Canvas ContentCanvas = new Canvas ();
- public List <Button> Buttons = new List <Button> ();
- public string Header;
- public string Description;
-
- private Image side_splash;
- private Rectangle bar;
-
- private Rectangle line;
-
-
- public SparkleSetupWindow ()
- {
- Title = "SparkleShare Setup";
- Width = 640;
- Height = 440;
- ResizeMode = ResizeMode.NoResize;
- Background = new SolidColorBrush (Colors.WhiteSmoke);
- Icon = SparkleUIHelpers.GetImageSource ("sparkleshare-app", "ico");
-
- TaskbarItemInfo = new TaskbarItemInfo () {
- Description = "SparkleShare"
- };
-
- WindowStartupLocation = WindowStartupLocation.CenterScreen;
- Content = ContentCanvas;
-
- // Remove the close button
- Closing += Close;
- SourceInitialized += delegate {
- const int gwl_style = -16;
- const int ws_sysmenu = 0x00080000;
- WindowInteropHelper helper = new WindowInteropHelper (this);
- int style = GetWindowLong (helper.Handle, gwl_style);
- SetWindowLong (helper.Handle, gwl_style, style & ~ws_sysmenu);
- };
-
- this.bar = new Rectangle () {
- Width = Width,
- Height = 40,
- Fill = new SolidColorBrush (Color.FromRgb (240, 240, 240))
- };
-
- this.line = new Rectangle () {
- Width = Width,
- Height = 1,
- Fill = new SolidColorBrush (Color.FromRgb (223, 223, 223))
- };
-
- this.side_splash = new Image () {
- Width = 150,
- Height = 482
- };
-
- this.side_splash.Source = SparkleUIHelpers.GetImageSource ("side-splash");
-
-
- ContentCanvas.Children.Add (this.bar);
- Canvas.SetRight (bar, 0);
- Canvas.SetBottom (bar, 0);
-
- ContentCanvas.Children.Add (this.line);
- Canvas.SetRight (this.line, 0);
- Canvas.SetBottom (this.line, 40);
-
- ContentCanvas.Children.Add (this.side_splash);
- Canvas.SetLeft (this.side_splash, 0);
- Canvas.SetBottom (this.side_splash, 0);
- }
-
-
- public void Reset ()
- {
- ContentCanvas.Children.Remove (this.bar);
-
- ContentCanvas.Children.Remove (this.line);
-
- ContentCanvas.Children.Remove (this.side_splash);
- ContentCanvas = new Canvas ();
- Content = ContentCanvas;
-
- ContentCanvas.Children.Add (this.bar);
- ContentCanvas.Children.Add (this.line);
- ContentCanvas.Children.Add (this.side_splash);
-
- Buttons = new List <Button> ();
- Header = "";
- Description = "";
- }
-
-
- public void ShowAll ()
- {
- Label header_label = new Label () {
- Content = Header,
- Foreground = new SolidColorBrush (Color.FromRgb (0, 51, 153)),
- FontSize = 16
- };
-
- TextBlock description_label = new TextBlock () {
- Text = Description,
- TextWrapping = TextWrapping.Wrap,
- Width = 375
- };
-
-
- ContentCanvas.Children.Add (header_label);
- Canvas.SetLeft (header_label, 180);
- Canvas.SetTop (header_label, 18);
-
- ContentCanvas.Children.Add (description_label);
- Canvas.SetLeft (description_label, 185);
- Canvas.SetTop (description_label, 60);
-
-
- if (Buttons.Count > 0) {
- Buttons [0].IsDefault = true;
- Buttons.Reverse ();
-
- int right = 9;
-
- foreach (Button button in Buttons) {
- button.Measure (new Size (Double.PositiveInfinity, Double.PositiveInfinity));
- Rect rect = new Rect (button.DesiredSize);
-
- button.Width = rect.Width + 26;
-
- if (button.Width < 75)
- button.Width = 75;
-
- ContentCanvas.Children.Add (button);
- Canvas.SetRight (button, right);
- Canvas.SetBottom (button, 9);
-
- right += (int) button.Width + 9;
-
- if ((button.Content as string).Equals ("Continue")) {
- Buttons [Buttons.Count - 1].IsDefault = false;
- button.IsDefault = true;
- }
- }
- }
-
- ElementHost.EnableModelessKeyboardInterop (this);
- }
-
-
- private void Close (object sender, CancelEventArgs args)
- {
- args.Cancel = true;
- }
-
-
- [DllImport("user32.dll")]
- private extern static int SetWindowLong (IntPtr hwnd, int index, int value);
-
- [DllImport("user32.dll")]
- private extern static int GetWindowLong (IntPtr hwnd, int index);
- }
-}
+// SparkleShare, a collaboration and sharing tool.
+// Copyright (C) 2010 Hylke Bons (hi@planetpeanut.uk)
+//
+// 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 (http://www.gnu.org/licenses/).
+
+
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Forms.Integration;
+using System.Windows.Media;
+using System.Windows.Shapes;
+using System.Windows.Shell;
+using System.Runtime.InteropServices;
+using System.Windows.Interop;
+
+namespace SparkleShare {
+
+ public class SetupWindow : Window {
+
+ public Canvas ContentCanvas = new Canvas ();
+ public List <Button> Buttons = new List <Button> ();
+ public string Header;
+ public string Description;
+
+ private Image side_splash;
+ private Rectangle bar;
+
+ private Rectangle line;
+
+
+ public SetupWindow ()
+ {
+ Title = "SparkleShare Setup";
+ Width = 640;
+ Height = 440;
+ ResizeMode = ResizeMode.NoResize;
+ Background = new SolidColorBrush (Colors.WhiteSmoke);
+ Icon = UserInterfaceHelpers.GetImageSource ("sparkleshare-app", "ico");
+
+ TaskbarItemInfo = new TaskbarItemInfo () {
+ Description = "SparkleShare"
+ };
+
+ WindowStartupLocation = WindowStartupLocation.CenterScreen;
+ Content = ContentCanvas;
+
+ // Remove the close button
+ Closing += Close;
+ SourceInitialized += delegate {
+ const int gwl_style = -16;
+ const int ws_sysmenu = 0x00080000;
+ WindowInteropHelper helper = new WindowInteropHelper (this);
+ int style = GetWindowLong (helper.Handle, gwl_style);
+ SetWindowLong (helper.Handle, gwl_style, style & ~ws_sysmenu);
+ };
+
+ this.bar = new Rectangle () {
+ Width = Width,
+ Height = 40,
+ Fill = new SolidColorBrush (Color.FromRgb (240, 240, 240))
+ };
+
+ this.line = new Rectangle () {
+ Width = Width,
+ Height = 1,
+ Fill = new SolidColorBrush (Color.FromRgb (223, 223, 223))
+ };
+
+ this.side_splash = new Image () {
+ Width = 150,
+ Height = 482
+ };
+
+ this.side_splash.Source = UserInterfaceHelpers.GetImageSource ("side-splash");
+
+
+ ContentCanvas.Children.Add (this.bar);
+ Canvas.SetRight (bar, 0);
+ Canvas.SetBottom (bar, 0);
+
+ ContentCanvas.Children.Add (this.line);
+ Canvas.SetRight (this.line, 0);
+ Canvas.SetBottom (this.line, 40);
+
+ ContentCanvas.Children.Add (this.side_splash);
+ Canvas.SetLeft (this.side_splash, 0);
+ Canvas.SetBottom (this.side_splash, 0);
+ }
+
+
+ public void Reset ()
+ {
+ ContentCanvas.Children.Remove (this.bar);
+
+ ContentCanvas.Children.Remove (this.line);
+
+ ContentCanvas.Children.Remove (this.side_splash);
+ ContentCanvas = new Canvas ();
+ Content = ContentCanvas;
+
+ ContentCanvas.Children.Add (this.bar);
+ ContentCanvas.Children.Add (this.line);
+ ContentCanvas.Children.Add (this.side_splash);
+
+ Buttons = new List <Button> ();
+ Header = "";
+ Description = "";
+ }
+
+
+ public void ShowAll ()
+ {
+ Label header_label = new Label () {
+ Content = Header,
+ Foreground = new SolidColorBrush (Color.FromRgb (0, 51, 153)),
+ FontSize = 16
+ };
+
+ TextBlock description_label = new TextBlock () {
+ Text = Description,
+ TextWrapping = TextWrapping.Wrap,
+ Width = 375
+ };
+
+
+ ContentCanvas.Children.Add (header_label);
+ Canvas.SetLeft (header_label, 180);
+ Canvas.SetTop (header_label, 18);
+
+ ContentCanvas.Children.Add (description_label);
+ Canvas.SetLeft (description_label, 185);
+ Canvas.SetTop (description_label, 60);
+
+
+ if (Buttons.Count > 0) {
+ Buttons [0].IsDefault = true;
+ Buttons.Reverse ();
+
+ int right = 9;
+
+ foreach (Button button in Buttons) {
+ button.Measure (new Size (Double.PositiveInfinity, Double.PositiveInfinity));
+ Rect rect = new Rect (button.DesiredSize);
+
+ button.Width = rect.Width + 26;
+
+ if (button.Width < 75)
+ button.Width = 75;
+
+ ContentCanvas.Children.Add (button);
+ Canvas.SetRight (button, right);
+ Canvas.SetBottom (button, 9);
+
+ right += (int) button.Width + 9;
+
+ if ((button.Content as string).Equals ("Continue")) {
+ Buttons [Buttons.Count - 1].IsDefault = false;
+ button.IsDefault = true;
+ }
+ }
+ }
+
+ ElementHost.EnableModelessKeyboardInterop (this);
+ }
+
+
+ private void Close (object sender, CancelEventArgs args)
+ {
+ args.Cancel = true;
+ }
+
+
+ [DllImport("user32.dll")]
+ private extern static int SetWindowLong (IntPtr hwnd, int index, int value);
+
+ [DllImport("user32.dll")]
+ private extern static int GetWindowLong (IntPtr hwnd, int index);
+ }
+}
diff --git a/SparkleShare/Windows/SparkleShortcut.cs b/SparkleShare/Windows/UserInterface/Shortcut.cs
index 763a697..aded16e 100644
--- a/SparkleShare/Windows/SparkleShortcut.cs
+++ b/SparkleShare/Windows/UserInterface/Shortcut.cs
@@ -1,5 +1,5 @@
// SparkleShare, a collaboration and sharing tool.
-// Copyright (C) 2010 Hylke Bons <hylkebons@gmail.com>
+// Copyright (C) 2010 Hylke Bons <hi@planetpeanut.uk>
//
// 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
@@ -16,11 +16,8 @@
using System;
-using System.ComponentModel;
-using System.Drawing;
using System.Runtime.InteropServices;
using System.Text;
-using System.Windows.Forms;
namespace SparkleShare {
diff --git a/SparkleShare/Windows/SparkleSpinner.cs b/SparkleShare/Windows/UserInterface/Spinner.cs
index e8a3885..6f5bcbd 100644
--- a/SparkleShare/Windows/SparkleSpinner.cs
+++ b/SparkleShare/Windows/UserInterface/Spinner.cs
@@ -1,91 +1,91 @@
-// SparkleShare, a collaboration and sharing tool.
-// 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
-// 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 <http://www.gnu.org/licenses/>.
-
-
-using System;
-using System.Timers;
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Media.Imaging;
-using System.ComponentModel;
-
-namespace SparkleShare {
- public class SparkleSpinner : Image {
-
- private Timer timer;
-
- public SparkleSpinner ()
- : this (22) {
- }
-
- public SparkleSpinner (int size) : base () {
- if (DesignerProperties.GetIsInDesignMode(this)) {
- return;
- }
-
- Width = size;
- Height = size;
-
- int current_frame = 0;
- BitmapSource spinner_gallery = SparkleUIHelpers.GetImageSource ("process-working-22");
- int frames_in_width = spinner_gallery.PixelWidth / size;
- int frames_in_height = spinner_gallery.PixelHeight / size;
- int frame_count = (frames_in_width * frames_in_height) - 1;
- Image [] frames = new Image [frame_count];
-
- 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)) {
- CroppedBitmap crop = new CroppedBitmap (spinner_gallery,
- new Int32Rect (size * x, size * y, size, size));
-
- frames [i] = new Image ();
- frames [i].Source = crop;
- i++;
- }
- }
- }
-
- this.timer = new Timer () {
- Interval = 400 / frame_count
- };
-
- this.timer.Elapsed += delegate {
- Dispatcher.BeginInvoke ((Action) delegate {
- if (current_frame < frame_count - 1)
- current_frame++;
- else
- current_frame = 0;
-
- Source = frames [current_frame].Source;
- });
- };
- }
-
-
- public void Start ()
- {
- this.timer.Start ();
- }
-
-
- public void Stop ()
- {
- this.timer.Stop ();
- }
- }
-}
+// SparkleShare, a collaboration and sharing tool.
+// Copyright (C) 2010 Hylke Bons <hi@planetpeanut.uk>
+//
+// 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 <http://www.gnu.org/licenses/>.
+
+
+using System;
+using System.Timers;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Media.Imaging;
+using System.ComponentModel;
+
+namespace SparkleShare {
+ public class Spinner : Image {
+
+ private Timer timer;
+
+ public Spinner ()
+ : this (22) {
+ }
+
+ public Spinner (int size) : base () {
+ if (DesignerProperties.GetIsInDesignMode(this)) {
+ return;
+ }
+
+ Width = size;
+ Height = size;
+
+ int current_frame = 0;
+ BitmapSource spinner_gallery = UserInterfaceHelpers.GetImageSource ("process-working-22");
+ int frames_in_width = spinner_gallery.PixelWidth / size;
+ int frames_in_height = spinner_gallery.PixelHeight / size;
+ int frame_count = (frames_in_width * frames_in_height) - 1;
+ Image [] frames = new Image [frame_count];
+
+ 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)) {
+ CroppedBitmap crop = new CroppedBitmap (spinner_gallery,
+ new Int32Rect (size * x, size * y, size, size));
+
+ frames [i] = new Image ();
+ frames [i].Source = crop;
+ i++;
+ }
+ }
+ }
+
+ this.timer = new Timer () {
+ Interval = 400 / frame_count
+ };
+
+ this.timer.Elapsed += delegate {
+ Dispatcher.BeginInvoke ((Action) delegate {
+ if (current_frame < frame_count - 1)
+ current_frame++;
+ else
+ current_frame = 0;
+
+ Source = frames [current_frame].Source;
+ });
+ };
+ }
+
+
+ public void Start ()
+ {
+ this.timer.Start ();
+ }
+
+
+ public void Stop ()
+ {
+ this.timer.Stop ();
+ }
+ }
+}
diff --git a/SparkleShare/Windows/SparkleStatusIcon.cs b/SparkleShare/Windows/UserInterface/StatusIcon.cs
index a4a77ad..fb02f59 100644
--- a/SparkleShare/Windows/SparkleStatusIcon.cs
+++ b/SparkleShare/Windows/UserInterface/StatusIcon.cs
@@ -1,5 +1,5 @@
// SparkleShare, a collaboration and sharing tool.
-// Copyright (C) 2010 Hylke Bons <hylkebons@gmail.com>
+// Copyright (C) 2010 Hylke Bons <hi@planetpeanut.uk>
//
// 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
@@ -26,15 +26,15 @@ using Drawing = System.Drawing;
namespace SparkleShare {
- public class SparkleStatusIcon : Control {
+ public class StatusIcon : Control {
- public SparkleStatusIconController Controller = new SparkleStatusIconController();
+ public StatusIconController Controller = new StatusIconController();
- private readonly Drawing.Bitmap syncing_idle_image = SparkleUIHelpers.GetBitmap("process-syncing-idle");
- private readonly Drawing.Bitmap syncing_up_image = SparkleUIHelpers.GetBitmap("process-syncing-up");
- private readonly Drawing.Bitmap syncing_down_image = SparkleUIHelpers.GetBitmap("process-syncing-down");
- private readonly Drawing.Bitmap syncing_image = SparkleUIHelpers.GetBitmap("process-syncing");
- private readonly Drawing.Bitmap syncing_error_image = SparkleUIHelpers.GetBitmap("process-syncing-error");
+ private readonly Drawing.Bitmap syncing_idle_image = UserInterfaceHelpers.GetBitmap("process-syncing-idle");
+ private readonly Drawing.Bitmap syncing_up_image = UserInterfaceHelpers.GetBitmap("process-syncing-up");
+ private readonly Drawing.Bitmap syncing_down_image = UserInterfaceHelpers.GetBitmap("process-syncing-down");
+ private readonly Drawing.Bitmap syncing_image = UserInterfaceHelpers.GetBitmap("process-syncing");
+ private readonly Drawing.Bitmap syncing_error_image = UserInterfaceHelpers.GetBitmap("process-syncing-error");
private ContextMenu context_menu;
@@ -43,10 +43,10 @@ namespace SparkleShare {
private SparkleMenuItem exit_item;
private SparkleMenuItem[] state_menu_items;
- private readonly SparkleNotifyIcon notify_icon = new SparkleNotifyIcon();
+ private readonly NotifyIcon notify_icon = new NotifyIcon();
- public SparkleStatusIcon() {
+ public StatusIcon() {
this.notify_icon.HeaderText = "SparkleShare";
this.notify_icon.Icon = this.syncing_idle_image;
@@ -117,7 +117,7 @@ namespace SparkleShare {
};
Image folder_image = new Image {
- Source = SparkleUIHelpers.GetImageSource("sparkleshare-folder"),
+ Source = UserInterfaceHelpers.GetImageSource("sparkleshare-folder"),
Width = 16,
Height = 16
};
@@ -142,7 +142,7 @@ namespace SparkleShare {
if(Controller.LinkCodeItemEnabled) {
SparkleMenuItem code_item = new SparkleMenuItem {
- Header = Program.Controller.CurrentUser.PublicKey.Substring(0, 20) + "..."
+ Header = SparkleShare.Controller.UserAuthenticationInfo.PublicKey.Substring(0, 20) + "..."
};
SparkleMenuItem copy_item = new SparkleMenuItem {
@@ -159,7 +159,7 @@ namespace SparkleShare {
CheckBox notify_check_box = new CheckBox {
Margin = new Thickness(6, 0, 0, 0),
- IsChecked = Program.Controller.NotificationsEnabled
+ IsChecked = SparkleShare.Controller.NotificationsEnabled
};
SparkleMenuItem notify_item = new SparkleMenuItem {
@@ -187,13 +187,13 @@ namespace SparkleShare {
notify_check_box.Click += delegate {
this.context_menu.IsOpen = false;
- Program.Controller.ToggleNotifications();
- notify_check_box.IsChecked = Program.Controller.NotificationsEnabled;
+ SparkleShare.Controller.ToggleNotifications();
+ notify_check_box.IsChecked = SparkleShare.Controller.NotificationsEnabled;
};
notify_item.Click += delegate {
- Program.Controller.ToggleNotifications();
- notify_check_box.IsChecked = Program.Controller.NotificationsEnabled;
+ SparkleShare.Controller.ToggleNotifications();
+ notify_check_box.IsChecked = SparkleShare.Controller.NotificationsEnabled;
};
this.exit_item.Click += delegate {
@@ -215,7 +215,7 @@ namespace SparkleShare {
SparkleMenuItem subfolder_item = new SparkleMenuItem {
Header = project.Name.Replace("_", "__"),
Icon = new Image {
- Source = SparkleUIHelpers.GetImageSource("folder"),
+ Source = UserInterfaceHelpers.GetImageSource("folder"),
Width = 16,
Height = 16
}
@@ -233,7 +233,7 @@ namespace SparkleShare {
Header = "Open folder",
Icon = new Image
{
- Source = SparkleUIHelpers.GetImageSource("folder"),
+ Source = UserInterfaceHelpers.GetImageSource("folder"),
Width = 16,
Height = 16
}
@@ -284,7 +284,7 @@ namespace SparkleShare {
};
SparkleMenuItem try_again_item = new SparkleMenuItem {
- Header = "Try Again"
+ Header = "Retry Sync"
};
try_again_item.Click += (sender, e) => Controller.TryAgainDelegate(project.Name)(sender, e);
subfolder_item.Items.Add(try_again_item);
diff --git a/SparkleShare/Windows/SparkleUI.cs b/SparkleShare/Windows/UserInterface/UserInterface.cs
index 31f5ebb..a897e60 100644
--- a/SparkleShare/Windows/SparkleUI.cs
+++ b/SparkleShare/Windows/UserInterface/UserInterface.cs
@@ -1,5 +1,5 @@
// SparkleShare, a collaboration and sharing tool.
-// Copyright (C) 2010 Hylke Bons <hylkebons@gmail.com>
+// Copyright (C) 2010 Hylke Bons <hi@planetpeanut.uk>
//
// 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
@@ -19,43 +19,43 @@ using System;
using System.Threading;
using System.Windows.Forms;
-using SparkleLib;
+using Sparkles;
namespace SparkleShare {
- public class SparkleUI {
+ public class UserInterface {
- public SparkleSetup Setup;
- public SparkleEventLogWindow EventLog;
- public SparkleBubbles Bubbles;
- public SparkleStatusIcon StatusIcon;
- public SparkleAbout About;
- public SparkleNote Note;
+ public Setup Setup;
+ public EventLog EventLog;
+ public Bubbles Bubbles;
+ public StatusIcon StatusIcon;
+ public About About;
+ public Note Note;
- static SparkleUI ()
+ static UserInterface ()
{
Application.ThreadException += OnUnhandledException;
Application.SetUnhandledExceptionMode (UnhandledExceptionMode.CatchException);
}
- public SparkleUI ()
+ public UserInterface ()
{
// FIXME: The second time windows are shown, the windows
// don't have the smooth ease in animation, but appear abruptly.
// The ease out animation always seems to work
- Setup = new SparkleSetup ();
- EventLog = new SparkleEventLogWindow();
- About = new SparkleAbout ();
- Bubbles = new SparkleBubbles ();
- StatusIcon = new SparkleStatusIcon ();
- Note = new SparkleNote ();
+ Setup = new Setup ();
+ EventLog = new EventLog();
+ About = new About ();
+ Bubbles = new Bubbles ();
+ StatusIcon = new StatusIcon ();
+ Note = new Note ();
- Program.Controller.UIHasLoaded ();
+ SparkleShare.Controller.UIHasLoaded ();
}
- public void Run ()
+ public void Run (string [] args)
{
Application.Run ();
StatusIcon.Dispose ();
@@ -64,7 +64,7 @@ namespace SparkleShare {
private static void OnUnhandledException (object sender, ThreadExceptionEventArgs exception_args)
{
try {
- SparkleLogger.WriteCrashReport (exception_args.Exception);
+ Logger.WriteCrashReport (exception_args.Exception);
} finally {
Environment.Exit (-1);
}
diff --git a/SparkleShare/Windows/SparkleUIHelpers.cs b/SparkleShare/Windows/UserInterface/UserInterfaceHelpers.cs
index ff289c8..a76e4d5 100644
--- a/SparkleShare/Windows/SparkleUIHelpers.cs
+++ b/SparkleShare/Windows/UserInterface/UserInterfaceHelpers.cs
@@ -1,5 +1,5 @@
// SparkleShare, a collaboration and sharing tool.
-// Copyright (C) 2010 Hylke Bons <hylkebons@gmail.com>
+// Copyright (C) 2010 Hylke Bons <hi@planetpeanut.uk>
//
// 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
@@ -18,8 +18,6 @@
using System;
using System.IO;
using System.Reflection;
-using System.Windows;
-using System.Windows.Controls;
using System.Windows.Media;
using System.Windows.Media.Imaging;
@@ -27,7 +25,7 @@ using Drawing = System.Drawing;
namespace SparkleShare {
- public static class SparkleUIHelpers {
+ public static class UserInterfaceHelpers {
public static string ToHex (this Drawing.Color color)
{
@@ -44,7 +42,7 @@ namespace SparkleShare {
public static BitmapFrame GetImageSource (string name, string type)
{
Assembly assembly = Assembly.GetExecutingAssembly();
- Stream image_stream = assembly.GetManifestResourceStream("SparkleShare.Pixmaps." + name + "." + type);
+ Stream image_stream = assembly.GetManifestResourceStream("SparkleShare.Windows.Images." + name + "." + type);
return BitmapFrame.Create(image_stream);
}
@@ -62,7 +60,7 @@ namespace SparkleShare {
public static Drawing.Bitmap GetBitmap (string name)
{
Assembly assembly = Assembly.GetExecutingAssembly ();
- Stream image_stream = assembly.GetManifestResourceStream ("SparkleShare.Pixmaps." + name + ".png");
+ Stream image_stream = assembly.GetManifestResourceStream ("SparkleShare.Windows.Images." + name + ".png");
return (Drawing.Bitmap) Drawing.Bitmap.FromStream (image_stream);
}
@@ -71,7 +69,7 @@ namespace SparkleShare {
{
Assembly assembly = Assembly.GetExecutingAssembly ();
StreamReader html_reader = new StreamReader (
- assembly.GetManifestResourceStream ("SparkleShare.HTML." + name));
+ assembly.GetManifestResourceStream ("SparkleShare.Windows.HTML." + name));
return html_reader.ReadToEnd ();
}
diff --git a/SparkleShare/Windows/app.config b/SparkleShare/Windows/app.config
new file mode 100644
index 0000000..51278a4
--- /dev/null
+++ b/SparkleShare/Windows/app.config
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/></startup></configuration>
diff --git a/SparkleShare/Windows/build.cmd b/SparkleShare/Windows/build.cmd
index e01316c..2cae645 100644
--- a/SparkleShare/Windows/build.cmd
+++ b/SparkleShare/Windows/build.cmd
@@ -6,7 +6,7 @@ if not exist %msbuild% set msbuild="%WinDirNet%\v4.0.30319\msbuild.exe"
set wixBinDir=%WIX%\bin
if not exist ..\..\bin mkdir ..\..\bin
-copy Pixmaps\sparkleshare-app.ico ..\..\bin\
+copy Images\sparkleshare-app.ico ..\..\bin\
%msbuild% /t:Rebuild /p:Configuration=Release /p:Platform="Any CPU" "%~dp0\SparkleShare.sln"
diff --git a/SparkleShare/Windows/packages.config b/SparkleShare/Windows/packages.config
new file mode 100644
index 0000000..6c3600d
--- /dev/null
+++ b/SparkleShare/Windows/packages.config
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<packages>
+ <package id="DeltaCompressionDotNet" version="1.0.0" targetFramework="net45" />
+ <package id="Mono.Cecil" version="0.9.6.1" targetFramework="net45" />
+ <package id="Splat" version="1.6.2" targetFramework="net45" />
+ <package id="squirrel.windows" version="1.5.2" targetFramework="net45" />
+</packages> \ No newline at end of file