From fbcc354809f6ef548944f547ae46d511cc2f7a62 Mon Sep 17 00:00:00 2001 From: Geoffroy BONNEVILLE Date: Thu, 7 May 2020 16:01:59 +0200 Subject: [PATCH] Additional fields rendering done Removed lots of unused classes --- .../ResourceDictionaries/Styles.xaml | 5 ++ ModernKeePass/Strings/en-US/Resources.resw | 4 +- ModernKeePass/Strings/fr-FR/Resources.resw | 4 +- ModernKeePass/Views/EntryDetailPage.xaml | 53 +++++++++++-------- ModernKeePass/Views/MainPage.xaml | 12 ++--- .../MainPageFrames/RecentDatabasesPage.xaml | 29 +++++----- ModernKeePass/Views/SettingsPage.xaml | 12 ++--- .../UserControls/BreadCrumbUserControl.xaml | 46 ---------------- .../BreadCrumbUserControl.xaml.cs | 29 ---------- .../HamburgerMenuUserControl.xaml | 18 +------ ModernKeePass/Win81App.csproj | 7 --- .../en-us/baselisting/releaseNotes.txt | 2 + .../fr-fr/baselisting/releaseNotes.txt | 2 + ...tViewWithDisable.cs => DisableListView.cs} | 2 +- .../Controls/SelectableTemplateListView.cs | 43 +++++++++++++++ .../FirstItemDataTemplateSelector.cs | 18 ------- .../SelectableDataTemplateSelector.cs | 18 ------- WinAppCommon/ViewModels/RecentVm.cs | 24 +-------- WinAppCommon/WinAppCommon.projitems | 5 +- 19 files changed, 122 insertions(+), 211 deletions(-) delete mode 100644 ModernKeePass/Views/UserControls/BreadCrumbUserControl.xaml delete mode 100644 ModernKeePass/Views/UserControls/BreadCrumbUserControl.xaml.cs rename WinAppCommon/Controls/{ListViewWithDisable.cs => DisableListView.cs} (92%) create mode 100644 WinAppCommon/Controls/SelectableTemplateListView.cs delete mode 100644 WinAppCommon/TemplateSelectors/FirstItemDataTemplateSelector.cs delete mode 100644 WinAppCommon/TemplateSelectors/SelectableDataTemplateSelector.cs 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 @@ - -