diff --git a/src/app.h b/src/app.h index 3830a7e..aed4bc3 100644 --- a/src/app.h +++ b/src/app.h @@ -262,7 +262,7 @@ public: void dialog_ppbr_export(); void dialog_export_mp4(); void dialog_timelapse_export(); - void dialog_whatsnew(); + void dialog_whatsnew(bool force_show); void cloud_upload(); void cloud_upload_all(); diff --git a/src/app_dialogs.cpp b/src/app_dialogs.cpp index e2eeb7b..584c01d 100644 --- a/src/app_dialogs.cpp +++ b/src/app_dialogs.cpp @@ -841,16 +841,17 @@ void App::dialog_export_mp4() }).detach(); } -void App::dialog_whatsnew() +void App::dialog_whatsnew(bool force_show) { auto whatsnew = std::make_shared(); whatsnew->m_manager = &layout; whatsnew->init(); - whatsnew->load_url("https://panopainter.com/app-content/whatsnew.xml", [this, whatsnew](bool success) { + std::string url = fmt::format("https://panopainter.com/app-content/whatsnew/?version={}", g_version_build); + whatsnew->load_url(url, [this, whatsnew, force_show](bool success) { if (success) { int last_id = Settings::value_or("whatsnew-id", 0); - if (whatsnew->m_page_id <= g_version_build && whatsnew->m_page_id > last_id) + if ((force_show || whatsnew->m_page_id <= g_version_build) && whatsnew->m_page_id > last_id) { whatsnew->set_title(fmt::format("What's new in version {}", g_version_number)); layout[main_id]->add_child(whatsnew); diff --git a/src/app_layout.cpp b/src/app_layout.cpp index 49a9f31..149c484 100644 --- a/src/app_layout.cpp +++ b/src/app_layout.cpp @@ -1100,7 +1100,7 @@ void App::init_menu_about() text->set_text(label); } item->on_click = [this, popup](Node*) { - dialog_whatsnew(); + dialog_whatsnew(true); popup->mouse_release(); popup->destroy(); }; @@ -1334,7 +1334,7 @@ void App::initLayout() } } - dialog_whatsnew(); + dialog_whatsnew(false); brush_update(true, true);