Author: davidmak
Date: 2006-11-22 15:12:49 -0500 (Wed, 22 Nov 2006)
New Revision: 68368

Modified:
   trunk/monodevelop/Core/src/MonoDevelop.Ide/ChangeLog
   
trunk/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Dialogs/FileSelectorDialog.cs
Log:
2006-11-22 David Makovsk?\195?\189 (Yakeen) <[EMAIL PROTECTED]>

        * MonoDevelop.Ide.Gui.Dialogs/FileSelectorDialog.cs: remember last used 
filter
        


Modified: trunk/monodevelop/Core/src/MonoDevelop.Ide/ChangeLog
===================================================================
--- trunk/monodevelop/Core/src/MonoDevelop.Ide/ChangeLog        2006-11-22 
20:09:00 UTC (rev 68367)
+++ trunk/monodevelop/Core/src/MonoDevelop.Ide/ChangeLog        2006-11-22 
20:12:49 UTC (rev 68368)
@@ -1,3 +1,7 @@
+2006-11-22 David Makovský (Yakeen) <[EMAIL PROTECTED]>
+
+       * MonoDevelop.Ide.Gui.Dialogs/FileSelectorDialog.cs: remember last used 
filter
+       
 2006-11-21 David Makovský (Yakeen) <[EMAIL PROTECTED]>
        
        * MonoDevelop.Ide.Tasks/CommentTasksView.cs: fixed casting

Modified: 
trunk/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Dialogs/FileSelectorDialog.cs
===================================================================
--- 
trunk/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Dialogs/FileSelectorDialog.cs
        2006-11-22 20:09:00 UTC (rev 68367)
+++ 
trunk/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Dialogs/FileSelectorDialog.cs
        2006-11-22 20:12:49 UTC (rev 68368)
@@ -33,6 +33,7 @@
 using MonoDevelop.Ide.Gui.Content;
 using MonoDevelop.Core;
 using MonoDevelop.Core.AddIns;
+using MonoDevelop.Core.Properties;
 using MonoDevelop.Projects.Text;
 using Gtk;
 
@@ -41,6 +42,7 @@
        public class FileSelectorDialog: FileSelector
        {
                Gtk.OptionMenu encodingMenu;
+               Hashtable filterPairs;
                int selectOption;
                int firstEncIndex;
                
@@ -61,11 +63,13 @@
                                //nothing there..       
                        }
                        
+                       filterPairs = new Hashtable ();
                        foreach (string filterStr in filters)
                        {
                                string[] parts = filterStr.Split ('|');
                                Gtk.FileFilter filter = new Gtk.FileFilter ();
                                filter.Name = parts[0];
+                               filterPairs[parts[0]] = parts[1];
                                foreach (string ext in parts[1].Split (';'))
                                {
                                        filter.AddPattern (ext);
@@ -77,10 +81,22 @@
                        Gtk.FileFilter allFilter = new Gtk.FileFilter ();
                        allFilter.Name = GettextCatalog.GetString ("All Files");
                        allFilter.AddPattern ("*");
+                       filterPairs[GettextCatalog.GetString ("All Files")] = 
("*");
                        AddFilter (allFilter);
                        
+                       // Load last used filter
+                       string lastPattern = 
(string)Runtime.Properties.GetProperty ("Monodevelop.FileSelector.LastPattern", 
"*");
+                       foreach (FileFilter filter in this.Filters)
+                       {
+                               string pattern = filterPairs[filter.Name] as 
string;
+                               if (! String.IsNullOrEmpty (pattern) && pattern 
== lastPattern)
+                               {
+                                       this.Filter = filter;
+                                       break;
+                               }
+                       }
+                       
                        // Add the text encoding selector
-                       
                        HBox box = new HBox ();
                        Label lab = new Label (GettextCatalog.GetString 
("_Character Coding:"));
                        lab.Xalign = 0;
@@ -201,5 +217,15 @@
                        } else
                                ExtraWidget.Sensitive = false;
                }
+               
+               public override void Dispose ()
+               {
+                       // Save active filter
+                       string pattern = filterPairs[this.Filter.Name] as 
string;
+                       if (pattern != null)
+                               Runtime.Properties.SetProperty 
("Monodevelop.FileSelector.LastPattern", pattern);
+
+                       base.Dispose ();
+               }
        }
 }

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to