diff --git a/ModernKeePass/ImportFormats/CsvImportFormat.cs b/ModernKeePass/ImportFormats/CsvImportFormat.cs new file mode 100644 index 0000000..8d8ea3c --- /dev/null +++ b/ModernKeePass/ImportFormats/CsvImportFormat.cs @@ -0,0 +1,13 @@ +using Windows.Storage; +using ModernKeePass.Interfaces; + +namespace ModernKeePass.ImportFormats +{ + public class CsvImportFormat: IFormat + { + public IPwEntity Import(IStorageFile source) + { + throw new System.NotImplementedException(); + } + } +} \ No newline at end of file diff --git a/ModernKeePass/ImportFormats/NullImportFormat.cs b/ModernKeePass/ImportFormats/NullImportFormat.cs new file mode 100644 index 0000000..19b208c --- /dev/null +++ b/ModernKeePass/ImportFormats/NullImportFormat.cs @@ -0,0 +1,13 @@ +using Windows.Storage; +using ModernKeePass.Interfaces; + +namespace ModernKeePass.ImportFormats +{ + public class NullImportFormat: IFormat + { + public IPwEntity Import(IStorageFile source) + { + throw new System.NotImplementedException(); + } + } +} \ No newline at end of file diff --git a/ModernKeePass/ModernKeePass.App.csproj b/ModernKeePass/ModernKeePass.App.csproj index e69740b..32c70a5 100644 --- a/ModernKeePass/ModernKeePass.App.csproj +++ b/ModernKeePass/ModernKeePass.App.csproj @@ -117,6 +117,8 @@ + + diff --git a/ModernKeePass/ViewModels/EntryVm.cs b/ModernKeePass/ViewModels/EntryVm.cs index a4765a3..7978a45 100644 --- a/ModernKeePass/ViewModels/EntryVm.cs +++ b/ModernKeePass/ViewModels/EntryVm.cs @@ -204,7 +204,7 @@ namespace ModernKeePass.ViewModels private readonly IDatabaseService _database; private readonly IResourceService _resource; private bool _isEditMode; - private bool _isDirty; + private bool _isDirty = true; private bool _isRevealPassword; private double _passwordLength = 25; private bool _isVisible = true; diff --git a/ModernKeePass/ViewModels/NewVm.cs b/ModernKeePass/ViewModels/NewVm.cs index bfe2334..594f085 100644 --- a/ModernKeePass/ViewModels/NewVm.cs +++ b/ModernKeePass/ViewModels/NewVm.cs @@ -1,5 +1,7 @@ -using Windows.Storage; +using System; +using Windows.Storage; using Windows.UI.Xaml.Controls; +using ModernKeePass.Converters; using ModernKeePass.Interfaces; using ModernKeePassLib; @@ -23,14 +25,16 @@ namespace ModernKeePass.ViewModels private void CreateSampleData(IDatabaseService database) { + var converter = new IntToSymbolConverter(); + var bankingGroup = database.RootGroup.AddNewGroup("Banking"); - bankingGroup.IconId = (int) Symbol.Calculator; + bankingGroup.IconId = (int)converter.ConvertBack(Symbol.Calculator, null, null, string.Empty); var emailGroup = database.RootGroup.AddNewGroup("Email"); - emailGroup.IconId = (int) Symbol.Mail; + emailGroup.IconId = (int)converter.ConvertBack(Symbol.Mail, null, null, string.Empty); var internetGroup = database.RootGroup.AddNewGroup("Internet"); - internetGroup.IconId = (int) Symbol.World; + internetGroup.IconId = (int)converter.ConvertBack(Symbol.World, null, null, string.Empty); var sample1 = database.RootGroup.AddNewEntry(); sample1.Name = "Sample Entry"; diff --git a/ModernKeePass/Views/MainPageFrames/NewDatabasePage.xaml b/ModernKeePass/Views/MainPageFrames/NewDatabasePage.xaml index 623949e..adc35ee 100644 --- a/ModernKeePass/Views/MainPageFrames/NewDatabasePage.xaml +++ b/ModernKeePass/Views/MainPageFrames/NewDatabasePage.xaml @@ -32,7 +32,7 @@ - + CSV diff --git a/ModernKeePass/Views/MainPageFrames/NewDatabasePage.xaml.cs b/ModernKeePass/Views/MainPageFrames/NewDatabasePage.xaml.cs index 29d6461..316431e 100644 --- a/ModernKeePass/Views/MainPageFrames/NewDatabasePage.xaml.cs +++ b/ModernKeePass/Views/MainPageFrames/NewDatabasePage.xaml.cs @@ -2,7 +2,10 @@ using System.Collections.Generic; using Windows.Storage.Pickers; using Windows.UI.Xaml; +using Windows.UI.Xaml.Controls; +using Windows.UI.Xaml.Navigation; using ModernKeePass.Events; +using ModernKeePass.ImportFormats; using ModernKeePass.Services; using ModernKeePass.ViewModels; @@ -15,12 +18,20 @@ namespace ModernKeePass.Views /// public sealed partial class NewDatabasePage { + private Frame _mainFrame; + public NewVm Model => (NewVm)DataContext; public NewDatabasePage() { InitializeComponent(); } + + protected override void OnNavigatedTo(NavigationEventArgs e) + { + base.OnNavigatedTo(e); + _mainFrame = e.Parameter as Frame; + } private async void ButtonBase_OnClick(object sender, RoutedEventArgs e) { @@ -52,8 +63,23 @@ namespace ModernKeePass.Views private void CompositeKeyUserControl_OnValidationChecked(object sender, PasswordEventArgs e) { - Model.PopulateInitialData(DatabaseService.Instance, new SettingsService()); - Frame.Navigate(typeof(GroupDetailPage)); + Model.PopulateInitialData(DatabaseService.Instance, new SettingsService(), new ImportService()); + + _mainFrame.Navigate(typeof(GroupDetailPage)); + } + + private void Selector_OnSelectionChanged(object sender, SelectionChangedEventArgs e) + { + var comboBox = sender as ComboBox; + switch (comboBox?.SelectedIndex) + { + case 0: + Model.ImportFormat = new CsvImportFormat(); + break; + default: + Model.ImportFormat = new NullImportFormat(); + break; + } } } }