From 19cbc6f77d6c9a7e1e18c25104d0fa533babd7eb Mon Sep 17 00:00:00 2001 From: Stefan Markovic Date: Mon, 8 Nov 2021 19:01:48 +0100 Subject: [PATCH] Remove template selector --- .../PowerRenameUILib/ExplorerItem.cpp | 33 ++-- .../PowerRenameUILib/ExplorerItem.h | 4 +- .../PowerRenameUILib/ExplorerItem.idl | 2 +- .../ExplorerItemTemplateSelector.cpp | 37 ---- .../ExplorerItemTemplateSelector.h | 28 --- .../ExplorerItemTemplateSelector.idl | 11 -- .../powerrename/PowerRenameUILib/MainWindow.h | 1 - .../PowerRenameUILib/MainWindow.xaml | 163 +++++------------- .../PowerRenameUILib/PowerRenameUILib.vcxproj | 6 +- 9 files changed, 65 insertions(+), 220 deletions(-) delete mode 100644 src/modules/powerrename/PowerRenameUILib/ExplorerItemTemplateSelector.cpp delete mode 100644 src/modules/powerrename/PowerRenameUILib/ExplorerItemTemplateSelector.h delete mode 100644 src/modules/powerrename/PowerRenameUILib/ExplorerItemTemplateSelector.idl diff --git a/src/modules/powerrename/PowerRenameUILib/ExplorerItem.cpp b/src/modules/powerrename/PowerRenameUILib/ExplorerItem.cpp index 7a6611cccb..fdd88785f5 100644 --- a/src/modules/powerrename/PowerRenameUILib/ExplorerItem.cpp +++ b/src/modules/powerrename/PowerRenameUILib/ExplorerItem.cpp @@ -2,15 +2,17 @@ #include "ExplorerItem.h" #include "ExplorerItem.g.cpp" +namespace { + const wchar_t fileImagePath[] = L"ms-appx:///Assets/file.png"; + const wchar_t folderImagePath[] = L"ms-appx:///Assets/folder.png"; +} + namespace winrt::PowerRenameUILib::implementation { ExplorerItem::ExplorerItem(int32_t id, hstring const& original, hstring const& renamed, int32_t type, uint32_t depth, bool checked) : - m_id{ id }, m_idStr{ std::to_wstring(id) }, m_original{ original }, m_renamed{ renamed }, m_type{ type }, m_indentation{ depth * 20 }, m_checked{ checked } + m_id{ id }, m_idStr{ std::to_wstring(id) }, m_original{ original }, m_renamed{ renamed }, m_type{ type }, m_depth{ depth }, m_checked{ checked } { - if (m_type == static_cast(ExplorerItemType::Folder)) - { - m_children = winrt::single_threaded_observable_vector(); - } + m_imagePath = (m_type == static_cast(ExplorerItemType::Folder)) ? folderImagePath : fileImagePath; } int32_t ExplorerItem::Id() @@ -52,7 +54,12 @@ namespace winrt::PowerRenameUILib::implementation } double ExplorerItem::Indentation() { - return m_indentation; + return static_cast(m_depth) * 25; + } + + hstring ExplorerItem::ImagePath() + { + return m_imagePath; } int32_t ExplorerItem::Type() @@ -83,20 +90,6 @@ namespace winrt::PowerRenameUILib::implementation } } - winrt::Windows::Foundation::Collections::IObservableVector ExplorerItem::Children() - { - return m_children; - } - - void ExplorerItem::Children(Windows::Foundation::Collections::IObservableVector const& value) - { - if (m_children != value) - { - m_children = value; - m_propertyChanged(*this, Windows::UI::Xaml::Data::PropertyChangedEventArgs{ L"Children" }); - } - } - winrt::event_token ExplorerItem::PropertyChanged(winrt::Windows::UI::Xaml::Data::PropertyChangedEventHandler const& handler) { return m_propertyChanged.add(handler); diff --git a/src/modules/powerrename/PowerRenameUILib/ExplorerItem.h b/src/modules/powerrename/PowerRenameUILib/ExplorerItem.h index 035ec4aca5..707d2093fc 100644 --- a/src/modules/powerrename/PowerRenameUILib/ExplorerItem.h +++ b/src/modules/powerrename/PowerRenameUILib/ExplorerItem.h @@ -21,6 +21,7 @@ namespace winrt::PowerRenameUILib::implementation hstring Renamed(); void Renamed(hstring const& value); double Indentation(); + hstring ImagePath(); int32_t Type(); void Type(int32_t value); bool Checked(); @@ -35,7 +36,8 @@ namespace winrt::PowerRenameUILib::implementation hstring m_idStr; winrt::hstring m_original; winrt::hstring m_renamed; - uint32_t m_indentation; + uint32_t m_depth; + hstring m_imagePath; winrt::Windows::Foundation::Collections::IObservableVector m_children; int32_t m_type; bool m_checked; diff --git a/src/modules/powerrename/PowerRenameUILib/ExplorerItem.idl b/src/modules/powerrename/PowerRenameUILib/ExplorerItem.idl index 38dd190d05..41aa1b9d98 100644 --- a/src/modules/powerrename/PowerRenameUILib/ExplorerItem.idl +++ b/src/modules/powerrename/PowerRenameUILib/ExplorerItem.idl @@ -8,8 +8,8 @@ namespace PowerRenameUILib String Original; String Renamed; Double Indentation { get; }; + String ImagePath { get; }; Int32 Type; Boolean Checked; - Windows.Foundation.Collections.IObservableVector Children; } } diff --git a/src/modules/powerrename/PowerRenameUILib/ExplorerItemTemplateSelector.cpp b/src/modules/powerrename/PowerRenameUILib/ExplorerItemTemplateSelector.cpp deleted file mode 100644 index 500c7eb3df..0000000000 --- a/src/modules/powerrename/PowerRenameUILib/ExplorerItemTemplateSelector.cpp +++ /dev/null @@ -1,37 +0,0 @@ -#include "pch.h" -#include "ExplorerItemTemplateSelector.h" -#include "ExplorerItemTemplateSelector.g.cpp" - -namespace winrt::PowerRenameUILib::implementation -{ - Windows::UI::Xaml::DataTemplate ExplorerItemTemplateSelector::SelectTemplateCore(IInspectable const& item) - { - ExplorerItem explorerItem = (ExplorerItem&)item; - return explorerItem.Type() == 0 ? m_folderTemplate : m_fileTemplate; - } - - Windows::UI::Xaml::DataTemplate ExplorerItemTemplateSelector::SelectTemplateCore(IInspectable const&, Windows::UI::Xaml::DependencyObject const&) - { - return Windows::UI::Xaml::DataTemplate(); - } - - winrt::Windows::UI::Xaml::DataTemplate ExplorerItemTemplateSelector::FolderTemplate() - { - return m_folderTemplate; - } - - void ExplorerItemTemplateSelector::FolderTemplate(winrt::Windows::UI::Xaml::DataTemplate const& value) - { - m_folderTemplate = value; - } - - winrt::Windows::UI::Xaml::DataTemplate ExplorerItemTemplateSelector::FileTemplate() - { - return m_fileTemplate; - } - - void ExplorerItemTemplateSelector::FileTemplate(winrt::Windows::UI::Xaml::DataTemplate const& value) - { - m_fileTemplate = value; - } -} diff --git a/src/modules/powerrename/PowerRenameUILib/ExplorerItemTemplateSelector.h b/src/modules/powerrename/PowerRenameUILib/ExplorerItemTemplateSelector.h deleted file mode 100644 index 35c46638a2..0000000000 --- a/src/modules/powerrename/PowerRenameUILib/ExplorerItemTemplateSelector.h +++ /dev/null @@ -1,28 +0,0 @@ -#pragma once -#include "ExplorerItemTemplateSelector.g.h" - -namespace winrt::PowerRenameUILib::implementation -{ - struct ExplorerItemTemplateSelector : ExplorerItemTemplateSelectorT - { - ExplorerItemTemplateSelector() = default; - - Windows::UI::Xaml::DataTemplate SelectTemplateCore(IInspectable const&); - Windows::UI::Xaml::DataTemplate SelectTemplateCore(IInspectable const&, Windows::UI::Xaml::DependencyObject const&); - - winrt::Windows::UI::Xaml::DataTemplate FolderTemplate(); - void FolderTemplate(winrt::Windows::UI::Xaml::DataTemplate const& value); - winrt::Windows::UI::Xaml::DataTemplate FileTemplate(); - void FileTemplate(winrt::Windows::UI::Xaml::DataTemplate const& value); - - private: - Windows::UI::Xaml::DataTemplate m_folderTemplate{ nullptr }; - Windows::UI::Xaml::DataTemplate m_fileTemplate{ nullptr }; - }; -} -namespace winrt::PowerRenameUILib::factory_implementation -{ - struct ExplorerItemTemplateSelector : ExplorerItemTemplateSelectorT - { - }; -} diff --git a/src/modules/powerrename/PowerRenameUILib/ExplorerItemTemplateSelector.idl b/src/modules/powerrename/PowerRenameUILib/ExplorerItemTemplateSelector.idl deleted file mode 100644 index f31cf94294..0000000000 --- a/src/modules/powerrename/PowerRenameUILib/ExplorerItemTemplateSelector.idl +++ /dev/null @@ -1,11 +0,0 @@ -namespace PowerRenameUILib -{ - [bindable] - [default_interface] runtimeclass ExplorerItemTemplateSelector : Windows.UI.Xaml.Controls.DataTemplateSelector - { - ExplorerItemTemplateSelector(); - - Windows.UI.Xaml.DataTemplate FolderTemplate; - Windows.UI.Xaml.DataTemplate FileTemplate; - } -} diff --git a/src/modules/powerrename/PowerRenameUILib/MainWindow.h b/src/modules/powerrename/PowerRenameUILib/MainWindow.h index 720c7175d3..c1055b47a4 100644 --- a/src/modules/powerrename/PowerRenameUILib/MainWindow.h +++ b/src/modules/powerrename/PowerRenameUILib/MainWindow.h @@ -7,7 +7,6 @@ #include "MainWindow.g.h" #include "PatternSnippet.h" #include "ExplorerItem.h" -#include "ExplorerItemTemplateSelector.h" namespace winrt::PowerRenameUILib::implementation { diff --git a/src/modules/powerrename/PowerRenameUILib/MainWindow.xaml b/src/modules/powerrename/PowerRenameUILib/MainWindow.xaml index c4c408c20f..d36faa6709 100644 --- a/src/modules/powerrename/PowerRenameUILib/MainWindow.xaml +++ b/src/modules/powerrename/PowerRenameUILib/MainWindow.xaml @@ -1,93 +1,5 @@  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -129,35 +41,52 @@ - - - - - - - - + SelectionMode="None" + XYFocusKeyboardNavigation="Enabled" + IsItemClickEnabled="False" + Grid.ColumnSpan="6" + ItemsSource="{x:Bind ExplorerItems, Mode=OneWay}" + Margin="4,0,0,0" + Grid.Row="1"> + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/modules/powerrename/PowerRenameUILib/PowerRenameUILib.vcxproj b/src/modules/powerrename/PowerRenameUILib/PowerRenameUILib.vcxproj index 5886229b5f..3042adf48b 100644 --- a/src/modules/powerrename/PowerRenameUILib/PowerRenameUILib.vcxproj +++ b/src/modules/powerrename/PowerRenameUILib/PowerRenameUILib.vcxproj @@ -54,7 +54,8 @@ false - + + @@ -108,7 +109,6 @@ - MainWindow.xaml Code @@ -146,7 +146,6 @@ - MainWindow.xaml Code @@ -166,7 +165,6 @@ App.xaml - MainWindow.xaml Code