2017-10-30 18:34:38 +01:00
|
|
|
|
using System.Collections.ObjectModel;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using Windows.UI.Xaml.Controls;
|
|
|
|
|
using ModernKeePass.Common;
|
|
|
|
|
using ModernKeePass.Interfaces;
|
|
|
|
|
using ModernKeePass.Pages;
|
|
|
|
|
|
|
|
|
|
namespace ModernKeePass.ViewModels
|
|
|
|
|
{
|
|
|
|
|
public class SettingsVM : NotifyPropertyChangedBase, IHasSelectableObject
|
|
|
|
|
{
|
|
|
|
|
private ListMenuItemVm _selectedItem;
|
|
|
|
|
|
|
|
|
|
public ObservableCollection<ListMenuItemVm> MenuItems { get; set; }
|
|
|
|
|
public ISelectableModel SelectedItem
|
|
|
|
|
{
|
|
|
|
|
get { return _selectedItem; }
|
|
|
|
|
set
|
|
|
|
|
{
|
|
|
|
|
if (_selectedItem == value) return;
|
|
|
|
|
if (_selectedItem != null)
|
|
|
|
|
{
|
|
|
|
|
_selectedItem.IsSelected = false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
SetProperty(ref _selectedItem, (ListMenuItemVm)value);
|
|
|
|
|
|
|
|
|
|
if (_selectedItem != null)
|
|
|
|
|
{
|
|
|
|
|
_selectedItem.IsSelected = true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public SettingsVM()
|
|
|
|
|
{
|
|
|
|
|
MenuItems = new ObservableCollection<ListMenuItemVm>
|
|
|
|
|
{
|
|
|
|
|
new ListMenuItemVm { Title = "Database", SymbolIcon = Symbol.Setting, PageType = typeof(SettingsDatabasePage), IsSelected = true },
|
2017-11-07 18:45:35 +01:00
|
|
|
|
new ListMenuItemVm { Title = "Security", SymbolIcon = Symbol.Permissions, PageType = typeof(SettingsSecurityPage) },
|
2017-10-30 18:34:38 +01:00
|
|
|
|
//new ListMenuItemVm { Title = "General", SymbolIcon = Symbol.Edit, PageType = typeof(SettingsGeneralPage) }
|
|
|
|
|
};
|
|
|
|
|
SelectedItem = MenuItems.FirstOrDefault(m => m.IsSelected);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|