PowerToys/src/modules/powerrename/lib/PowerRenameEnum.h
Stefan Markovic 5cfbd72fa8
[PowerRename] Fluent UX (#13678)
* PowerRename new UI

* Add scrollviewer

* Don't deploy PowerRenameUI_new

* Visual updates

* Visual updates

* Updates

* Update Resources.resw

* Added docs button

* Update MainWindow.xaml

* Wire Docs button

* RegEx -> regular expressions

* Update Show only renamed list on search/replace text changed

* Update Show only renamed list on search/replace text changed - proper fix
Set searchTerm to NULL when cleared - fix Show only renamed files on clear searchTerm

* Files/folders input error handling

* Fix renaming with keeping UI window opened

After renaming folder, all of it's children need path update.
Without path update, further renaming of children items would
fail.

* Update only children, not all items with greater depth

* Fix dictionary false positives

* Remove .NET dep

* Rename PowerRenameUI_new to PowerRenameUILib
Rename executable PowerRenameUIHost to PowerRename

Co-authored-by: Laute <Niels.Laute@philips.com>
2021-10-25 14:40:19 +01:00

34 lines
965 B
C++

#pragma once
#include "pch.h"
#include "PowerRenameInterfaces.h"
#include <vector>
#include "srwlock.h"
class CPowerRenameEnum :
public IPowerRenameEnum
{
public:
// IUnknown
IFACEMETHODIMP QueryInterface(_In_ REFIID iid, _Outptr_ void** resultInterface);
IFACEMETHODIMP_(ULONG) AddRef();
IFACEMETHODIMP_(ULONG) Release();
// ISmartRenameEnum
IFACEMETHODIMP Start(_In_ IEnumShellItems* enumShellItems);
IFACEMETHODIMP Cancel();
public:
static HRESULT s_CreateInstance(_In_ IUnknown* pdo, _In_ IPowerRenameManager* pManager, _In_ REFIID iid, _Outptr_ void** resultInterface);
protected:
CPowerRenameEnum();
virtual ~CPowerRenameEnum();
HRESULT _Init(_In_ IUnknown* pdo, _In_ IPowerRenameManager* pManager);
HRESULT _ParseEnumItems(_In_ IEnumShellItems* pesi, _In_ int depth = 0);
CComPtr<IPowerRenameManager> m_spsrm;
CComPtr<IUnknown> m_spdo;
bool m_canceled = false;
long m_refCount = 0;
};