From 85626a6da2e7a3236def66968e23f9b7493f55a0 Mon Sep 17 00:00:00 2001 From: Hylke Bons Date: Fri, 25 Mar 2011 10:24:46 +0000 Subject: [PATCH] [controller] Prevent some crashes clicking logs byy only showing them once the list is done loading --- SparkleShare/SparkleController.cs | 53 +++++++++++++++++-------------- 1 file changed, 30 insertions(+), 23 deletions(-) diff --git a/SparkleShare/SparkleController.cs b/SparkleShare/SparkleController.cs index 8cdcf15f..49926724 100644 --- a/SparkleShare/SparkleController.cs +++ b/SparkleShare/SparkleController.cs @@ -131,11 +131,22 @@ namespace SparkleShare { RemoveRepository (args.FullPath); + if (FolderListChanged != null) + FolderListChanged (); + + + FolderSize = GetFolderSize (); + + if (FolderSizeChanged != null) + FolderSizeChanged (FolderSize); + }; // Add the repository when a create event occurs watcher.Created += delegate (object o, FileSystemEventArgs args) { - + + // TODO: Needs to wait until the copying over is done + // Handle invitations when the user saves an // invitation into the SparkleShare folder if (args.Name.EndsWith (".sparkle") && !FirstRun) { @@ -147,15 +158,22 @@ namespace SparkleShare { string folder = xml_doc.GetElementsByTagName ("folder") [0].InnerText; string token = xml_doc.GetElementsByTagName ("token") [0].InnerText; - // TODO: this is broken :\ + // FIXME: this is broken :\ if (OnInvitation != null) OnInvitation (server, folder, token); - // FIXME: big repos seem to often fail because they don't pass this test } else if (SparkleRepo.IsRepo (args.FullPath)) { AddRepository (args.FullPath); + if (FolderListChanged != null) + FolderListChanged (); + + FolderSize = GetFolderSize (); + + if (FolderSizeChanged != null) + FolderSizeChanged (FolderSize); + } }; @@ -583,16 +601,6 @@ namespace SparkleShare { Repositories.Add (repo); - - if (FolderListChanged != null) - FolderListChanged (); - - - FolderSize = GetFolderSize (); - - if (FolderSizeChanged != null) - FolderSizeChanged (FolderSize); - } @@ -618,16 +626,6 @@ namespace SparkleShare { } - - if (FolderListChanged != null) - FolderListChanged (); - - - FolderSize = GetFolderSize (); - - if (FolderSizeChanged != null) - FolderSizeChanged (FolderSize); - } @@ -641,6 +639,15 @@ namespace SparkleShare { foreach (string folder_path in Directory.GetDirectories (SparklePaths.SparklePath)) AddRepository (folder_path); + if (FolderListChanged != null) + FolderListChanged (); + + + FolderSize = GetFolderSize (); + + if (FolderSizeChanged != null) + FolderSizeChanged (FolderSize); + }