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;
+ }
}
}
}