[PowerRename][ImageResizer]Fallback for tier 1 menus (#19195)

* [PowerRename][ImageResizer]fallback for tier 1 menus

* Simplify logic
This commit is contained in:
Jaime Bernardo
2022-07-07 15:56:14 +01:00
committed by GitHub
parent d4b62d8118
commit e887b3b395
6 changed files with 19 additions and 31 deletions

View File

@@ -9,4 +9,5 @@ namespace ImageResizerConstants
// Name of the ImageResizer save folder.
inline const std::wstring ModuleOldSaveFolderKey = L"ImageResizer";
inline const std::wstring ModuleSaveFolderKey = L"Image Resizer";
inline const std::wstring ModulePackageDisplayName = L"ImageResizerContextMenu";
}

View File

@@ -2,6 +2,7 @@
#include "pch.h"
#include "ContextMenuHandler.h"
#include <ImageResizerConstants.h>
#include <Settings.h>
#include <trace.h>
@@ -63,17 +64,15 @@ HRESULT CContextMenuHandler::Initialize(_In_opt_ PCIDLIST_ABSOLUTE pidlFolder, _
HRESULT CContextMenuHandler::QueryContextMenu(_In_ HMENU hmenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags)
{
if (package::IsWin11OrGreater())
if (uFlags & CMF_DEFAULTONLY)
return S_OK;
if (!CSettingsInstance().GetEnabled())
return E_FAIL;
if (uFlags & CMF_DEFAULTONLY)
{
return S_OK;
}
if (!CSettingsInstance().GetEnabled())
{
if (package::IsWin11OrGreater() && package::IsPackageRegistered(ImageResizerConstants::ModulePackageDisplayName))
return E_FAIL;
}
// NB: We just check the first item. We could iterate through more if the first one doesn't meet the criteria
HDropIterator i(m_pdtobj);
i.First();

View File

@@ -102,8 +102,7 @@ public:
std::wstring path = get_module_folderpath(g_hInst_imageResizer);
std::wstring packageUri = path + L"\\ImageResizerContextMenuPackage.msix";
std::wstring packageDisplayName{ L"ImageResizerContextMenu" };
if (!package::IsPackageRegistered(packageDisplayName))
if (!package::IsPackageRegistered(ImageResizerConstants::ModulePackageDisplayName))
{
package::RegisterSparsePackage(path, packageUri);
}