From 58c2a03ac1208fac32f0c191bc5dde1623d1ccf4 Mon Sep 17 00:00:00 2001 From: Leonardo Robol Date: Wed, 10 Feb 2010 10:02:48 +0100 Subject: [PATCH] Tolta della porcheria. --- Dizzy/EventManager.cs | 34 ++++++++++++++++++++++++++++++++++ Dizzy/FileTreeView.cs | 5 ----- Dizzy/MainWindow.cs | 8 +------- Dizzy/Protocol.cs | 6 ++++-- 4 files changed, 39 insertions(+), 14 deletions(-) diff --git a/Dizzy/EventManager.cs b/Dizzy/EventManager.cs index 393e660..d9c0888 100644 --- a/Dizzy/EventManager.cs +++ b/Dizzy/EventManager.cs @@ -20,6 +20,8 @@ namespace Dizzy public class EventManager { + + public static MessageDialog searchInProgress = null; public EventManager () {} @@ -39,5 +41,37 @@ namespace Dizzy return false; }); } + + // Metodi per gestire la ricerca + public static void SearchStarted () { + + // Questo significa che stiamo giĆ  effettuando una ricerca + if (searchInProgress != null) + return; + + searchInProgress = new MessageDialog(null, + DialogFlags.Modal, + MessageType.Info, + ButtonsType.None, + true, ""); + searchInProgress.Markup = "Ricerca in corso, attendere."; + GLib.Idle.Add (delegate { + EventManager.searchInProgress.Run (); + return false; + }); + } + + public static void SearchFinished () { + if (searchInProgress == null) + return; + else + { + GLib.Idle.Add(delegate { + searchInProgress.Destroy (); + searchInProgress = null; + return false; + }); + } + } } } diff --git a/Dizzy/FileTreeView.cs b/Dizzy/FileTreeView.cs index 409fd56..a0cf207 100644 --- a/Dizzy/FileTreeView.cs +++ b/Dizzy/FileTreeView.cs @@ -77,11 +77,6 @@ namespace Dizzy } } - public void SearchInProgress () - { - this.Clear (); - this.AddFile (new File("Ricerca in corso...", " ")); - } public File GetFileFromPath (TreePath path) { diff --git a/Dizzy/MainWindow.cs b/Dizzy/MainWindow.cs index 24ea7e1..59fffae 100644 --- a/Dizzy/MainWindow.cs +++ b/Dizzy/MainWindow.cs @@ -53,8 +53,6 @@ public partial class MainWindow : Gtk.Window } - - protected void OnDeleteEvent (object sender, DeleteEventArgs a) { if (protocol != null) @@ -71,7 +69,7 @@ public partial class MainWindow : Gtk.Window protected virtual void OnSearchRequested (object sender, System.EventArgs e) { this.files.Clear (); - this.files.SearchInProgress (); + EventManager.SearchStarted (); this.protocol.Search (searchBox.Text, ref this.files); } @@ -80,10 +78,6 @@ public partial class MainWindow : Gtk.Window File f = this.files.GetFileFromPath (args.Path); - // Piccolo hack per evitare che ci freghino :) - if(f.name == "Ricerca in corso..." && f.user == " ") - return; - // this.tasks.AddTask (f.name, 24); string download_folder = this.downloadpathchooser.Filename; this.protocol.Download(f, ref tasks, download_folder); diff --git a/Dizzy/Protocol.cs b/Dizzy/Protocol.cs index 79a59af..e61738b 100644 --- a/Dizzy/Protocol.cs +++ b/Dizzy/Protocol.cs @@ -101,12 +101,14 @@ namespace Dizzy } this.fileTreeView.Clear (); - if (files.Count == 0) - this.fileTreeView.AddFile (new File("Nessun risultato", " ")); + foreach(File f in files) { this.fileTreeView.AddFile (f); } + EventManager.SearchFinished (); + if (files.Count == 0) + EventManager.ErrorMessage ("Nessun risultato trovato!"); } public void UpdateFileList () -- 2.1.4