New SQLite version
[pithos-ms-client] / trunk / Pithos.Client.WPF / Preferences / AddAccountView.xaml.cs
index 85acda3..b05bd08 100644 (file)
@@ -1,4 +1,45 @@
-using System;
+#region
+/* -----------------------------------------------------------------------
+ * <copyright file="AddAccountView.xaml.cs" company="GRNet">
+ * 
+ * Copyright 2011-2012 GRNET S.A. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or
+ * without modification, are permitted provided that the following
+ * conditions are met:
+ *
+ *   1. Redistributions of source code must retain the above
+ *      copyright notice, this list of conditions and the following
+ *      disclaimer.
+ *
+ *   2. Redistributions in binary form must reproduce the above
+ *      copyright notice, this list of conditions and the following
+ *      disclaimer in the documentation and/or other materials
+ *      provided with the distribution.
+ *
+ *
+ * THIS SOFTWARE IS PROVIDED BY GRNET S.A. ``AS IS'' AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GRNET S.A OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and
+ * documentation are those of the authors and should not be
+ * interpreted as representing official policies, either expressed
+ * or implied, of GRNET S.A.
+ * </copyright>
+ * -----------------------------------------------------------------------
+ */
+#endregion
+using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
@@ -10,6 +51,7 @@ using System.Windows.Input;
 using System.Windows.Media;
 using System.Windows.Media.Imaging;
 using System.Windows.Shapes;
+using Microsoft.Windows.Controls;
 
 namespace Pithos.Client.WPF.Preferences
 {
@@ -22,5 +64,48 @@ namespace Pithos.Client.WPF.Preferences
         {
             InitializeComponent();
         }
+
+
+        private void Automatic_Checked(object sender, RoutedEventArgs e)
+        {
+            ChooseMethodPage.NextPage = AutoAccountPage;
+            ChooseMethodPage.CanSelectNextPage = true;
+        }
+
+        private void Manually_Checked(object sender, RoutedEventArgs e)
+        {
+            ChooseMethodPage.NextPage = ManualAccountPage;
+            ChooseMethodPage.CanSelectNextPage = true;
+        }
+
+
+        Stack<WizardPage>  _history=new Stack<WizardPage>();
+
+        private void AccountWizard_PageChanged(object sender, RoutedEventArgs e)
+        {
+            WizardPage lastPage=null;
+            if (_history.Count>1 && _history.ElementAt(1) == AccountWizard.CurrentPage)
+            {
+                _history.Pop();
+                _history.Pop();
+            }
+            if (_history.Count > 0)
+                lastPage = _history.Peek();
+
+            if (lastPage != null)
+                AccountWizard.CurrentPage.PreviousPage = lastPage;
+
+            _history.Push(AccountWizard.CurrentPage);
+
+        }
+
+        private void OnTargetUpdated(object sender, DataTransferEventArgs e)
+        {
+            //It is not enough to change the value of the CanSelectNextPage property of the page to enable
+            //the next page button.
+            //Must force the re-evaluation of the NextPage command's CanExecute method             
+            if (e.Property == WizardPage.CanSelectNextPageProperty)
+                CommandManager.InvalidateRequerySuggested();
+        }
     }
 }