Compare commits
1 commit
master
...
fix/versio
Author | SHA1 | Date | |
---|---|---|---|
![]() |
dc4e65beb3 |
1
.github/AUTHORS.md
vendored
|
@ -20,7 +20,6 @@ Code:
|
|||
Luis Cordova <cordoval@gmail.com>
|
||||
Łukasz Jernaś <deejay1@srem.org>
|
||||
Markus Stoll <post@mstoll.de>
|
||||
Malte Kiefer <malte.kiefer@mailgermania.de>
|
||||
Michael Monreal <michael.monreal@gmail.com>
|
||||
Nick Richards <nick@nickr.org>
|
||||
Oleg Khlystov <pktfag@gmail.com>
|
||||
|
|
1
.github/FUNDING.yml
vendored
|
@ -1 +0,0 @@
|
|||
github: hbons
|
3
.gitignore
vendored
|
@ -18,8 +18,8 @@ obj/
|
|||
git-*
|
||||
Sparkles/InstallationInfo.Directory.cs
|
||||
SparkleShare/Linux/sparkleshare
|
||||
SparkleShare/Mac/git/*
|
||||
SparkleShare/Mac/git*
|
||||
SparkleShare/Mac/*.tar.gz
|
||||
/sparkleshare-*
|
||||
desktop.ini
|
||||
_ReSharper.*
|
||||
|
@ -29,7 +29,6 @@ _ReSharper.*
|
|||
*.wxs
|
||||
*.dotCover
|
||||
SparkleShare/Windows/build/
|
||||
.vs/
|
||||
|
||||
# NuGet Packages
|
||||
*.nupkg
|
||||
|
|
|
@ -9,7 +9,7 @@ matrix:
|
|||
sudo: required
|
||||
|
||||
before_install:
|
||||
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then docker pull ubuntu:xenial ; fi
|
||||
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then docker pull ubuntu:17.10 ; fi
|
||||
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then wget https://dl.xamarin.com/XamarinforMac/Mac/xamarin.mac-3.0.0.393.pkg ; fi
|
||||
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then sudo installer -pkg xamarin.mac*.pkg -target / ; fi
|
||||
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
# [SparkleShare](https://www.sparkleshare.org/)
|
||||
|
||||
[SparkleShare](https://www.sparkleshare.org/) is a file sharing and collaboration app. It works just like Dropbox, and you can run it on your own server. It's available for Linux distributions, macOS, and Windows.
|
||||
[SparkleShare](https://www.sparkleshare.org/) is a file sharing and collaboration app. It works just like Dropbox, and you can run it on your own server. It's available for Linux distributions, macOS, and Windows. [Support the project on Patreon](https://www.patreon.com/SparkleShare).
|
||||
|
||||

|
||||
|
||||
You can support this project through [💕 GitHub Sponsors](https://github.com/sponsors/hbons).
|
||||
|
||||
## How does it work?
|
||||
|
||||
|
@ -21,7 +20,6 @@ flatpak install flathub org.sparkleshare.SparkleShare
|
|||
|
||||
Now you can run SparkleShare from the apps menu.
|
||||
|
||||
**Note:** by default SparkleShare uses an AppIndicator status icon on Linux. If you use GNOME on a distribution other than Ubuntu, please install the [AppIndicator extension](https://extensions.gnome.org/extension/615/appindicator-support/). If you don't use GNOME, you can start SparkleShare with `--status-icon=gtk`.
|
||||
|
||||
|
||||
## Install on macOS
|
||||
|
@ -35,10 +33,12 @@ Under the hood SparkleShare uses the version control system [Git](https://git-sc
|
|||
|
||||
|
||||
## Build from source
|
||||
`SparkleShare` is Free and Open Source software and licensed under the [GNU GPLv3 or later](LICENSE.md). You are welcome to change and redistribute it under certain conditions. Its library `Sparkles` is licensed under the [GNU LGPLv3 or later](LICENSE_Sparkles.md).
|
||||
`SparkleShare` is Free and Open Source software and licensed under the [GNU GPLv3 or later](legal/License_for_SparkleShare.txt). You are welcome to change and redistribute it under certain conditions. Its library `Sparkles` is licensed under the [GNU LGPLv3 or later](legal/License_for_Sparkles.txt).
|
||||
|
||||
Here are instructions to build SparkleShare on [Linux distributions](SparkleShare/Linux/README.md), [macOS](SparkleShare/Mac/README.md), and [Windows](SparkleShare/Windows/README.md).
|
||||
|
||||
**Note:** by default SparkleShare uses an AppIndicator status icon on Linux. If you use GNOME on a distribution other than Ubuntu, please install the [AppIndicator extension](https://extensions.gnome.org/extension/615/appindicator-support/). If you don't use GNOME, you can start SparkleShare with `--status-icon=gtk`.
|
||||
|
||||
|
||||
[](https://travis-ci.org/hbons/SparkleShare)
|
||||
[](https://gitter.im/hbons/SparkleShare?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
||||
|
|
|
@ -1,12 +1,3 @@
|
|||
3.38.0 (Sun 29 Nov, 2020):
|
||||
|
||||
- Added support for LibRAavatar
|
||||
- Updated Gravatar cert fingerprint
|
||||
- Removed planio from supported presets
|
||||
- Support default branches that are not named 'master'
|
||||
- Added support for nightly Flatpak builds
|
||||
|
||||
|
||||
3.28.0 (Sat 14 Jul, 2018):
|
||||
|
||||
Fixed a bunch of crashes and lots of under-the-hood improvements.
|
||||
|
|
|
@ -32,7 +32,8 @@ namespace SparkleShare {
|
|||
public delegate void UpdateLabelEventDelegate (string text);
|
||||
|
||||
public readonly string WebsiteLinkAddress = "https://www.sparkleshare.org/";
|
||||
public readonly string CreditsLinkAddress = "https://github.com/hbons/SparkleShare/blob/master/.github/AUTHORS.md";
|
||||
public readonly string VersionCheckAddress = "https://www.sparkleshare.org/version";
|
||||
public readonly string CreditsLinkAddress = "https://github.com/hbons/SparkleShare/blob/master/legal/Authors.txt";
|
||||
public readonly string ReportProblemLinkAddress = "https://www.github.com/hbons/SparkleShare/issues";
|
||||
public readonly string DebugLogLinkAddress = "file://" + SparkleShare.Controller.Config.LogFilePath;
|
||||
|
||||
|
@ -61,10 +62,8 @@ namespace SparkleShare {
|
|||
UpdateLabelEvent ("Checking for updates…");
|
||||
Thread.Sleep (500);
|
||||
|
||||
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
|
||||
|
||||
var web_client = new WebClient ();
|
||||
var uri = new Uri ("https://www.sparkleshare.org/version");
|
||||
var uri = new Uri (VersionCheckAddress);
|
||||
|
||||
try {
|
||||
string latest_version = web_client.DownloadString (uri);
|
||||
|
@ -82,3 +81,4 @@ namespace SparkleShare {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -32,11 +32,10 @@ namespace SparkleShare
|
|||
static List<string> skipped_avatars = new List<string> ();
|
||||
|
||||
|
||||
public static string GetAvatar (string email, int size, string target_path, string provider)
|
||||
public static string GetAvatar (string email, int size, string target_path)
|
||||
{
|
||||
#if __MonoCS__
|
||||
if (provider == "gravatar")
|
||||
ServicePointManager.ServerCertificateValidationCallback = GetGravatarValidationCallBack;
|
||||
ServicePointManager.ServerCertificateValidationCallback = GetAvatarValidationCallBack;
|
||||
#endif
|
||||
|
||||
email = email.ToLower ();
|
||||
|
@ -69,12 +68,7 @@ namespace SparkleShare
|
|||
}
|
||||
|
||||
var client = new WebClient ();
|
||||
string url = "";
|
||||
|
||||
if (provider == "libravatar")
|
||||
url = "https://seccdn.libravatar.org/avatar/" + email.MD5 () + ".png?s=" + size + "&d=404";
|
||||
else
|
||||
url = "https://secure.gravatar.com/avatar/" + email.MD5 () + ".png?s=" + size + "&d=404";
|
||||
string url = "https://gravatar.com/avatar/" + email.MD5 () + ".png?s=" + size + "&d=404";
|
||||
|
||||
try {
|
||||
byte [] buffer = client.DownloadData (url);
|
||||
|
@ -113,7 +107,7 @@ namespace SparkleShare
|
|||
}
|
||||
|
||||
|
||||
private static bool GetGravatarValidationCallBack (Object sender,
|
||||
private static bool GetAvatarValidationCallBack (Object sender,
|
||||
X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
|
||||
{
|
||||
X509Certificate2 certificate2 = new X509Certificate2 (certificate.GetRawCertData ());
|
||||
|
@ -121,10 +115,9 @@ namespace SparkleShare
|
|||
// On some systems (mostly Linux) we can't assume the needed certificates are
|
||||
// available, so we have to check the certificate's SHA-1 fingerprint manually.
|
||||
//
|
||||
// SHA1 fingerprinter obtained from https://www.gravatar.com/ on Oct 23 2020
|
||||
// Set to expire on Nov 16 2022
|
||||
|
||||
string gravatar_cert_fingerprint = "846963703FD297724E91BDF47FFE4BC19E93EA15";
|
||||
// SHA1 fingerprinter obtained from https://www.gravatar.com/ on Oct 16 2015
|
||||
// Set to expire on Oct 14 2018
|
||||
string gravatar_cert_fingerprint = "1264B3F00814C6077D3853238771EE67FB6321C9";
|
||||
|
||||
if (!certificate2.Thumbprint.Equals (gravatar_cert_fingerprint)) {
|
||||
Logger.LogInfo ("Avatars", "Invalid certificate for https://www.gravatar.com/");
|
||||
|
|
|
@ -153,16 +153,6 @@ namespace SparkleShare {
|
|||
}
|
||||
}
|
||||
|
||||
public string AvatarsProvider {
|
||||
get {
|
||||
string avatars_provider_string = Config.GetConfigOption ("avatars_provider");
|
||||
|
||||
if (avatars_provider_string == null)
|
||||
return "gravatar";
|
||||
|
||||
return avatars_provider_string;
|
||||
}
|
||||
}
|
||||
|
||||
// Path where the plugins are kept
|
||||
public abstract string PresetsPath { get; }
|
||||
|
@ -461,16 +451,8 @@ namespace SparkleShare {
|
|||
};
|
||||
|
||||
repo.NewChangeSet += delegate (ChangeSet change_set) {
|
||||
if (AvatarsEnabled) {
|
||||
string provider = "gravatar";
|
||||
|
||||
if (AvatarsProvider == "libravatar")
|
||||
provider = AvatarsProvider;
|
||||
|
||||
|
||||
change_set.User.AvatarFilePath = Avatars.GetAvatar (change_set.User.Email, 48, Config.DirectoryPath, provider);
|
||||
|
||||
}
|
||||
if (AvatarsEnabled)
|
||||
change_set.User.AvatarFilePath = Avatars.GetAvatar (change_set.User.Email, 48, Config.DirectoryPath);
|
||||
|
||||
NotificationRaised (change_set);
|
||||
};
|
||||
|
|
|
@ -21,20 +21,13 @@ using Sparkles;
|
|||
namespace SparkleShare {
|
||||
|
||||
public class BubblesController {
|
||||
private bool fix_utf_encoding;
|
||||
|
||||
public event ShowBubbleEventHandler ShowBubbleEvent = delegate { };
|
||||
public delegate void ShowBubbleEventHandler (string title, string subtext, string image_path);
|
||||
|
||||
|
||||
public BubblesController () : this(true)
|
||||
public BubblesController ()
|
||||
{
|
||||
}
|
||||
|
||||
public BubblesController (bool fix_utf_encoding)
|
||||
{
|
||||
this.fix_utf_encoding = fix_utf_encoding;
|
||||
|
||||
SparkleShare.Controller.AlertNotificationRaised += delegate (string title, string message) {
|
||||
ShowBubble (title, message, null);
|
||||
};
|
||||
|
@ -47,13 +40,10 @@ namespace SparkleShare {
|
|||
|
||||
public void ShowBubble (string title, string subtext, string image_path)
|
||||
{
|
||||
if(fix_utf_encoding)
|
||||
{
|
||||
byte [] title_bytes = Encoding.Default.GetBytes (title);
|
||||
byte [] subtext_bytes = Encoding.Default.GetBytes (subtext);
|
||||
title = Encoding.UTF8.GetString (title_bytes);
|
||||
subtext = Encoding.UTF8.GetString (subtext_bytes);
|
||||
}
|
||||
byte [] title_bytes = Encoding.Default.GetBytes (title);
|
||||
byte [] subtext_bytes = Encoding.Default.GetBytes (subtext);
|
||||
title = Encoding.UTF8.GetString (title_bytes);
|
||||
subtext = Encoding.UTF8.GetString (subtext_bytes);
|
||||
|
||||
ShowBubbleEvent (title, subtext, image_path);
|
||||
}
|
||||
|
|
|
@ -53,7 +53,7 @@ namespace SparkleShare {
|
|||
private string selected_folder;
|
||||
private RevisionInfo restore_revision_info;
|
||||
private bool history_view_active;
|
||||
private bool fix_utf_encoding;
|
||||
|
||||
|
||||
public bool WindowIsOpen { get; private set; }
|
||||
|
||||
|
@ -144,14 +144,8 @@ namespace SparkleShare {
|
|||
}
|
||||
|
||||
|
||||
public EventLogController () : this (true)
|
||||
public EventLogController ()
|
||||
{
|
||||
}
|
||||
|
||||
public EventLogController (bool fix_utf_encoding)
|
||||
{
|
||||
this.fix_utf_encoding = fix_utf_encoding;
|
||||
|
||||
SparkleShare.Controller.ShowEventLogWindowEvent += delegate {
|
||||
if (!WindowIsOpen) {
|
||||
ContentLoadingEvent ();
|
||||
|
@ -263,11 +257,8 @@ namespace SparkleShare {
|
|||
string folder = href.Replace ("history://", "").Split ("/".ToCharArray ()) [0];
|
||||
string file_path = href.Replace ("history://" + folder + "/", "");
|
||||
|
||||
if(fix_utf_encoding)
|
||||
{
|
||||
byte [] file_path_bytes = Encoding.Default.GetBytes (file_path);
|
||||
file_path = Encoding.UTF8.GetString (file_path_bytes);
|
||||
}
|
||||
byte [] file_path_bytes = Encoding.Default.GetBytes (file_path);
|
||||
file_path = Encoding.UTF8.GetString (file_path_bytes);
|
||||
|
||||
file_path = Uri.UnescapeDataString (file_path);
|
||||
|
||||
|
@ -545,13 +536,10 @@ namespace SparkleShare {
|
|||
|
||||
private string FormatBreadCrumbs (string path_root, string path)
|
||||
{
|
||||
if(fix_utf_encoding)
|
||||
{
|
||||
byte [] path_root_bytes = Encoding.Default.GetBytes (path_root);
|
||||
byte [] path_bytes = Encoding.Default.GetBytes (path);
|
||||
path_root = Encoding.UTF8.GetString (path_root_bytes);
|
||||
path = Encoding.UTF8.GetString (path_bytes);
|
||||
}
|
||||
byte [] path_root_bytes = Encoding.Default.GetBytes (path_root);
|
||||
byte [] path_bytes = Encoding.Default.GetBytes (path);
|
||||
path_root = Encoding.UTF8.GetString (path_root_bytes);
|
||||
path = Encoding.UTF8.GetString (path_bytes);
|
||||
|
||||
path_root = path_root.Replace ("/", Path.DirectorySeparatorChar.ToString ());
|
||||
path = path.Replace ("/", Path.DirectorySeparatorChar.ToString ());
|
||||
|
@ -610,7 +598,7 @@ namespace SparkleShare {
|
|||
if (!SparkleShare.Controller.AvatarsEnabled)
|
||||
return "<!-- $pixmaps-path -->/user-icon-default.png";
|
||||
|
||||
string fetched_avatar = Avatars.GetAvatar (user.Email, 48, SparkleShare.Controller.Config.DirectoryPath, SparkleShare.Controller.AvatarsProvider);
|
||||
string fetched_avatar = Avatars.GetAvatar (user.Email, 48, SparkleShare.Controller.Config.DirectoryPath);
|
||||
|
||||
if (!string.IsNullOrEmpty (fetched_avatar))
|
||||
return "file://" + fetched_avatar.Replace ("\\", "/");
|
||||
|
|
182
SparkleShare/Common/Images/Sources/planio.svg
Normal file
|
@ -0,0 +1,182 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
id="svg9662"
|
||||
height="24"
|
||||
width="24"
|
||||
version="1.1"
|
||||
inkscape:version="0.91+devel r14094"
|
||||
sodipodi:docname="planio.svg"
|
||||
viewBox="0 0 24 24"
|
||||
inkscape:export-filename="/Users/hbons/Personal/Projects/SparkleShare/SparkleShare/Common/Presets/planio.png"
|
||||
inkscape:export-xdpi="96"
|
||||
inkscape:export-ydpi="96">
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1280"
|
||||
inkscape:window-height="755"
|
||||
id="namedview4365"
|
||||
inkscape:document-units="px"
|
||||
showgrid="false"
|
||||
inkscape:zoom="16"
|
||||
inkscape:cx="11.663307"
|
||||
inkscape:cy="11.258003"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="g4326"
|
||||
inkscape:snap-global="true"
|
||||
inkscape:snap-smooth-nodes="false"
|
||||
inkscape:object-nodes="false"
|
||||
inkscape:snap-bbox="true"
|
||||
inkscape:snap-nodes="false"
|
||||
inkscape:bbox-paths="false"
|
||||
inkscape:bbox-nodes="true">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid4341" />
|
||||
</sodipodi:namedview>
|
||||
<defs
|
||||
id="defs3">
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient4455">
|
||||
<stop
|
||||
style="stop-color:#74caea;stop-opacity:1"
|
||||
offset="0"
|
||||
id="stop4457" />
|
||||
<stop
|
||||
style="stop-color:#34a1ca;stop-opacity:1"
|
||||
offset="1"
|
||||
id="stop4459" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient4447">
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop4449" />
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop4451" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient4428">
|
||||
<stop
|
||||
style="stop-color:#005474;stop-opacity:1"
|
||||
offset="0"
|
||||
id="stop4430" />
|
||||
<stop
|
||||
style="stop-color:#37a9d4;stop-opacity:1"
|
||||
offset="1"
|
||||
id="stop4432" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient4304">
|
||||
<stop
|
||||
style="stop-color:#ce2509;stop-opacity:1"
|
||||
offset="0"
|
||||
id="stop4306" />
|
||||
<stop
|
||||
style="stop-color:#a9210a;stop-opacity:1"
|
||||
offset="1"
|
||||
id="stop4308" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4304"
|
||||
id="linearGradient4310"
|
||||
x1="28.415369"
|
||||
y1="9.2727699"
|
||||
x2="31.521933"
|
||||
y2="19.203804"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4428"
|
||||
id="linearGradient4434"
|
||||
x1="39.367229"
|
||||
y1="23.90914"
|
||||
x2="34.828079"
|
||||
y2="3.3593886"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.9885037,0,0,0.98994346,20.217703,1.7271878)" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4447"
|
||||
id="radialGradient4453"
|
||||
cx="52.259827"
|
||||
cy="9.6745958"
|
||||
fx="52.259827"
|
||||
fy="9.6745958"
|
||||
r="9.5658912"
|
||||
gradientTransform="matrix(2.1628252,0,0,2.9778165,-60.887608,-20.066985)"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4455"
|
||||
id="linearGradient4526"
|
||||
x1="53.775932"
|
||||
y1="11.068961"
|
||||
x2="56.46653"
|
||||
y2="23.231386"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
</defs>
|
||||
<metadata
|
||||
id="metadata4">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
id="g4326"
|
||||
transform="matrix(1.01163,0,0,1.0101587,-20.452835,-1.7447338)"
|
||||
style="stroke-width:0.9892233">
|
||||
<path
|
||||
sodipodi:type="inkscape:offset"
|
||||
inkscape:radius="0.46403605"
|
||||
inkscape:original="M 54.814453 3.7070312 C 53.729581 3.7104612 52.652708 3.8923279 51.626953 4.2460938 L 52.835938 10.195312 L 48.294922 6.1738281 C 48.133924 6.3131014 47.977862 6.4580369 47.826172 6.6074219 C 46.443434 7.9940104 45.502551 9.7611672 45.123047 11.683594 L 50.873047 13.607422 L 45.123047 15.53125 C 45.502551 17.453676 46.443434 19.218881 47.826172 20.605469 C 47.977861 20.754855 48.133925 20.89979 48.294922 21.039062 L 52.833984 17.017578 L 51.626953 22.966797 C 52.652675 23.320563 53.729581 23.502434 54.814453 23.505859 C 55.899326 23.502359 56.976198 23.320563 58.001953 22.966797 L 56.794922 17.017578 L 61.335938 21.039062 C 61.496935 20.89979 61.652997 20.754855 61.804688 20.605469 C 63.187426 19.218881 64.128308 17.453676 64.507812 15.53125 L 58.757812 13.605469 L 64.507812 11.683594 C 64.128343 9.7611672 63.187425 7.9940104 61.804688 6.6074219 C 61.652998 6.4580369 61.496935 6.3131014 61.335938 6.1738281 L 56.796875 10.195312 L 58.001953 4.2460938 C 56.976198 3.892328 55.899326 3.7104568 54.814453 3.7070312 z "
|
||||
xlink:href="#path4468"
|
||||
style="opacity:1;fill:url(#linearGradient4526);fill-opacity:1;stroke:url(#linearGradient4434);stroke-width:0.9892233;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="path4443"
|
||||
d="m 54.8125,3.2421875 c -1.135761,0.00359 -2.26189,0.1940319 -3.335938,0.5644531 a 0.46408245,0.46408245 0 0 0 -0.304687,0.53125 l 0.931641,4.5878906 -3.5,-3.0996093 a 0.46408245,0.46408245 0 0 0 -0.611328,-0.00391 C 47.822934,5.9686805 47.658148,6.1215986 47.5,6.2773438 a 0.46408245,0.46408245 0 0 0 -0.002,0.00195 C 46.05043,7.7309453 45.065232,9.581363 44.667969,11.59375 a 0.46408245,0.46408245 0 0 0 0.308593,0.529297 l 4.4375,1.484375 -4.4375,1.484375 a 0.46408245,0.46408245 0 0 0 -0.308593,0.529297 c 0.397274,2.012444 1.382614,3.861006 2.830078,5.3125 a 0.46408245,0.46408245 0 0 0 0.002,0.002 c 0.158151,0.155749 0.322936,0.308666 0.492188,0.455078 a 0.46408245,0.46408245 0 0 0 0.611328,-0.0039 l 3.5,-3.09961 -0.931641,4.587891 a 0.46408245,0.46408245 0 0 0 0.304687,0.53125 c 1.074021,0.370424 2.200175,0.560867 3.335938,0.564453 a 0.46408245,0.46408245 0 0 0 0.0039,0 c 1.135722,-0.0037 2.261872,-0.194026 3.335938,-0.564453 A 0.46408245,0.46408245 0 0 0 58.457031,22.875 l -0.93164,-4.589844 3.501953,3.101563 a 0.46408245,0.46408245 0 0 0 0.611328,0.0039 c 0.169252,-0.146414 0.334038,-0.299332 0.492187,-0.455078 a 0.46408245,0.46408245 0 0 0 0.002,-0.002 c 1.447464,-1.451494 2.432804,-3.300056 2.830079,-5.3125 a 0.46408245,0.46408245 0 0 0 -0.308594,-0.529297 l -4.4375,-1.486328 4.4375,-1.482422 A 0.46408245,0.46408245 0 0 0 64.962891,11.59375 C 64.565662,9.5813519 63.580426,7.7309425 62.132812,6.2792969 a 0.46408245,0.46408245 0 0 0 -0.002,-0.00195 C 61.97271,6.1215979 61.807923,5.9686793 61.638672,5.8222656 a 0.46408245,0.46408245 0 0 0 -0.611328,0.00391 l -3.5,3.1015625 0.929687,-4.5898438 a 0.46408245,0.46408245 0 0 0 -0.304687,-0.53125 C 57.078298,3.43622 55.95217,3.2457738 54.816406,3.2421875 a 0.46408245,0.46408245 0 0 0 -0.0039,0 z"
|
||||
inkscape:href="#path4468"
|
||||
transform="translate(-22.735586)" />
|
||||
<path
|
||||
inkscape:href="#path4468"
|
||||
d="m 54.8125,4.1933594 c -0.888505,0.00318 -1.766397,0.1572767 -2.617188,0.4082031 L 53.3125,10.097656 a 0.4869683,0.4869683 0 0 1 -0.798828,0.462891 L 48.302734,6.8300781 c -0.04455,0.042299 -0.09086,0.081766 -0.134765,0.125 -1.211927,1.2167288 -2.016154,2.7596114 -2.423828,4.4238279 l 5.283203,1.767578 a 0.4869683,0.4869683 0 0 1 0,0.921875 l -5.283203,1.767579 c 0.407646,1.663899 1.211754,3.205001 2.423828,4.421874 0.0439,0.04323 0.09021,0.0827 0.134765,0.125 l 4.208985,-3.730468 a 0.4869683,0.4869683 0 0 1 0.798828,0.46289 l -1.115235,5.496094 c 0.852018,0.251293 1.731274,0.405394 2.621094,0.408203 0.888542,-0.0032 1.766407,-0.157292 2.617188,-0.408203 l -1.115235,-5.496094 a 0.4869683,0.4869683 0 0 1 0.798829,-0.46289 l 4.210937,3.730468 c 0.04322,-0.04103 0.08826,-0.07918 0.130859,-0.121093 1.21414,-1.217521 2.019652,-2.760098 2.427735,-4.425781 l -5.283203,-1.769532 a 0.4869683,0.4869683 0 0 1 0,-0.921875 l 5.283203,-1.765625 C 63.479068,9.7146987 62.674819,8.1718096 61.462891,6.9550781 l -0.0039,-0.00391 c -0.0426,-0.041909 -0.08764,-0.080065 -0.130859,-0.1210938 L 57.119141,10.560547 A 0.4869683,0.4869683 0 0 1 56.320312,10.099609 L 57.433594,4.6015625 C 56.582803,4.3506351 55.70491,4.1965336 54.816406,4.1933594 l -0.0039,0 z"
|
||||
id="path4445"
|
||||
style="opacity:0.3;fill:#34a1ca;fill-opacity:1;stroke:url(#radialGradient4453);stroke-width:0.9892233;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
xlink:href="#path4468"
|
||||
inkscape:original="M 54.814453 3.7070312 C 53.729581 3.7104612 52.652708 3.8923279 51.626953 4.2460938 L 52.835938 10.195312 L 48.294922 6.1738281 C 48.133924 6.3131014 47.977862 6.4580369 47.826172 6.6074219 C 46.443434 7.9940104 45.502551 9.7611672 45.123047 11.683594 L 50.873047 13.607422 L 45.123047 15.53125 C 45.502551 17.453676 46.443434 19.218881 47.826172 20.605469 C 47.977861 20.754855 48.133925 20.89979 48.294922 21.039062 L 52.833984 17.017578 L 51.626953 22.966797 C 52.652675 23.320563 53.729581 23.502434 54.814453 23.505859 C 55.899326 23.502359 56.976198 23.320563 58.001953 22.966797 L 56.794922 17.017578 L 61.335938 21.039062 C 61.496935 20.89979 61.652997 20.754855 61.804688 20.605469 C 63.187426 19.218881 64.128308 17.453676 64.507812 15.53125 L 58.757812 13.605469 L 64.507812 11.683594 C 64.128343 9.7611672 63.187425 7.9940104 61.804688 6.6074219 C 61.652998 6.4580369 61.496935 6.3131014 61.335938 6.1738281 L 56.796875 10.195312 L 58.001953 4.2460938 C 56.976198 3.892328 55.899326 3.7104568 54.814453 3.7070312 z "
|
||||
inkscape:radius="-0.48691961"
|
||||
sodipodi:type="inkscape:offset"
|
||||
transform="translate(-22.735586)" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 10 KiB |
|
@ -39,7 +39,8 @@ namespace SparkleShare {
|
|||
SparkleShare.Controller.ShowNoteWindowEvent += OnNoteWindowEvent;
|
||||
|
||||
if (SparkleShare.Controller.AvatarsEnabled && !SparkleShare.Controller.FirstRun)
|
||||
AvatarFilePath = Avatars.GetAvatar (SparkleShare.Controller.CurrentUser.Email, 48, SparkleShare.Controller.Config.DirectoryPath, SparkleShare.Controller.AvatarsProvider);
|
||||
AvatarFilePath = Avatars.GetAvatar (SparkleShare.Controller.CurrentUser.Email,
|
||||
48, SparkleShare.Controller.Config.DirectoryPath);
|
||||
}
|
||||
|
||||
|
||||
|
@ -72,7 +73,7 @@ namespace SparkleShare {
|
|||
|
||||
|
||||
void ResumeWithNote (string note)
|
||||
{
|
||||
{
|
||||
BaseRepository repo = SparkleShare.Controller.GetRepoByName (CurrentProject);
|
||||
repo.Resume (note);
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<description>Free code hosting for Git and Mercurial</description>
|
||||
<icon>bitbucket.png</icon>
|
||||
<backend>Git</backend>
|
||||
<fingerprint>4c:eb:19:11:0d:d6:19:65:7b:6a:40:8a:fb:b7:4d:51:81:a1:7a:07:74:4a:b5:22:0c:91:86:42:74:88:9b:bc</fingerprint>
|
||||
<fingerprint>cf:35:d0:39:74:91:04:48:94:b6:e1:3c:02:29:09:60:ac:1b:1d:ac:6f:49:cd:28:8d:ec:fd:61:76:86:a7:50</fingerprint>
|
||||
</info>
|
||||
<address>
|
||||
<value>ssh://git@bitbucket.org/</value>
|
||||
|
@ -19,3 +19,4 @@
|
|||
</path>
|
||||
</preset>
|
||||
</sparkleshare>
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<icon>github.png</icon>
|
||||
<backend>Git</backend>
|
||||
<storage_type>LargeFiles</storage_type>
|
||||
<fingerprint>92:a3:7f:bd:5e:21:a5:3a:95:c7:16:e1:14:4f:44:2f:58:2b:94:d0:fa:fc:67:3e:b6:71:7a:4e:b5:1a:88:a7</fingerprint>
|
||||
<fingerprint>9d:38:5b:83:a9:17:52:92:56:1a:5e:c4:d4:81:8e:0a:ca:51:a2:64:f1:74:20:11:2e:f8:8a:c3:a1:39:49:8f</fingerprint>
|
||||
</info>
|
||||
<address>
|
||||
<value>ssh://git@github.com/</value>
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
preset_files = ['github.xml', 'github.png',
|
||||
'gitlab.xml', 'gitlab.png',
|
||||
'bitbucket.xml', 'bitbucket.png',
|
||||
'planio.xml', 'planio.png',
|
||||
'own-server.xml', 'own-server.png'
|
||||
]
|
||||
|
||||
|
|
BIN
SparkleShare/Common/Presets/planio.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
22
SparkleShare/Common/Presets/planio.xml
Normal file
|
@ -0,0 +1,22 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<sparkleshare>
|
||||
<preset>
|
||||
<info>
|
||||
<name>Planio</name>
|
||||
<description>Online project management</description>
|
||||
<icon>planio.png</icon>
|
||||
<backend>Git</backend>
|
||||
<fingerprint>38:29:13:0f:7c:74:67:22:c5:a6:a6:95:b4:b8:e0:ef:3d:e0:9e:87:02:58:ff:37:2c:8b:34:5a:ed:73:5d:81</fingerprint>
|
||||
<announcements_url>tcp://sparkleshare-notifications.plan.io:443</announcements_url>
|
||||
</info>
|
||||
<address>
|
||||
<value/>
|
||||
<example>ssh://git@[account].plan.io</example>
|
||||
</address>
|
||||
<path>
|
||||
<value/>
|
||||
<example>/[account]-[project].git</example>
|
||||
</path>
|
||||
</preset>
|
||||
</sparkleshare>
|
||||
|
BIN
SparkleShare/Common/Presets/planio@2x.png
Normal file
After Width: | Height: | Size: 3.6 KiB |
|
@ -533,7 +533,7 @@ namespace SparkleShare {
|
|||
|
||||
public void ShowFilesClicked ()
|
||||
{
|
||||
string folder_name = Path.GetFileNameWithoutExtension (PreviousPath);
|
||||
string folder_name = Path.GetFileName (PreviousPath);
|
||||
folder_name = folder_name.ReplaceUnderscoreWithSpace ();
|
||||
|
||||
SparkleShare.Controller.OpenSparkleShareFolder (folder_name);
|
||||
|
|
After Width: | Height: | Size: 2.2 KiB |
After Width: | Height: | Size: 879 B |
BIN
SparkleShare/Linux/Images/icons/hicolor/16x16/status/list-point.png
Executable file
After Width: | Height: | Size: 575 B |
After Width: | Height: | Size: 7.1 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 8.8 KiB |
After Width: | Height: | Size: 2 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 2.6 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 52 KiB |
After Width: | Height: | Size: 44 KiB |
|
@ -1,47 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg height="128px" viewBox="0 0 128 128" width="128px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<clipPath id="a">
|
||||
<rect height="128" width="128"/>
|
||||
</clipPath>
|
||||
<clipPath id="b">
|
||||
<rect height="128" width="128"/>
|
||||
</clipPath>
|
||||
<filter id="c" height="100%" width="100%" x="0%" y="0%">
|
||||
<feColorMatrix in="SourceGraphic" type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/>
|
||||
</filter>
|
||||
<mask id="d">
|
||||
<g clip-path="url(#b)" filter="url(#c)">
|
||||
<g clip-path="url(#a)">
|
||||
<path d="m 20.679688 11.867188 c -4.796876 -0.023438 -8.6875 3.890624 -8.6875 8.6875 v 86.890624 h 95.453124 c 4.945313 0 8.6875 -3.441406 8.6875 -8.734374 v -70 c 0 -4.796876 -3.890624 -8.691407 -8.6875 -8.6875 l -51.445312 -0.023438 l -8 -8 z m 0 0" fill="#fb8c14"/>
|
||||
<path d="m 64 34 l -8.6875 8.277344 h -34.632812 c -4.796876 0 -8.6875 3.890625 -8.6875 8.6875 v 65.167968 h 95.488281 c 4.320312 0 8.652343 -3.59375 8.652343 -8.683593 v -64.734375 c 0 -4.796875 -3.890624 -8.6875 -8.6875 -8.6875 z m 0 0" fill="#fff1db"/>
|
||||
<path d="m 116.132812 105.273438 v 2.171874 c 0 4.796876 -3.890624 8.6875 -8.6875 8.6875 h -95.578124 v -2.171874 h 95.578124 c 4.796876 0 8.6875 -3.890626 8.6875 -8.6875 z m 0 0" fill="#fb8c14"/>
|
||||
<path d="m 569.617711 133.878011 c -1.946492 0.248867 -3.661892 1.786506 -4.141849 3.697445 l -8.274809 24.931084 l -1.839834 0.93325 h -25.295497 c -1.413205 0 -2.790859 0.737711 -3.679668 1.848722 c -1.85761 2.0887 -1.395429 5.812809 0.915473 7.386 l 20.700355 15.24307 l 0.435517 2.213133 l -7.812629 24.468905 c -1.084347 3.821877 4.008527 7.661531 7.359336 5.546166 l 20.691467 -15.24307 h 2.64865 l 20.700355 15.24307 c 1.795394 1.182116 4.372939 0.97769 5.972795 -0.462181 c 1.350989 -1.25322 1.919827 -3.306368 1.386542 -5.075097 l -7.821517 -24.477793 c -0.737711 -0.142209 0.293307 -1.475422 0.444404 -2.213133 l 20.691467 -15.24307 c 2.319791 -1.573191 2.773083 -5.288412 0.906585 -7.386 c -0.871032 -1.111011 -2.257574 -1.804282 -3.67078 -1.848722 h -25.757677 l -1.830946 -0.924362 l -7.821516 -24.939972 c -0.231091 -0.871033 -0.719935 -1.688737 -1.386542 -2.310903 c -0.968801 -0.942137 -2.328679 -1.457646 -3.679668 -1.386542 h 0.168874 z m 0 0" fill="none" stroke="#fb8c14" stroke-linecap="round" stroke-linejoin="round" stroke-width="11.3768" transform="matrix(0.439493 0 0 0.439493 -186.44833 -3.03373)"/>
|
||||
</g>
|
||||
</g>
|
||||
</mask>
|
||||
<mask id="e">
|
||||
<g filter="url(#c)">
|
||||
<rect fill-opacity="0.8" height="128" width="128"/>
|
||||
</g>
|
||||
</mask>
|
||||
<linearGradient id="f" gradientTransform="matrix(0 0.37 -0.98462 0 295.38501 -30.360001)" gradientUnits="userSpaceOnUse" x1="300" x2="428" y1="235" y2="235">
|
||||
<stop offset="0" stop-color="#f9f06b"/>
|
||||
<stop offset="1" stop-color="#f5c211"/>
|
||||
</linearGradient>
|
||||
<clipPath id="g">
|
||||
<rect height="128" width="128"/>
|
||||
</clipPath>
|
||||
<clipPath id="h">
|
||||
<rect height="128" width="128"/>
|
||||
</clipPath>
|
||||
<path d="m 20.679688 11.867188 c -4.796876 -0.023438 -8.6875 3.890624 -8.6875 8.6875 v 86.890624 h 95.453124 c 4.945313 0 8.6875 -3.441406 8.6875 -8.734374 v -70 c 0 -4.796876 -3.890624 -8.691407 -8.6875 -8.6875 l -51.445312 -0.023438 l -8 -8 z m 0 0" fill="#fb8c14"/>
|
||||
<path d="m 64 34 l -8.6875 8.277344 h -34.632812 c -4.796876 0 -8.6875 3.890625 -8.6875 8.6875 v 65.167968 h 95.488281 c 4.320312 0 8.652343 -3.59375 8.652343 -8.683593 v -64.734375 c 0 -4.796875 -3.890624 -8.6875 -8.6875 -8.6875 z m 0 0" fill="#fff1db"/>
|
||||
<path d="m 116.132812 105.273438 v 2.171874 c 0 4.796876 -3.890624 8.6875 -8.6875 8.6875 h -95.578124 v -2.171874 h 95.578124 c 4.796876 0 8.6875 -3.890626 8.6875 -8.6875 z m 0 0" fill="#fb8c14"/>
|
||||
<path d="m 63.89466666052 55.80471868842 c -0.85546960856 0.10937530443 -1.60937590076 0.78515688146 -1.82031364256 1.62500119539 l -3.63672063184 10.95703690041 l -0.80859416416 0.41015684225 h -11.11719386302 c -0.62109370507 0 -1.22656299449 0.32421882052 -1.61718832832 0.81250037795 c -0.81640659173 0.9179690291 -0.6132812775 2.55468886584 0.40234397519 3.246095298 l 9.09766112002 6.69922256351 l 0.19140667288 0.97265646157 l -3.4335957571 10.75391246516 c -0.47656291607 1.67968818836 1.76171955681 3.36718924378 3.23437665665 2.43750113384 l 9.09375490623 -6.69922256351 h 1.16406313445 l 9.09766112002 6.69922256351 c 0.78906309524 0.51953170719 1.92187607993 0.42968791117 2.62500159294 -0.20312531423 c 0.59375020858 -0.55078141746 0.84375052771 -1.45312559142 0.60937550321 -2.23046960582 l -3.43750197088 -10.75781867895 c -0.32421882052 -0.06249986004 0.12890637335 -0.64843764105 0.19531244717 -0.97265646157 l 9.09375490623 -6.69922256351 c 1.01953190596 -0.69140643216 1.21875056692 -2.32422005512 0.39843776141 -3.246095298 c -0.38281246678 -0.48828155742 -0.99218796998 -0.79296930903 -1.61328211454 -0.81250037795 h -11.32031873776 l -0.80468795038 -0.40625062847 l -3.43750153139 -10.9609431142 c -0.10156287686 -0.38281290627 -0.31640639296 -0.74218809034 -0.60937550321 -1.01562569218 c -0.42578125789 -0.41406261654 -1.02343811975 -0.64062521348 -1.61718832832 -0.60937550321 h 0.07421894088 z m 0 0" fill="none" stroke="#fb8c14" stroke-linecap="round" stroke-linejoin="round" stroke-width="5.0000239624"/>
|
||||
<g clip-path="url(#h)" mask="url(#d)">
|
||||
<g clip-path="url(#g)" mask="url(#e)">
|
||||
<path d="m 128 80.640625 v 47.359375 h -128 v -47.359375 z m 0 0" fill="url(#f)"/>
|
||||
<path d="m 13.308594 80.640625 l 47.355468 47.359375 h 21.214844 l -47.359375 -47.359375 z m 42.421875 0 l 47.363281 47.359375 h 21.214844 l -47.363282 -47.359375 z m 42.429687 0 l 29.839844 29.839844 v -21.210938 l -8.628906 -8.628906 z m -98.160156 7.90625 v 21.214844 l 18.238281 18.238281 h 21.214844 z m 0 0"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 5.8 KiB |
|
@ -1,7 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg height="128px" viewBox="0 0 128 128" width="128px" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m 20.679688 11.867188 c -4.796876 -0.023438 -8.6875 3.890624 -8.6875 8.6875 v 86.890624 h 95.453124 c 4.945313 0 8.6875 -3.441406 8.6875 -8.734374 v -70 c 0 -4.796876 -3.890624 -8.691407 -8.6875 -8.6875 l -51.445312 -0.023438 l -8 -8 z m 0 0" fill="#fb8c14"/>
|
||||
<path d="m 64 34 l -8.6875 8.277344 h -34.632812 c -4.796876 0 -8.6875 3.890625 -8.6875 8.6875 v 65.167968 h 95.488281 c 4.320312 0 8.652343 -3.59375 8.652343 -8.683593 v -64.734375 c 0 -4.796875 -3.890624 -8.6875 -8.6875 -8.6875 z m 0 0" fill="#fff1db"/>
|
||||
<path d="m 116.132812 105.273438 v 2.171874 c 0 4.796876 -3.890624 8.6875 -8.6875 8.6875 h -95.578124 v -2.171874 h 95.578124 c 4.796876 0 8.6875 -3.890626 8.6875 -8.6875 z m 0 0" fill="#fb8c14"/>
|
||||
<path d="m 63.89466666052 55.80471868842 c -0.85546960856 0.10937530443 -1.60937590076 0.78515688146 -1.82031364256 1.62500119539 l -3.63672063184 10.95703690041 l -0.80859416416 0.41015684225 h -11.11719386302 c -0.62109370507 0 -1.22656299449 0.32421882052 -1.61718832832 0.81250037795 c -0.81640659173 0.9179690291 -0.6132812775 2.55468886584 0.40234397519 3.246095298 l 9.09766112002 6.69922256351 l 0.19140667288 0.97265646157 l -3.4335957571 10.75391246516 c -0.47656291607 1.67968818836 1.76171955681 3.36718924378 3.23437665665 2.43750113384 l 9.09375490623 -6.69922256351 h 1.16406313445 l 9.09766112002 6.69922256351 c 0.78906309524 0.51953170719 1.92187607993 0.42968791117 2.62500159294 -0.20312531423 c 0.59375020858 -0.55078141746 0.84375052771 -1.45312559142 0.60937550321 -2.23046960582 l -3.43750197088 -10.75781867895 c -0.32421882052 -0.06249986004 0.12890637335 -0.64843764105 0.19531244717 -0.97265646157 l 9.09375490623 -6.69922256351 c 1.01953190596 -0.69140643216 1.21875056692 -2.32422005512 0.39843776141 -3.246095298 c -0.38281246678 -0.48828155742 -0.99218796998 -0.79296930903 -1.61328211454 -0.81250037795 h -11.32031873776 l -0.80468795038 -0.40625062847 l -3.43750153139 -10.9609431142 c -0.10156287686 -0.38281290627 -0.31640639296 -0.74218809034 -0.60937550321 -1.01562569218 c -0.42578125789 -0.41406261654 -1.02343811975 -0.64062521348 -1.61718832832 -0.60937550321 h 0.07421894088 z m 0 0" fill="none" stroke="#fb8c14" stroke-linecap="round" stroke-linejoin="round" stroke-width="5.0000239624"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 2.4 KiB |
|
@ -1,6 +1,6 @@
|
|||
# Install app icons in system theme
|
||||
theme_dir = join_paths(get_option('prefix'), 'share', 'icons', 'hicolor')
|
||||
icon_sizes = ['scalable']
|
||||
icon_sizes = ['16', '24', '48', '256', '512']
|
||||
|
||||
app_icon_name = 'org.sparkleshare.SparkleShare'
|
||||
source_icon_name = app_icon_name
|
||||
|
@ -13,9 +13,9 @@ foreach size : icon_sizes
|
|||
icon_dir = join_paths(size + 'x' + size, 'apps')
|
||||
|
||||
install_data(
|
||||
sources: join_paths('hicolor', icon_dir, source_icon_name + '.svg'),
|
||||
sources: join_paths('hicolor', icon_dir, source_icon_name + '.png'),
|
||||
install_dir: join_paths(theme_dir, icon_dir),
|
||||
rename: app_icon_name + '.svg')
|
||||
rename: app_icon_name + '.png')
|
||||
endforeach
|
||||
|
||||
install_data(
|
||||
|
|
|
@ -5,4 +5,4 @@ Exec=sh -c "type -P sparkleshare &>/dev/null && sparkleshare || flatpak run org.
|
|||
Icon=org.sparkleshare.SparkleShare
|
||||
Terminal=false
|
||||
X-GNOME-Autostart-enabled=true
|
||||
X-AppStream-Ignore=true
|
||||
|
||||
|
|
|
@ -125,6 +125,15 @@
|
|||
<None Include="..\Common\Presets\own-server%402x.png">
|
||||
<Link>Presets\own-server%402x.png</Link>
|
||||
</None>
|
||||
<None Include="..\Common\Presets\planio.png">
|
||||
<Link>Presets\planio.png</Link>
|
||||
</None>
|
||||
<None Include="..\Common\Presets\planio.xml">
|
||||
<Link>Presets\planio.xml</Link>
|
||||
</None>
|
||||
<None Include="..\Common\Presets\planio%402x.png">
|
||||
<Link>Presets\planio%402x.png</Link>
|
||||
</None>
|
||||
<None Include="org.sparkleshare.SparkleShare.appdata.xml" />
|
||||
<None Include="org.sparkleshare.SparkleShare.desktop" />
|
||||
<None Include="org.sparkleshare.SparkleShare.Invites.desktop" />
|
||||
|
|
|
@ -101,10 +101,7 @@ namespace SparkleShare
|
|||
StatusIcon.use_appindicator = true;
|
||||
#else
|
||||
if (StatusIcon.use_appindicator) {
|
||||
Console.ForegroundColor = ConsoleColor.Red;
|
||||
Console.WriteLine ("error: AppIndicator not found. Install AppIndicator or run with --status-icon=gtk");
|
||||
Console.ResetColor ();
|
||||
|
||||
Console.WriteLine ("AppIndicator not installed.");
|
||||
Environment.Exit (-1);
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -30,7 +30,7 @@ configure_file(
|
|||
apps_dir = join_paths(get_option('prefix'), 'share', 'applications')
|
||||
install_data(sources: 'org.sparkleshare.SparkleShare.Invites.desktop', install_dir: apps_dir)
|
||||
install_data(sources: 'SparkleShare.Autostart.desktop', install_dir: apps_dir)
|
||||
install_data(sources: 'org.sparkleshare.SparkleShare.appdata.xml', install_dir: join_paths(get_option('prefix'), 'share', 'metainfo'))
|
||||
install_data(sources: 'org.sparkleshare.SparkleShare.appdata.xml', install_dir: join_paths(get_option('prefix'), 'share', 'appdata'))
|
||||
|
||||
if get_option('nightly')
|
||||
install_data(sources: 'org.sparkleshare.SparkleShare.Nightly.desktop',
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<component type="desktop-application">
|
||||
<component type="desktop">
|
||||
<name>SparkleShare</name>
|
||||
<summary>Magic self hosted Git file sync</summary>
|
||||
<developer_name>Hylke Bons</developer_name>
|
||||
|
@ -64,13 +64,13 @@
|
|||
</screenshot>
|
||||
</screenshots>
|
||||
|
||||
<id>org.sparkleshare.SparkleShare</id>
|
||||
<launchable type="desktop-id">org.sparkleshare.SparkleShare.desktop</launchable>
|
||||
<id type="desktop">org.sparkleshare.SparkleShare.desktop</id>
|
||||
<launchable id="desktop-id">org.sparkleshare.SparkleShare.desktop</launchable>
|
||||
<provides>
|
||||
<binary>sparkleshare</binary>
|
||||
</provides>
|
||||
|
||||
<metadata_license>CC0-1.0</metadata_license>
|
||||
<metadata_licence>CC0-1.0</metadata_licence>
|
||||
<update_contact>hi_AT_planetpeanut.uk</update_contact>
|
||||
|
||||
<content_rating type="oars-1.0">
|
||||
|
|
|
@ -51,16 +51,6 @@ namespace SparkleShare {
|
|||
Path.Combine (GitCommand.ExecPath, "git-lfs"),
|
||||
Path.Combine (Config.BinPath, "git-lfs"),
|
||||
overwite);
|
||||
|
||||
NSWorkspace.Notifications.ObserveDidWake((object sender, NSNotificationEventArgs e) => {
|
||||
Console.Write ("Detected wake from sleep, checking for updates\n");
|
||||
if (SparkleShare.Controller.RepositoriesLoaded) {
|
||||
foreach (var repo in SparkleShare.Controller.Repositories) {
|
||||
repo.SyncDown();
|
||||
repo.SyncUp();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -9,13 +9,13 @@
|
|||
<key>CFBundleName</key>
|
||||
<string>SparkleShare</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>3.38.0</string>
|
||||
<string>3.28.0</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>3.38.0</string>
|
||||
<string>3.28.0</string>
|
||||
<key>LSApplicationCategoryType</key>
|
||||
<string>public.app-category.utilities</string>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
<string>10.9</string>
|
||||
<string>10.7</string>
|
||||
<key>LSUIElement</key>
|
||||
<string>1</string>
|
||||
<key>NSMainNibFile</key>
|
||||
|
|
|
@ -13,7 +13,6 @@
|
|||
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
|
||||
<MonoMacResourcePrefix>Resources</MonoMacResourcePrefix>
|
||||
<ReleaseVersion></ReleaseVersion>
|
||||
<UseXamMacFullFramework>true</UseXamMacFullFramework>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>none</DebugType>
|
||||
|
@ -41,8 +40,6 @@
|
|||
<TlsProvider>Default</TlsProvider>
|
||||
<LinkMode>None</LinkMode>
|
||||
<UseMSBuildEngine>True</UseMSBuildEngine>
|
||||
<AOTMode>None</AOTMode>
|
||||
<LangVersion>latest</LangVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<Optimize>False</Optimize>
|
||||
|
@ -70,10 +67,6 @@
|
|||
<LinkMode>None</LinkMode>
|
||||
<HttpClientHandler>HttpClientHandler</HttpClientHandler>
|
||||
<TlsProvider>Default</TlsProvider>
|
||||
<AOTMode>None</AOTMode>
|
||||
<CodeSigningKey>Mac Developer</CodeSigningKey>
|
||||
<PackageSigningKey>3rd Party Mac Developer Installer</PackageSigningKey>
|
||||
<LangVersion>latest</LangVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'ReleaseDist|AnyCPU' ">
|
||||
<Optimize>false</Optimize>
|
||||
|
@ -100,9 +93,7 @@
|
|||
<Profiling>false</Profiling>
|
||||
<HttpClientHandler>HttpClientHandler</HttpClientHandler>
|
||||
<TlsProvider>Default</TlsProvider>
|
||||
<LinkMode>Platform</LinkMode>
|
||||
<AOTMode>None</AOTMode>
|
||||
<LangVersion>latest</LangVersion>
|
||||
<LinkMode>None</LinkMode>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'ReleaseMac|AnyCPU' ">
|
||||
<DebugType>none</DebugType>
|
||||
|
@ -128,11 +119,9 @@
|
|||
<Profiling>false</Profiling>
|
||||
<HttpClientHandler>HttpClientHandler</HttpClientHandler>
|
||||
<TlsProvider>Default</TlsProvider>
|
||||
<LinkMode>Platform</LinkMode>
|
||||
<LinkMode>None</LinkMode>
|
||||
<CodeSigningKey>Mac Developer</CodeSigningKey>
|
||||
<PackageSigningKey>3rd Party Mac Developer Installer</PackageSigningKey>
|
||||
<AOTMode>None</AOTMode>
|
||||
<LangVersion>latest</LangVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'DebugMac|AnyCPU' ">
|
||||
<Optimize>False</Optimize>
|
||||
|
@ -157,11 +146,9 @@
|
|||
<UseSGen>false</UseSGen>
|
||||
<UseRefCounting>false</UseRefCounting>
|
||||
<Profiling>false</Profiling>
|
||||
<LinkMode>Platform</LinkMode>
|
||||
<LinkMode>None</LinkMode>
|
||||
<HttpClientHandler>HttpClientHandler</HttpClientHandler>
|
||||
<TlsProvider>Default</TlsProvider>
|
||||
<AOTMode>None</AOTMode>
|
||||
<LangVersion>latest</LangVersion>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
|
@ -281,6 +268,12 @@
|
|||
<BundleResource Include="..\Common\Presets\own-server%402x.png">
|
||||
<Link>Presets\own-server%402x.png</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\Common\Presets\planio.png">
|
||||
<Link>Presets\planio.png</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\Common\Presets\planio%402x.png">
|
||||
<Link>Presets\planio%402x.png</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\Common\Presets\bitbucket.xml">
|
||||
<Link>Presets\bitbucket.xml</Link>
|
||||
</BundleResource>
|
||||
|
@ -293,6 +286,9 @@
|
|||
<BundleResource Include="..\Common\Presets\own-server.xml">
|
||||
<Link>Presets\own-server.xml</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\Common\Presets\planio.xml">
|
||||
<Link>Presets\planio.xml</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\Common\HTML\day-entry.html">
|
||||
<Link>HTML\day-entry.html</Link>
|
||||
</BundleResource>
|
||||
|
|
2
SparkleShare/Mac/UserInterface/Bubbles.cs
Normal file → Executable file
|
@ -22,7 +22,7 @@ namespace SparkleShare {
|
|||
|
||||
public class Bubbles : NSObject {
|
||||
|
||||
public BubblesController Controller = new BubblesController (false);
|
||||
public BubblesController Controller = new BubblesController ();
|
||||
|
||||
|
||||
public Bubbles ()
|
||||
|
|
|
@ -27,7 +27,7 @@ namespace SparkleShare {
|
|||
|
||||
public class EventLog : NSWindow {
|
||||
|
||||
public EventLogController Controller = new EventLogController (false);
|
||||
public EventLogController Controller = new EventLogController ();
|
||||
public float TitlebarHeight;
|
||||
|
||||
WebView web_view;
|
||||
|
|
4
SparkleShare/Mac/Watcher.cs
Normal file → Executable file
|
@ -149,10 +149,6 @@ namespace SparkleShare {
|
|||
if (handler != null) {
|
||||
List<string> filtered_paths = new List<string> ();
|
||||
foreach (var path in paths) {
|
||||
if (path.EndsWith(".git")
|
||||
|| path.Contains ("/.git/"))
|
||||
continue;
|
||||
|
||||
if (path.Length > BasePath.Length) {
|
||||
var t = path.Substring (BasePath.Length);
|
||||
t = t.Trim ("/".ToCharArray ());
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#!/bin/sh
|
||||
#!/bin/sh
|
||||
function abspath()
|
||||
{
|
||||
case "${1}" in
|
||||
|
@ -11,8 +11,6 @@ function abspath()
|
|||
esac
|
||||
}
|
||||
|
||||
export projectFolder=$(dirname $0)
|
||||
export projectFolder=$(abspath ${projectFolder})
|
||||
|
||||
LINE=$(cat ${projectFolder}/git.download)
|
||||
TMP=()
|
||||
|
@ -21,22 +19,23 @@ for val in $LINE ; do
|
|||
TMP+=("$val")
|
||||
done
|
||||
|
||||
export projectFolder=$(dirname $0)
|
||||
export projectFolder=$(abspath ${projectFolder})
|
||||
export gitDownload="${TMP[0]}"
|
||||
export gitName=${gitDownload##*/}
|
||||
export gitSHA256="${TMP[1]}"
|
||||
|
||||
|
||||
set -e
|
||||
|
||||
|
||||
if [[ ! -f ${projectFolder}/${gitName} ]];
|
||||
if [ ! -f ${projectFolder}/git.tar.gz ]
|
||||
then
|
||||
curl --silent --location ${gitDownload} > ${projectFolder}/${gitName}
|
||||
test -e ${projectFolder}/${gitName} || { echo "Failed to download git"; exit 1; }
|
||||
curl --silent --location ${gitDownload} > git.tar.gz
|
||||
test -e git.tar.gz || { echo "Failed to download git"; exit 1; }
|
||||
|
||||
printf "${gitSHA256} ${projectFolder}/${gitName}" | shasum --check --algorithm 256
|
||||
printf "${gitSHA256} git.tar.gz" | shasum --check --algorithm 256
|
||||
|
||||
mkdir git/
|
||||
tar xzf git.tar.gz --directory git/
|
||||
tar czf git.tar.gz git/
|
||||
rm -rf git/
|
||||
fi
|
||||
|
||||
rm -f ${projectFolder}/git.tar.gz
|
||||
ln -s ${projectFolder}/$gitName ${projectFolder}/git.tar.gz
|
||||
|
|
2
SparkleShare/Mac/config
Normal file
|
@ -0,0 +1,2 @@
|
|||
<configuration>
|
||||
</configuration>
|
|
@ -1 +1 @@
|
|||
https://github.com/desktop/dugite-native/releases/download/v2.29.2-2/dugite-native-v2.29.2-f9ceb12-macOS.tar.gz ff16488ebbb3a0000fac34c8afc01bc4e839ad478717fbcbbe0c207642b5872c
|
||||
https://github.com/desktop/dugite-native/releases/download/v2.16.2/dugite-native-v2.16.2-macOS-119.tar.gz 65d608eb16e0e262bae6bd7828b28cf640455e949003fec94c1233e084b9ccde
|
||||
|
|
|
@ -8,21 +8,12 @@ echo packing ${bundle} for release without Mono framework dependency
|
|||
|
||||
export MONO_PATH=`readlink /Library/Frameworks/Mono.framework/Versions/Current`
|
||||
export PKG_CONFIG_PATH=/usr/lib/pkgconfig:${MONO_PATH}/lib/pkgconfig
|
||||
export AS="as -arch i386"
|
||||
export CC="cc -arch i386 -lobjc -liconv -framework Foundation"
|
||||
export PATH=/usr/local/bin:/opt/local/bin:/Library/Frameworks/Mono.framework/Versions/Current/bin:/usr/bin:/bin
|
||||
|
||||
mkdir -p cd ${bundle}/Contents/MonoBundle/
|
||||
cd ${bundle}/Contents/MonoBundle/
|
||||
assemblyPath=$(dirname $(dirname $(dirname $(pwd))))
|
||||
|
||||
echo ${projectFolder}
|
||||
pwd
|
||||
echo "x"
|
||||
echo ${assemblyPath}
|
||||
# merge all Assemblies into one Mac binary
|
||||
mkbundle \
|
||||
--simple \
|
||||
-v \
|
||||
--config ./config \
|
||||
-o ../MacOS/SparkleShare \
|
||||
${assemblyPath}/SparkleShare.exe ${assemblyPath}/Sparkles.dll ${assemblyPath}/Sparkles.Git.dll
|
||||
mkbundle --static --deps --config ./config -o ../MacOS/SparkleShare SparkleShare.exe Sparkles.dll Xamarin.Mac.dll Sparkles.Git.dll
|
||||
rm *.dll *.exe
|
||||
|
|
|
@ -9,7 +9,6 @@ echo Postprocessing ${bundle}...
|
|||
export PATH=/usr/local/bin:/opt/local/bin:/Library/Frameworks/Mono.framework/Versions/Current/bin:/usr/bin:/bin
|
||||
|
||||
${projectFolder}/checkGit.sh
|
||||
rm -rf ${bundle}/Contents/Resources/git
|
||||
mkdir -p ${bundle}/Contents/Resources/git
|
||||
tar -x -f ${projectFolder}/git.tar.gz --directory ${bundle}/Contents/Resources/git
|
||||
cp -R ${projectFolder}/SparkleShareInviteOpener.app ${bundle}/Contents/Resources
|
||||
tar -x -f ${projectFolder}/git.tar.gz --directory ${bundle}/Contents/Resources
|
||||
cp -R SparkleShareInviteOpener.app ${bundle}/Contents/Resources
|
||||
cp config ${bundle}/Contents/MonoBundle
|
||||
|
|
|
@ -265,6 +265,10 @@
|
|||
<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>
|
||||
|
@ -281,6 +285,10 @@
|
|||
<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">
|
||||
|
|
|
@ -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='3.38.0' Manufacturer='SparkleShare'>
|
||||
Language='1033' Codepage='1252' Version='3.28.0' Manufacturer='SparkleShare'>
|
||||
|
||||
<Package Id='*' Keywords='Installer' Description="SparkleShare Setup" Manufacturer='SparkleShare'
|
||||
InstallerVersion='100' Languages='1033' Compressed='yes' SummaryCodepage='1252' />
|
||||
|
|
|
@ -41,7 +41,6 @@ namespace Sparkles {
|
|||
StartInfo.WorkingDirectory = Path.GetTempPath ();
|
||||
StartInfo.CreateNoWindow = true;
|
||||
StartInfo.RedirectStandardOutput = true;
|
||||
StartInfo.StandardOutputEncoding = System.Text.Encoding.UTF8;
|
||||
StartInfo.RedirectStandardError = true;
|
||||
StartInfo.UseShellExecute = false;
|
||||
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
// 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 Lesser General Public License as
|
||||
// published by the Free Software Foundation, either version 3 of the
|
||||
// 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,
|
||||
|
@ -32,10 +32,10 @@ namespace Sparkles {
|
|||
app_data_path = Path.Combine (Environment.GetFolderPath (Environment.SpecialFolder.Personal), ".config");
|
||||
|
||||
string config_path = Path.Combine (app_data_path, "org.sparkleshare.SparkleShare");
|
||||
|
||||
|
||||
return new Configuration (config_path, "projects.xml");
|
||||
});
|
||||
|
||||
|
||||
public static Configuration DefaultConfiguration { get { return ConfigLazy.Value; } }
|
||||
public static bool DebugMode = true;
|
||||
|
||||
|
@ -43,7 +43,6 @@ namespace Sparkles {
|
|||
public readonly string FilePath;
|
||||
public readonly string TmpPath;
|
||||
public readonly string BinPath;
|
||||
public string AvatarProvider;
|
||||
|
||||
public readonly string LogFilePath;
|
||||
|
||||
|
@ -52,7 +51,7 @@ namespace Sparkles {
|
|||
get {
|
||||
if (InstallationInfo.OperatingSystem == OS.Windows)
|
||||
return Environment.GetFolderPath (Environment.SpecialFolder.UserProfile);
|
||||
|
||||
|
||||
return Environment.GetFolderPath (Environment.SpecialFolder.Personal);
|
||||
}
|
||||
}
|
||||
|
@ -60,9 +59,9 @@ namespace Sparkles {
|
|||
|
||||
public string FoldersPath {
|
||||
get {
|
||||
if (GetConfigOption ("folders_path") != null)
|
||||
if (GetConfigOption ("folders_path") != null)
|
||||
return GetConfigOption ("folders_path");
|
||||
|
||||
|
||||
return Path.Combine (HomePath, "SparkleShare");
|
||||
}
|
||||
}
|
||||
|
@ -337,15 +336,15 @@ namespace Sparkles {
|
|||
{
|
||||
return SelectSingleNode (string.Format ("/sparkleshare/folder[name=\"{0}\"]", name));
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
string FolderValueByKey (string name, string key)
|
||||
{
|
||||
XmlNode folder = FolderByName(name);
|
||||
|
||||
|
||||
if ((folder != null) && (folder [key] != null))
|
||||
return folder [key].InnerText;
|
||||
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
|
|
@ -99,8 +99,7 @@ namespace Sparkles.Git {
|
|||
SetEnvironmentVariable ("PREFIX", "");
|
||||
SetEnvironmentVariable ("HOME", "");
|
||||
|
||||
SetEnvironmentVariable ("LANG", "en_US.UTF8");
|
||||
SetEnvironmentVariable ("LC_ALL", "en_US.UTF8");
|
||||
SetEnvironmentVariable ("LANG", "en_US");
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -176,13 +176,6 @@ namespace Sparkles.Git {
|
|||
File.WriteAllText (identifier_path, identifier);
|
||||
File.SetAttributes (identifier_path, FileAttributes.Hidden);
|
||||
|
||||
// The repo is freshly cloned and no config user.name is set yet, so temporary use SparkleShare
|
||||
// to avoid error 'TELL ME WHO YOU ARE', later on this will be handled in Commit of Git.Repository
|
||||
var git_config = new GitCommand(TargetFolder, "config user.name \"SparkleShare\"");
|
||||
git_config.StartAndWaitForExit();
|
||||
git_config = new GitCommand(TargetFolder, "config user.email \"info@sparkleshare.org\"");
|
||||
git_config.StartAndWaitForExit();
|
||||
|
||||
// We can't do the "commit --all" shortcut because it doesn't add untracked files
|
||||
var git_add = new GitCommand (TargetFolder, "add .sparkleshare");
|
||||
var git_commit = new GitCommand (TargetFolder,
|
||||
|
|
|
@ -178,7 +178,7 @@ namespace Sparkles.Git {
|
|||
string remote_revision = "" + output.Substring (0, 40);
|
||||
|
||||
if (!remote_revision.Equals (current_revision)) {
|
||||
git = new GitCommand (LocalPath, "merge-base " + remote_revision + " " + this.branch);
|
||||
git = new GitCommand (LocalPath, "merge-base " + remote_revision + " master");
|
||||
git.StartAndWaitForExit ();
|
||||
|
||||
if (git.ExitCode != 0) {
|
||||
|
@ -434,8 +434,7 @@ namespace Sparkles.Git {
|
|||
git = new GitCommand (LocalPath, "config core.ignorecase true");
|
||||
git.StartAndWaitForExit ();
|
||||
|
||||
git = new GitCommand (LocalPath, "merge --no-edit FETCH_HEAD");
|
||||
git.StartInfo.StandardOutputEncoding = null;
|
||||
git = new GitCommand (LocalPath, "merge FETCH_HEAD");
|
||||
git.StartInfo.RedirectStandardOutput = false;
|
||||
|
||||
string error_output = git.StartAndReadStandardError ();
|
||||
|
@ -617,7 +616,6 @@ namespace Sparkles.Git {
|
|||
var git = new GitCommand (LocalPath,
|
||||
"commit --message=\"Conflict resolution\" --author=\"SparkleShare <info@sparkleshare.org>\"");
|
||||
|
||||
git.StartInfo.StandardOutputEncoding = null;
|
||||
git.StartInfo.RedirectStandardOutput = false;
|
||||
git.StartAndWaitForExit ();
|
||||
|
||||
|
@ -936,12 +934,7 @@ namespace Sparkles.Git {
|
|||
string HEAD_file_path = Path.Combine (child_path, "HEAD");
|
||||
|
||||
if (File.Exists (HEAD_file_path)) {
|
||||
string HEAD_file_path_backup = Path.Combine (child_path, "HEAD.backup");
|
||||
if (File.Exists (HEAD_file_path_backup)) {
|
||||
File.Delete (HEAD_file_path_backup);
|
||||
}
|
||||
|
||||
File.Move (HEAD_file_path, HEAD_file_path_backup);
|
||||
File.Move (HEAD_file_path, HEAD_file_path + ".backup");
|
||||
Logger.LogInfo ("Git", Name + " | Renamed " + HEAD_file_path);
|
||||
}
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
using System.Reflection;
|
||||
|
||||
[assembly:AssemblyTitle ("Sparkles")]
|
||||
[assembly:AssemblyVersion ("3.38.0")]
|
||||
[assembly:AssemblyVersion ("3.28.0")]
|
||||
[assembly:AssemblyCopyright ("Copyright (c) 2010 Hylke Bons and others")]
|
||||
|
||||
namespace Sparkles {
|
||||
|
|
|
@ -67,37 +67,25 @@ namespace Sparkles {
|
|||
get {
|
||||
if (OperatingSystem == OS.macOS) {
|
||||
var uname = new Command ("sw_vers", "-productVersion", write_output: false);
|
||||
string version = uname.StartAndReadStandardOutput ();
|
||||
|
||||
//
|
||||
string[] version_elements= version.Split('.');
|
||||
string output = uname.StartAndReadStandardOutput ();
|
||||
string version = output;
|
||||
|
||||
// Parse the version number between the periods (e.g. "10.12.1" -> 12)
|
||||
output = output.Substring (output.IndexOf (".") + 1);
|
||||
if (output.LastIndexOf (".") != -1) {
|
||||
output = output.Substring (0, output.LastIndexOf ("."));
|
||||
}
|
||||
string release = "Unreleased Version";
|
||||
|
||||
if ((version_elements.Length) >= 2) {
|
||||
switch (int.Parse (version_elements [0])) {
|
||||
case 10:
|
||||
// Parse the version number between the periods (e.g. "10.12.1" -> 12)
|
||||
switch (int.Parse (version_elements [0])) {
|
||||
case 7: release = "Lion"; break;
|
||||
case 8: release = "Mountain Lion"; break;
|
||||
case 9: release = "Mavericks"; break;
|
||||
case 10: release = "Yosemite"; break;
|
||||
case 11: release = "El Capitan"; break;
|
||||
case 12: release = "Sierra"; break;
|
||||
case 13: release = "High Sierra"; break;
|
||||
case 14: release = "Mojave"; break;
|
||||
case 15: release = "Catalina"; break;
|
||||
}
|
||||
break;
|
||||
|
||||
case 11:
|
||||
release = "BigSur"; break;
|
||||
case 12:
|
||||
release = "Monterey"; break;
|
||||
case 13:
|
||||
release = "Ventura"; break;
|
||||
}
|
||||
switch (int.Parse (output)) {
|
||||
case 7: release = "Lion"; break;
|
||||
case 8: release = "Mountain Lion"; break;
|
||||
case 9: release = "Mavericks"; break;
|
||||
case 10: release = "Yosemite"; break;
|
||||
case 11: release = "El Capitan"; break;
|
||||
case 12: release = "Sierra"; break;
|
||||
case 13: release = "High Sierra"; break;
|
||||
case 14: release = "Mojave"; break;
|
||||
}
|
||||
|
||||
return string.Format ("{0} ({1})", version, release);
|
||||
|
|
|
@ -1,51 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="..\..\packages\NUnit.3.10.1\build\NUnit.props" Condition="Exists('..\..\packages\NUnit.3.10.1\build\NUnit.props')" />
|
||||
<Import Project="..\..\..\packages\NUnit.3.10.1\build\NUnit.props" Condition="Exists('..\..\..\packages\NUnit.3.10.1\build\NUnit.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>8.0.30703</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{8AB2969A-951F-4146-A0DD-C46D7526AC20}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<RootNamespace>Sparkles.Tests</RootNamespace>
|
||||
<AssemblyName>Sparkles.Tests</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
||||
<ReleaseVersion></ReleaseVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug</OutputPath>
|
||||
<DefineConstants>DEBUG;</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release</OutputPath>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="nunit.framework">
|
||||
<HintPath>..\..\packages\NUnit.3.10.1\lib\net45\nunit.framework.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Test.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Sparkles.csproj">
|
||||
<Project>{2C914413-B31C-4362-93C7-1AE34F09112A}</Project>
|
||||
<Name>Sparkles</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
|
@ -1,113 +0,0 @@
|
|||
// Copyright (C) 2018 Hylke Bons <hi@planetpeanut.uk>
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining
|
||||
// a copy of this software and associated documentation files (the
|
||||
// "Software"), to deal in the Software without restriction, including
|
||||
// without limitation the rights to use, copy, modify, merge, publish,
|
||||
// distribute, sublicense, and/or sell copies of the Software, and to
|
||||
// permit persons to whom the Software is furnished to do so, subject to
|
||||
// the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be
|
||||
// included in all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
|
||||
using NUnit.Framework;
|
||||
|
||||
using System;
|
||||
using Sparkles;
|
||||
|
||||
namespace Sparkles.Tests {
|
||||
|
||||
[TestFixture ()]
|
||||
public class TestExtensions {
|
||||
|
||||
[Test ()]
|
||||
public void ReturnSHA256 ()
|
||||
{
|
||||
string result = "hello".SHA256 ();
|
||||
Assert.IsTrue (result == "2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824");
|
||||
}
|
||||
|
||||
|
||||
[Test ()]
|
||||
public void ReturnSHA256WithSalt ()
|
||||
{
|
||||
string salt = "salt";
|
||||
string result = "hello".SHA256 (salt);
|
||||
|
||||
Assert.IsTrue (result == "87daba3fe263b34c335a0ee3b28ffec4d159aad6542502eaf551dc7b9128c267");
|
||||
}
|
||||
|
||||
|
||||
[Test ()]
|
||||
public void ReturnMD5 ()
|
||||
{
|
||||
string result = "hello".MD5 ();
|
||||
Assert.IsTrue (result == "5d41402abc4b2a76b9719d911017c592");
|
||||
}
|
||||
|
||||
|
||||
string cipher_text;
|
||||
string plain_text = "secret";
|
||||
string password = "password";
|
||||
|
||||
[Test (), Order (1)]
|
||||
public void ReturnAESEncrypt ()
|
||||
{
|
||||
string result = plain_text.AESEncrypt (password);
|
||||
cipher_text = result;
|
||||
|
||||
Assert.That (result, Is.Not.Null.And.Not.Empty);
|
||||
}
|
||||
|
||||
|
||||
[Test (), Order (2)]
|
||||
public void ReturnAESDecrypt ()
|
||||
{
|
||||
string result = cipher_text.AESDecrypt (password);
|
||||
Assert.IsTrue (result == plain_text);
|
||||
}
|
||||
|
||||
|
||||
[Test ()]
|
||||
public void ReturnReplaceUnderScoreWithSpace ()
|
||||
{
|
||||
string result = "good_morning_to_you".ReplaceUnderscoreWithSpace ();
|
||||
Assert.IsTrue (result == "good morning to you");
|
||||
}
|
||||
|
||||
|
||||
[Test ()]
|
||||
public void ReturnToSize ()
|
||||
{
|
||||
Assert.IsTrue (1099511627776.0.ToSize () == "1 ᴛʙ");
|
||||
Assert.IsTrue (1073741824.0.ToSize () == "1 ɢʙ");
|
||||
Assert.IsTrue (1048576.0.ToSize () == "1 ᴍʙ");
|
||||
Assert.IsTrue (1024.0.ToSize () == "1 ᴋʙ");
|
||||
Assert.IsTrue (0.0.ToSize () == "0 ʙ");
|
||||
}
|
||||
|
||||
|
||||
[Test ()]
|
||||
public void ReturnToPrettyDate ()
|
||||
{
|
||||
// TODO
|
||||
}
|
||||
|
||||
|
||||
[Test ()]
|
||||
public void ReturnIsSymlink ()
|
||||
{
|
||||
// TODO
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,4 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="NUnit" version="3.10.1" targetFramework="net461" />
|
||||
</packages>
|
|
@ -6,7 +6,7 @@ configuration = configuration_data()
|
|||
configuration.set('ABS_INSTALL_DIR', join_paths(get_option('prefix'), install_dir))
|
||||
|
||||
# This line is changed by scripts/bump-version.sh, so keep it intact
|
||||
configuration.set('VERSION', '3.38.0')
|
||||
configuration.set('VERSION', '3.28.0')
|
||||
|
||||
subdir('Sparkles')
|
||||
subdir('Sparkles/Git')
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
FROM ubuntu:xenial
|
||||
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
FROM ubuntu:17.10
|
||||
|
||||
RUN apt-get update
|
||||
RUN apt-get install -y \
|
||||
|
@ -22,7 +20,7 @@ RUN apt-get install -y \
|
|||
python3-pip \
|
||||
xsltproc
|
||||
|
||||
RUN pip3 install meson==0.36.0
|
||||
RUN pip3 install meson
|
||||
|
||||
RUN git clone https://github.com/hbons/notify-sharp && \
|
||||
cd notify-sharp/ && \
|
||||
|
|