Non localized module name (#7170)

* Added get_key to powertoysmodule interface

* Replace get_name with get_key

* Implement get_key function in modules

* Make key global constant in each module

* Update settings v1 to use key to load and save files

* Fixed fancyzones and preview pane unit tests

* Removed setings unit test as the case is not covered anymore

* Add constant files for modules and use it to reference module key

* Add constant string files to colorpicker, launcher and shortcut guide

* correct sunction signature in settings helper

* Fix powerpreview merge conflicts

* nit fix with include statement location

* add check for fields in from_json_string

* Updated preview pane tests with correct from_json_string signature

* Correct Image resizer naming

* Roll back changes for adding check for property and version

* Fix image resizer not working
This commit is contained in:
Divyansh Srivastava
2020-10-19 16:07:02 -07:00
committed by GitHub
parent 8b759094f7
commit 280d1907d8
37 changed files with 290 additions and 123 deletions

View File

@@ -10,6 +10,7 @@
// Constructor
PowerPreviewModule::PowerPreviewModule() :
m_moduleName(GET_RESOURCE_STRING(IDS_MODULE_NAME)),
app_key(powerpreviewConstants::ModuleKey),
m_fileExplorerModules(
{ // SVG Preview Handler settings object.
new PreviewHandlerSettings(
@@ -55,12 +56,18 @@ void PowerPreviewModule::destroy()
delete this;
}
// Return the display name of the powertoy, this will be cached.
// Return the localized display name of the powertoy
const wchar_t* PowerPreviewModule::get_name()
{
return m_moduleName.c_str();
}
// Return the non localized key of the powertoy, this will be cached by the runner
const wchar_t* PowerPreviewModule::get_key()
{
return app_key.c_str();
}
// Return JSON with the configuration options.
bool PowerPreviewModule::get_config(_Out_ wchar_t* buffer, _Out_ int* buffer_size)
{
@@ -96,7 +103,7 @@ void PowerPreviewModule::set_config(const wchar_t* config)
{
try
{
PowerToysSettings::PowerToyValues settings = PowerToysSettings::PowerToyValues::from_json_string(config);
PowerToysSettings::PowerToyValues settings = PowerToysSettings::PowerToyValues::from_json_string(config, get_key());
bool updateSuccess = true;
bool isElevated = is_process_elevated(false);
@@ -167,7 +174,7 @@ void PowerPreviewModule::init_settings()
{
// Load and parse the settings file for this PowerToy.
PowerToysSettings::PowerToyValues settings =
PowerToysSettings::PowerToyValues::load_from_settings_file(PowerPreviewModule::get_name());
PowerToysSettings::PowerToyValues::load_from_settings_file(PowerPreviewModule::get_key());
// Load settings states.
for (auto fileExplorerModule : this->m_fileExplorerModules)

View File

@@ -6,6 +6,7 @@
#include "thumbnail_provider.h"
#include "preview_handler.h"
#include "registry_wrapper.h"
#include <powerpreview\powerpreviewConstants.h>
using namespace PowerPreviewSettings;
@@ -18,6 +19,8 @@ private:
// The PowerToy state.
bool m_enabled = false;
std::wstring m_moduleName;
//contains the non localized key of the powertoy
std::wstring app_key;
std::vector<FileExplorerPreviewSettings*> m_fileExplorerModules;
// Function to check if the registry states need to be updated
@@ -40,6 +43,7 @@ public:
virtual void destroy();
virtual const wchar_t* get_name();
virtual const wchar_t* get_key();
virtual bool get_config(_Out_ wchar_t* buffer, _Out_ int* buffer_size);
virtual void set_config(const wchar_t* config);
virtual void enable();

View File

@@ -109,6 +109,7 @@
<ItemGroup>
<ClInclude Include="CLSID.h" />
<ClInclude Include="pch.h" />
<ClInclude Include="powerpreviewConstants.h" />
<ClInclude Include="preview_handler.h" />
<ClInclude Include="registry_wrapper.h" />
<ClInclude Include="registry_wrapper_interface.h" />

View File

@@ -0,0 +1,8 @@
#pragma once
#include <string>
namespace powerpreviewConstants
{
// Name of the powertoy module.
inline const std::wstring ModuleKey = L"File Explorer";
}

View File

@@ -82,7 +82,7 @@ namespace FileExplorerPreviewSettingsTest
bool defaultState = true;
RegistryMock* mockRegistryWrapper = new RegistryMock();
PreviewHandlerSettings previewSettings = GetPreviewHandlerSettingsObject(defaultState, mockRegistryWrapper);
auto settings = PowerToyValues::from_json_string(GetJSONSettings(previewSettings.GetToggleSettingName(), L"false"));
auto settings = PowerToyValues::from_json_string(GetJSONSettings(previewSettings.GetToggleSettingName(), L"false"), L"FileExplorerPreviewTests");
// Act
previewSettings.LoadState(settings);
@@ -97,7 +97,7 @@ namespace FileExplorerPreviewSettingsTest
bool defaultState = true;
RegistryMock* mockRegistryWrapper = new RegistryMock();
PreviewHandlerSettings previewSettings = GetPreviewHandlerSettingsObject(defaultState, mockRegistryWrapper);
auto settings = PowerToyValues::from_json_string(L"{\"name\":\"Module Name\"}");
auto settings = PowerToyValues::from_json_string(L"{\"name\":\"Module Name\"}", L"FileExplorerPreviewTests");
// Act
previewSettings.LoadState(settings);
@@ -113,7 +113,7 @@ namespace FileExplorerPreviewSettingsTest
bool elevated = true;
RegistryMock* mockRegistryWrapper = new RegistryMock();
PreviewHandlerSettings previewSettings = GetPreviewHandlerSettingsObject(true, mockRegistryWrapper);
auto settings = PowerToyValues::from_json_string(GetJSONSettings(previewSettings.GetToggleSettingName(), L"false"));
auto settings = PowerToyValues::from_json_string(GetJSONSettings(previewSettings.GetToggleSettingName(), L"false"), L"FileExplorerPreviewTests");
previewSettings.UpdateToggleSettingState(true);
// Add expected data in registry
mockRegistryWrapper->SetMockData(previewSettings.GetRegistryValueData());
@@ -134,7 +134,7 @@ namespace FileExplorerPreviewSettingsTest
bool elevated = true;
RegistryMock* mockRegistryWrapper = new RegistryMock();
ThumbnailProviderSettings thumbnailSettings = GetThumbnailProviderSettingsObject(true, mockRegistryWrapper);
auto settings = PowerToyValues::from_json_string(GetJSONSettings(thumbnailSettings.GetToggleSettingName(), L"false"));
auto settings = PowerToyValues::from_json_string(GetJSONSettings(thumbnailSettings.GetToggleSettingName(), L"false"), L"FileExplorerPreviewTests");
thumbnailSettings.UpdateToggleSettingState(true);
// Add expected data in registry
mockRegistryWrapper->SetMockData(thumbnailSettings.GetCLSID());
@@ -155,7 +155,7 @@ namespace FileExplorerPreviewSettingsTest
bool elevated = true;
RegistryMock* mockRegistryWrapper = new RegistryMock();
PreviewHandlerSettings previewSettings = GetPreviewHandlerSettingsObject(true, mockRegistryWrapper);
auto settings = PowerToyValues::from_json_string(GetJSONSettings(previewSettings.GetToggleSettingName(), L"false"));
auto settings = PowerToyValues::from_json_string(GetJSONSettings(previewSettings.GetToggleSettingName(), L"false"), L"FileExplorerPreviewTests");
previewSettings.UpdateToggleSettingState(true);
// Act
@@ -174,7 +174,7 @@ namespace FileExplorerPreviewSettingsTest
bool elevated = false;
RegistryMock* mockRegistryWrapper = new RegistryMock();
PreviewHandlerSettings previewSettings = GetPreviewHandlerSettingsObject(true, mockRegistryWrapper);
auto settings = PowerToyValues::from_json_string(GetJSONSettings(previewSettings.GetToggleSettingName(), L"false"));
auto settings = PowerToyValues::from_json_string(GetJSONSettings(previewSettings.GetToggleSettingName(), L"false"), L"FileExplorerPreviewTests");
previewSettings.UpdateToggleSettingState(true);
// Act
@@ -193,7 +193,7 @@ namespace FileExplorerPreviewSettingsTest
bool elevated = true;
RegistryMock* mockRegistryWrapper = new RegistryMock();
PreviewHandlerSettings previewSettings = GetPreviewHandlerSettingsObject(true, mockRegistryWrapper);
auto settings = PowerToyValues::from_json_string(GetJSONSettings(previewSettings.GetToggleSettingName(), L"true"));
auto settings = PowerToyValues::from_json_string(GetJSONSettings(previewSettings.GetToggleSettingName(), L"true"), L"FileExplorerPreviewTests");
previewSettings.UpdateToggleSettingState(false);
// Act
@@ -211,7 +211,7 @@ namespace FileExplorerPreviewSettingsTest
bool elevated = true;
RegistryMock* mockRegistryWrapper = new RegistryMock();
PreviewHandlerSettings previewSettings = GetPreviewHandlerSettingsObject(true, mockRegistryWrapper);
auto settings = PowerToyValues::from_json_string(GetJSONSettings(previewSettings.GetToggleSettingName(), L"true"));
auto settings = PowerToyValues::from_json_string(GetJSONSettings(previewSettings.GetToggleSettingName(), L"true"), L"FileExplorerPreviewTests");
previewSettings.UpdateToggleSettingState(false);
// Add expected data in registry
mockRegistryWrapper->SetMockData(previewSettings.GetRegistryValueData());
@@ -231,7 +231,7 @@ namespace FileExplorerPreviewSettingsTest
bool elevated = true;
RegistryMock* mockRegistryWrapper = new RegistryMock();
ThumbnailProviderSettings thumbnailSettings = GetThumbnailProviderSettingsObject(true, mockRegistryWrapper);
auto settings = PowerToyValues::from_json_string(GetJSONSettings(thumbnailSettings.GetToggleSettingName(), L"true"));
auto settings = PowerToyValues::from_json_string(GetJSONSettings(thumbnailSettings.GetToggleSettingName(), L"true"), L"FileExplorerPreviewTests");
thumbnailSettings.UpdateToggleSettingState(false);
// Add expected data in registry
mockRegistryWrapper->SetMockData(thumbnailSettings.GetCLSID());
@@ -251,7 +251,7 @@ namespace FileExplorerPreviewSettingsTest
bool elevated = false;
RegistryMock* mockRegistryWrapper = new RegistryMock();
PreviewHandlerSettings previewSettings = GetPreviewHandlerSettingsObject(true, mockRegistryWrapper);
auto settings = PowerToyValues::from_json_string(GetJSONSettings(previewSettings.GetToggleSettingName(), L"true"));
auto settings = PowerToyValues::from_json_string(GetJSONSettings(previewSettings.GetToggleSettingName(), L"true"), L"FileExplorerPreviewTests");
previewSettings.UpdateToggleSettingState(false);
// Act
@@ -269,7 +269,7 @@ namespace FileExplorerPreviewSettingsTest
bool elevated = true;
RegistryMock* mockRegistryWrapper = new RegistryMock();
PreviewHandlerSettings previewSettings = GetPreviewHandlerSettingsObject(true, mockRegistryWrapper);
auto settings = PowerToyValues::from_json_string(GetJSONSettings(previewSettings.GetToggleSettingName(), L"false"));
auto settings = PowerToyValues::from_json_string(GetJSONSettings(previewSettings.GetToggleSettingName(), L"false"), L"FileExplorerPreviewTests");
// Act
previewSettings.UpdateState(settings, enabled, elevated);
@@ -285,7 +285,7 @@ namespace FileExplorerPreviewSettingsTest
bool elevated = false;
RegistryMock* mockRegistryWrapper = new RegistryMock();
PreviewHandlerSettings previewSettings = GetPreviewHandlerSettingsObject(true, mockRegistryWrapper);
auto settings = PowerToyValues::from_json_string(GetJSONSettings(previewSettings.GetToggleSettingName(), L"false"));
auto settings = PowerToyValues::from_json_string(GetJSONSettings(previewSettings.GetToggleSettingName(), L"false"), L"FileExplorerPreviewTests");
// Act
previewSettings.UpdateState(settings, enabled, elevated);
@@ -301,7 +301,7 @@ namespace FileExplorerPreviewSettingsTest
bool elevated = true;
RegistryMock* mockRegistryWrapper = new RegistryMock();
PreviewHandlerSettings previewSettings = GetPreviewHandlerSettingsObject(true, mockRegistryWrapper);
auto settings = PowerToyValues::from_json_string(GetJSONSettings(previewSettings.GetToggleSettingName(), L"false"));
auto settings = PowerToyValues::from_json_string(GetJSONSettings(previewSettings.GetToggleSettingName(), L"false"), L"FileExplorerPreviewTests");
// Act
previewSettings.UpdateState(settings, enabled, elevated);
@@ -319,7 +319,7 @@ namespace FileExplorerPreviewSettingsTest
bool elevated = false;
RegistryMock* mockRegistryWrapper = new RegistryMock();
PreviewHandlerSettings previewSettings = GetPreviewHandlerSettingsObject(true, mockRegistryWrapper);
auto settings = PowerToyValues::from_json_string(GetJSONSettings(previewSettings.GetToggleSettingName(), L"false"));
auto settings = PowerToyValues::from_json_string(GetJSONSettings(previewSettings.GetToggleSettingName(), L"false"), L"FileExplorerPreviewTests");
// Act
previewSettings.UpdateState(settings, enabled, elevated);