diff --git a/ModernKeePass/ResourceDictionaries/Styles.xaml b/ModernKeePass/ResourceDictionaries/Styles.xaml
index db4c4ed..ee0f9b7 100644
--- a/ModernKeePass/ResourceDictionaries/Styles.xaml
+++ b/ModernKeePass/ResourceDictionaries/Styles.xaml
@@ -16,17 +16,22 @@
WhiteSmoke
DarkGray
#FFF0F0F0
+ #FF777777
+
+
diff --git a/ModernKeePass/Strings/en-US/Resources.resw b/ModernKeePass/Strings/en-US/Resources.resw
index 6d369ab..188f861 100644
--- a/ModernKeePass/Strings/en-US/Resources.resw
+++ b/ModernKeePass/Strings/en-US/Resources.resw
@@ -525,8 +525,8 @@
Main
-
- Other
+
+ Presentation
Icon
diff --git a/ModernKeePass/Strings/fr-FR/Resources.resw b/ModernKeePass/Strings/fr-FR/Resources.resw
index 09d162c..bba4cf5 100644
--- a/ModernKeePass/Strings/fr-FR/Resources.resw
+++ b/ModernKeePass/Strings/fr-FR/Resources.resw
@@ -525,8 +525,8 @@
Principal
-
- Autres
+
+ Affichage
Icone
diff --git a/ModernKeePass/Views/EntryDetailPage.xaml b/ModernKeePass/Views/EntryDetailPage.xaml
index 8c78946..5e648ca 100644
--- a/ModernKeePass/Views/EntryDetailPage.xaml
+++ b/ModernKeePass/Views/EntryDetailPage.xaml
@@ -388,7 +388,7 @@
-
+
@@ -440,9 +440,9 @@
-
+
-
+
@@ -468,23 +468,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -496,7 +480,34 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ModernKeePass/Views/MainPage.xaml b/ModernKeePass/Views/MainPage.xaml
index f87a9f9..7b24eef 100644
--- a/ModernKeePass/Views/MainPage.xaml
+++ b/ModernKeePass/Views/MainPage.xaml
@@ -53,7 +53,7 @@
-
-
+
-
-
+
+
@@ -80,8 +80,8 @@
-
-
+
+
diff --git a/ModernKeePass/Views/MainPageFrames/RecentDatabasesPage.xaml b/ModernKeePass/Views/MainPageFrames/RecentDatabasesPage.xaml
index 3a3fc80..f581056 100644
--- a/ModernKeePass/Views/MainPageFrames/RecentDatabasesPage.xaml
+++ b/ModernKeePass/Views/MainPageFrames/RecentDatabasesPage.xaml
@@ -3,14 +3,11 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:converters="using:ModernKeePass.Converters"
xmlns:userControls="using:ModernKeePass.Views.UserControls"
+ xmlns:controls="using:ModernKeePass.Controls"
x:Class="ModernKeePass.Views.RecentDatabasesPage"
mc:Ignorable="d"
DataContext="{Binding Source={StaticResource Locator}, Path=Recent}">
-
-
-
@@ -22,11 +19,10 @@
-
-
+
@@ -35,17 +31,24 @@
-
+
-
-
-
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ModernKeePass/Views/SettingsPage.xaml b/ModernKeePass/Views/SettingsPage.xaml
index 97870cd..95e1e7b 100644
--- a/ModernKeePass/Views/SettingsPage.xaml
+++ b/ModernKeePass/Views/SettingsPage.xaml
@@ -48,7 +48,7 @@
-
-
+
-
-
+
+
@@ -79,8 +79,8 @@
-
-
+
+
diff --git a/ModernKeePass/Views/UserControls/BreadCrumbUserControl.xaml b/ModernKeePass/Views/UserControls/BreadCrumbUserControl.xaml
deleted file mode 100644
index 724f06b..0000000
--- a/ModernKeePass/Views/UserControls/BreadCrumbUserControl.xaml
+++ /dev/null
@@ -1,46 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/ModernKeePass/Views/UserControls/BreadCrumbUserControl.xaml.cs b/ModernKeePass/Views/UserControls/BreadCrumbUserControl.xaml.cs
deleted file mode 100644
index 62fa708..0000000
--- a/ModernKeePass/Views/UserControls/BreadCrumbUserControl.xaml.cs
+++ /dev/null
@@ -1,29 +0,0 @@
-using System.Collections.Generic;
-using Windows.UI.Xaml;
-using ModernKeePass.Application.Common.Interfaces;
-
-// The User Control item template is documented at http://go.microsoft.com/fwlink/?LinkId=234236
-
-namespace ModernKeePass.Views.UserControls
-{
- public sealed partial class BreadCrumbUserControl
- {
- public BreadCrumbUserControl()
- {
- InitializeComponent();
- }
-
- public IEnumerable ItemsSource
- {
- get { return (IEnumerable)GetValue(ItemsSourceProperty); }
- set { SetValue(ItemsSourceProperty, value); }
- }
-
- public static readonly DependencyProperty ItemsSourceProperty =
- DependencyProperty.Register(
- nameof(ItemsSource),
- typeof(IEnumerable),
- typeof(BreadCrumbUserControl),
- new PropertyMetadata(new Stack(), (o, args) => { }));
- }
-}
diff --git a/ModernKeePass/Views/UserControls/HamburgerMenuUserControl.xaml b/ModernKeePass/Views/UserControls/HamburgerMenuUserControl.xaml
index 279864c..cfc6286 100644
--- a/ModernKeePass/Views/UserControls/HamburgerMenuUserControl.xaml
+++ b/ModernKeePass/Views/UserControls/HamburgerMenuUserControl.xaml
@@ -4,7 +4,6 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:templateSelectors="using:ModernKeePass.TemplateSelectors"
xmlns:interactivity="using:Microsoft.Xaml.Interactivity"
xmlns:core="using:Microsoft.Xaml.Interactions.Core"
xmlns:converters="using:ModernKeePass.Converters"
@@ -88,17 +87,7 @@
IsSynchronizedWithCurrentItem="False"
Background="{ThemeResource AppBarBackgroundThemeBrush}"
ItemContainerStyle="{StaticResource ListViewLeftIndicatorItemExpanded}">
-
-
-
-
-
-
-
-
-
-
-
+
@@ -109,10 +98,7 @@
-
-
-
-
+
diff --git a/ModernKeePass/Win81App.csproj b/ModernKeePass/Win81App.csproj
index ed6ec2c..7410c03 100644
--- a/ModernKeePass/Win81App.csproj
+++ b/ModernKeePass/Win81App.csproj
@@ -117,9 +117,6 @@
SettingsWelcomePage.xaml
-
- BreadCrumbUserControl.xaml
-
ColorPickerUserControl.xaml
@@ -208,10 +205,6 @@
Designer
MSBuild:Compile
-
- Designer
- MSBuild:Compile
-
Designer
MSBuild:Compile
diff --git a/ModernKeePass/appMetadata/en-us/baselisting/releaseNotes.txt b/ModernKeePass/appMetadata/en-us/baselisting/releaseNotes.txt
index e69de29..b58f037 100644
--- a/ModernKeePass/appMetadata/en-us/baselisting/releaseNotes.txt
+++ b/ModernKeePass/appMetadata/en-us/baselisting/releaseNotes.txt
@@ -0,0 +1,2 @@
+Support for additional fields
+Support for attachments
\ No newline at end of file
diff --git a/ModernKeePass/appMetadata/fr-fr/baselisting/releaseNotes.txt b/ModernKeePass/appMetadata/fr-fr/baselisting/releaseNotes.txt
index e69de29..2e7aba2 100644
--- a/ModernKeePass/appMetadata/fr-fr/baselisting/releaseNotes.txt
+++ b/ModernKeePass/appMetadata/fr-fr/baselisting/releaseNotes.txt
@@ -0,0 +1,2 @@
+Ajout des champs additionnels
+Ajout des pièces-jointes
\ No newline at end of file
diff --git a/WinAppCommon/Controls/ListViewWithDisable.cs b/WinAppCommon/Controls/DisableListView.cs
similarity index 92%
rename from WinAppCommon/Controls/ListViewWithDisable.cs
rename to WinAppCommon/Controls/DisableListView.cs
index ff6c284..bfc915f 100644
--- a/WinAppCommon/Controls/ListViewWithDisable.cs
+++ b/WinAppCommon/Controls/DisableListView.cs
@@ -4,7 +4,7 @@ using ModernKeePass.Domain.Interfaces;
namespace ModernKeePass.Controls
{
- public class ListViewWithDisable: ListView
+ public class DisableListView: ListView
{
protected override void PrepareContainerForItemOverride(DependencyObject element, object item)
{
diff --git a/WinAppCommon/Controls/SelectableTemplateListView.cs b/WinAppCommon/Controls/SelectableTemplateListView.cs
new file mode 100644
index 0000000..2961b85
--- /dev/null
+++ b/WinAppCommon/Controls/SelectableTemplateListView.cs
@@ -0,0 +1,43 @@
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
+
+namespace ModernKeePass.Controls
+{
+ public class SelectableTemplateListView: ListView
+ {
+ public DataTemplate SelectedItemTemplate
+ {
+ get { return (DataTemplate)GetValue(SelectedItemTemplateProperty); }
+ set { SetValue(SelectedItemTemplateProperty, value); }
+ }
+ public static readonly DependencyProperty SelectedItemTemplateProperty =
+ DependencyProperty.Register(
+ nameof(SelectedItemTemplate),
+ typeof(DataTemplate),
+ typeof(PasswordBoxWithButton),
+ new PropertyMetadata(null, (o, args) => { }));
+
+ public SelectableTemplateListView()
+ {
+ SelectionChanged += SelectableTemplateListView_SelectionChanged;
+ }
+
+ private void SelectableTemplateListView_SelectionChanged(object sender, SelectionChangedEventArgs e)
+ {
+ var listView = sender as ListView;
+ if (listView == null) return;
+
+ foreach (var item in e.AddedItems)
+ {
+ var listViewItem = listView.ContainerFromItem(item) as ListViewItem;
+ if (listViewItem != null) listViewItem.ContentTemplate = SelectedItemTemplate;
+ }
+ //Remove DataTemplate for unselected items
+ foreach (var item in e.RemovedItems)
+ {
+ var listViewItem = listView.ContainerFromItem(item) as ListViewItem;
+ if (listViewItem != null) listViewItem.ContentTemplate = ItemTemplate;
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/WinAppCommon/TemplateSelectors/FirstItemDataTemplateSelector.cs b/WinAppCommon/TemplateSelectors/FirstItemDataTemplateSelector.cs
deleted file mode 100644
index e363d22..0000000
--- a/WinAppCommon/TemplateSelectors/FirstItemDataTemplateSelector.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-using Windows.UI.Xaml;
-using Windows.UI.Xaml.Controls;
-
-namespace ModernKeePass.TemplateSelectors
-{
- public class FirstItemDataTemplateSelector: DataTemplateSelector
- {
- public DataTemplate FirstItem { get; set; }
- public DataTemplate OtherItem { get; set; }
-
- protected override DataTemplate SelectTemplateCore(object item, DependencyObject container)
- {
- var itemsControl = ItemsControl.ItemsControlFromItemContainer(container);
- var returnTemplate = itemsControl?.IndexFromContainer(container) == 0 ? FirstItem : OtherItem;
- return returnTemplate;
- }
- }
-}
\ No newline at end of file
diff --git a/WinAppCommon/TemplateSelectors/SelectableDataTemplateSelector.cs b/WinAppCommon/TemplateSelectors/SelectableDataTemplateSelector.cs
deleted file mode 100644
index cd3bd8b..0000000
--- a/WinAppCommon/TemplateSelectors/SelectableDataTemplateSelector.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-using Windows.UI.Xaml;
-using Windows.UI.Xaml.Controls;
-using ModernKeePass.Domain.Interfaces;
-
-namespace ModernKeePass.TemplateSelectors
-{
- public class SelectableDataTemplateSelector: DataTemplateSelector
- {
- public DataTemplate TrueItem { get; set; }
- public DataTemplate FalseItem { get; set; }
-
- protected override DataTemplate SelectTemplateCore(object item, DependencyObject container)
- {
- var isSelectableItem = item as ISelectableModel;
- return isSelectableItem != null && isSelectableItem.IsSelected ? TrueItem : FalseItem;
- }
- }
-}
diff --git a/WinAppCommon/ViewModels/RecentVm.cs b/WinAppCommon/ViewModels/RecentVm.cs
index 3f0d5f0..9422112 100644
--- a/WinAppCommon/ViewModels/RecentVm.cs
+++ b/WinAppCommon/ViewModels/RecentVm.cs
@@ -5,15 +5,13 @@ using GalaSoft.MvvmLight;
using GalaSoft.MvvmLight.Command;
using Messages;
using ModernKeePass.Application.Common.Interfaces;
-using ModernKeePass.Domain.Interfaces;
using ModernKeePass.ViewModels.ListItems;
namespace ModernKeePass.ViewModels
{
- public class RecentVm : ViewModelBase, IHasSelectableObject
+ public class RecentVm : ViewModelBase
{
private readonly IRecentProxy _recent;
- private ISelectableModel _selectedItem;
private ObservableCollection _recentItems;
public ObservableCollection RecentItems
@@ -21,24 +19,6 @@ namespace ModernKeePass.ViewModels
get { return _recentItems; }
set { Set(() => RecentItems, ref _recentItems, value); }
}
-
- public ISelectableModel SelectedItem
- {
- get { return _selectedItem; }
- set
- {
- if (_selectedItem == value) return;
- if (_selectedItem != null)
- {
- _selectedItem.IsSelected = false;
- }
-
- Set(() => SelectedItem, ref _selectedItem, value);
-
- if (_selectedItem == null) return;
- _selectedItem.IsSelected = true;
- }
- }
public ICommand ClearAllCommand { get; }
@@ -54,8 +34,6 @@ namespace ModernKeePass.ViewModels
{
var recentItems = _recent.GetAll().Select(r => new RecentItemVm(r));
RecentItems = new ObservableCollection(recentItems);
- if (RecentItems.Count > 0)
- SelectedItem = RecentItems[0];
}
private void ClearAll()
diff --git a/WinAppCommon/WinAppCommon.projitems b/WinAppCommon/WinAppCommon.projitems
index 61853f4..1230735 100644
--- a/WinAppCommon/WinAppCommon.projitems
+++ b/WinAppCommon/WinAppCommon.projitems
@@ -16,8 +16,9 @@
-
+
+
@@ -40,8 +41,6 @@
-
-