Add nicer error reporting
This commit is contained in:
parent
38cb2499ea
commit
7106f6baae
|
@ -40,11 +40,10 @@ namespace SparkleLib {
|
||||||
|
|
||||||
protected string target_folder;
|
protected string target_folder;
|
||||||
protected string remote_url;
|
protected string remote_url;
|
||||||
|
|
||||||
private Thread thread;
|
private Thread thread;
|
||||||
|
|
||||||
public abstract bool Fetch ();
|
|
||||||
|
|
||||||
|
|
||||||
public SparkleFetcherBase (string server, string remote_folder, string target_folder)
|
public SparkleFetcherBase (string server, string remote_folder, string target_folder)
|
||||||
{
|
{
|
||||||
this.target_folder = target_folder;
|
this.target_folder = target_folder;
|
||||||
|
@ -52,6 +51,9 @@ namespace SparkleLib {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public abstract bool Fetch ();
|
||||||
|
|
||||||
|
|
||||||
// Clones the remote repository
|
// Clones the remote repository
|
||||||
public void Start ()
|
public void Start ()
|
||||||
{
|
{
|
||||||
|
|
|
@ -45,7 +45,7 @@ namespace SparkleShare {
|
||||||
public delegate void FolderFetchedEventHandler ();
|
public delegate void FolderFetchedEventHandler ();
|
||||||
|
|
||||||
public event FolderFetchErrorEventHandler FolderFetchError;
|
public event FolderFetchErrorEventHandler FolderFetchError;
|
||||||
public delegate void FolderFetchErrorEventHandler ();
|
public delegate void FolderFetchErrorEventHandler (string remote_url);
|
||||||
|
|
||||||
public event FolderFetchingEventHandler FolderFetching;
|
public event FolderFetchingEventHandler FolderFetching;
|
||||||
public delegate void FolderFetchingEventHandler (double percentage);
|
public delegate void FolderFetchingEventHandler (double percentage);
|
||||||
|
@ -1051,7 +1051,7 @@ namespace SparkleShare {
|
||||||
|
|
||||||
this.fetcher.Failed += delegate {
|
this.fetcher.Failed += delegate {
|
||||||
if (FolderFetchError != null)
|
if (FolderFetchError != null)
|
||||||
FolderFetchError ();
|
FolderFetchError (this.fetcher.RemoteUrl);
|
||||||
|
|
||||||
this.fetcher.Dispose ();
|
this.fetcher.Dispose ();
|
||||||
|
|
||||||
|
|
|
@ -331,29 +331,55 @@ namespace SparkleShare {
|
||||||
|
|
||||||
case PageType.Error: {
|
case PageType.Error: {
|
||||||
|
|
||||||
string n = Environment.NewLine;
|
|
||||||
|
|
||||||
Header = _("Something went wrong") + "…";
|
Header = _("Something went wrong") + "…";
|
||||||
Description = "We don't know exactly what the problem is, " +
|
|
||||||
"but we can try to help you pinpoint it.";
|
VBox points = new VBox (false, 0);
|
||||||
|
Image list_point_one = new Image (SparkleUIHelpers.GetIcon ("list-point", 16)) { };
|
||||||
|
Image list_point_two = new Image (SparkleUIHelpers.GetIcon ("list-point", 16)) { };
|
||||||
|
Image list_point_three = new Image (SparkleUIHelpers.GetIcon ("list-point", 16)) { };
|
||||||
|
|
||||||
|
Label label_one = new Label () {
|
||||||
|
Text = "First, have you tried turning it off and on again?",
|
||||||
|
Wrap = true,
|
||||||
|
Xalign = 0
|
||||||
|
};
|
||||||
|
|
||||||
|
Label label_two = new Label () {
|
||||||
|
Markup = "<b>" + Controller.PreviousUrl + "</b> is the address we've compiled. " +
|
||||||
|
"Does this look allright?",
|
||||||
|
Wrap = true,
|
||||||
|
Xalign = 0
|
||||||
|
};
|
||||||
|
|
||||||
|
Label label_three = new Label () {
|
||||||
|
Text = "The host needs to know who you are. Did you upload the key that's in " +
|
||||||
|
"your SparkleShare folder?",
|
||||||
|
Wrap = true,
|
||||||
|
Xalign = 0
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
points.PackStart (new Label ("Please check the following:") { Xalign = 0 }, false, false, 6);
|
||||||
|
|
||||||
|
HBox point_one = new HBox (false, 0);
|
||||||
|
point_one.PackStart (list_point_one, false, false, 0);
|
||||||
|
point_one.PackStart (label_one, true, true, 12);
|
||||||
|
points.PackStart (point_one, false, false, 12);
|
||||||
|
|
||||||
|
HBox point_two = new HBox (false, 0);
|
||||||
|
point_two.PackStart (list_point_two, false, false, 0);
|
||||||
|
point_two.PackStart (label_two, true, true, 12);
|
||||||
|
points.PackStart (point_two, false, false, 12);
|
||||||
|
|
||||||
|
HBox point_three = new HBox (false, 0);
|
||||||
|
point_three.PackStart (list_point_three, false, false, 0);
|
||||||
|
point_three.PackStart (label_three, true, true, 12);
|
||||||
|
points.PackStart (point_three, false, false, 12);
|
||||||
|
|
||||||
|
points.PackStart (new Label (""), true, true, 0);
|
||||||
|
|
||||||
|
|
||||||
Label l = new Label (
|
Button try_again_button = new Button (_("Try Again…")) {
|
||||||
"First, have you tried turning it off and on again?" + n +
|
|
||||||
n +
|
|
||||||
Controller.SyncingFolder +" is the address we've compiled from the information " +
|
|
||||||
"you entered. Does this look correct?" + n +
|
|
||||||
n +
|
|
||||||
"The host needs to know who you are. Have you uploaded the key that sits in your SparkleShare folder?");
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
l.Xpad = 12;
|
|
||||||
l.Wrap = true;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Button try_again_button = new Button (_("Try Again")) {
|
|
||||||
Sensitive = true
|
Sensitive = true
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -362,7 +388,7 @@ namespace SparkleShare {
|
||||||
};
|
};
|
||||||
|
|
||||||
AddButton (try_again_button);
|
AddButton (try_again_button);
|
||||||
Add (l);
|
Add (points);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,6 +37,12 @@ namespace SparkleShare {
|
||||||
public event UpdateProgressBarEventHandler UpdateProgressBarEvent;
|
public event UpdateProgressBarEventHandler UpdateProgressBarEvent;
|
||||||
public delegate void UpdateProgressBarEventHandler (double percentage);
|
public delegate void UpdateProgressBarEventHandler (double percentage);
|
||||||
|
|
||||||
|
public string PreviousUrl {
|
||||||
|
get {
|
||||||
|
return this.previous_url;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public string PreviousServer {
|
public string PreviousServer {
|
||||||
get {
|
get {
|
||||||
return this.previous_server;
|
return this.previous_server;
|
||||||
|
@ -63,6 +69,7 @@ namespace SparkleShare {
|
||||||
|
|
||||||
private string previous_server = "";
|
private string previous_server = "";
|
||||||
private string previous_folder = "";
|
private string previous_folder = "";
|
||||||
|
private string previous_url = "";
|
||||||
private string syncing_folder = "";
|
private string syncing_folder = "";
|
||||||
private PageType previous_page;
|
private PageType previous_page;
|
||||||
|
|
||||||
|
@ -117,7 +124,9 @@ namespace SparkleShare {
|
||||||
this.syncing_folder = "";
|
this.syncing_folder = "";
|
||||||
};
|
};
|
||||||
|
|
||||||
SparkleShare.Controller.FolderFetchError += delegate {
|
SparkleShare.Controller.FolderFetchError += delegate (string remote_url) {
|
||||||
|
this.previous_url = remote_url;
|
||||||
|
|
||||||
if (ChangePageEvent != null)
|
if (ChangePageEvent != null)
|
||||||
ChangePageEvent (PageType.Error);
|
ChangePageEvent (PageType.Error);
|
||||||
|
|
||||||
|
|
|
@ -149,9 +149,7 @@ namespace SparkleShare {
|
||||||
|
|
||||||
new public void ShowAll ()
|
new public void ShowAll ()
|
||||||
{
|
{
|
||||||
|
Present ();
|
||||||
Present ();
|
|
||||||
|
|
||||||
base.ShowAll ();
|
base.ShowAll ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -35,6 +35,7 @@ app_theme_icons = \
|
||||||
status,document-deleted-12.png \
|
status,document-deleted-12.png \
|
||||||
status,document-moved-12.png \
|
status,document-moved-12.png \
|
||||||
status,dialog-error-16.png \
|
status,dialog-error-16.png \
|
||||||
|
status,list-point-16.png \
|
||||||
status,dialog-error-24.png
|
status,dialog-error-24.png
|
||||||
|
|
||||||
install_icon_exec = $(top_srcdir)/build/icon-theme-installer \
|
install_icon_exec = $(top_srcdir)/build/icon-theme-installer \
|
||||||
|
|
BIN
data/icons/list-point-16.png
Normal file
BIN
data/icons/list-point-16.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 676 B |
Loading…
Reference in a new issue