From 3314393e699a5acef6a32a1fe4fdf6fc4ca3ad04 Mon Sep 17 00:00:00 2001 From: Hylke Bons Date: Sat, 20 Nov 2010 23:15:26 +0000 Subject: [PATCH] [invitation] Move folder fetching to controller --- SparkleShare/SparkleInvitation.cs | 105 +++++------------------------- 1 file changed, 18 insertions(+), 87 deletions(-) diff --git a/SparkleShare/SparkleInvitation.cs b/SparkleShare/SparkleInvitation.cs index efd621c5..7e719655 100644 --- a/SparkleShare/SparkleInvitation.cs +++ b/SparkleShare/SparkleInvitation.cs @@ -152,9 +152,6 @@ namespace SparkleShare { reject_button.Clicked += delegate { - // Delete the invitation - File.Delete (FilePath); - Destroy (); }; @@ -164,7 +161,24 @@ namespace SparkleShare { string url = "ssh://git@" + Server + "/" + Folder; SparkleHelpers.DebugInfo ("Git", "[" + Folder + "] Formed URL: " + url); - FetchFolder (url, Folder); + + + SparkleShare.Controller.FolderFetched += delegate { + + Application.Invoke (delegate { + ShowSuccessPage (Folder); + }); + + }; + + SparkleShare.Controller.FolderFetchError += delegate { + + Application.Invoke (delegate { ShowErrorPage (); }); + + }; + + + SparkleShare.Controller.FetchFolder (url, Folder); }; @@ -186,89 +200,6 @@ namespace SparkleShare { } - // TODO: Use Controller.FetchFolder for this - // (careful, because it's a bit different from the Intro one) - private void FetchFolder (string url, string name) - { - - string canonical_name = System.IO.Path.GetFileNameWithoutExtension (name); - string tmp_folder = SparkleHelpers.CombineMore (SparklePaths.SparkleTmpPath, canonical_name); - - bool folder_exists = Directory.Exists ( - SparkleHelpers.CombineMore (SparklePaths.SparklePath, canonical_name)); - - int i = 1; - while (folder_exists) { - - i++; - folder_exists = Directory.Exists ( - SparkleHelpers.CombineMore (SparklePaths.SparklePath, canonical_name + " (" + i + ")")); - - } - - string target_folder_name = canonical_name; - - if (i > 1) - target_folder_name += " (" + i + ")"; - - - SparkleFetcher fetcher = new SparkleFetcher (url, tmp_folder); - - - fetcher.CloningStarted += delegate { - - SparkleHelpers.DebugInfo ("Git", "[" + canonical_name + "] Cloning Repository"); - - }; - - - fetcher.CloningFinished += delegate { - - SparkleHelpers.DebugInfo ("Git", "[" + canonical_name + "] Repository cloned"); - - SparkleHelpers.ClearAttributes (tmp_folder); - - try { - - string target_folder_path = SparkleHelpers.CombineMore (SparklePaths.SparklePath, - target_folder_name); - - Directory.Move (tmp_folder, target_folder_path); - - } catch (Exception e) { - - SparkleHelpers.DebugInfo ("Git", "[" + name + "] Error moving folder: " + e.Message); - - } - - Application.Invoke (delegate { ShowSuccessPage (target_folder_name); }); - - }; - - - fetcher.CloningFailed += delegate { - - SparkleHelpers.DebugInfo ("Git", "[" + canonical_name + "] Cloning failed"); - - if (Directory.Exists (tmp_folder)) { - - SparkleHelpers.ClearAttributes (tmp_folder); - Directory.Delete (tmp_folder, true); - - SparkleHelpers.DebugInfo ("Config", "[" + name + "] Deleted temporary directory"); - - } - - Application.Invoke (delegate { ShowErrorPage (); }); - - }; - - ShowSyncingPage (canonical_name); - - fetcher.Clone (); - - } - private void ShowErrorPage () {