Version
[pithos-ms-client] / trunk / Pithos.Client.WPF / Shell / ShellViewModel.cs
index 5dbb37e..f86f46e 100644 (file)
@@ -125,6 +125,8 @@ namespace Pithos.Client.WPF {
            private readonly PollAgent _pollAgent;
            private readonly NetworkAgent _networkAgent;
 
+           [Import]
+           public Selectives Selectives { get; set; }
 
            private MiniStatusViewModel _miniStatus;
 
@@ -316,6 +318,10 @@ namespace Pithos.Client.WPF {
                                PithosMonitor monitor;
                                var accountName = account.AccountName;
 
+                           MigrateFolders(account);
+
+                           Selectives.SetIsSelectiveEnabled(account.AccountKey, account.SelectiveSyncEnabled);
+
                                if (Monitors.TryGetValue(account.AccountKey, out monitor))
                                {
                                        //If the account is active
@@ -365,8 +371,21 @@ namespace Pithos.Client.WPF {
                        });
                }
 
+           private void MigrateFolders(AccountSettings account)
+           {
+               var oldOthersFolder=Path.Combine(account.RootPath, FolderConstants.OldOthersFolder);
+               var newOthersFolder = Path.Combine(account.RootPath, FolderConstants.OthersFolder);
+               var oldFolder = new DirectoryInfo(oldOthersFolder);
+               var newFolder = new DirectoryInfo(newOthersFolder);
+
+            if (oldFolder.Exists && !newFolder.Exists)
+            {
+                oldFolder.MoveTo(newOthersFolder);
+            }
+           }
 
-               protected override void OnViewLoaded(object view)
+
+           protected override void OnViewLoaded(object view)
                {
                        UpdateStatus();
                        var window = (Window)view;            
@@ -403,7 +422,7 @@ namespace Pithos.Client.WPF {
         {
             get
             {
-                return String.Format("{0}\r\n{1}", "Status Window", "Enable / Dissable the stuatus window");
+                return String.Format("{0}\r\n{1}", "Status Window", "Enable / Disable the status window");
             }
         }
 
@@ -484,6 +503,7 @@ namespace Pithos.Client.WPF {
                public void ShowPreferences(string currentTab)
                {
                        //Settings.Reload();
+            
                    var preferences = new PreferencesViewModel(_windowManager, _events, this, Settings,currentTab);
                    _windowManager.ShowDialog(preferences);
                        
@@ -997,6 +1017,7 @@ namespace Pithos.Client.WPF {
                        PithosMonitor monitor;
                        if (Monitors.TryGetValue(message.Account.AccountKey, out monitor))
                        {
+                    Selectives.SetIsSelectiveEnabled(message.Account.AccountKey, message.Enabled);
                            monitor.SetSelectivePaths(message.Uris, message.Added, message.Removed);
                        }