Remove event handling boilerplate everywhere

This commit is contained in:
Hylke Bons 2012-07-18 12:35:22 +02:00
parent e0949ae082
commit 78e96474b2
8 changed files with 192 additions and 370 deletions

View file

@ -29,15 +29,15 @@ namespace SparkleLib {
// Sets up a fetcher that can get remote folders
public abstract class SparkleFetcherBase {
public delegate void StartedEventHandler ();
public event Action Started = delegate { };
public event Action Failed = delegate { };
public event FinishedEventHandler Finished = delegate { };
public delegate void FinishedEventHandler (bool repo_is_encrypted, bool repo_is_empty, string [] warnings);
public delegate void FailedEventHandler ();
public event ProgressChangedEventHandler ProgressChanged = delegate { };
public delegate void ProgressChangedEventHandler (double percentage);
public event StartedEventHandler Started;
public event FinishedEventHandler Finished;
public event FailedEventHandler Failed;
public event ProgressChangedEventHandler ProgressChanged;
public abstract bool Fetch ();
public abstract void Stop ();
@ -117,8 +117,6 @@ namespace SparkleLib {
public void Start ()
{
IsActive = true;
if (Started != null)
Started ();
SparkleHelpers.DebugInfo ("Fetcher", TargetFolder + " | Fetching folder: " + RemoteUrl);
@ -130,9 +128,7 @@ namespace SparkleLib {
string host_key = GetHostKey ();
if (string.IsNullOrEmpty (host) || host_key == null) {
if (Failed != null)
Failed ();
return;
}
@ -144,8 +140,6 @@ namespace SparkleLib {
!RequiredFingerprint.Equals (host_fingerprint)) {
SparkleHelpers.DebugInfo ("Auth", "Fingerprint doesn't match");
if (Failed != null)
Failed ();
return;
@ -170,8 +164,6 @@ namespace SparkleLib {
// TODO: Find better way to determine if folder should have crypto setup
bool repo_is_encrypted = RemoteUrl.ToString ().Contains ("crypto");
if (Finished != null)
Finished (repo_is_encrypted, IsFetchedRepoEmpty, Warnings);
} else {
@ -179,8 +171,6 @@ namespace SparkleLib {
SparkleHelpers.DebugInfo ("Fetcher", "Failed");
IsActive = false;
if (Failed != null)
Failed ();
}
})
@ -263,7 +253,6 @@ namespace SparkleLib {
protected void OnProgressChanged (double percentage) {
if (ProgressChanged != null)
ProgressChanged (percentage);
}

View file

@ -25,13 +25,10 @@ namespace SparkleLib {
// listens for change notifications
public abstract class SparkleListenerBase {
public event ConnectedEventHandler Connected;
public delegate void ConnectedEventHandler ();
public event Action Connected = delegate { };
public event Action Disconnected = delegate { };
public event DisconnectedEventHandler Disconnected;
public delegate void DisconnectedEventHandler ();
public event AnnouncementReceivedEventHandler AnnouncementReceived;
public event AnnouncementReceivedEventHandler AnnouncementReceived = delegate { };
public delegate void AnnouncementReceivedEventHandler (SparkleAnnouncement announcement);
public readonly Uri Server;
@ -118,8 +115,6 @@ namespace SparkleLib {
public void OnConnected ()
{
SparkleHelpers.DebugInfo ("Listener", "Listening for announcements on " + Server);
if (Connected != null)
Connected ();
if (this.queue_up.Count > 0) {
@ -138,8 +133,6 @@ namespace SparkleLib {
public void OnDisconnected (string message)
{
SparkleHelpers.DebugInfo ("Listener", "Disconnected from " + Server + ": " + message);
if (Disconnected != null)
Disconnected ();
}
@ -163,7 +156,6 @@ namespace SparkleLib {
AddRecentAnnouncement (announcement);
this.queue_down [announcement.FolderIdentifier] = announcement;
if (AnnouncementReceived != null)
AnnouncementReceived (announcement);
}

View file

@ -48,20 +48,18 @@ namespace SparkleLib {
public abstract List<SparkleChangeSet> GetChangeSets (int count);
public event SyncStatusChangedEventHandler SyncStatusChanged = delegate { };
public delegate void SyncStatusChangedEventHandler (SyncStatus new_status);
public event SyncStatusChangedEventHandler SyncStatusChanged;
public event ProgressChangedEventHandler ProgressChanged = delegate { };
public delegate void ProgressChangedEventHandler (double percentage, string speed);
public event ProgressChangedEventHandler ProgressChanged;
public event NewChangeSetEventHandler NewChangeSet = delegate { };
public delegate void NewChangeSetEventHandler (SparkleChangeSet change_set);
public event NewChangeSetEventHandler NewChangeSet;
public delegate void ConflictResolvedEventHandler ();
public event ConflictResolvedEventHandler ConflictResolved;
public event Action ConflictResolved = delegate { };
public event Action ChangesDetected = delegate { };
public delegate void ChangesDetectedEventHandler ();
public event ChangesDetectedEventHandler ChangesDetected;
public readonly string LocalPath;
public readonly string Name;
@ -200,9 +198,7 @@ namespace SparkleLib {
if (IsBuffering)
return;
if (ChangesDetected != null)
ChangesDetected ();
string relative_path = args.FullPath.Replace (LocalPath, "");
foreach (string exclude_path in ExcludePaths) {
@ -242,7 +238,6 @@ namespace SparkleLib {
} while (HasLocalChanges);
} else {
if (SyncStatusChanged != null)
SyncStatusChanged (SyncStatus.Idle);
}
@ -258,7 +253,6 @@ namespace SparkleLib {
protected void OnConflictResolved ()
{
if (ConflictResolved != null)
ConflictResolved ();
}
@ -269,7 +263,6 @@ namespace SparkleLib {
if (DateTime.Compare (this.progress_last_change, DateTime.Now.Subtract (this.progress_change_interval)) >= 0)
return;
if (ProgressChanged != null) {
if (progress_percentage == 100.0)
progress_percentage = 99.0;
@ -279,7 +272,6 @@ namespace SparkleLib {
ProgressChanged (progress_percentage, progress_speed);
}
}
private void SyncUpBase ()
@ -288,15 +280,12 @@ namespace SparkleLib {
HasUnsyncedChanges = true;
this.remote_timer.Stop ();
if (SyncStatusChanged != null)
SyncStatusChanged (SyncStatus.SyncUp);
if (SyncUp ()) {
SparkleHelpers.DebugInfo ("SyncUp", Name + " | Done");
HasUnsyncedChanges = false;
if (SyncStatusChanged != null)
HasUnsyncedChanges = false;
SyncStatusChanged (SyncStatus.Idle);
this.listener.Announce (new SparkleAnnouncement (Identifier, CurrentRevision));
@ -307,16 +296,12 @@ namespace SparkleLib {
if (ServerOnline && SyncUp ()) {
HasUnsyncedChanges = false;
if (SyncStatusChanged != null)
SyncStatusChanged (SyncStatus.Idle);
this.listener.Announce (new SparkleAnnouncement (Identifier, CurrentRevision));
} else {
ServerOnline = false;
if (SyncStatusChanged != null)
SyncStatusChanged (SyncStatus.Error);
}
}
@ -333,9 +318,7 @@ namespace SparkleLib {
SparkleHelpers.DebugInfo ("SyncDown", Name + " | Initiated");
this.remote_timer.Stop ();
if (SyncStatusChanged != null)
SyncStatusChanged (SyncStatus.SyncDown);
string pre_sync_revision = CurrentRevision;
if (SyncDown ()) {
@ -347,11 +330,14 @@ namespace SparkleLib {
ChangeSets.Count > 0) {
bool emit_change_event = true;
foreach (SparkleChange change in ChangeSets [0].Changes)
if (change.Path.EndsWith (".sparkleshare"))
foreach (SparkleChange change in ChangeSets [0].Changes) {
if (change.Path.EndsWith (".sparkleshare")) {
emit_change_event = false;
break;
}
}
if (NewChangeSet != null && emit_change_event)
if (emit_change_event)
NewChangeSet (ChangeSets [0]);
}
}
@ -360,28 +346,24 @@ namespace SparkleLib {
// conflict. Tries only once, then lets
// the timer try again periodically
if (HasUnsyncedChanges) {
if (SyncStatusChanged != null)
SyncStatusChanged (SyncStatus.SyncUp);
SyncUp ();
HasUnsyncedChanges = false;
}
if (SyncStatusChanged != null)
SyncStatusChanged (SyncStatus.Idle);
} else {
SparkleHelpers.DebugInfo ("SyncDown", Name + " | Error");
ServerOnline = false;
if (SyncStatusChanged != null)
SyncStatusChanged (SyncStatus.Error);
}
ProgressPercentage = 0.0;
ProgressSpeed = "";
if (SyncStatusChanged != null)
SyncStatusChanged (SyncStatus.Idle);
this.remote_timer.Start ();

View file

@ -22,7 +22,7 @@ namespace SparkleShare {
public class SparkleBubblesController {
public event ShowBubbleEventHandler ShowBubbleEvent;
public event ShowBubbleEventHandler ShowBubbleEvent = delegate { };
public delegate void ShowBubbleEventHandler (string title, string subtext, string image_path);
@ -41,7 +41,6 @@ namespace SparkleShare {
public void ShowBubble (string title, string subtext, string image_path)
{
if (ShowBubbleEvent != null)
ShowBubbleEvent (title, subtext, image_path);
}

View file

@ -45,46 +45,36 @@ namespace SparkleShare {
public string ProgressSpeed = "";
public event ShowSetupWindowEventHandler ShowSetupWindowEvent;
public event ShowSetupWindowEventHandler ShowSetupWindowEvent = delegate { };
public delegate void ShowSetupWindowEventHandler (PageType page_type);
public event ShowAboutWindowEventHandler ShowAboutWindowEvent;
public delegate void ShowAboutWindowEventHandler ();
public event Action ShowAboutWindowEvent = delegate { };
public event Action ShowEventLogWindowEvent = delegate { };
public event ShowEventLogWindowEventHandler ShowEventLogWindowEvent;
public delegate void ShowEventLogWindowEventHandler ();
public event FolderFetchedEventHandler FolderFetched;
public event FolderFetchedEventHandler FolderFetched = delegate { };
public delegate void FolderFetchedEventHandler (string remote_url, string [] warnings);
public event FolderFetchErrorHandler FolderFetchError;
public event FolderFetchErrorHandler FolderFetchError = delegate { };
public delegate void FolderFetchErrorHandler (string remote_url, string [] errors);
public event FolderFetchingHandler FolderFetching;
public event FolderFetchingHandler FolderFetching = delegate { };
public delegate void FolderFetchingHandler (double percentage);
public event FolderListChangedHandler FolderListChanged;
public delegate void FolderListChangedHandler ();
public event Action FolderListChanged = delegate { };
public event OnIdleHandler OnIdle;
public delegate void OnIdleHandler ();
public event OnSyncingHandler OnSyncing;
public delegate void OnSyncingHandler ();
public event OnErrorHandler OnError;
public delegate void OnErrorHandler ();
public event Action OnIdle = delegate { };
public event Action OnSyncing = delegate { };
public event Action OnError = delegate { };
public event InviteReceivedHandler InviteReceived;
public event InviteReceivedHandler InviteReceived = delegate { };
public delegate void InviteReceivedHandler (SparkleInvite invite);
public event NotificationRaisedEventHandler NotificationRaised;
public event NotificationRaisedEventHandler NotificationRaised = delegate { };
public delegate void NotificationRaisedEventHandler (SparkleChangeSet change_set);
public event AlertNotificationRaisedEventHandler AlertNotificationRaised;
public event AlertNotificationRaisedEventHandler AlertNotificationRaised = delegate { };
public delegate void AlertNotificationRaisedEventHandler (string title, string message);
@ -247,8 +237,6 @@ namespace SparkleShare {
new Thread (() => {
CheckRepositories ();
RepositoriesLoaded = true;
if (FolderListChanged != null)
FolderListChanged ();
}).Start ();
@ -302,12 +290,11 @@ namespace SparkleShare {
};
repo.NewChangeSet += delegate (SparkleChangeSet change_set) {
if (NotificationsEnabled && NotificationRaised != null)
if (NotificationsEnabled)
NotificationRaised (change_set);
};
repo.ConflictResolved += delegate {
if (AlertNotificationRaised != null)
AlertNotificationRaised ("Conflict detected",
"Don't worry, SparkleShare made a copy of each conflicting file.");
};
@ -380,7 +367,6 @@ namespace SparkleShare {
}
}
if (FolderListChanged != null)
FolderListChanged ();
}
}
@ -404,13 +390,13 @@ namespace SparkleShare {
}
}
if (has_syncing_repos && OnSyncing != null) {
if (has_syncing_repos) {
OnSyncing ();
} else if (has_unsynced_repos && OnError != null) {
} else if (has_unsynced_repos) {
OnError ();
} else if (OnIdle != null) {
} else {
OnIdle ();
}
}
@ -442,12 +428,9 @@ namespace SparkleShare {
if (this.fetcher != null &&
this.fetcher.IsActive) {
if (AlertNotificationRaised != null)
AlertNotificationRaised ("SparkleShare Setup seems busy",
"Please wait for it to finish");
AlertNotificationRaised ("SparkleShare Setup seems busy", "Please wait for it to finish");
} else {
if (InviteReceived != null) {
SparkleInvite invite = new SparkleInvite (args.FullPath);
// It may be that the invite we received a path to isn't
@ -459,9 +442,7 @@ namespace SparkleShare {
tries++;
if (tries > 20) {
if (AlertNotificationRaised != null)
AlertNotificationRaised ("Oh noes!", "This invite seems screwed up...");
break;
}
}
@ -472,7 +453,6 @@ namespace SparkleShare {
File.Delete (args.FullPath);
}
}
}
public void StartFetcher (string address, string required_fingerprint,
@ -485,8 +465,7 @@ namespace SparkleShare {
if (!Directory.Exists (tmp_path)) {
Directory.CreateDirectory (tmp_path);
File.SetAttributes (tmp_path,
File.GetAttributes (tmp_path) | FileAttributes.Hidden);
File.SetAttributes (tmp_path, File.GetAttributes (tmp_path) | FileAttributes.Hidden);
}
string canonical_name = Path.GetFileNameWithoutExtension (remote_path);
@ -507,9 +486,7 @@ namespace SparkleShare {
SparkleHelpers.DebugInfo ("Controller",
"Failed to load '" + backend + "' backend for '" + canonical_name + "' " + e.Message);
if (FolderFetchError != null)
FolderFetchError (
Path.Combine (address, remote_path).Replace (@"\", "/"),
FolderFetchError (Path.Combine (address, remote_path).Replace (@"\", "/"),
new string [] {"Failed to load \"" + backend + "\" backend for \"" + canonical_name + "\""});
return;
@ -518,11 +495,9 @@ namespace SparkleShare {
this.fetcher.Finished += delegate (bool repo_is_encrypted, bool repo_is_empty, string [] warnings) {
if (repo_is_encrypted && repo_is_empty) {
if (ShowSetupWindowEvent != null)
ShowSetupWindowEvent (PageType.CryptoSetup);
} else if (repo_is_encrypted) {
if (ShowSetupWindowEvent != null)
ShowSetupWindowEvent (PageType.CryptoPassword);
} else {
@ -531,14 +506,11 @@ namespace SparkleShare {
};
this.fetcher.Failed += delegate {
if (FolderFetchError != null)
FolderFetchError (this.fetcher.RemoteUrl.ToString (), this.fetcher.Errors);
StopFetcher ();
};
this.fetcher.ProgressChanged += delegate (double percentage) {
if (FolderFetching != null)
FolderFetching (percentage);
};
@ -553,8 +525,7 @@ namespace SparkleShare {
if (Directory.Exists (this.fetcher.TargetFolder)) {
try {
Directory.Delete (this.fetcher.TargetFolder, true);
SparkleHelpers.DebugInfo ("Controller",
"Deleted " + this.fetcher.TargetFolder);
SparkleHelpers.DebugInfo ("Controller", "Deleted " + this.fetcher.TargetFolder);
} catch (Exception e) {
SparkleHelpers.DebugInfo ("Controller",
@ -616,7 +587,6 @@ namespace SparkleShare {
this.config.AddFolder (target_folder_name, this.fetcher.Identifier,
this.fetcher.RemoteUrl.ToString (), backend);
if (FolderFetched != null)
FolderFetched (this.fetcher.RemoteUrl.ToString (), this.fetcher.Warnings.ToArray ());
/* TODO
@ -626,8 +596,6 @@ namespace SparkleShare {
*/
AddRepository (target_folder_path);
if (FolderListChanged != null)
FolderListChanged ();
this.fetcher.Dispose ();
@ -643,21 +611,18 @@ namespace SparkleShare {
public void ShowSetupWindow (PageType page_type)
{
if (ShowSetupWindowEvent != null)
ShowSetupWindowEvent (page_type);
}
public void ShowAboutWindow ()
{
if (ShowAboutWindowEvent != null)
ShowAboutWindowEvent ();
}
public void ShowEventLogWindow ()
{
if (ShowEventLogWindowEvent != null)
ShowEventLogWindowEvent ();
}

View file

@ -28,23 +28,19 @@ namespace SparkleShare {
public class SparkleEventLogController {
public event ShowWindowEventHandler ShowWindowEvent;
public delegate void ShowWindowEventHandler ();
public event Action ShowWindowEvent = delegate { };
public event Action HideWindowEvent = delegate { };
public event Action ContentLoadingEvent = delegate { };
public event HideWindowEventHandler HideWindowEvent;
public delegate void HideWindowEventHandler ();
public event UpdateContentEventEventHandler UpdateContentEvent;
public event UpdateContentEventEventHandler UpdateContentEvent = delegate { };
public delegate void UpdateContentEventEventHandler (string html);
public event UpdateChooserEventHandler UpdateChooserEvent;
public event UpdateChooserEventHandler UpdateChooserEvent = delegate { };
public delegate void UpdateChooserEventHandler (string [] folders);
public event UpdateSizeInfoEventHandler UpdateSizeInfoEvent;
public event UpdateSizeInfoEventHandler UpdateSizeInfoEvent = delegate { };
public delegate void UpdateSizeInfoEventHandler (string size, string history_size);
public event ContentLoadingEventHandler ContentLoadingEvent;
public delegate void ContentLoadingEventHandler ();
private string selected_folder;
@ -57,10 +53,7 @@ namespace SparkleShare {
set {
this.selected_folder = value;
if (ContentLoadingEvent != null)
ContentLoadingEvent ();
if (UpdateSizeInfoEvent != null)
UpdateSizeInfoEvent ("…", "…");
Stopwatch watch = new Stopwatch ();
@ -77,10 +70,7 @@ namespace SparkleShare {
if (watch.ElapsedMilliseconds < delay)
Thread.Sleep (delay - (int) watch.ElapsedMilliseconds);
if (UpdateContentEvent != null)
UpdateContentEvent (html);
if (UpdateSizeInfoEvent != null)
UpdateSizeInfoEvent (Size, HistorySize);
}).Start ();
@ -92,8 +82,6 @@ namespace SparkleShare {
List<SparkleChangeSet> change_sets = GetLog (this.selected_folder);
string html = GetHTMLLog (change_sets);
if (UpdateSizeInfoEvent != null)
UpdateSizeInfoEvent (Size, HistorySize);
return html;
@ -158,24 +146,17 @@ namespace SparkleShare {
Program.Controller.ShowEventLogWindowEvent += delegate {
if (this.selected_folder == null) {
new Thread (() => {
if (UpdateChooserEvent != null)
UpdateChooserEvent (Folders);
if (UpdateContentEvent != null)
UpdateContentEvent (HTML);
}).Start ();
}
if (ShowWindowEvent != null)
ShowWindowEvent ();
};
Program.Controller.OnIdle += delegate {
if (UpdateContentEvent != null)
UpdateContentEvent (HTML);
if (UpdateSizeInfoEvent != null)
UpdateSizeInfoEvent (Size, HistorySize);
};
@ -183,10 +164,7 @@ namespace SparkleShare {
if (this.selected_folder != null && !Program.Controller.Folders.Contains (this.selected_folder))
this.selected_folder = null;
if (UpdateChooserEvent != null)
UpdateChooserEvent (Folders);
if (UpdateSizeInfoEvent != null)
UpdateSizeInfoEvent (Size, HistorySize);
};
}
@ -194,9 +172,7 @@ namespace SparkleShare {
public void WindowClosed ()
{
if (HideWindowEvent != null)
HideWindowEvent ();
this.selected_folder = null;
}

View file

@ -46,34 +46,31 @@ namespace SparkleShare {
public class SparkleSetupController {
public event ShowWindowEventHandler ShowWindowEvent;
public delegate void ShowWindowEventHandler ();
public event Action ShowWindowEvent = delegate { };
public event Action HideWindowEvent = delegate { };
public event HideWindowEventHandler HideWindowEvent;
public delegate void HideWindowEventHandler ();
public event ChangePageEventHandler ChangePageEvent;
public event ChangePageEventHandler ChangePageEvent = delegate { };
public delegate void ChangePageEventHandler (PageType page, string [] warnings);
public event UpdateProgressBarEventHandler UpdateProgressBarEvent;
public event UpdateProgressBarEventHandler UpdateProgressBarEvent = delegate { };
public delegate void UpdateProgressBarEventHandler (double percentage);
public event UpdateSetupContinueButtonEventHandler UpdateSetupContinueButtonEvent;
public event UpdateSetupContinueButtonEventHandler UpdateSetupContinueButtonEvent = delegate { };
public delegate void UpdateSetupContinueButtonEventHandler (bool button_enabled);
public event UpdateCryptoSetupContinueButtonEventHandler UpdateCryptoSetupContinueButtonEvent;
public event UpdateCryptoSetupContinueButtonEventHandler UpdateCryptoSetupContinueButtonEvent = delegate { };
public delegate void UpdateCryptoSetupContinueButtonEventHandler (bool button_enabled);
public event UpdateCryptoPasswordContinueButtonEventHandler UpdateCryptoPasswordContinueButtonEvent;
public event UpdateCryptoPasswordContinueButtonEventHandler UpdateCryptoPasswordContinueButtonEvent = delegate { };
public delegate void UpdateCryptoPasswordContinueButtonEventHandler (bool button_enabled);
public event UpdateAddProjectButtonEventHandler UpdateAddProjectButtonEvent;
public event UpdateAddProjectButtonEventHandler UpdateAddProjectButtonEvent = delegate { };
public delegate void UpdateAddProjectButtonEventHandler (bool button_enabled);
public event ChangeAddressFieldEventHandler ChangeAddressFieldEvent;
public event ChangeAddressFieldEventHandler ChangeAddressFieldEvent = delegate { };
public delegate void ChangeAddressFieldEventHandler (string text, string example_text, FieldState state);
public event ChangePathFieldEventHandler ChangePathFieldEvent;
public event ChangePathFieldEventHandler ChangePathFieldEvent = delegate { };
public delegate void ChangePathFieldEventHandler (string text, string example_text, FieldState state);
public readonly List<SparklePlugin> Plugins = new List<SparklePlugin> ();
@ -167,27 +164,19 @@ namespace SparkleShare {
Program.Controller.InviteReceived += delegate (SparkleInvite invite) {
PendingInvite = invite;
if (ChangePageEvent != null)
ChangePageEvent (PageType.Invite, null);
if (ShowWindowEvent != null)
ShowWindowEvent ();
};
Program.Controller.ShowSetupWindowEvent += delegate (PageType page_type) {
if (page_type == PageType.CryptoSetup || page_type == PageType.CryptoPassword) {
if (ChangePageEvent != null)
ChangePageEvent (page_type, null);
return;
}
if (PendingInvite != null) {
WindowIsOpen = true;
if (ShowWindowEvent != null)
ShowWindowEvent ();
return;
}
@ -196,9 +185,7 @@ namespace SparkleShare {
this.current_page == PageType.CryptoSetup ||
this.current_page == PageType.CryptoPassword) {
if (ShowWindowEvent != null)
ShowWindowEvent ();
return;
}
@ -208,20 +195,14 @@ namespace SparkleShare {
this.current_page == PageType.Finished ||
this.current_page == PageType.None) {
if (ChangePageEvent != null)
ChangePageEvent (PageType.Add, null);
}
if (ShowWindowEvent != null)
ShowWindowEvent ();
} else if (!Program.Controller.FirstRun && TutorialPageNumber == 0) {
if (ChangePageEvent != null)
ChangePageEvent (PageType.Add, null);
WindowIsOpen = true;
if (ShowWindowEvent != null)
ChangePageEvent (PageType.Add, null);
ShowWindowEvent ();
}
@ -229,11 +210,7 @@ namespace SparkleShare {
}
WindowIsOpen = true;
if (ChangePageEvent != null)
ChangePageEvent (page_type, null);
if (ShowWindowEvent != null)
ShowWindowEvent ();
};
}
@ -250,8 +227,6 @@ namespace SparkleShare {
this.fetch_prior_history = false;
WindowIsOpen = false;
if (HideWindowEvent != null)
HideWindowEvent ();
}
@ -262,8 +237,6 @@ namespace SparkleShare {
email = email.Trim ();
bool fields_valid = (!string.IsNullOrEmpty (full_name) && IsValidEmail (email));
if (UpdateSetupContinueButtonEvent != null)
UpdateSetupContinueButtonEvent (fields_valid);
}
@ -295,8 +268,6 @@ namespace SparkleShare {
}).Start ();
TutorialPageNumber = 1;
if (ChangePageEvent != null)
ChangePageEvent (PageType.Tutorial, null);
}
@ -304,8 +275,6 @@ namespace SparkleShare {
public void TutorialSkipped ()
{
TutorialPageNumber = 4;
if (ChangePageEvent != null)
ChangePageEvent (PageType.Tutorial, null);
}
@ -324,15 +293,12 @@ namespace SparkleShare {
TutorialPageNumber = 0;
WindowIsOpen = false;
if (HideWindowEvent != null)
HideWindowEvent ();
if (this.create_startup_item)
Program.Controller.CreateStartupItem ();
} else {
if (ChangePageEvent != null)
ChangePageEvent (PageType.Tutorial, null);
}
}
@ -343,28 +309,22 @@ namespace SparkleShare {
SelectedPlugin = Plugins [plugin_index];
if (SelectedPlugin.Address != null) {
if (ChangeAddressFieldEvent != null)
ChangeAddressFieldEvent (SelectedPlugin.Address, "", FieldState.Disabled);
} else if (SelectedPlugin.AddressExample != null) {
if (ChangeAddressFieldEvent != null)
ChangeAddressFieldEvent (this.saved_address, SelectedPlugin.AddressExample, FieldState.Enabled);
} else {
if (ChangeAddressFieldEvent != null)
ChangeAddressFieldEvent (this.saved_address, "", FieldState.Enabled);
}
if (SelectedPlugin.Path != null) {
if (ChangePathFieldEvent != null)
ChangePathFieldEvent (SelectedPlugin.Path, "", FieldState.Disabled);
} else if (SelectedPlugin.PathExample != null) {
if (ChangePathFieldEvent != null)
ChangePathFieldEvent (this.saved_remote_path, SelectedPlugin.PathExample, FieldState.Enabled);
} else {
if (ChangePathFieldEvent != null)
ChangePathFieldEvent (this.saved_remote_path, "", FieldState.Enabled);
}
}
@ -387,10 +347,8 @@ namespace SparkleShare {
this.saved_remote_path = remote_path;
bool fields_valid = (!string.IsNullOrEmpty (address) &&
!string.IsNullOrEmpty (remote_path) &&
!remote_path.Contains ("\""));
!string.IsNullOrEmpty (remote_path) && !remote_path.Contains ("\""));
if (UpdateAddProjectButtonEvent != null)
UpdateAddProjectButtonEvent (fields_valid);
}
@ -400,7 +358,6 @@ namespace SparkleShare {
SyncingFolder = Path.GetFileNameWithoutExtension (remote_path);
ProgressBarPercentage = 1.0;
if (ChangePageEvent != null)
ChangePageEvent (PageType.Syncing, null);
address = address.Trim ();
@ -453,7 +410,6 @@ namespace SparkleShare {
}
}
if (ChangePageEvent != null)
ChangePageEvent (PageType.Finished, warnings);
Program.Controller.FolderFetched -= AddPageFetchedDelegate;
@ -466,7 +422,6 @@ namespace SparkleShare {
SyncingFolder = "";
PreviousUrl = remote_url;
if (ChangePageEvent != null)
ChangePageEvent (PageType.Error, errors);
Program.Controller.FolderFetched -= AddPageFetchedDelegate;
@ -477,8 +432,6 @@ namespace SparkleShare {
private void SyncingPageFetchingDelegate (double percentage)
{
ProgressBarPercentage = percentage;
if (UpdateProgressBarEvent != null)
UpdateProgressBarEvent (ProgressBarPercentage);
}
@ -489,13 +442,10 @@ namespace SparkleShare {
PreviousAddress = PendingInvite.Address;
PreviousPath = PendingInvite.RemotePath;
if (ChangePageEvent != null)
ChangePageEvent (PageType.Syncing, null);
if (!PendingInvite.Accept ()) {
if (ChangePageEvent != null)
ChangePageEvent (PageType.Error, null);
return;
}
@ -515,7 +465,6 @@ namespace SparkleShare {
SyncingFolder = "";
PendingInvite = null;
if (ChangePageEvent != null)
ChangePageEvent (PageType.Finished, warnings);
Program.Controller.FolderFetched -= AddPageFetchedDelegate;
@ -528,7 +477,6 @@ namespace SparkleShare {
SyncingFolder = "";
PreviousUrl = remote_url;
if (ChangePageEvent != null)
ChangePageEvent (PageType.Error, errors);
Program.Controller.FolderFetched -= AddPageFetchedDelegate;
@ -541,13 +489,11 @@ namespace SparkleShare {
{
Program.Controller.StopFetcher ();
if (ChangePageEvent != null) {
if (PendingInvite != null)
ChangePageEvent (PageType.Invite, null);
else
ChangePageEvent (PageType.Add, null);
}
}
public void ErrorPageCompleted ()
@ -562,8 +508,6 @@ namespace SparkleShare {
public void CheckCryptoSetupPage (string password)
{
bool valid_password = (password.Length > 0 && !password.Contains (" "));
if (UpdateCryptoSetupContinueButtonEvent != null)
UpdateCryptoSetupContinueButtonEvent (valid_password);
}
@ -571,8 +515,6 @@ namespace SparkleShare {
public void CheckCryptoPasswordPage (string password)
{
bool password_correct = Program.Controller.CheckPassword (password);
if (UpdateCryptoPasswordContinueButtonEvent != null)
UpdateCryptoPasswordContinueButtonEvent (password_correct);
}
@ -592,8 +534,6 @@ namespace SparkleShare {
public void CryptoPasswordPageCompleted (string password)
{
ProgressBarPercentage = 100.0;
if (ChangePageEvent != null)
ChangePageEvent (PageType.Syncing, null);
new Thread (() => {
@ -620,8 +560,6 @@ namespace SparkleShare {
this.fetch_prior_history = false;
this.current_page = PageType.None;
if (HideWindowEvent != null)
HideWindowEvent ();
}

View file

@ -36,19 +36,19 @@ namespace SparkleShare {
public class SparkleStatusIconController {
public event UpdateIconEventHandler UpdateIconEvent;
public event UpdateIconEventHandler UpdateIconEvent = delegate { };
public delegate void UpdateIconEventHandler (int icon_frame);
public event UpdateMenuEventHandler UpdateMenuEvent;
public event UpdateMenuEventHandler UpdateMenuEvent = delegate { };
public delegate void UpdateMenuEventHandler (IconState state);
public event UpdateStatusItemEventHandler UpdateStatusItemEvent;
public event UpdateStatusItemEventHandler UpdateStatusItemEvent = delegate { };
public delegate void UpdateStatusItemEventHandler (string state_text);
public event UpdateQuitItemEventHandler UpdateQuitItemEvent;
public event UpdateQuitItemEventHandler UpdateQuitItemEvent = delegate { };
public delegate void UpdateQuitItemEventHandler (bool quit_item_enabled);
public event UpdateOpenRecentEventsItemEventHandler UpdateOpenRecentEventsItemEvent;
public event UpdateOpenRecentEventsItemEventHandler UpdateOpenRecentEventsItemEvent = delegate { };
public delegate void UpdateOpenRecentEventsItemEventHandler (bool open_recent_events_item_enabled);
public IconState CurrentState = IconState.Idle;
@ -138,13 +138,8 @@ namespace SparkleShare {
StateText = "Files up to date " + FolderSize;
}
if (UpdateStatusItemEvent != null)
UpdateStatusItemEvent (StateText);
if (UpdateOpenRecentEventsItemEvent != null)
UpdateOpenRecentEventsItemEvent (OpenRecentEventsItemEnabled);
if (UpdateMenuEvent != null)
UpdateMenuEvent (CurrentState);
};
@ -158,18 +153,12 @@ namespace SparkleShare {
StateText = "Files up to date " + FolderSize;
}
if (UpdateQuitItemEvent != null)
UpdateQuitItemEvent (QuitItemEnabled);
if (UpdateStatusItemEvent != null)
UpdateStatusItemEvent (StateText);
this.animation.Stop ();
if (UpdateIconEvent != null)
UpdateIconEvent (0);
if (UpdateMenuEvent != null)
UpdateMenuEvent (CurrentState);
};
@ -202,10 +191,7 @@ namespace SparkleShare {
StateText += " " + ProgressPercentage + "% " + ProgressSpeed;
if (UpdateStatusItemEvent != null)
UpdateStatusItemEvent (StateText);
if (UpdateQuitItemEvent != null)
UpdateQuitItemEvent (QuitItemEnabled);
this.animation.Start ();
@ -215,15 +201,11 @@ namespace SparkleShare {
CurrentState = IconState.Error;
StateText = "Failed to send some changes";
if (UpdateQuitItemEvent != null)
UpdateQuitItemEvent (QuitItemEnabled);
if (UpdateStatusItemEvent != null)
UpdateStatusItemEvent (StateText);
this.animation.Stop ();
if (UpdateIconEvent != null)
UpdateIconEvent (-1);
};
}
@ -279,7 +261,6 @@ namespace SparkleShare {
else
this.animation_frame_number = 0;
if (UpdateIconEvent != null)
UpdateIconEvent (this.animation_frame_number);
};
}