Add toplevel Solution file

This commit is contained in:
Hylke Bons 2016-03-31 00:56:48 +01:00
parent ebb941cfd7
commit a2337e6c8d
32 changed files with 429 additions and 242 deletions

View file

@ -5,13 +5,12 @@ DIST_SUBDIRS = $(basedirs) SparkleShare
EXTRA_DIST = \
News.txt \
README.md \
README.md \
legal/License_for_SparkleShare.txt \
legal/License_for_SparkleLib.txt \
legal/Trademark.txt \
legal/Authors.txt \
SparkleShare/Linux/README.md \
SparkleShare/Linux/sparkleshare.appdata.xml
SparkleShare/Linux/org.sparkleshare.SparkleShare.appdata.xml
DISTCLEANFILES = \
intltool-extract \

View file

@ -38,7 +38,7 @@ namespace SparkleLib {
public delegate void DisconnectedEventHandler (DisconnectReason reason);
public event AnnouncementReceivedEventHandler AnnouncementReceived = delegate { };
public delegate void AnnouncementReceivedEventHandler (SparkleAnnouncement announcement);
public delegate void AnnouncementReceivedEventHandler (Announcement announcement);
public readonly Uri Server;
@ -47,7 +47,7 @@ namespace SparkleLib {
public abstract bool IsConnecting { get; }
protected abstract void AnnounceInternal (SparkleAnnouncement announcent);
protected abstract void AnnounceInternal (Announcement announcent);
protected abstract void AlsoListenToInternal (string folder_identifier);
protected List<string> channels = new List<string> ();
@ -55,10 +55,10 @@ namespace SparkleLib {
private int max_recent_announcements = 10;
private Dictionary<string, List<SparkleAnnouncement>> recent_announcements =
new Dictionary<string, List<SparkleAnnouncement>> ();
private Dictionary<string, List<Announcement>> recent_announcements =
new Dictionary<string, List<Announcement>> ();
private Dictionary<string, SparkleAnnouncement> queue_up = new Dictionary<string, SparkleAnnouncement> ();
private Dictionary<string, Announcement> queue_up = new Dictionary<string, Announcement> ();
private Timer reconnect_timer = new Timer {
Interval = 60 * 1000,
@ -81,7 +81,7 @@ namespace SparkleLib {
Reconnect ();
}
public void Announce (SparkleAnnouncement announcement)
public void Announce (Announcement announcement)
{
if (!IsRecentAnnouncement (announcement)) {
if (IsConnected) {
@ -135,8 +135,8 @@ namespace SparkleLib {
if (this.queue_up.Count > 0) {
Logger.LogInfo ("Listener", "Delivering " + this.queue_up.Count + " queued messages...");
foreach (KeyValuePair<string, SparkleAnnouncement> item in this.queue_up) {
SparkleAnnouncement announcement = item.Value;
foreach (KeyValuePair<string, Announcement> item in this.queue_up) {
Announcement announcement = item.Value;
Announce (announcement);
}
}
@ -150,7 +150,7 @@ namespace SparkleLib {
}
public void OnAnnouncement (SparkleAnnouncement announcement)
public void OnAnnouncement (Announcement announcement)
{
Logger.LogInfo ("Listener", "Got message " + announcement.Message + " from " +
announcement.FolderIdentifier + " on " + Server);
@ -176,13 +176,13 @@ namespace SparkleLib {
}
private bool IsRecentAnnouncement (SparkleAnnouncement announcement)
private bool IsRecentAnnouncement (Announcement announcement)
{
if (!this.recent_announcements.ContainsKey (announcement.FolderIdentifier)) {
return false;
} else {
foreach (SparkleAnnouncement recent_announcement in GetRecentAnnouncements (announcement.FolderIdentifier)) {
foreach (Announcement recent_announcement in GetRecentAnnouncements (announcement.FolderIdentifier)) {
if (recent_announcement.Message.Equals (announcement.Message))
return true;
}
@ -192,18 +192,18 @@ namespace SparkleLib {
}
private List<SparkleAnnouncement> GetRecentAnnouncements (string folder_identifier)
private List<Announcement> GetRecentAnnouncements (string folder_identifier)
{
if (!this.recent_announcements.ContainsKey (folder_identifier))
this.recent_announcements [folder_identifier] = new List<SparkleAnnouncement> ();
this.recent_announcements [folder_identifier] = new List<Announcement> ();
return this.recent_announcements [folder_identifier];
}
private void AddRecentAnnouncement (SparkleAnnouncement announcement)
private void AddRecentAnnouncement (Announcement announcement)
{
List<SparkleAnnouncement> recent_announcements =
List<Announcement> recent_announcements =
GetRecentAnnouncements (announcement.FolderIdentifier);
if (!IsRecentAnnouncement (announcement))

View file

@ -59,7 +59,7 @@ namespace SparkleLib {
public abstract double HistorySize { get; }
public abstract List<string> ExcludePaths { get; }
public abstract List<SparkleChange> UnsyncedChanges { get; }
public abstract List<Change> UnsyncedChanges { get; }
public abstract List<ChangeSet> GetChangeSets ();
public abstract List<ChangeSet> GetChangeSets (string path);
@ -373,7 +373,7 @@ namespace SparkleLib {
HasUnsyncedChanges = false;
this.poll_interval = PollInterval.Long;
this.listener.Announce (new SparkleAnnouncement (Identifier, CurrentRevision));
this.listener.Announce (new Announcement (Identifier, CurrentRevision));
Status = SyncStatus.Idle;
SyncStatusChanged (Status);
@ -388,7 +388,7 @@ namespace SparkleLib {
if (Error == ErrorStatus.None && SyncUp ()) {
HasUnsyncedChanges = false;
this.listener.Announce (new SparkleAnnouncement (Identifier, CurrentRevision));
this.listener.Announce (new Announcement (Identifier, CurrentRevision));
Status = SyncStatus.Idle;
SyncStatusChanged (Status);
@ -437,7 +437,7 @@ namespace SparkleLib {
bool emit_change_event = true;
foreach (SparkleChange change in ChangeSets [0].Changes) {
foreach (Change change in ChangeSets [0].Changes) {
if (change.Path.EndsWith (".sparkleshare")) {
emit_change_event = false;
break;
@ -538,7 +538,7 @@ namespace SparkleLib {
}
private void ListenerAnnouncementReceivedDelegate (SparkleAnnouncement announcement)
private void ListenerAnnouncementReceivedDelegate (Announcement announcement)
{
string identifier = Identifier;

View file

@ -21,7 +21,7 @@ using System.Collections.Generic;
namespace SparkleLib {
public enum SparkleChangeType {
public enum ChangeType {
Added,
Edited,
Deleted,
@ -39,16 +39,16 @@ namespace SparkleLib {
public DateTime FirstTimestamp;
public Uri RemoteUrl;
public List<SparkleChange> Changes = new List<SparkleChange> ();
public List<Change> Changes = new List<Change> ();
public string ToMessage ()
{
string message = "added: {0}";
switch (Changes [0].Type) {
case SparkleChangeType.Edited: message = "edited: {0}"; break;
case SparkleChangeType.Deleted: message = "deleted: {0}"; break;
case SparkleChangeType.Moved: message = "moved: {0}"; break;
case ChangeType.Edited: message = "edited: {0}"; break;
case ChangeType.Deleted: message = "deleted: {0}"; break;
case ChangeType.Moved: message = "moved: {0}"; break;
}
if (Changes.Count > 0)
@ -59,9 +59,9 @@ namespace SparkleLib {
}
public class SparkleChange {
public class Change {
public SparkleChangeType Type;
public ChangeType Type;
public DateTime Timestamp;
public bool IsFolder = false;
@ -94,13 +94,13 @@ namespace SparkleLib {
}
public class SparkleAnnouncement {
public class Announcement {
public readonly string FolderIdentifier;
public readonly string Message;
public SparkleAnnouncement (string folder_identifier, string message)
public Announcement (string folder_identifier, string message)
{
FolderIdentifier = folder_identifier;
Message = message;

View file

@ -1,30 +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 Lesser 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.Reflection;
[assembly:AssemblyTitle ("SparkleLib")]
[assembly:AssemblyVersion ("2.0")]
[assembly:AssemblyCopyright ("Copyright (c) 2010 Hylke Bons and others")]
namespace SparkleLib {
public class Defines {
public const string INSTALL_DIR = "/app/share/sparkleshare";
}
}

View file

@ -705,7 +705,7 @@ namespace SparkleLib.Git {
}
public override List<SparkleChange> UnsyncedChanges {
public override List<Change> UnsyncedChanges {
get {
return ParseStatus ();
}
@ -835,11 +835,11 @@ namespace SparkleLib.Git {
file_path = file_path.Replace ("\\\"", "\"");
SparkleChange change = new SparkleChange () {
Change change = new Change () {
Path = file_path,
IsFolder = change_is_folder,
Timestamp = change_set.Timestamp,
Type = SparkleChangeType.Added
Type = ChangeType.Added
};
if (type_letter.Equals ("R")) {
@ -878,13 +878,13 @@ namespace SparkleLib.Git {
change.Path = file_path;
change.MovedToPath = to_file_path;
change.Type = SparkleChangeType.Moved;
change.Type = ChangeType.Moved;
} else if (type_letter.Equals ("M")) {
change.Type = SparkleChangeType.Edited;
change.Type = ChangeType.Edited;
} else if (type_letter.Equals ("D")) {
change.Type = SparkleChangeType.Deleted;
change.Type = ChangeType.Deleted;
}
change_set.Changes.Add (change);
@ -917,17 +917,17 @@ namespace SparkleLib.Git {
} else {
// Don't show removals or moves in the revision list of a file
if (path != null) {
List<SparkleChange> changes_to_skip = new List<SparkleChange> ();
List<Change> changes_to_skip = new List<Change> ();
foreach (SparkleChange change in change_set.Changes) {
if ((change.Type == SparkleChangeType.Deleted || change.Type == SparkleChangeType.Moved)
foreach (Change change in change_set.Changes) {
if ((change.Type == ChangeType.Deleted || change.Type == ChangeType.Moved)
&& change.Path.Equals (path)) {
changes_to_skip.Add (change);
}
}
foreach (SparkleChange change_to_skip in changes_to_skip)
foreach (Change change_to_skip in changes_to_skip)
change_set.Changes.Remove (change_to_skip);
}
@ -1028,9 +1028,9 @@ namespace SparkleLib.Git {
private List<SparkleChange> ParseStatus ()
private List<Change> ParseStatus ()
{
List<SparkleChange> changes = new List<SparkleChange> ();
List<Change> changes = new List<Change> ();
GitCommand git_status = new GitCommand (LocalPath, "status --porcelain");
git_status.Start ();
@ -1042,28 +1042,28 @@ namespace SparkleLib.Git {
if (line.EndsWith (".empty") || line.EndsWith (".empty\""))
line = line.Replace (".empty", "");
SparkleChange change;
Change change;
if (line.StartsWith ("R")) {
string path = line.Substring (3, line.IndexOf (" -> ") - 3).Trim ("\" ".ToCharArray ());
string moved_to_path = line.Substring (line.IndexOf (" -> ") + 4).Trim ("\" ".ToCharArray ());
change = new SparkleChange () {
Type = SparkleChangeType.Moved,
change = new Change () {
Type = ChangeType.Moved,
Path = EnsureSpecialCharacters (path),
MovedToPath = EnsureSpecialCharacters (moved_to_path)
};
} else {
string path = line.Substring (2).Trim ("\" ".ToCharArray ());
change = new SparkleChange () { Path = EnsureSpecialCharacters (path) };
change.Type = SparkleChangeType.Added;
change = new Change () { Path = EnsureSpecialCharacters (path) };
change.Type = ChangeType.Added;
if (line.StartsWith ("M")) {
change.Type = SparkleChangeType.Edited;
change.Type = ChangeType.Edited;
} else if (line.StartsWith ("D")) {
change.Type = SparkleChangeType.Deleted;
change.Type = ChangeType.Deleted;
}
}
@ -1082,19 +1082,19 @@ namespace SparkleLib.Git {
{
string message = "";
foreach (SparkleChange change in ParseStatus ()) {
if (change.Type == SparkleChangeType.Moved) {
foreach (Change change in ParseStatus ()) {
if (change.Type == ChangeType.Moved) {
message += "< " + EnsureSpecialCharacters (change.Path) + "\n";
message += "> " + EnsureSpecialCharacters (change.MovedToPath) + "\n";
} else {
if (change.Type == SparkleChangeType.Edited) {
if (change.Type == ChangeType.Edited) {
message += "/";
} else if (change.Type == SparkleChangeType.Deleted) {
} else if (change.Type == ChangeType.Deleted) {
message += "-";
} else if (change.Type == SparkleChangeType.Added) {
} else if (change.Type == ChangeType.Added) {
message += "+";
}

View file

@ -4,9 +4,9 @@ TARGET = library
LINK = -r:$(DIR_BIN)/SparkleLib.dll
SOURCES = \
SparkleGit.cs \
SparkleFetcherGit.cs \
SparkleRepoGit.cs
GitCommand.cs \
GitFetcher.cs \
GitRepository.cs
install-data-hook:

View file

@ -9,8 +9,9 @@ SOURCES = \
BaseFetcher.cs \
BaseListener.cs \
BaseRepository.cs \
ChangeSet.cs \
Command.cs \
Config.cs \
Configuration.cs \
Extensions.cs \
ListenerFactory.cs \
Logger.cs \
@ -18,8 +19,7 @@ SOURCES = \
SSHFetcher.cs \
TcpListener.cs \
User.cs \
Watcher.cs \
Wrappers.cs
Watcher.cs
install-data-hook:
for ASM in $(EXTRA_BUNDLE); do \

View file

@ -38,17 +38,39 @@
<Compile Include="Logger.cs" />
<Compile Include="Defines.cs" />
<Compile Include="Command.cs" />
<Compile Include="Fetcher\SSHFetcher.cs" />
<Compile Include="Fetcher\BaseFetcher.cs" />
<Compile Include="Listener\BaseListener.cs" />
<Compile Include="Listener\ListenerFactory.cs" />
<Compile Include="Listener\TcpListener.cs" />
<Compile Include="AuthenticationInfo\SSHAuthenticationInfo.cs" />
<Compile Include="AuthenticationInfo\AuthenticationInfo.cs" />
<Compile Include="Repository\BaseRepository.cs" />
<Compile Include="Repository\ChangeSet.cs" />
<Compile Include="Repository\User.cs" />
<Compile Include="Repository\Watcher.cs" />
<Compile Include="SSHFetcher.cs">
<Link>Fetcher\SSHFetcher.cs</Link>
</Compile>
<Compile Include="BaseFetcher.cs">
<Link>Fetcher\BaseFetcher.cs</Link>
</Compile>
<Compile Include="TcpListener.cs">
<Link>Listener\TcpListener.cs</Link>
</Compile>
<Compile Include="BaseListener.cs">
<Link>Listener\BaseListener.cs</Link>
</Compile>
<Compile Include="ListenerFactory.cs">
<Link>Listener\ListenerFactory.cs</Link>
</Compile>
<Compile Include="SSHAuthenticationInfo.cs">
<Link>AuthenticationInfo\SSHAuthenticationInfo.cs</Link>
</Compile>
<Compile Include="AuthenticationInfo.cs">
<Link>AuthenticationInfo\AuthenticationInfo.cs</Link>
</Compile>
<Compile Include="BaseRepository.cs">
<Link>Repository\BaseRepository.cs</Link>
</Compile>
<Compile Include="ChangeSet.cs">
<Link>Repository\ChangeSet.cs</Link>
</Compile>
<Compile Include="User.cs">
<Link>Repository\User.cs</Link>
</Compile>
<Compile Include="Watcher.cs">
<Link>Repository\Watcher.cs</Link>
</Compile>
</ItemGroup>
<ItemGroup>
<Folder Include="Fetcher\" />

View file

@ -1,20 +0,0 @@

Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SparkleLib", "SparkleLib.csproj", "{2C914413-B31C-4362-93C7-1AE34F09112A}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{2C914413-B31C-4362-93C7-1AE34F09112A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2C914413-B31C-4362-93C7-1AE34F09112A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2C914413-B31C-4362-93C7-1AE34F09112A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2C914413-B31C-4362-93C7-1AE34F09112A}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(MonoDevelopProperties) = preSolution
StartupItem = SparkleLib.csproj
EndGlobalSection
EndGlobal

View file

@ -171,7 +171,7 @@ namespace SparkleLib {
// We have a message!
if (!folder_identifier.Equals ("debug") && !string.IsNullOrEmpty (message))
OnAnnouncement (new SparkleAnnouncement (folder_identifier, message));
OnAnnouncement (new Announcement (folder_identifier, message));
}
} catch (SocketException e) {
@ -216,7 +216,7 @@ namespace SparkleLib {
}
protected override void AnnounceInternal (SparkleAnnouncement announcement)
protected override void AnnounceInternal (Announcement announcement)
{
string to_send = "announce " + announcement.FolderIdentifier + " " + announcement.Message + "\n";

View file

@ -15,7 +15,6 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
using System;
using System.IO;
namespace SparkleLib {
@ -25,7 +24,7 @@ namespace SparkleLib {
public event ChangeEventEventHandler ChangeEvent = delegate { };
public delegate void ChangeEventEventHandler (FileSystemEventArgs args);
private object thread_lock = new object ();
object thread_lock = new object ();
public Watcher (string path) : base (path)
@ -41,7 +40,7 @@ namespace SparkleLib {
}
private void OnChanged (object sender, FileSystemEventArgs args)
void OnChanged (object sender, FileSystemEventArgs args)
{
ChangeEvent (args);
}

View file

@ -435,8 +435,8 @@ namespace SparkleShare {
foreach (ChangeSet change_set in activity_day) {
string event_entry = "<dl>";
foreach (SparkleChange change in change_set.Changes) {
if (change.Type != SparkleChangeType.Moved) {
foreach (Change change in change_set.Changes) {
if (change.Type != ChangeType.Moved) {
event_entry += "<dd class='" + change.Type.ToString ().ToLower () + "'>";
if (!change.IsFolder) {

View file

@ -89,17 +89,17 @@ namespace SparkleShare {
Dictionary<string, string> changes_info = new Dictionary<string, string> ();
int changes_count = 0;
foreach (SparkleChange change in repo.UnsyncedChanges) {
foreach (Change change in repo.UnsyncedChanges) {
changes_count++;
if (changes_count > 10)
continue;
switch (change.Type) {
case SparkleChangeType.Added: changes_info [change.Path] = "document-added-12.png"; break;
case SparkleChangeType.Edited: changes_info [change.Path] = "document-edited-12.png"; break;
case SparkleChangeType.Deleted: changes_info [change.Path] = "document-deleted-12.png"; break;
case SparkleChangeType.Moved: changes_info [change.MovedToPath] = "document-moved-12.png"; break;
case ChangeType.Added: changes_info [change.Path] = "document-added-12.png"; break;
case ChangeType.Edited: changes_info [change.Path] = "document-edited-12.png"; break;
case ChangeType.Deleted: changes_info [change.Path] = "document-deleted-12.png"; break;
case ChangeType.Moved: changes_info [change.MovedToPath] = "document-moved-12.png"; break;
}
}

View file

@ -10,7 +10,7 @@ BUILD_DEFINES = "-define:HAVE_APP_INDICATOR"
endif
SOURCES = \
../Common/Program.cs \
../Common/SparkleShare.cs \
../Common/AboutController.cs \
../Common/Avatars.cs \
../Common/BubblesController.cs \
@ -38,7 +38,7 @@ bin_SCRIPTS = sparkleshare
Applicationsdir = $(datadir)/applications
dist_Applications_DATA = org.sparkleshare.SparkleShare.desktop \
org.sparkleshare.SparkleShare.InviteOpener.desktop
org.sparkleshare.SparkleShare.Invites.desktop
install-data-hook:
test -f $(datadir)/applications/defaults.list && \

View file

@ -0,0 +1,299 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{CF5BC8DB-A633-4FCC-8A3E-E3AC9B59FABC}</ProjectGuid>
<ProjectTypeGuids>{948B3504-5B70-4649-8FE4-BDE1FB46EC69};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<OutputType>Exe</OutputType>
<RootNamespace>SparkleShare</RootNamespace>
<AssemblyName>SparkleShare</AssemblyName>
<ReleaseVersion>
</ReleaseVersion>
<SuppressXamMacMigration>True</SuppressXamMacMigration>
<SuppressXamMacUpsell>True</SuppressXamMacUpsell>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>none</DebugType>
<Optimize>False</Optimize>
<OutputPath>bin\Release</OutputPath>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<CustomCommands>
<CustomCommands>
<Command type="AfterBuild" command="${ProjectDir}/postBuild.sh ${TargetDir}/${SolutionName}.app" />
</CustomCommands>
</CustomCommands>
<EnableCodeSigning>False</EnableCodeSigning>
<CreatePackage>False</CreatePackage>
<EnablePackageSigning>False</EnablePackageSigning>
<IncludeMonoRuntime>false</IncludeMonoRuntime>
<ConsolePause>False</ConsolePause>
<UseSGen>false</UseSGen>
<UseRefCounting>false</UseRefCounting>
<Profiling>false</Profiling>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<Optimize>False</Optimize>
<OutputPath>bin\Debug</OutputPath>
<DefineConstants>DEBUG</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<CustomCommands>
<CustomCommands>
<Command type="AfterBuild" command="${ProjectDir}/postBuild.sh ${TargetDir}/${SolutionName}.app" />
</CustomCommands>
</CustomCommands>
<EnableCodeSigning>False</EnableCodeSigning>
<CreatePackage>False</CreatePackage>
<EnablePackageSigning>False</EnablePackageSigning>
<IncludeMonoRuntime>false</IncludeMonoRuntime>
<ConsolePause>False</ConsolePause>
<DebugSymbols>true</DebugSymbols>
<UseSGen>false</UseSGen>
<UseRefCounting>false</UseRefCounting>
<Profiling>false</Profiling>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'ReleaseDist|AnyCPU' ">
<Optimize>false</Optimize>
<OutputPath>bin\ReleaseDist</OutputPath>
<WarningLevel>4</WarningLevel>
<UseSGen>false</UseSGen>
<IncludeMonoRuntime>false</IncludeMonoRuntime>
<EnablePackageSigning>false</EnablePackageSigning>
<CustomCommands>
<CustomCommands>
<Command type="AfterBuild" command="${ProjectDir}/postBuild.sh ${TargetDir}/${SolutionName}.app" />
<Command type="AfterBuild" command="${ProjectDir}/packReleaseDist.sh ${TargetDir}/${SolutionName}.app" />
</CustomCommands>
</CustomCommands>
<EnableCodeSigning>false</EnableCodeSigning>
<CreatePackage>false</CreatePackage>
<UseRefCounting>false</UseRefCounting>
<Profiling>false</Profiling>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Xml" />
<Reference Include="System.Drawing" />
<Reference Include="System.Net" />
<Reference Include="Mono.Posix" />
<Reference Include="MonoMac">
<HintPath>..\..\..\monomac\src\MonoMac.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="AppDelegate.cs">
<DependentUpon>MainMenu.xib</DependentUpon>
</Compile>
<Compile Include="MainMenu.xib.designer.cs">
<DependentUpon>MainMenu.xib</DependentUpon>
</Compile>
<Compile Include="..\Common\SparkleShare.cs">
<Link>SparkleShare.cs</Link>
</Compile>
<Compile Include="MacWatcher.cs" />
<Compile Include="..\Common\Plugin.cs">
<Link>Plugin.cs</Link>
</Compile>
<Compile Include="..\Common\Invite.cs">
<Link>Invite.cs</Link>
</Compile>
<Compile Include="..\Common\Avatars.cs" />
<Compile Include="..\Common\AboutController.cs">
<Link>Controllers\AboutController.cs</Link>
</Compile>
<Compile Include="..\Common\BubblesController.cs">
<Link>Controllers\BubblesController.cs</Link>
</Compile>
<Compile Include="..\Common\EventLogController.cs">
<Link>Controllers\EventLogController.cs</Link>
</Compile>
<Compile Include="..\Common\NoteController.cs">
<Link>Controllers\NoteController.cs</Link>
</Compile>
<Compile Include="..\Common\SetupController.cs">
<Link>Controllers\SetupController.cs</Link>
</Compile>
<Compile Include="..\Common\StatusIconController.cs">
<Link>Controllers\StatusIconController.cs</Link>
</Compile>
<Compile Include="UserInterface\About.cs" />
<Compile Include="UserInterface\Bubbles.cs" />
<Compile Include="UserInterface\EventLog.cs" />
<Compile Include="UserInterface\Note.cs" />
<Compile Include="UserInterface\Setup.cs" />
<Compile Include="UserInterface\SetupWindow.cs" />
<Compile Include="UserInterface\StatusIcon.cs" />
<Compile Include="UserInterface\UserInterface.cs" />
<Compile Include="Controllers\Controller.cs" />
<Compile Include="..\Common\BaseController.cs">
<Link>Controllers\BaseController.cs</Link>
</Compile>
</ItemGroup>
<ItemGroup>
<InterfaceDefinition Include="MainMenu.xib" />
</ItemGroup>
<ItemGroup>
<None Include="Info.plist" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<Import Project="$(MSBuildExtensionsPath)\Mono\MonoMac\v0.0\Mono.MonoMac.targets" />
<ItemGroup>
<Content Include="..\Common\HTML\day-entry.html">
<Link>HTML\day-entry.html</Link>
</Content>
<Content Include="..\Common\HTML\event-entry.html">
<Link>HTML\event-entry.html</Link>
</Content>
<Content Include="..\Common\HTML\event-log.html">
<Link>HTML\event-log.html</Link>
</Content>
<Content Include="Resources\sparkleshare-folder.icns">
<Link>Resources\sparkleshare-folder.icns</Link>
</Content>
<Content Include="Resources\sparkleshare-app.icns">
<Link>Resources\sparkleshare-app.icns</Link>
</Content>
<Content Include="..\Common\HTML\jquery.js">
<Link>HTML\jquery.js</Link>
</Content>
<Content Include="Resources\sparkleshare-folder-yosemite.icns">
<Link>Resources\sparkleshare-folder-yosemite.icns</Link>
</Content>
</ItemGroup>
<ItemGroup>
<Folder Include="Resources\" />
<Folder Include="HTML\" />
<Folder Include="Plugins\" />
<Folder Include="Controllers\" />
<Folder Include="UserInterface\" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\SparkleLib\SparkleLib.csproj">
<Project>{2C914413-B31C-4362-93C7-1AE34F09112A}</Project>
<Name>SparkleLib</Name>
</ProjectReference>
<ProjectReference Include="..\..\SparkleLib\Git\SparkleLib.Git.csproj">
<Project>{009FDCD7-1D57-4202-BB6D-8477D8C6B8EE}</Project>
<Name>SparkleLib.Git</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<BundleResource Include="..\Common\Pixmaps\side-splash.png">
<Link>Resources\side-splash.png</Link>
</BundleResource>
<BundleResource Include="..\Linux\Pixmaps\icons\document-added-12.png">
<Link>Resources\document-added-12.png</Link>
</BundleResource>
<BundleResource Include="..\Linux\Pixmaps\icons\document-edited-12.png">
<Link>Resources\document-edited-12.png</Link>
</BundleResource>
<BundleResource Include="..\Linux\Pixmaps\icons\document-deleted-12.png">
<Link>Resources\document-deleted-12.png</Link>
</BundleResource>
<BundleResource Include="..\Linux\Pixmaps\icons\document-moved-12.png">
<Link>Resources\document-moved-12.png</Link>
</BundleResource>
<BundleResource Include="..\Common\Pixmaps\about.png">
<Link>Resources\about.png</Link>
</BundleResource>
<BundleResource Include="Resources\tutorial-slide-3.png">
<Link>Resources\tutorial-slide-3.png</Link>
</BundleResource>
<BundleResource Include="Resources\process-syncing-down.png" />
<BundleResource Include="Resources\process-syncing-error.png" />
<BundleResource Include="Resources\process-syncing-idle.png" />
<BundleResource Include="Resources\process-syncing-up.png" />
<BundleResource Include="Resources\process-syncing.png" />
<BundleResource Include="..\Common\Pixmaps\user-icon-default.png">
<Link>Resources\user-icon-default.png</Link>
</BundleResource>
<BundleResource Include="..\Common\Pixmaps\side-splash%402x.png">
<Link>Resources\side-splash%402x.png</Link>
</BundleResource>
<BundleResource Include="Resources\process-syncing-down%402x.png" />
<BundleResource Include="Resources\process-syncing-error%402x.png" />
<BundleResource Include="Resources\process-syncing-idle%402x.png" />
<BundleResource Include="Resources\process-syncing-up%402x.png" />
<BundleResource Include="Resources\process-syncing%402x.png" />
<BundleResource Include="..\Common\Pixmaps\about%402x.png">
<Link>Resources\about%402x.png</Link>
</BundleResource>
<BundleResource Include="..\Common\Pixmaps\tutorial-slide-1.png">
<Link>Resources\tutorial-slide-1.png</Link>
</BundleResource>
<BundleResource Include="..\Common\Pixmaps\tutorial-slide-1%402x.png">
<Link>Resources\tutorial-slide-1%402x.png</Link>
</BundleResource>
<BundleResource Include="..\Common\Pixmaps\tutorial-slide-2.png">
<Link>Resources\tutorial-slide-2.png</Link>
</BundleResource>
<BundleResource Include="..\Common\Pixmaps\tutorial-slide-2%402x.png">
<Link>Resources\tutorial-slide-2%402x.png</Link>
</BundleResource>
<BundleResource Include="..\Common\Plugins\bitbucket%402x.png">
<Link>Plugins\bitbucket%402x.png</Link>
</BundleResource>
<BundleResource Include="..\Common\Plugins\github%402x.png">
<Link>Plugins\github%402x.png</Link>
</BundleResource>
<BundleResource Include="..\Common\Plugins\gitorious%402x.png">
<Link>Plugins\gitorious%402x.png</Link>
</BundleResource>
<BundleResource Include="..\Common\Plugins\own-server%402x.png">
<Link>Plugins\own-server%402x.png</Link>
</BundleResource>
<BundleResource Include="..\Common\Plugins\ssnet%402x.png">
<Link>Plugins\ssnet%402x.png</Link>
</BundleResource>
<BundleResource Include="..\Common\Plugins\bitbucket.xml">
<Link>Plugins\bitbucket.xml</Link>
</BundleResource>
<BundleResource Include="..\Common\Plugins\github.xml">
<Link>Plugins\github.xml</Link>
</BundleResource>
<BundleResource Include="..\Common\Plugins\gitorious.xml">
<Link>Plugins\gitorious.xml</Link>
</BundleResource>
<BundleResource Include="..\Common\Plugins\own-server.xml">
<Link>Plugins\own-server.xml</Link>
</BundleResource>
<BundleResource Include="..\Common\Plugins\bitbucket.png">
<Link>Plugins\bitbucket.png</Link>
</BundleResource>
<BundleResource Include="..\Common\Plugins\github.png">
<Link>Plugins\github.png</Link>
</BundleResource>
<BundleResource Include="..\Common\Plugins\gitorious.png">
<Link>Plugins\gitorious.png</Link>
</BundleResource>
<BundleResource Include="..\Common\Plugins\own-server.png">
<Link>Plugins\own-server.png</Link>
</BundleResource>
<BundleResource Include="..\Common\Plugins\ssnet.png">
<Link>Plugins\ssnet.png</Link>
</BundleResource>
<BundleResource Include="..\Common\Plugins\ssnet.xml">
<Link>Plugins\ssnet.xml</Link>
</BundleResource>
<BundleResource Include="Resources\tutorial-slide-3%402x.png" />
<BundleResource Include="..\Common\Plugins\planio.png">
<Link>Plugins\planio.png</Link>
</BundleResource>
<BundleResource Include="..\Common\Plugins\planio.xml">
<Link>Plugins\planio.xml</Link>
</BundleResource>
<BundleResource Include="..\Common\Plugins\planio%402x.png">
<Link>Plugins\planio%402x.png</Link>
</BundleResource>
<BundleResource Include="..\Common\Pixmaps\text-balloon.png">
<Link>Resources\text-balloon.png</Link>
</BundleResource>
<BundleResource Include="..\Common\Pixmaps\text-balloon%402x.png">
<Link>Resources\text-balloon%402x.png</Link>
</BundleResource>
</ItemGroup>
</Project>

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop">
<id type="desktop">sparkleshare.desktop</id>
<id type="desktop">org.sparkleshare.SparkleShare.desktop</id>
<metadata_licence>CC0-1.0</metadata_licence>
<project_license>GPL-3.0</project_license>
<name>SparkleShare</name>
@ -25,3 +25,4 @@
</description>
<url type="homepage">http://www.sparkleshare.org/</url>
</component>

View file

@ -91,15 +91,10 @@
<Compile Include="MainMenu.xib.designer.cs">
<DependentUpon>MainMenu.xib</DependentUpon>
</Compile>
<Compile Include="..\Common\BaseController.cs">
<Link>BaseController.cs</Link>
</Compile>
<Compile Include="UserInterface.cs" />
<Compile Include="..\Common\SparkleShare.cs">
<Link>SparkleShare.cs</Link>
</Compile>
<Compile Include="MacWatcher.cs" />
<Compile Include="Controller.cs" />
<Compile Include="..\Common\Plugin.cs">
<Link>Plugin.cs</Link>
</Compile>
@ -132,6 +127,11 @@
<Compile Include="UserInterface\Setup.cs" />
<Compile Include="UserInterface\SetupWindow.cs" />
<Compile Include="UserInterface\StatusIcon.cs" />
<Compile Include="UserInterface\UserInterface.cs" />
<Compile Include="Controllers\Controller.cs" />
<Compile Include="..\Common\BaseController.cs">
<Link>Controllers\BaseController.cs</Link>
</Compile>
</ItemGroup>
<ItemGroup>
<InterfaceDefinition Include="MainMenu.xib" />
@ -152,16 +152,16 @@
<Link>HTML\event-log.html</Link>
</Content>
<Content Include="Resources\sparkleshare-folder.icns">
<Link>sparkleshare-folder.icns</Link>
<Link>Resources\sparkleshare-folder.icns</Link>
</Content>
<Content Include="Resources\sparkleshare-app.icns">
<Link>sparkleshare-app.icns</Link>
<Link>Resources\sparkleshare-app.icns</Link>
</Content>
<Content Include="..\Common\HTML\jquery.js">
<Link>HTML\jquery.js</Link>
</Content>
<Content Include="Resources\sparkleshare-folder-yosemite.icns">
<Link>sparkleshare-folder-yosemite.icns</Link>
<Link>Resources\sparkleshare-folder-yosemite.icns</Link>
</Content>
</ItemGroup>
<ItemGroup>

View file

@ -1 +0,0 @@
2.7.4

View file

@ -1,11 +1,13 @@
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SparkleShare.Mac", "SparkleShare.Mac.csproj", "{CF5BC8DB-A633-4FCC-8A3E-E3AC9B59FABC}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SparkleShare.Linux", "Linux\SparkleShare.Linux.csproj", "{CF5BC8DB-A633-4FCC-8A3E-E3AC9B59FABC}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SparkleLib", "..\..\SparkleLib\SparkleLib.csproj", "{2C914413-B31C-4362-93C7-1AE34F09112A}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SparkleLib", "..\SparkleLib\SparkleLib.csproj", "{2C914413-B31C-4362-93C7-1AE34F09112A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SparkleLib.Git", "..\..\SparkleLib\Git\SparkleLib.Git.csproj", "{009FDCD7-1D57-4202-BB6D-8477D8C6B8EE}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SparkleLib.Git", "..\SparkleLib\Git\SparkleLib.Git.csproj", "{009FDCD7-1D57-4202-BB6D-8477D8C6B8EE}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SparkleShare.Windows", "Windows\SparkleShare.Windows.csproj", "{728483AA-E34B-4441-BF2C-C8BC2901E4E0}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -32,6 +34,12 @@ Global
{CF5BC8DB-A633-4FCC-8A3E-E3AC9B59FABC}.Release|Any CPU.Build.0 = Release|Any CPU
{CF5BC8DB-A633-4FCC-8A3E-E3AC9B59FABC}.ReleaseDist|Any CPU.ActiveCfg = ReleaseDist|Any CPU
{CF5BC8DB-A633-4FCC-8A3E-E3AC9B59FABC}.ReleaseDist|Any CPU.Build.0 = ReleaseDist|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
{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}.ReleaseDist|Any CPU.ActiveCfg = Release|Any CPU
{728483AA-E34B-4441-BF2C-C8BC2901E4E0}.ReleaseDist|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(MonoDevelopProperties) = preSolution
Policies = $0

View file

@ -280,11 +280,11 @@
</ItemGroup>
<ItemGroup>
<ProjectReference Include="SparkleLib\Git\SparkleLib.Git.csproj">
<Project>{7f0db8d0-e278-4955-8204-fc391b99f7c1}</Project>
<Project>{009FDCD7-1D57-4202-BB6D-8477D8C6B8EE}</Project>
<Name>SparkleLib.Git</Name>
</ProjectReference>
<ProjectReference Include="SparkleLib\SparkleLib.csproj">
<Project>{748f6316-37b4-46fd-a011-af073bc7c02d}</Project>
<Project>{2C914413-B31C-4362-93C7-1AE34F09112A}</Project>
<Name>SparkleLib</Name>
</ProjectReference>
</ItemGroup>

View file

@ -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

View file

@ -1,41 +0,0 @@
We at SparkleShare love it when people talk about SparkleShare, build
businesses around SparkleShare and produce products that make life
better for SparkleShare users and developers. We do, however, have a
trademark, which we are obliged to protect. The trademark gives us
the exclusive right to use the term to promote websites, services,
businesses and products. Although those rights are exclusively ours,
we are happy to give people permission to use the term under most
circumstances.
The following is a general policy that tells you when you can refer
to the SparkleShare name and logo without need of any specific
permission from SparkleShare:
First, you must make clear that you are not SparkleShare and that you
do not represent SparkleShare. A simple disclaimer on your home page
is an excellent way of doing that.
Second, you may not incorporate the SparkleShare name or logo into
the name or logo of your website, product, business or service.
Third, you may use the SparkleShare name (but not the SparkleShare
logo) only in descriptions of your website, product, business or
service to provide accurate information to the public about yourself.
Fourth, you may not use the SparkleShare graphical logo.
If you would like to use the SparkleShare name or logo for any other
use, please contact us and well discuss a way to make that happen.
We dont have strong objections to people using the name for their
websites and businesses, but we do need the chance to review such use.
Generally, we approve your use if you agree to a few things, mainly:
(1) our rights to the SparkleShare trademark are valid and superior to
yours and (2) youll take appropriate steps to make sure people dont
confuse your website for ours. In other words, its not a big deal,
and a short conversation (usually done via email) should clear
everything up in short order.
If you currently have a website that is using the SparkleShare name and
you have not gotten permission from us, dont panic. Let us know, and
well work it out, as described above.