diff --git a/.github/actions/spell-check/expect.txt b/.github/actions/spell-check/expect.txt index 0fca1c9093..ff2b6f0af3 100644 --- a/.github/actions/spell-check/expect.txt +++ b/.github/actions/spell-check/expect.txt @@ -672,7 +672,7 @@ GUITHREADINFO GValue gwl GWLP -haccel +HACCEL hangeul hanselman hardcoded diff --git a/src/modules/powerrename/PowerRenameUILib/MainWindow.idl b/src/modules/powerrename/PowerRenameUILib/MainWindow.idl index c5eeb5756c..7d76457086 100644 --- a/src/modules/powerrename/PowerRenameUILib/MainWindow.idl +++ b/src/modules/powerrename/PowerRenameUILib/MainWindow.idl @@ -1,10 +1,9 @@ import "ExplorerItem.idl"; import "PatternSnippet.idl"; -import "UIUpdates.idl"; namespace PowerRenameUI { - [default_interface] runtimeclass MainWindow : Microsoft.UI.Xaml.Window + [default_interface] runtimeclass MainWindow : Microsoft.UI.Xaml.Window, Microsoft.UI.Xaml.Data.INotifyPropertyChanged { MainWindow(); @@ -15,13 +14,11 @@ namespace PowerRenameUI Windows.Foundation.Collections.IObservableVector SearchRegExShortcuts { get; }; Windows.Foundation.Collections.IObservableVector DateTimeShortcuts { get; }; - UIUpdates UIUpdatesItem { get; }; + String OriginalCount; + String RenamedCount; void AddExplorerItem(Int32 id, String original, String renamed, Int32 type, UInt32 depth, Boolean checked); void UpdateExplorerItem(Int32 id, String newName); void UpdateRenamedExplorerItem(Int32 id, String newOriginalName); - void AppendSearchMRU(String value); - void AppendReplaceMRU(String value); - } } diff --git a/src/modules/powerrename/PowerRenameUILib/MainWindow.xaml b/src/modules/powerrename/PowerRenameUILib/MainWindow.xaml index 046a03346f..1406f4582a 100644 --- a/src/modules/powerrename/PowerRenameUILib/MainWindow.xaml +++ b/src/modules/powerrename/PowerRenameUILib/MainWindow.xaml @@ -46,7 +46,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/src/modules/powerrename/PowerRenameUILib/MainWindow.xaml.cpp b/src/modules/powerrename/PowerRenameUILib/MainWindow.xaml.cpp index 501d469080..3fe75ea4c9 100644 --- a/src/modules/powerrename/PowerRenameUILib/MainWindow.xaml.cpp +++ b/src/modules/powerrename/PowerRenameUILib/MainWindow.xaml.cpp @@ -29,8 +29,6 @@ using namespace winrt; using namespace Windows::UI::Xaml; using namespace winrt::Microsoft::Windows::ApplicationModel::Resources; -#define MAX_LOADSTRING 100 - // Non-localizable const std::wstring PowerRenameUIIco = L"PowerRenameUI.ico"; const wchar_t c_WindowClass[] = L"PowerRename"; @@ -52,7 +50,7 @@ void handleTheme() { namespace winrt::PowerRenameUI::implementation { MainWindow::MainWindow() : - m_instance{ nullptr }, m_allSelected{ true }, m_managerEvents{ this } + m_allSelected{ true }, m_managerEvents{ this } { auto windowNative{ this->try_as<::IWindowNative>() }; winrt::check_bool(windowNative); @@ -199,6 +197,36 @@ namespace winrt::PowerRenameUI::implementation SearchReplaceChanged(); } + winrt::event_token MainWindow::PropertyChanged(Microsoft::UI::Xaml::Data::PropertyChangedEventHandler const& handler) + { + return m_propertyChanged.add(handler); + } + + void MainWindow::PropertyChanged(winrt::event_token const& token) noexcept + { + m_propertyChanged.remove(token); + } + + hstring MainWindow::OriginalCount() + { + return hstring{ std::to_wstring(m_explorerItems.Size()) }; + } + + void MainWindow::OriginalCount(hstring) + { + m_propertyChanged(*this, Microsoft::UI::Xaml::Data::PropertyChangedEventArgs{ L"OriginalCount" }); + } + + hstring MainWindow::RenamedCount() + { + return hstring{ std::to_wstring(m_renamingCount) }; + } + + void MainWindow::RenamedCount(hstring) + { + m_propertyChanged(*this, Microsoft::UI::Xaml::Data::PropertyChangedEventArgs{ L"RenamedCount" }); + } + void MainWindow::AddExplorerItem(int32_t id, hstring const& original, hstring const& renamed, int32_t type, uint32_t depth, bool checked) { auto newItem = winrt::make(id, original, renamed, type, depth, checked); @@ -234,16 +262,6 @@ namespace winrt::PowerRenameUI::implementation } } - void MainWindow::AppendSearchMRU(hstring const& value) - { - m_searchMRUList.Append(value); - } - - void MainWindow::AppendReplaceMRU(hstring const& value) - { - m_replaceMRUList.Append(value); - } - PowerRenameUI::ExplorerItem MainWindow::FindById(int32_t id) { return m_explorerItemsMap.contains(id) ? m_explorerItemsMap[id] : NULL; @@ -418,7 +436,7 @@ namespace winrt::PowerRenameUI::implementation { if (!item.empty()) { - AppendSearchMRU(hstring{ item }); + m_searchMRUList.Append(item); } } } @@ -432,7 +450,7 @@ namespace winrt::PowerRenameUI::implementation { if (!item.empty()) { - AppendReplaceMRU(hstring{ item }); + m_replaceMRUList.Append(item); } } } @@ -950,8 +968,8 @@ namespace winrt::PowerRenameUI::implementation button_rename().IsEnabled(renamingCount > 0); } - m_uiUpdatesItem.OriginalCount(std::to_wstring(m_explorerItems.Size())); - m_uiUpdatesItem.RenamedCount(std::to_wstring(m_renamingCount)); + OriginalCount(hstring{ std::to_wstring(m_explorerItems.Size()) }); + RenamedCount(hstring{ std::to_wstring(m_renamingCount) }); } HRESULT MainWindow::OnItemAdded(_In_ IPowerRenameItem* renameItem) @@ -1016,21 +1034,6 @@ namespace winrt::PowerRenameUI::implementation return S_OK; } - HRESULT MainWindow::OnError(_In_ IPowerRenameItem*) - { - return S_OK; - } - - HRESULT MainWindow::OnRegExStarted(_In_ DWORD) - { - return S_OK; - } - - HRESULT MainWindow::OnRegExCanceled(_In_ DWORD) - { - return S_OK; - } - HRESULT MainWindow::OnRegExCompleted(_In_ DWORD) { _TRACER_; @@ -1054,11 +1057,6 @@ namespace winrt::PowerRenameUI::implementation return S_OK; } - HRESULT MainWindow::OnRenameStarted() - { - return S_OK; - } - HRESULT MainWindow::OnRenameCompleted(bool closeUIWindowAfterRenaming) { _TRACER_; diff --git a/src/modules/powerrename/PowerRenameUILib/MainWindow.xaml.h b/src/modules/powerrename/PowerRenameUILib/MainWindow.xaml.h index 8e5fc6d2c1..b2c0cb3e56 100644 --- a/src/modules/powerrename/PowerRenameUILib/MainWindow.xaml.h +++ b/src/modules/powerrename/PowerRenameUILib/MainWindow.xaml.h @@ -80,13 +80,16 @@ namespace winrt::PowerRenameUI::implementation winrt::Windows::Foundation::Collections::IObservableVector ExplorerItems() { return m_explorerItems; } winrt::Windows::Foundation::Collections::IObservableVector SearchRegExShortcuts() { return m_searchRegExShortcuts; } winrt::Windows::Foundation::Collections::IObservableVector DateTimeShortcuts() { return m_dateTimeShortcuts; } - PowerRenameUI::UIUpdates UIUpdatesItem() { return m_uiUpdatesItem; } + hstring OriginalCount(); + void OriginalCount(hstring value); + hstring RenamedCount(); + void RenamedCount(hstring value); + winrt::event_token PropertyChanged(winrt::Microsoft::UI::Xaml::Data::PropertyChangedEventHandler const& handler); + void PropertyChanged(winrt::event_token const& token) noexcept; void AddExplorerItem(int32_t id, hstring const& original, hstring const& renamed, int32_t type, uint32_t depth, bool checked); void UpdateExplorerItem(int32_t id, hstring const& newName); void UpdateRenamedExplorerItem(int32_t id, hstring const& newOriginalName); - void AppendSearchMRU(hstring const& value); - void AppendReplaceMRU(hstring const& value); void SelectAll(winrt::Windows::Foundation::IInspectable const& sender, winrt::Microsoft::UI::Xaml::RoutedEventArgs const& e); void ShowAll(winrt::Windows::Foundation::IInspectable const& sender, winrt::Microsoft::UI::Xaml::RoutedEventArgs const& e); @@ -94,7 +97,6 @@ namespace winrt::PowerRenameUI::implementation private: bool m_allSelected; - PowerRenameUI::UIUpdates m_uiUpdatesItem; inline PowerRenameUI::ExplorerItem FindById(int32_t id); winrt::Windows::Foundation::Collections::IObservableVector m_searchMRUList; @@ -108,11 +110,11 @@ namespace winrt::PowerRenameUI::implementation HRESULT OnItemAdded(_In_ IPowerRenameItem* renameItem); HRESULT OnUpdate(_In_ IPowerRenameItem* renameItem); HRESULT OnRename(_In_ IPowerRenameItem* renameItem); - HRESULT OnError(_In_ IPowerRenameItem* renameItem); - HRESULT OnRegExStarted(_In_ DWORD threadId); - HRESULT OnRegExCanceled(_In_ DWORD threadId); + HRESULT OnError(_In_ IPowerRenameItem*) { return S_OK; } + HRESULT OnRegExStarted(_In_ DWORD) { return S_OK; } + HRESULT OnRegExCanceled(_In_ DWORD) { return S_OK; } HRESULT OnRegExCompleted(_In_ DWORD threadId); - HRESULT OnRenameStarted(); + HRESULT OnRenameStarted() { return S_OK; } HRESULT OnRenameCompleted(bool closeUIWindowAfterRenaming); enum class UpdateFlagCommand @@ -140,14 +142,10 @@ namespace winrt::PowerRenameUI::implementation void SetCheckboxesFromFlags(DWORD flags); void UpdateCounts(); - wil::unique_haccel m_accelerators; - const HINSTANCE m_instance; - HWND m_xamlIsland{}; HWND m_window{}; bool m_disableCountUpdate = false; CComPtr m_prManager; - CComPtr<::IUnknown> m_dataSource; CComPtr m_prEnum; PowerRenameManagerEvents m_managerEvents; DWORD m_cookie = 0; @@ -155,6 +153,7 @@ namespace winrt::PowerRenameUI::implementation CComPtr m_replaceMRU; UINT m_selectedCount = 0; UINT m_renamingCount = 0; + winrt::event m_propertyChanged; bool m_flagValidationInProgress = false; public: diff --git a/src/modules/powerrename/PowerRenameUILib/PowerRenameUI.vcxproj b/src/modules/powerrename/PowerRenameUILib/PowerRenameUI.vcxproj index ae48957e96..8c1b35df8c 100644 --- a/src/modules/powerrename/PowerRenameUILib/PowerRenameUI.vcxproj +++ b/src/modules/powerrename/PowerRenameUILib/PowerRenameUI.vcxproj @@ -100,10 +100,6 @@ MainWindow.xaml - - - UIUpdates.idl - @@ -126,9 +122,6 @@ MainWindow.xaml - - UIUpdates.idl - @@ -141,7 +134,6 @@ MainWindow.xaml -