mac setup: Add an invite page

This commit is contained in:
Hylke Bons 2012-02-14 17:23:08 +01:00
parent 82ec6c8b79
commit a28ea22647
2 changed files with 58 additions and 10 deletions

View file

@ -36,6 +36,7 @@ namespace SparkleShare {
private NSButton SyncButton;
private NSButton TryAgainButton;
private NSButton CancelButton;
private NSButton AcceptButton;
private NSButton SkipTutorialButton;
private NSButton OpenFolderButton;
private NSButton FinishButton;
@ -158,10 +159,40 @@ namespace SparkleShare {
break;
}
case PageType.Invite: {
Header = "You've received an invite!";
Description = "Do you want to add this project to SparkleShare?";
CancelButton = new NSButton () {
Title = "Cancel"
};
CancelButton.Activated += delegate {
InvokeOnMainThread (delegate {
PerformClose (this);
});
};
AcceptButton = new NSButton () {
Title = "Accept"
};
AcceptButton.Activated += delegate {
Controller.InvitePageCompleted ();
};
Buttons.Add (AcceptButton);
Buttons.Add (CancelButton);
break;
}
case PageType.Add: {
Header = "Where's your project hosted?";
Description = "";
Header = "Where's your project hosted?";
Description = "";
AddressLabel = new NSTextField () {
Alignment = NSTextAlignment.Left,

View file

@ -19,6 +19,7 @@ using System;
using System.Collections.Generic;
using System.IO;
using System.Text.RegularExpressions;
using System.Threading;
using SparkleLib;
@ -214,7 +215,7 @@ namespace SparkleShare {
public void ShowAddPage ()
{
if (ChangePageEvent != null)
ChangePageEvent (PageType.Add, null);
ChangePageEvent (PageType.Invite, null);
SelectedPluginChanged (SelectedPluginIndex);
}
@ -258,6 +259,7 @@ namespace SparkleShare {
};
Program.Controller.FolderFetchError += delegate (string remote_url) {
Thread.Sleep (1000);
this.previous_url = remote_url;
if (ChangePageEvent != null)
@ -275,18 +277,22 @@ namespace SparkleShare {
}
public void InvitePageCompleted (SparkleInvite invite)
{/*
public SparkleInvite PendingInvite = new SparkleInvite ("ssh://git@sparkleshare.org/",
"/home/stuff/",
"http://www.sparkleshare.org/");
public void InvitePageCompleted ()
{
if (ChangePageEvent != null)
ChangePageEvent (PageType.Syncing, null);
if (!invite.Accept ()) {
if (!PendingInvite.Accept ()) {
if (ChangePageEvent != null)
ChangePageEvent (PageType.Error, null);
return;
}
*/
// TODO: Remove events afterwards
@ -301,6 +307,7 @@ namespace SparkleShare {
};
Program.Controller.FolderFetchError += delegate (string remote_url) {
Thread.Sleep (1000);
this.previous_url = remote_url;
if (ChangePageEvent != null)
@ -314,13 +321,18 @@ namespace SparkleShare {
UpdateProgressBarEvent (percentage);
};
//Program.Controller.FetchFolder (address, path);
Program.Controller.FetchFolder (PendingInvite.Address, PendingInvite.RemotePath);
}
public void ErrorPageCompleted ()
{
if (ChangePageEvent != null)
if (ChangePageEvent == null)
return;
if (PendingInvite != null)
ChangePageEvent (PageType.Invite, null);
else
ChangePageEvent (PageType.Add, null);
}
@ -329,7 +341,12 @@ namespace SparkleShare {
{
Program.Controller.StopFetcher ();
if (ChangePageEvent != null)
if (ChangePageEvent == null)
return;
if (PendingInvite != null)
ChangePageEvent (PageType.Invite, null);
else
ChangePageEvent (PageType.Add, null);
}