PowerRename cleanup (#19849)

This commit is contained in:
Stefan Markovic
2022-08-15 15:47:11 +02:00
committed by GitHub
parent a5ecbc4088
commit 9100e03be9
10 changed files with 52 additions and 152 deletions

View File

@@ -672,7 +672,7 @@ GUITHREADINFO
GValue GValue
gwl gwl
GWLP GWLP
haccel HACCEL
hangeul hangeul
hanselman hanselman
hardcoded hardcoded

View File

@@ -1,10 +1,9 @@
import "ExplorerItem.idl"; import "ExplorerItem.idl";
import "PatternSnippet.idl"; import "PatternSnippet.idl";
import "UIUpdates.idl";
namespace PowerRenameUI namespace PowerRenameUI
{ {
[default_interface] runtimeclass MainWindow : Microsoft.UI.Xaml.Window [default_interface] runtimeclass MainWindow : Microsoft.UI.Xaml.Window, Microsoft.UI.Xaml.Data.INotifyPropertyChanged
{ {
MainWindow(); MainWindow();
@@ -15,13 +14,11 @@ namespace PowerRenameUI
Windows.Foundation.Collections.IObservableVector<PatternSnippet> SearchRegExShortcuts { get; }; Windows.Foundation.Collections.IObservableVector<PatternSnippet> SearchRegExShortcuts { get; };
Windows.Foundation.Collections.IObservableVector<PatternSnippet> DateTimeShortcuts { get; }; Windows.Foundation.Collections.IObservableVector<PatternSnippet> DateTimeShortcuts { get; };
UIUpdates UIUpdatesItem { get; }; String OriginalCount;
String RenamedCount;
void AddExplorerItem(Int32 id, String original, String renamed, Int32 type, UInt32 depth, Boolean checked); void AddExplorerItem(Int32 id, String original, String renamed, Int32 type, UInt32 depth, Boolean checked);
void UpdateExplorerItem(Int32 id, String newName); void UpdateExplorerItem(Int32 id, String newName);
void UpdateRenamedExplorerItem(Int32 id, String newOriginalName); void UpdateRenamedExplorerItem(Int32 id, String newOriginalName);
void AppendSearchMRU(String value);
void AppendReplaceMRU(String value);
} }
} }

View File

@@ -46,7 +46,7 @@
<StackPanel Orientation="Horizontal" VerticalAlignment="Center" Grid.Column="2" Margin="6,-2,0,0" > <StackPanel Orientation="Horizontal" VerticalAlignment="Center" Grid.Column="2" Margin="6,-2,0,0" >
<TextBlock x:Uid="TxtBlock_Original" FontWeight="Medium" /> <TextBlock x:Uid="TxtBlock_Original" FontWeight="Medium" />
<TextBlock FontWeight="Medium" Margin="4,0,0,0" > <TextBlock FontWeight="Medium" Margin="4,0,0,0" >
<Run Text="(" /><Run Text="{x:Bind UIUpdatesItem.OriginalCount, Mode=OneWay}" /><Run Text=")" /> <Run Text="(" /><Run Text="{x:Bind OriginalCount, Mode=OneWay}" /><Run Text=")" />
</TextBlock> </TextBlock>
</StackPanel> </StackPanel>
</StackPanel> </StackPanel>
@@ -55,7 +55,7 @@
<StackPanel Orientation="Horizontal" VerticalAlignment="Center" Grid.Column="2" Margin="4,-2,0,0" > <StackPanel Orientation="Horizontal" VerticalAlignment="Center" Grid.Column="2" Margin="4,-2,0,0" >
<TextBlock x:Uid="TxtBlock_Renamed" FontWeight="Medium" /> <TextBlock x:Uid="TxtBlock_Renamed" FontWeight="Medium" />
<TextBlock FontWeight="Medium" Margin="4,0,0,0" > <TextBlock FontWeight="Medium" Margin="4,0,0,0" >
<Run Text="(" /><Run Text="{x:Bind UIUpdatesItem.RenamedCount, Mode=OneWay}" /><Run Text=")" /> <Run Text="(" /><Run Text="{x:Bind RenamedCount, Mode=OneWay}" /><Run Text=")" />
</TextBlock> </TextBlock>
</StackPanel> </StackPanel>

View File

@@ -29,8 +29,6 @@ using namespace winrt;
using namespace Windows::UI::Xaml; using namespace Windows::UI::Xaml;
using namespace winrt::Microsoft::Windows::ApplicationModel::Resources; using namespace winrt::Microsoft::Windows::ApplicationModel::Resources;
#define MAX_LOADSTRING 100
// Non-localizable // Non-localizable
const std::wstring PowerRenameUIIco = L"PowerRenameUI.ico"; const std::wstring PowerRenameUIIco = L"PowerRenameUI.ico";
const wchar_t c_WindowClass[] = L"PowerRename"; const wchar_t c_WindowClass[] = L"PowerRename";
@@ -52,7 +50,7 @@ void handleTheme() {
namespace winrt::PowerRenameUI::implementation namespace winrt::PowerRenameUI::implementation
{ {
MainWindow::MainWindow() : MainWindow::MainWindow() :
m_instance{ nullptr }, m_allSelected{ true }, m_managerEvents{ this } m_allSelected{ true }, m_managerEvents{ this }
{ {
auto windowNative{ this->try_as<::IWindowNative>() }; auto windowNative{ this->try_as<::IWindowNative>() };
winrt::check_bool(windowNative); winrt::check_bool(windowNative);
@@ -199,6 +197,36 @@ namespace winrt::PowerRenameUI::implementation
SearchReplaceChanged(); 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) void MainWindow::AddExplorerItem(int32_t id, hstring const& original, hstring const& renamed, int32_t type, uint32_t depth, bool checked)
{ {
auto newItem = winrt::make<PowerRenameUI::implementation::ExplorerItem>(id, original, renamed, type, depth, checked); auto newItem = winrt::make<PowerRenameUI::implementation::ExplorerItem>(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) PowerRenameUI::ExplorerItem MainWindow::FindById(int32_t id)
{ {
return m_explorerItemsMap.contains(id) ? m_explorerItemsMap[id] : NULL; return m_explorerItemsMap.contains(id) ? m_explorerItemsMap[id] : NULL;
@@ -418,7 +436,7 @@ namespace winrt::PowerRenameUI::implementation
{ {
if (!item.empty()) if (!item.empty())
{ {
AppendSearchMRU(hstring{ item }); m_searchMRUList.Append(item);
} }
} }
} }
@@ -432,7 +450,7 @@ namespace winrt::PowerRenameUI::implementation
{ {
if (!item.empty()) if (!item.empty())
{ {
AppendReplaceMRU(hstring{ item }); m_replaceMRUList.Append(item);
} }
} }
} }
@@ -950,8 +968,8 @@ namespace winrt::PowerRenameUI::implementation
button_rename().IsEnabled(renamingCount > 0); button_rename().IsEnabled(renamingCount > 0);
} }
m_uiUpdatesItem.OriginalCount(std::to_wstring(m_explorerItems.Size())); OriginalCount(hstring{ std::to_wstring(m_explorerItems.Size()) });
m_uiUpdatesItem.RenamedCount(std::to_wstring(m_renamingCount)); RenamedCount(hstring{ std::to_wstring(m_renamingCount) });
} }
HRESULT MainWindow::OnItemAdded(_In_ IPowerRenameItem* renameItem) HRESULT MainWindow::OnItemAdded(_In_ IPowerRenameItem* renameItem)
@@ -1016,21 +1034,6 @@ namespace winrt::PowerRenameUI::implementation
return S_OK; 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) HRESULT MainWindow::OnRegExCompleted(_In_ DWORD)
{ {
_TRACER_; _TRACER_;
@@ -1054,11 +1057,6 @@ namespace winrt::PowerRenameUI::implementation
return S_OK; return S_OK;
} }
HRESULT MainWindow::OnRenameStarted()
{
return S_OK;
}
HRESULT MainWindow::OnRenameCompleted(bool closeUIWindowAfterRenaming) HRESULT MainWindow::OnRenameCompleted(bool closeUIWindowAfterRenaming)
{ {
_TRACER_; _TRACER_;

View File

@@ -80,13 +80,16 @@ namespace winrt::PowerRenameUI::implementation
winrt::Windows::Foundation::Collections::IObservableVector<PowerRenameUI::ExplorerItem> ExplorerItems() { return m_explorerItems; } winrt::Windows::Foundation::Collections::IObservableVector<PowerRenameUI::ExplorerItem> ExplorerItems() { return m_explorerItems; }
winrt::Windows::Foundation::Collections::IObservableVector<PowerRenameUI::PatternSnippet> SearchRegExShortcuts() { return m_searchRegExShortcuts; } winrt::Windows::Foundation::Collections::IObservableVector<PowerRenameUI::PatternSnippet> SearchRegExShortcuts() { return m_searchRegExShortcuts; }
winrt::Windows::Foundation::Collections::IObservableVector<PowerRenameUI::PatternSnippet> DateTimeShortcuts() { return m_dateTimeShortcuts; } winrt::Windows::Foundation::Collections::IObservableVector<PowerRenameUI::PatternSnippet> 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 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 UpdateExplorerItem(int32_t id, hstring const& newName);
void UpdateRenamedExplorerItem(int32_t id, hstring const& newOriginalName); 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 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); void ShowAll(winrt::Windows::Foundation::IInspectable const& sender, winrt::Microsoft::UI::Xaml::RoutedEventArgs const& e);
@@ -94,7 +97,6 @@ namespace winrt::PowerRenameUI::implementation
private: private:
bool m_allSelected; bool m_allSelected;
PowerRenameUI::UIUpdates m_uiUpdatesItem;
inline PowerRenameUI::ExplorerItem FindById(int32_t id); inline PowerRenameUI::ExplorerItem FindById(int32_t id);
winrt::Windows::Foundation::Collections::IObservableVector<hstring> m_searchMRUList; winrt::Windows::Foundation::Collections::IObservableVector<hstring> m_searchMRUList;
@@ -108,11 +110,11 @@ namespace winrt::PowerRenameUI::implementation
HRESULT OnItemAdded(_In_ IPowerRenameItem* renameItem); HRESULT OnItemAdded(_In_ IPowerRenameItem* renameItem);
HRESULT OnUpdate(_In_ IPowerRenameItem* renameItem); HRESULT OnUpdate(_In_ IPowerRenameItem* renameItem);
HRESULT OnRename(_In_ IPowerRenameItem* renameItem); HRESULT OnRename(_In_ IPowerRenameItem* renameItem);
HRESULT OnError(_In_ IPowerRenameItem* renameItem); HRESULT OnError(_In_ IPowerRenameItem*) { return S_OK; }
HRESULT OnRegExStarted(_In_ DWORD threadId); HRESULT OnRegExStarted(_In_ DWORD) { return S_OK; }
HRESULT OnRegExCanceled(_In_ DWORD threadId); HRESULT OnRegExCanceled(_In_ DWORD) { return S_OK; }
HRESULT OnRegExCompleted(_In_ DWORD threadId); HRESULT OnRegExCompleted(_In_ DWORD threadId);
HRESULT OnRenameStarted(); HRESULT OnRenameStarted() { return S_OK; }
HRESULT OnRenameCompleted(bool closeUIWindowAfterRenaming); HRESULT OnRenameCompleted(bool closeUIWindowAfterRenaming);
enum class UpdateFlagCommand enum class UpdateFlagCommand
@@ -140,14 +142,10 @@ namespace winrt::PowerRenameUI::implementation
void SetCheckboxesFromFlags(DWORD flags); void SetCheckboxesFromFlags(DWORD flags);
void UpdateCounts(); void UpdateCounts();
wil::unique_haccel m_accelerators;
const HINSTANCE m_instance;
HWND m_xamlIsland{};
HWND m_window{}; HWND m_window{};
bool m_disableCountUpdate = false; bool m_disableCountUpdate = false;
CComPtr<IPowerRenameManager> m_prManager; CComPtr<IPowerRenameManager> m_prManager;
CComPtr<::IUnknown> m_dataSource;
CComPtr<IPowerRenameEnum> m_prEnum; CComPtr<IPowerRenameEnum> m_prEnum;
PowerRenameManagerEvents m_managerEvents; PowerRenameManagerEvents m_managerEvents;
DWORD m_cookie = 0; DWORD m_cookie = 0;
@@ -155,6 +153,7 @@ namespace winrt::PowerRenameUI::implementation
CComPtr<IPowerRenameMRU> m_replaceMRU; CComPtr<IPowerRenameMRU> m_replaceMRU;
UINT m_selectedCount = 0; UINT m_selectedCount = 0;
UINT m_renamingCount = 0; UINT m_renamingCount = 0;
winrt::event<Microsoft::UI::Xaml::Data::PropertyChangedEventHandler> m_propertyChanged;
bool m_flagValidationInProgress = false; bool m_flagValidationInProgress = false;
public: public:

View File

@@ -100,10 +100,6 @@
<ClInclude Include="MainWindow.xaml.h"> <ClInclude Include="MainWindow.xaml.h">
<DependentUpon>MainWindow.xaml</DependentUpon> <DependentUpon>MainWindow.xaml</DependentUpon>
</ClInclude> </ClInclude>
<ClInclude Include="resource.h" />
<ClInclude Include="UIUpdates.h">
<DependentUpon>UIUpdates.idl</DependentUpon>
</ClInclude>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ApplicationDefinition Include="App.xaml" /> <ApplicationDefinition Include="App.xaml" />
@@ -126,9 +122,6 @@
<DependentUpon>MainWindow.xaml</DependentUpon> <DependentUpon>MainWindow.xaml</DependentUpon>
</ClCompile> </ClCompile>
<ClCompile Include="$(GeneratedFilesDir)module.g.cpp" /> <ClCompile Include="$(GeneratedFilesDir)module.g.cpp" />
<ClCompile Include="UIUpdates.cpp">
<DependentUpon>UIUpdates.idl</DependentUpon>
</ClCompile>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Midl Include="App.idl"> <Midl Include="App.idl">
@@ -141,7 +134,6 @@
<DependentUpon>MainWindow.xaml</DependentUpon> <DependentUpon>MainWindow.xaml</DependentUpon>
</Midl> </Midl>
<Midl Include="PatternSnippet.idl" /> <Midl Include="PatternSnippet.idl" />
<Midl Include="UIUpdates.idl" />
</ItemGroup> </ItemGroup>
<!-- Defining the "Msix" ProjectCapability here allows the Single-project MSIX Packaging <!-- Defining the "Msix" ProjectCapability here allows the Single-project MSIX Packaging
Tools extension to be activated for this project even if the Windows App SDK Nuget Tools extension to be activated for this project even if the Windows App SDK Nuget

View File

@@ -11,7 +11,6 @@
<Midl Include="MainWindow.idl" /> <Midl Include="MainWindow.idl" />
<Midl Include="PatternSnippet.idl" /> <Midl Include="PatternSnippet.idl" />
<Midl Include="ExplorerItem.idl" /> <Midl Include="ExplorerItem.idl" />
<Midl Include="UIUpdates.idl" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="pch.cpp" /> <ClCompile Include="pch.cpp" />

View File

@@ -1,48 +0,0 @@
#include "pch.h"
#include "UIUpdates.h"
#include "UIUpdates.g.cpp"
namespace winrt::PowerRenameUI::implementation
{
UIUpdates::UIUpdates()
{
}
winrt::event_token UIUpdates::PropertyChanged(Microsoft::UI::Xaml::Data::PropertyChangedEventHandler const& handler)
{
return m_propertyChanged.add(handler);
}
void UIUpdates::PropertyChanged(winrt::event_token const& token) noexcept
{
m_propertyChanged.remove(token);
}
hstring UIUpdates::OriginalCount()
{
return m_originalCount;
}
void UIUpdates::OriginalCount(hstring value)
{
if (m_originalCount != value)
{
m_originalCount = value;
m_propertyChanged(*this, Microsoft::UI::Xaml::Data::PropertyChangedEventArgs{ L"OriginalCount" });
}
}
hstring UIUpdates::RenamedCount()
{
return m_renamedCount;
}
void UIUpdates::RenamedCount(hstring value)
{
if (m_renamedCount != value)
{
m_renamedCount = value;
m_propertyChanged(*this, Microsoft::UI::Xaml::Data::PropertyChangedEventArgs{ L"RenamedCount" });
}
}
}

View File

@@ -1,28 +0,0 @@
#pragma once
#include "UIUpdates.g.h"
namespace winrt::PowerRenameUI::implementation
{
struct UIUpdates : UIUpdatesT<UIUpdates>
{
UIUpdates();
winrt::event_token PropertyChanged(winrt::Microsoft::UI::Xaml::Data::PropertyChangedEventHandler const& handler);
void PropertyChanged(winrt::event_token const& token) noexcept;
hstring OriginalCount();
void OriginalCount(hstring value);
hstring RenamedCount();
void RenamedCount(hstring value);
private:
hstring m_originalCount;
hstring m_renamedCount;
winrt::event<Microsoft::UI::Xaml::Data::PropertyChangedEventHandler> m_propertyChanged;
};
}
namespace winrt::PowerRenameUI::factory_implementation
{
struct UIUpdates : UIUpdatesT<UIUpdates, implementation::UIUpdates>
{
};
}

View File

@@ -1,9 +0,0 @@
namespace PowerRenameUI
{
runtimeclass UIUpdates : Microsoft.UI.Xaml.Data.INotifyPropertyChanged
{
UIUpdates();
String OriginalCount;
String RenamedCount;
}
}