mirror of
https://github.com/microsoft/PowerToys.git
synced 2025-12-16 11:48:06 +01:00
Disabling powertoy only if it's explicitly off (#1888)
* Disabling powertoy only if it's explicitly off
This commit is contained in:
committed by
GitHub
parent
5c01e0e852
commit
cea5668a9f
@@ -199,9 +199,7 @@ void apply_general_settings(const json::JsonObject& general_configs)
|
|||||||
|
|
||||||
void start_initial_powertoys()
|
void start_initial_powertoys()
|
||||||
{
|
{
|
||||||
bool only_enable_some_powertoys = false;
|
std::unordered_set<std::wstring> powertoys_to_disable;
|
||||||
|
|
||||||
std::unordered_set<std::wstring> powertoys_to_enable;
|
|
||||||
|
|
||||||
json::JsonObject general_settings;
|
json::JsonObject general_settings;
|
||||||
try
|
try
|
||||||
@@ -210,34 +208,32 @@ void start_initial_powertoys()
|
|||||||
if (general_settings.HasKey(L"enabled"))
|
if (general_settings.HasKey(L"enabled"))
|
||||||
{
|
{
|
||||||
json::JsonObject enabled = general_settings.GetNamedObject(L"enabled");
|
json::JsonObject enabled = general_settings.GetNamedObject(L"enabled");
|
||||||
for (const auto& enabled_element : enabled)
|
for (const auto& disabled_element : enabled)
|
||||||
{
|
{
|
||||||
if (enabled_element.Value().GetBoolean())
|
if (!disabled_element.Value().GetBoolean())
|
||||||
{
|
{
|
||||||
// Enable this powertoy.
|
powertoys_to_disable.emplace(disabled_element.Key());
|
||||||
powertoys_to_enable.emplace(enabled_element.Key());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
only_enable_some_powertoys = true;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (...)
|
catch (...) { }
|
||||||
{
|
|
||||||
only_enable_some_powertoys = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (auto& [name, powertoy] : modules())
|
if (powertoys_to_disable.empty())
|
||||||
{
|
{
|
||||||
if (only_enable_some_powertoys)
|
for (auto& [name, powertoy] : modules())
|
||||||
{
|
|
||||||
if (powertoys_to_enable.find(name) != powertoys_to_enable.end())
|
|
||||||
{
|
|
||||||
powertoy->enable();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
powertoy->enable();
|
powertoy->enable();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
for (auto& [name, powertoy] : modules())
|
||||||
|
{
|
||||||
|
if (powertoys_to_disable.find(name) == powertoys_to_disable.end())
|
||||||
|
{
|
||||||
|
powertoy->enable();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user