Skip to content

Commit

Permalink
User/lamotile/update settings objects (#1263)
Browse files Browse the repository at this point in the history
* added registry methods and enable/disable preview handlers

* formatted .rc file.

* formatted resource file

* formatted .rc file.

* formatted settings.cpp

* formatted settings.h

* formatted SVGPreviewSettingsClassTest.cpp

* Formatted MarkDownPreviewSettingsClassTest.cpp

* using wide strings

* formatted settings.h

* FileExplorerPreviewSettingsTest.cpp formatting

* fixed typo and formatting

* closing Registry and fixing typos

* formmarted code using ctrl+k+d

* fixed naming

* fixed typo

* changed if/else reverse order

* updated setiings_objects.cpp

* removed changes on files that are not part of this PR

* removed const ref on primative types

* updated pass by ref semantic and removed pas by reff on primative types

* fixed spaces in the commas

* fixed spaces in brackets
  • Loading branch information
Lavius Motileng authored Feb 13, 2020
1 parent 169fc5f commit 1f0a69d
Show file tree
Hide file tree
Showing 9 changed files with 106 additions and 118 deletions.
74 changes: 37 additions & 37 deletions src/common/settings_objects.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

namespace PowerToysSettings {

Settings::Settings(const HINSTANCE hinstance, std::wstring_view powertoy_name) {
Settings::Settings(const HINSTANCE hinstance, const std::wstring_view& powertoy_name) {
m_instance = hinstance;
m_json.SetNamedValue(L"version", json::value(L"1.0"));
m_json.SetNamedValue(L"name", json::value(powertoy_name));
Expand All @@ -15,28 +15,28 @@ namespace PowerToysSettings {
m_json.SetNamedValue(L"description", json::value(get_resource(resource_id)));
}

void Settings::set_description(std::wstring_view description) {
void Settings::set_description(const std::wstring_view& description) {
m_json.SetNamedValue(L"description", json::value(description));
}

void Settings::set_icon_key(std::wstring_view icon_key) {
void Settings::set_icon_key(const std::wstring_view& icon_key) {
m_json.SetNamedValue(L"icon_key", json::value(icon_key));
}

void Settings::set_overview_link(std::wstring_view overview_link) {
void Settings::set_overview_link(const std::wstring_view& overview_link) {
m_json.SetNamedValue(L"overview_link", json::value(overview_link));
}

void Settings::set_video_link(std::wstring_view video_link) {
void Settings::set_video_link(const std::wstring_view& video_link) {
m_json.SetNamedValue(L"video_link", json::value(video_link));
}

// add_bool_toogle overloads.
void Settings::add_bool_toogle(std::wstring_view name, UINT description_resource_id, bool value) {
void Settings::add_bool_toogle(const std::wstring_view& name, UINT description_resource_id, const bool& value) {
add_bool_toogle(name, get_resource(description_resource_id), value);
}

void Settings::add_bool_toogle(std::wstring_view name, std::wstring_view description, bool value) {
void Settings::add_bool_toogle(const std::wstring_view& name, const std::wstring_view& description, const bool& value) {
json::JsonObject toggle;
toggle.SetNamedValue(L"display_name", json::value(description));
toggle.SetNamedValue(L"editor_type", json::value(L"bool_toggle"));
Expand All @@ -47,11 +47,11 @@ namespace PowerToysSettings {
}

// add_int_spinner overloads.
void Settings::add_int_spinner(std::wstring_view name, UINT description_resource_id, int value, int min, int max, int step) {
void Settings::add_int_spinner(const const std::wstring_view& name, UINT description_resource_id, int value, int min, int max, int step) {
add_int_spinner(name, get_resource(description_resource_id), value, min, max, step);
}

void Settings::add_int_spinner(std::wstring_view name, std::wstring_view description, int value, int min, int max, int step) {
void Settings::add_int_spinner(const std::wstring_view& name, const std::wstring_view& description, int value, int min, int max, int step) {
json::JsonObject spinner;
spinner.SetNamedValue(L"display_name", json::value(description));
spinner.SetNamedValue(L"editor_type", json::value(L"int_spinner"));
Expand All @@ -65,11 +65,11 @@ namespace PowerToysSettings {
}

// add_string overloads.
void Settings::add_string(std::wstring_view name, UINT description_resource_id, std::wstring_view value) {
void Settings::add_string(const std::wstring_view& name, UINT description_resource_id, const std::wstring_view& value) {
add_string(name, get_resource(description_resource_id), value);
}

void Settings::add_string(std::wstring_view name, std::wstring_view description, std::wstring_view value) {
void Settings::add_string(const std::wstring_view& name, const std::wstring_view& description, const std::wstring_view& value) {
json::JsonObject string;
string.SetNamedValue(L"display_name", json::value(description));
string.SetNamedValue(L"editor_type", json::value(L"string_text"));
Expand All @@ -80,11 +80,11 @@ namespace PowerToysSettings {
}

// add_multiline_string overloads.
void Settings::add_multiline_string(std::wstring_view name, UINT description_resource_id, std::wstring_view value) {
void Settings::add_multiline_string(const std::wstring_view& name, UINT description_resource_id, const std::wstring_view& value) {
add_multiline_string(name, get_resource(description_resource_id), value);
}

void Settings::add_multiline_string(std::wstring_view name, std::wstring_view description, std::wstring_view value) {
void Settings::add_multiline_string(const std::wstring_view& name, const std::wstring_view& description, const std::wstring_view& value) {
json::JsonObject ml_string;
ml_string.SetNamedValue(L"display_name", json::value(description));
ml_string.SetNamedValue(L"editor_type", json::value(L"string_text"));
Expand All @@ -95,7 +95,7 @@ namespace PowerToysSettings {
m_json.GetNamedObject(L"properties").SetNamedValue(name, ml_string);
}

void Settings::add_header_szLarge(std::wstring_view name, std::wstring_view description, std::wstring_view value){
void Settings::add_header_szLarge(const std::wstring_view& name, const std::wstring_view& description, const std::wstring_view& value){
json::JsonObject string;
string.SetNamedValue(L"display_name", json::value(description));
string.SetNamedValue(L"editor_type", json::value(L"header_large"));
Expand All @@ -106,11 +106,11 @@ namespace PowerToysSettings {
}

// add_color_picker overloads.
void Settings::add_color_picker(std::wstring_view name, UINT description_resource_id, std::wstring_view value) {
void Settings::add_color_picker(const std::wstring_view& name, UINT description_resource_id, const std::wstring_view& value) {
add_color_picker(name, get_resource(description_resource_id), value);
}

void Settings::add_color_picker(std::wstring_view name, std::wstring_view description, std::wstring_view value) {
void Settings::add_color_picker(const std::wstring_view& name, const std::wstring_view& description, const std::wstring_view& value) {
json::JsonObject picker;
picker.SetNamedValue(L"display_name", json::value(description));
picker.SetNamedValue(L"editor_type", json::value(L"color_picker"));
Expand All @@ -120,11 +120,11 @@ namespace PowerToysSettings {
m_json.GetNamedObject(L"properties").SetNamedValue(name, picker);
}

void Settings::add_hotkey(std::wstring_view name, UINT description_resource_id, const HotkeyObject& hotkey) {
void Settings::add_hotkey(const std::wstring_view& name, UINT description_resource_id, const HotkeyObject& hotkey) {
add_hotkey(name, get_resource(description_resource_id), hotkey);
}

void Settings::add_hotkey(std::wstring_view name, std::wstring_view description, const HotkeyObject& hotkey_obj) {
void Settings::add_hotkey(const std::wstring_view& name, const std::wstring_view& description, const HotkeyObject& hotkey_obj) {
json::JsonObject hotkey;
hotkey.SetNamedValue(L"display_name", json::value(description));
hotkey.SetNamedValue(L"editor_type", json::value(L"hotkey"));
Expand All @@ -134,7 +134,7 @@ namespace PowerToysSettings {
m_json.GetNamedObject(L"properties").SetNamedValue(name, hotkey);
}

void Settings::add_choice_group(std::wstring_view name, UINT description_resource_id, std::wstring_view value, const std::vector<std::pair<std::wstring, UINT>>& keys_and_text_ids) {
void Settings::add_choice_group(const std::wstring_view& name, UINT description_resource_id, const std::wstring_view& value, const std::vector<std::pair<std::wstring, UINT>>& keys_and_text_ids) {
std::vector<std::pair<std::wstring, std::wstring>> keys_and_texts;
keys_and_texts.reserve(keys_and_text_ids.size());
for (const auto& kv : keys_and_text_ids) {
Expand All @@ -143,12 +143,12 @@ namespace PowerToysSettings {
add_choice_group(name, get_resource(description_resource_id), value, keys_and_texts);
}

void Settings::add_choice_group(std::wstring_view name, std::wstring_view description, std::wstring_view value, const std::vector<std::pair<std::wstring, std::wstring>>& keys_and_texts) {
void Settings::add_choice_group(const std::wstring_view& name, const std::wstring_view& description, const std::wstring_view& value, const std::vector<std::pair<std::wstring, std::wstring>>& keys_and_texts) {
json::JsonObject choice_group;
choice_group.SetNamedValue(L"display_name", json::value(description));
choice_group.SetNamedValue(L"editor_type", json::value(L"choice_group"));
json::JsonArray options;
for(const auto & [key, text] : keys_and_texts) {
for(const auto& [key, text] : keys_and_texts) {
json::JsonObject entry;
entry.SetNamedValue(L"key", json::value(key));
entry.SetNamedValue(L"text", json::value(text));
Expand All @@ -161,7 +161,7 @@ namespace PowerToysSettings {
m_json.GetNamedObject(L"properties").SetNamedValue(name, choice_group);
}

void Settings::add_dropdown(std::wstring_view name, UINT description_resource_id, std::wstring_view value, const std::vector<std::pair<std::wstring, UINT>>& keys_and_text_ids) {
void Settings::add_dropdown(const std::wstring_view& name, UINT description_resource_id, const std::wstring_view& value, const std::vector<std::pair<std::wstring, UINT>>& keys_and_text_ids) {
std::vector<std::pair<std::wstring, std::wstring>> keys_and_texts;
keys_and_texts.reserve(keys_and_text_ids.size());
for (const auto& kv : keys_and_text_ids) {
Expand All @@ -170,12 +170,12 @@ namespace PowerToysSettings {
add_dropdown(name, get_resource(description_resource_id), value, keys_and_texts);
}

void Settings::add_dropdown(std::wstring_view name, std::wstring_view description, std::wstring_view value, const std::vector<std::pair<std::wstring, std::wstring>>& keys_and_texts) {
void Settings::add_dropdown(const std::wstring_view& name, const std::wstring_view& description, const std::wstring_view& value, const std::vector<std::pair<std::wstring, std::wstring>>& keys_and_texts) {
json::JsonObject dropdown;
dropdown.SetNamedValue(L"display_name", json::value(description));
dropdown.SetNamedValue(L"editor_type", json::value(L"dropdown"));
json::JsonArray options;
for(const auto & [key, text] : keys_and_texts) {
for(const auto& [key, text] : keys_and_texts) {
json::JsonObject entry;
entry.SetNamedValue(L"key", json::value(key));
entry.SetNamedValue(L"text", json::value(text));
Expand All @@ -189,15 +189,15 @@ namespace PowerToysSettings {
}

// add_custom_action overloads.
void Settings::add_custom_action(std::wstring_view name, UINT description_resource_id, UINT button_text_resource_id, UINT ext_description_resource_id) {
void Settings::add_custom_action(const std::wstring_view& name, UINT description_resource_id, UINT button_text_resource_id, UINT ext_description_resource_id) {
add_custom_action(name, get_resource(description_resource_id), get_resource(button_text_resource_id), get_resource(ext_description_resource_id));
}

void Settings::add_custom_action(std::wstring_view name, UINT description_resource_id, UINT button_text_resource_id, std::wstring_view value) {
void Settings::add_custom_action(const std::wstring_view& name, UINT description_resource_id, UINT button_text_resource_id, const std::wstring_view& value) {
add_custom_action(name, get_resource(description_resource_id), get_resource(button_text_resource_id), value);
}

void Settings::add_custom_action(std::wstring_view name, std::wstring_view description, std::wstring_view button_text, std::wstring_view value) {
void Settings::add_custom_action(const std::wstring_view& name, const std::wstring_view& description, const std::wstring_view& button_text, const std::wstring_view& value) {
json::JsonObject custom_action;
custom_action.SetNamedValue(L"display_name", json::value(description));
custom_action.SetNamedValue(L"button_text", json::value(button_text));
Expand Down Expand Up @@ -227,33 +227,33 @@ namespace PowerToysSettings {
}

// Resource helper.
std::wstring Settings::get_resource(UINT resource_id) {
std::wstring Settings::get_resource(UINT resource_id) const{
if (resource_id != 0) {
wchar_t* res_ptr;
const size_t resource_length = LoadStringW(m_instance, resource_id, reinterpret_cast<wchar_t *>(&res_ptr), 0);
const size_t resource_length = LoadStringW(m_instance, resource_id, reinterpret_cast<wchar_t *>(& res_ptr), 0);
if (resource_length != 0) {
return {*reinterpret_cast<wchar_t **>(&res_ptr), resource_length};
return {*reinterpret_cast<wchar_t **>(& res_ptr), resource_length};
}
}

return L"RESOURCE ID NOT FOUND: " + std::to_wstring(resource_id);
}

PowerToyValues::PowerToyValues(std::wstring_view powertoy_name) {
PowerToyValues::PowerToyValues(const std::wstring_view& powertoy_name) {
_name = powertoy_name;
set_version();
m_json.SetNamedValue(L"name", json::value(powertoy_name));
m_json.SetNamedValue(L"properties", json::JsonObject{});
}

PowerToyValues PowerToyValues::from_json_string(std::wstring_view json) {
PowerToyValues PowerToyValues::from_json_string(const std::wstring_view& json) {
PowerToyValues result = PowerToyValues();
result.m_json = json::JsonValue::Parse(json).GetObjectW();
result._name = result.m_json.GetNamedString(L"name");
return result;
}

PowerToyValues PowerToyValues::load_from_settings_file(std::wstring_view powertoy_name) {
PowerToyValues PowerToyValues::load_from_settings_file(const std::wstring_view& powertoy_name) {
PowerToyValues result = PowerToyValues();
result.m_json = PTSettingsHelper::load_module_settings(powertoy_name);
result._name = powertoy_name;
Expand All @@ -265,28 +265,28 @@ namespace PowerToysSettings {
return json::has(props, name) && json::has(props.GetNamedObject(name), L"value", type);
}

std::optional<bool> PowerToyValues::get_bool_value(std::wstring_view property_name) {
std::optional<bool> PowerToyValues::get_bool_value(const std::wstring_view& property_name) const{
if (!has_property(m_json, property_name, json::JsonValueType::Boolean)) {
return std::nullopt;
}
return m_json.GetNamedObject(L"properties").GetNamedObject(property_name).GetNamedBoolean(L"value");
}

std::optional<int> PowerToyValues::get_int_value(std::wstring_view property_name) {
std::optional<int> PowerToyValues::get_int_value(const std::wstring_view& property_name) const{
if (!has_property(m_json, property_name, json::JsonValueType::Number)) {
return std::nullopt;
}
return static_cast<int>(m_json.GetNamedObject(L"properties").GetNamedObject(property_name).GetNamedNumber(L"value"));
}

std::optional<std::wstring> PowerToyValues::get_string_value(std::wstring_view property_name) {
std::optional<std::wstring> PowerToyValues::get_string_value(const std::wstring_view& property_name) const{
if (!has_property(m_json, property_name, json::JsonValueType::String)) {
return std::nullopt;
}
return m_json.GetNamedObject(L"properties").GetNamedObject(property_name).GetNamedString(L"value").c_str();
}

std::optional<json::JsonObject> PowerToyValues::get_json(std::wstring_view property_name) {
std::optional<json::JsonObject> PowerToyValues::get_json(const std::wstring_view& property_name) const{
if (!has_property(m_json, property_name, json::JsonValueType::Object)) {
return std::nullopt;
}
Expand Down
Loading

0 comments on commit 1f0a69d

Please sign in to comment.