// This file is part of the Noddybox.WindowsPhone C# suite.
//
// Noddybox.Emulation is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Noddybox.Emulation is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Noddybox.Emulation. If not, see .
//
// Copyright (c) 2012 Ian Cowburn
//
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Noddybox.WindowsPhone.Silverlight.ViewModels;
using System.ComponentModel;
namespace Noddybox.WindowsPhone.Silverlight
{
///
/// Provides the save dialog user control.
///
public partial class SaveDialog : UserControl
{
#region Private data
private FileDialogViewModel model;
#endregion
#region Constructors
///
/// Construct a save dialog.
///
public SaveDialog()
{
InitializeComponent();
if (!DesignerProperties.IsInDesignTool)
{
model = new FileDialogViewModel("/");
DataContext = model;
}
}
#endregion
#region Properties
public static readonly DependencyProperty StartPathProperty =
DependencyProperty.Register("StartPath", typeof(string), typeof(SaveDialog), null);
// new PropertyMetadata("StartPath", new PropertyChangedCallback(SaveDialog.OnStartPathChanged)));
public static readonly DependencyProperty OkButtonTextProperty =
DependencyProperty.Register("OkButtonText", typeof(string), typeof(SaveDialog), null);
// new PropertyMetadata("StartPath", new PropertyChangedCallback(SaveDialog.OnStartPathChanged)));
private static void OnStartPathChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
}
///
/// Set the start path
///
public string StartPath
{
set
{
if (!DesignerProperties.IsInDesignTool)
{
model.Path = value;
}
}
}
///
/// Set the contents of the OK button.
///
public string OkButtonText
{
set
{
}
}
///
/// Set the contents of the Cancel button.
///
public string CancelButtonText
{
set {cancelButton.Content = value;}
}
#endregion
#region Event handlers
private void OnFilenameKeyUp(object sender, KeyEventArgs e)
{
model.Filename = fileName.Text;
}
private void OnOKButton(object sender, RoutedEventArgs e)
{
}
private void OnCancelButton(object sender, RoutedEventArgs e)
{
}
private void OnFileListSelection(object sender, SelectionChangedEventArgs e)
{
if (e.AddedItems.Count > 0)
{
model.FileSelected((FileInfo)e.AddedItems[0]);
}
}
#endregion
}
}