setup: add tutorial pages
This commit is contained in:
parent
d29aea417d
commit
6bc84a34cc
|
@ -425,6 +425,104 @@ namespace SparkleShare {
|
||||||
AddButton (open_folder_button);
|
AddButton (open_folder_button);
|
||||||
AddButton (finish_button);
|
AddButton (finish_button);
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
case PageType.Tutorial: {
|
||||||
|
|
||||||
|
switch (Controller.TutorialPageNumber) {
|
||||||
|
case 1: {
|
||||||
|
Header = _("What's next?");
|
||||||
|
Description = _(@"SparkleShare creates a special folder on your computer
|
||||||
|
that will keep track of your projects.");
|
||||||
|
|
||||||
|
Button skip_tutorial_button = new Button (_("Skip Tutorial"));
|
||||||
|
skip_tutorial_button.Clicked += delegate {
|
||||||
|
// Controller.TutorialSkipped ();
|
||||||
|
};
|
||||||
|
|
||||||
|
Button continue_button = new Button (_("Continue"));
|
||||||
|
continue_button.Clicked += delegate {
|
||||||
|
Controller.TutorialPageCompleted ();
|
||||||
|
};
|
||||||
|
|
||||||
|
// Add (null); TODO image Controller.TutorialPageNumber
|
||||||
|
AddButton (skip_tutorial_button);
|
||||||
|
AddButton (continue_button);
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
case 2: {
|
||||||
|
Header = _("Adding files");
|
||||||
|
Description = _(@"All files added to your project folders are synced with the host
|
||||||
|
automatically, as well as with all of your collaborators.");
|
||||||
|
|
||||||
|
Button continue_button = new Button (_("Continue"));
|
||||||
|
continue_button.Clicked += delegate {
|
||||||
|
Controller.TutorialPageCompleted ();
|
||||||
|
};
|
||||||
|
|
||||||
|
// Add (null); TODO image Controller.TutorialPageNumber
|
||||||
|
AddButton (continue_button);
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
case 3: {
|
||||||
|
Header = _("The status icon");
|
||||||
|
Description = _(@"All files added to your project folders are synced with the host
|
||||||
|
automatically, as well as with all of your collaborators.");
|
||||||
|
|
||||||
|
Button continue_button = new Button (_("Continue"));
|
||||||
|
continue_button.Clicked += delegate {
|
||||||
|
Controller.TutorialPageCompleted ();
|
||||||
|
};
|
||||||
|
|
||||||
|
// Add (null); TODO image Controller.TutorialPageNumber
|
||||||
|
AddButton (continue_button);
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
case 4: {
|
||||||
|
Header = _("Adding Projects");
|
||||||
|
Description = _(@"Whenever you see this button on a website, just click it,
|
||||||
|
and the project will be immediately added to SparkleShare:");
|
||||||
|
|
||||||
|
Button continue_button = new Button (_("Continue"));
|
||||||
|
continue_button.Clicked += delegate {
|
||||||
|
Controller.TutorialPageCompleted ();
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
Label label = new Label (_(@"…or click the status icon and select Add Project…
|
||||||
|
to manually add a project."));
|
||||||
|
// Add (null); TODO image Controller.TutorialPageNumber
|
||||||
|
|
||||||
|
|
||||||
|
Button add_project_button = new Button (_("Add Project…"));
|
||||||
|
add_project_button.Clicked += delegate {
|
||||||
|
Controller.TutorialPageCompleted ();
|
||||||
|
};
|
||||||
|
|
||||||
|
Button finish_button = new Button (_("Finish"));
|
||||||
|
finish_button.Clicked += delegate {
|
||||||
|
Close ();
|
||||||
|
};
|
||||||
|
|
||||||
|
AddButton (add_project_button);
|
||||||
|
AddButton (finish_button);
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,7 +25,8 @@ namespace SparkleShare {
|
||||||
Add,
|
Add,
|
||||||
Syncing,
|
Syncing,
|
||||||
Error,
|
Error,
|
||||||
Finished
|
Finished,
|
||||||
|
Tutorial
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -37,6 +38,13 @@ namespace SparkleShare {
|
||||||
public event UpdateProgressBarEventHandler UpdateProgressBarEvent;
|
public event UpdateProgressBarEventHandler UpdateProgressBarEvent;
|
||||||
public delegate void UpdateProgressBarEventHandler (double percentage);
|
public delegate void UpdateProgressBarEventHandler (double percentage);
|
||||||
|
|
||||||
|
|
||||||
|
public int TutorialPageNumber {
|
||||||
|
get {
|
||||||
|
return this.tutorial_page_number;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public string PreviousUrl {
|
public string PreviousUrl {
|
||||||
get {
|
get {
|
||||||
return this.previous_url;
|
return this.previous_url;
|
||||||
|
@ -67,12 +75,15 @@ namespace SparkleShare {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private string previous_server = "";
|
private string previous_server = "";
|
||||||
private string previous_folder = "";
|
private string previous_folder = "";
|
||||||
private string previous_url = "";
|
private string previous_url = "";
|
||||||
private string syncing_folder = "";
|
private string syncing_folder = "";
|
||||||
|
private int tutorial_page_number = 1;
|
||||||
private PageType previous_page;
|
private PageType previous_page;
|
||||||
|
|
||||||
|
|
||||||
public SparkleSetupController ()
|
public SparkleSetupController ()
|
||||||
{
|
{
|
||||||
ChangePageEvent += delegate (PageType page) {
|
ChangePageEvent += delegate (PageType page) {
|
||||||
|
@ -103,8 +114,33 @@ namespace SparkleShare {
|
||||||
Program.Controller.GenerateKeyPair ();
|
Program.Controller.GenerateKeyPair ();
|
||||||
Program.Controller.UpdateState ();
|
Program.Controller.UpdateState ();
|
||||||
|
|
||||||
|
if (ChangePageEvent != null)
|
||||||
|
ChangePageEvent (PageType.Tutorial);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void TutorialPageCompleted ()
|
||||||
|
{
|
||||||
|
if (this.tutorial_page_number == 4) {
|
||||||
if (ChangePageEvent != null)
|
if (ChangePageEvent != null)
|
||||||
ChangePageEvent (PageType.Add);
|
ChangePageEvent (PageType.Add);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
this.tutorial_page_number++;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (ChangePageEvent != null)
|
||||||
|
ChangePageEvent (PageType.Tutorial);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void TutorialSkipped ()
|
||||||
|
{
|
||||||
|
this.tutorial_page_number = 4;
|
||||||
|
|
||||||
|
if (ChangePageEvent != null)
|
||||||
|
ChangePageEvent (PageType.Tutorial);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue