Compare commits
41 commits
release/3.
...
master
Author | SHA1 | Date | |
---|---|---|---|
![]() |
86b8ca020a | ||
![]() |
37ce57e12a | ||
![]() |
e2618f793e | ||
![]() |
63fe3710e5 | ||
![]() |
6cfd602259 | ||
![]() |
be9e12e0fe | ||
![]() |
01c180d588 | ||
![]() |
54eff3bee1 | ||
![]() |
1fb943b815 | ||
![]() |
35951f0805 | ||
![]() |
6ebda3a1d6 | ||
![]() |
b65e0fed53 | ||
![]() |
903382fd29 | ||
![]() |
1cdbe02e3d | ||
![]() |
347ce97ea7 | ||
![]() |
7c118ee1b0 | ||
![]() |
1c789aba1e | ||
![]() |
02ded513a7 | ||
![]() |
3f1b02fe0c | ||
![]() |
ebc489bcc7 | ||
![]() |
85a65da878 | ||
![]() |
85f3d449be | ||
![]() |
5ee0fe016f | ||
![]() |
631f56386c | ||
![]() |
07f954cc72 | ||
![]() |
af8a521aec | ||
![]() |
fbd3c79674 | ||
![]() |
cb08a35bf9 | ||
![]() |
ba49f81af6 | ||
![]() |
dac6783a0e | ||
![]() |
c2fd750ad5 | ||
![]() |
948e14fe5e | ||
![]() |
954f1e6b1b | ||
![]() |
07bb84318d | ||
![]() |
72603c5bef | ||
![]() |
741ea0612a | ||
![]() |
613625c5bf | ||
![]() |
37d49a990c | ||
![]() |
6ca60c074c | ||
![]() |
ecd84c6b87 | ||
![]() |
672442b8ab |
2
.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.*
|
||||
|
|
|
@ -9,7 +9,7 @@ matrix:
|
|||
sudo: required
|
||||
|
||||
before_install:
|
||||
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then docker pull ubuntu:latest ; fi
|
||||
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then docker pull ubuntu:xenial ; 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
|
||||
|
||||
|
|
|
@ -61,6 +61,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");
|
||||
|
||||
|
|
|
@ -21,13 +21,20 @@ 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 ()
|
||||
public BubblesController () : this(true)
|
||||
{
|
||||
}
|
||||
|
||||
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);
|
||||
};
|
||||
|
@ -40,10 +47,13 @@ namespace SparkleShare {
|
|||
|
||||
public void ShowBubble (string title, string subtext, string image_path)
|
||||
{
|
||||
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);
|
||||
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);
|
||||
}
|
||||
|
||||
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,8 +144,14 @@ namespace SparkleShare {
|
|||
}
|
||||
|
||||
|
||||
public EventLogController ()
|
||||
public EventLogController () : this (true)
|
||||
{
|
||||
}
|
||||
|
||||
public EventLogController (bool fix_utf_encoding)
|
||||
{
|
||||
this.fix_utf_encoding = fix_utf_encoding;
|
||||
|
||||
SparkleShare.Controller.ShowEventLogWindowEvent += delegate {
|
||||
if (!WindowIsOpen) {
|
||||
ContentLoadingEvent ();
|
||||
|
@ -257,8 +263,11 @@ namespace SparkleShare {
|
|||
string folder = href.Replace ("history://", "").Split ("/".ToCharArray ()) [0];
|
||||
string file_path = href.Replace ("history://" + folder + "/", "");
|
||||
|
||||
byte [] file_path_bytes = Encoding.Default.GetBytes (file_path);
|
||||
file_path = Encoding.UTF8.GetString (file_path_bytes);
|
||||
if(fix_utf_encoding)
|
||||
{
|
||||
byte [] file_path_bytes = Encoding.Default.GetBytes (file_path);
|
||||
file_path = Encoding.UTF8.GetString (file_path_bytes);
|
||||
}
|
||||
|
||||
file_path = Uri.UnescapeDataString (file_path);
|
||||
|
||||
|
@ -536,10 +545,13 @@ namespace SparkleShare {
|
|||
|
||||
private string FormatBreadCrumbs (string path_root, string path)
|
||||
{
|
||||
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);
|
||||
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);
|
||||
}
|
||||
|
||||
path_root = path_root.Replace ("/", Path.DirectorySeparatorChar.ToString ());
|
||||
path = path.Replace ("/", Path.DirectorySeparatorChar.ToString ());
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<description>Free code hosting for Git and Mercurial</description>
|
||||
<icon>bitbucket.png</icon>
|
||||
<backend>Git</backend>
|
||||
<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>
|
||||
<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>
|
||||
</info>
|
||||
<address>
|
||||
<value>ssh://git@bitbucket.org/</value>
|
||||
|
@ -19,4 +19,3 @@
|
|||
</path>
|
||||
</preset>
|
||||
</sparkleshare>
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<icon>github.png</icon>
|
||||
<backend>Git</backend>
|
||||
<storage_type>LargeFiles</storage_type>
|
||||
<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>
|
||||
<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>
|
||||
</info>
|
||||
<address>
|
||||
<value>ssh://git@github.com/</value>
|
||||
|
|
|
@ -533,7 +533,7 @@ namespace SparkleShare {
|
|||
|
||||
public void ShowFilesClicked ()
|
||||
{
|
||||
string folder_name = Path.GetFileName (PreviousPath);
|
||||
string folder_name = Path.GetFileNameWithoutExtension (PreviousPath);
|
||||
folder_name = folder_name.ReplaceUnderscoreWithSpace ();
|
||||
|
||||
SparkleShare.Controller.OpenSparkleShareFolder (folder_name);
|
||||
|
|
Before Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 879 B |
Before Width: | Height: | Size: 575 B |
Before Width: | Height: | Size: 7.1 KiB |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 8.8 KiB |
Before Width: | Height: | Size: 2 KiB |
Before Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 52 KiB |
Before Width: | Height: | Size: 44 KiB |
|
@ -0,0 +1,47 @@
|
|||
<?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>
|
After Width: | Height: | Size: 5.8 KiB |
|
@ -0,0 +1,7 @@
|
|||
<?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>
|
After 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 = ['16', '24', '48', '256', '512']
|
||||
icon_sizes = ['scalable']
|
||||
|
||||
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 + '.png'),
|
||||
sources: join_paths('hicolor', icon_dir, source_icon_name + '.svg'),
|
||||
install_dir: join_paths(theme_dir, icon_dir),
|
||||
rename: app_icon_name + '.png')
|
||||
rename: app_icon_name + '.svg')
|
||||
endforeach
|
||||
|
||||
install_data(
|
||||
|
|
|
@ -51,6 +51,16 @@ 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();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -100,7 +100,7 @@
|
|||
<Profiling>false</Profiling>
|
||||
<HttpClientHandler>HttpClientHandler</HttpClientHandler>
|
||||
<TlsProvider>Default</TlsProvider>
|
||||
<LinkMode>None</LinkMode>
|
||||
<LinkMode>Platform</LinkMode>
|
||||
<AOTMode>None</AOTMode>
|
||||
<LangVersion>latest</LangVersion>
|
||||
</PropertyGroup>
|
||||
|
@ -128,7 +128,7 @@
|
|||
<Profiling>false</Profiling>
|
||||
<HttpClientHandler>HttpClientHandler</HttpClientHandler>
|
||||
<TlsProvider>Default</TlsProvider>
|
||||
<LinkMode>None</LinkMode>
|
||||
<LinkMode>Platform</LinkMode>
|
||||
<CodeSigningKey>Mac Developer</CodeSigningKey>
|
||||
<PackageSigningKey>3rd Party Mac Developer Installer</PackageSigningKey>
|
||||
<AOTMode>None</AOTMode>
|
||||
|
@ -157,7 +157,7 @@
|
|||
<UseSGen>false</UseSGen>
|
||||
<UseRefCounting>false</UseRefCounting>
|
||||
<Profiling>false</Profiling>
|
||||
<LinkMode>None</LinkMode>
|
||||
<LinkMode>Platform</LinkMode>
|
||||
<HttpClientHandler>HttpClientHandler</HttpClientHandler>
|
||||
<TlsProvider>Default</TlsProvider>
|
||||
<AOTMode>None</AOTMode>
|
||||
|
|
2
SparkleShare/Mac/UserInterface/Bubbles.cs
Executable file → Normal file
|
@ -22,7 +22,7 @@ namespace SparkleShare {
|
|||
|
||||
public class Bubbles : NSObject {
|
||||
|
||||
public BubblesController Controller = new BubblesController ();
|
||||
public BubblesController Controller = new BubblesController (false);
|
||||
|
||||
|
||||
public Bubbles ()
|
||||
|
|
|
@ -27,7 +27,7 @@ namespace SparkleShare {
|
|||
|
||||
public class EventLog : NSWindow {
|
||||
|
||||
public EventLogController Controller = new EventLogController ();
|
||||
public EventLogController Controller = new EventLogController (false);
|
||||
public float TitlebarHeight;
|
||||
|
||||
WebView web_view;
|
||||
|
|
4
SparkleShare/Mac/Watcher.cs
Executable file → Normal file
|
@ -149,6 +149,10 @@ 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,6 +11,8 @@ function abspath()
|
|||
esac
|
||||
}
|
||||
|
||||
export projectFolder=$(dirname $0)
|
||||
export projectFolder=$(abspath ${projectFolder})
|
||||
|
||||
LINE=$(cat ${projectFolder}/git.download)
|
||||
TMP=()
|
||||
|
@ -19,23 +21,22 @@ 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}/git.tar.gz ]
|
||||
if [[ ! -f ${projectFolder}/${gitName} ]];
|
||||
then
|
||||
curl --silent --location ${gitDownload} > git.tar.gz
|
||||
test -e git.tar.gz || { echo "Failed to download git"; exit 1; }
|
||||
curl --silent --location ${gitDownload} > ${projectFolder}/${gitName}
|
||||
test -e ${projectFolder}/${gitName} || { echo "Failed to download git"; exit 1; }
|
||||
|
||||
printf "${gitSHA256} git.tar.gz" | shasum --check --algorithm 256
|
||||
printf "${gitSHA256} ${projectFolder}/${gitName}" | 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
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
<configuration>
|
||||
</configuration>
|
|
@ -1 +1 @@
|
|||
https://github.com/desktop/dugite-native/releases/download/v2.16.2/dugite-native-v2.16.2-macOS-119.tar.gz 65d608eb16e0e262bae6bd7828b28cf640455e949003fec94c1233e084b9ccde
|
||||
https://github.com/desktop/dugite-native/releases/download/v2.29.2-2/dugite-native-v2.29.2-f9ceb12-macOS.tar.gz ff16488ebbb3a0000fac34c8afc01bc4e839ad478717fbcbbe0c207642b5872c
|
||||
|
|
|
@ -8,12 +8,21 @@ 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 --static --deps --config ./config -o ../MacOS/SparkleShare SparkleShare.exe Sparkles.dll Xamarin.Mac.dll Sparkles.Git.dll
|
||||
mkbundle \
|
||||
--simple \
|
||||
-v \
|
||||
--config ./config \
|
||||
-o ../MacOS/SparkleShare \
|
||||
${assemblyPath}/SparkleShare.exe ${assemblyPath}/Sparkles.dll ${assemblyPath}/Sparkles.Git.dll
|
||||
rm *.dll *.exe
|
||||
|
|
|
@ -9,6 +9,7 @@ echo Postprocessing ${bundle}...
|
|||
export PATH=/usr/local/bin:/opt/local/bin:/Library/Frameworks/Mono.framework/Versions/Current/bin:/usr/bin:/bin
|
||||
|
||||
${projectFolder}/checkGit.sh
|
||||
tar -x -f ${projectFolder}/git.tar.gz --directory ${bundle}/Contents/Resources
|
||||
cp -R SparkleShareInviteOpener.app ${bundle}/Contents/Resources
|
||||
cp config ${bundle}/Contents/MonoBundle
|
||||
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
|
||||
|
|
|
@ -41,6 +41,7 @@ namespace Sparkles {
|
|||
StartInfo.WorkingDirectory = Path.GetTempPath ();
|
||||
StartInfo.CreateNoWindow = true;
|
||||
StartInfo.RedirectStandardOutput = true;
|
||||
StartInfo.StandardOutputEncoding = System.Text.Encoding.UTF8;
|
||||
StartInfo.RedirectStandardError = true;
|
||||
StartInfo.UseShellExecute = false;
|
||||
|
||||
|
|
|
@ -99,7 +99,8 @@ namespace Sparkles.Git {
|
|||
SetEnvironmentVariable ("PREFIX", "");
|
||||
SetEnvironmentVariable ("HOME", "");
|
||||
|
||||
SetEnvironmentVariable ("LANG", "en_US");
|
||||
SetEnvironmentVariable ("LANG", "en_US.UTF8");
|
||||
SetEnvironmentVariable ("LC_ALL", "en_US.UTF8");
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -176,6 +176,13 @@ 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,
|
||||
|
|
|
@ -435,6 +435,7 @@ namespace Sparkles.Git {
|
|||
git.StartAndWaitForExit ();
|
||||
|
||||
git = new GitCommand (LocalPath, "merge --no-edit FETCH_HEAD");
|
||||
git.StartInfo.StandardOutputEncoding = null;
|
||||
git.StartInfo.RedirectStandardOutput = false;
|
||||
|
||||
string error_output = git.StartAndReadStandardError ();
|
||||
|
@ -616,6 +617,7 @@ 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 ();
|
||||
|
||||
|
@ -934,7 +936,12 @@ namespace Sparkles.Git {
|
|||
string HEAD_file_path = Path.Combine (child_path, "HEAD");
|
||||
|
||||
if (File.Exists (HEAD_file_path)) {
|
||||
File.Move (HEAD_file_path, HEAD_file_path + ".backup");
|
||||
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);
|
||||
Logger.LogInfo ("Git", Name + " | Renamed " + HEAD_file_path);
|
||||
}
|
||||
|
||||
|
|
|
@ -67,25 +67,37 @@ namespace Sparkles {
|
|||
get {
|
||||
if (OperatingSystem == OS.macOS) {
|
||||
var uname = new Command ("sw_vers", "-productVersion", write_output: false);
|
||||
string output = uname.StartAndReadStandardOutput ();
|
||||
string version = output;
|
||||
string version = uname.StartAndReadStandardOutput ();
|
||||
|
||||
//
|
||||
string[] version_elements= version.Split('.');
|
||||
|
||||
// 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";
|
||||
|
||||
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;
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
return string.Format ("{0} ({1})", version, release);
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
FROM ubuntu:latest
|
||||
FROM ubuntu:xenial
|
||||
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
|
@ -22,7 +22,7 @@ RUN apt-get install -y \
|
|||
python3-pip \
|
||||
xsltproc
|
||||
|
||||
RUN pip3 install meson
|
||||
RUN pip3 install meson==0.36.0
|
||||
|
||||
RUN git clone https://github.com/hbons/notify-sharp && \
|
||||
cd notify-sharp/ && \
|
||||
|
|