[OOBE]Add What's New page - SCOOBE (#16478)

* [Oobe]Add a What's New page

* Show What's New when version changes

* Add link to GitHub

* Use generic icon for now

* Get only the latest 5 releases

* fix spellchecker

* rename last_version_run.json

* Remove UserControl_Loaded

* Remove installer hash from the release notes

* constexpr some strings

* Add check your internet connection message
This commit is contained in:
Jaime Bernardo
2022-02-22 11:02:08 +00:00
committed by GitHub
parent e9dccf82ab
commit 87bb89ab15
18 changed files with 322 additions and 25 deletions

View File

@@ -5,6 +5,9 @@ namespace PTSettingsHelper
{
constexpr inline const wchar_t* settings_filename = L"\\settings.json";
constexpr inline const wchar_t* oobe_filename = L"oobe_settings.json";
constexpr inline const wchar_t* last_version_run_filename = L"last_version_run.json";
constexpr inline const wchar_t* opened_at_first_launch_json_field_name = L"openedAtFirstLaunch";
constexpr inline const wchar_t* last_version_json_field_name = L"last_version";
std::wstring get_root_save_folder_location()
{
@@ -90,7 +93,7 @@ namespace PTSettingsHelper
return false;
}
bool opened = saved_settings->GetNamedBoolean(L"openedAtFirstLaunch", false);
bool opened = saved_settings->GetNamedBoolean(opened_at_first_launch_json_field_name, false);
return opened;
}
@@ -103,8 +106,39 @@ namespace PTSettingsHelper
oobePath = oobePath.append(oobe_filename);
json::JsonObject obj;
obj.SetNamedValue(L"openedAtFirstLaunch", json::value(true));
obj.SetNamedValue(opened_at_first_launch_json_field_name, json::value(true));
json::to_file(oobePath.c_str(), obj);
}
std::wstring get_last_version_run()
{
std::filesystem::path lastVersionRunPath(PTSettingsHelper::get_root_save_folder_location());
lastVersionRunPath = lastVersionRunPath.append(last_version_run_filename);
if (std::filesystem::exists(lastVersionRunPath))
{
auto saved_settings = json::from_file(lastVersionRunPath.c_str());
if (!saved_settings.has_value())
{
return L"";
}
std::wstring last_version = saved_settings->GetNamedString(last_version_json_field_name, L"").c_str();
return last_version;
}
return L"";
}
void save_last_version_run(const std::wstring& version)
{
std::filesystem::path lastVersionRunPath(PTSettingsHelper::get_root_save_folder_location());
lastVersionRunPath = lastVersionRunPath.append(last_version_run_filename);
json::JsonObject obj;
obj.SetNamedValue(last_version_json_field_name, json::value(version));
json::to_file(lastVersionRunPath.c_str(), obj);
}
}

View File

@@ -21,4 +21,6 @@ namespace PTSettingsHelper
bool get_oobe_opened_state();
void save_oobe_opened_state();
std::wstring get_last_version_run();
void save_last_version_run(const std::wstring& version);
}