Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

User/lamotile/update settings objects #1263

Merged
25 commits merged into from
Feb 13, 2020
Merged
Show file tree
Hide file tree
Changes from 22 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
68 changes: 34 additions & 34 deletions src/common/settings_objects.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,39 +4,39 @@

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));
m_json.SetNamedValue(L"properties", json::JsonObject{});
}

void Settings::set_description(UINT resource_id) {
void Settings::set_description( UINT resource_id) {
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) {
This conversation was marked as resolved.
Show resolved Hide resolved
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,const int &value,const int &min, const int &max, const 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,const int &value,const int &min, const int &max,const 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,7 +143,7 @@ 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"));
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,7 +170,7 @@ 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"));
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,7 +227,7 @@ 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);
Expand All @@ -239,21 +239,21 @@ namespace PowerToysSettings {
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