diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index bda7394ed6..0c40000e50 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -949,25 +949,23 @@ bool GUI_App::check_older_app_config(Semver current_version, bool backup) BOOST_LOG_TRIVIAL(info) << "last app config file used: " << m_older_data_dir_path; // ask about using older data folder RichMessageDialog msg(nullptr, backup ? - wxString::Format(_L("PrusaSlicer detected another configuration folder at %s." - "\nIts version is %s." - "\nLast version you used in current configuration folder is %s." - "\nPlease note that PrusaSlicer uses different folders to save configuration of alpha, beta and full release versions." - "\nWould you like to copy found configuration to your current configuration folder?" - - "\n\nIf you select yes, PrusaSlicer will copy all profiles and other files from found folder to the current one. Overwriting any existing file with matching name." - "\nIf you select no, you will continue with current configuration.") - , m_older_data_dir_path, last_semver.to_string(), current_version.to_string()) - : wxString::Format(_L("PrusaSlicer detected another configuration folder at %s." - "\nIts version is %s." + wxString::Format(_L( + "Current configuration folder: %s" + "\n\n%s found another configuration for version %s." + "\nIt is found at %s." + "\n\nDo you wish to copy and use the configuration file for version %s (overwriting any file with the same name)? A backup of your current configuration will be created." + "\nIf you select no, you will continue with the configuration file for version %s (may not be fully compatible).") + , current_version.to_string(), SLIC3R_APP_NAME, last_semver.to_string(), m_older_data_dir_path, last_semver.to_string(), current_version.to_string()) + : wxString::Format(_L( + "%s found another configuration for version %s." + "\nIt is found at %s." "\nThere is no configuration file in current configuration folder." - "\nPlease note that PrusaSlicer uses different folders to save configuration of alpha, beta and full release versions." - "\nWould you like to copy found configuration to your current configuration folder?" - - "\n\nIf you select yes, PrusaSlicer will copy all profiles and other files from found folder to the current one." + "\n\nDo you wish to copy and use the configuration file for version %s?" "\nIf you select no, you will start with clean installation with configuration wizard.") - , m_older_data_dir_path, last_semver.to_string()) - , _L("PrusaSlicer"), /*wxICON_QUESTION | */wxYES_NO); + , SLIC3R_APP_NAME, last_semver.to_string(), m_older_data_dir_path, last_semver.to_string()) + , _L("PrusaSlicer") + , wxYES_NO + , wxString::Format(_L("Load configuration from version %s?"), last_semver.to_string())); if (msg.ShowModal() == wxID_YES) { std::string snapshot_id; if (backup) { diff --git a/src/slic3r/GUI/MsgDialog.cpp b/src/slic3r/GUI/MsgDialog.cpp index 56e9905774..9343bb741b 100644 --- a/src/slic3r/GUI/MsgDialog.cpp +++ b/src/slic3r/GUI/MsgDialog.cpp @@ -215,8 +215,10 @@ MessageDialog::MessageDialog(wxWindow* parent, RichMessageDialog::RichMessageDialog(wxWindow* parent, const wxString& message, const wxString& caption/* = wxEmptyString*/, - long style/* = wxOK*/) - : MsgDialog(parent, caption.IsEmpty() ? wxString::Format(_L("%s info"), SLIC3R_APP_NAME) : caption, wxEmptyString, style) + long style/* = wxOK*/, + const wxString& headline/* = wxEmptyString*/ + ) + : MsgDialog(parent, caption.IsEmpty() ? wxString::Format(_L("%s info"), SLIC3R_APP_NAME) : caption, headline, style) { add_msg_content(this, content_sizer, message); diff --git a/src/slic3r/GUI/MsgDialog.hpp b/src/slic3r/GUI/MsgDialog.hpp index ea424c176f..50651312ea 100644 --- a/src/slic3r/GUI/MsgDialog.hpp +++ b/src/slic3r/GUI/MsgDialog.hpp @@ -133,7 +133,9 @@ public: RichMessageDialog( wxWindow *parent, const wxString& message, const wxString& caption = wxEmptyString, - long style = wxOK); + long style = wxOK, + const wxString& headline = wxEmptyString + ); RichMessageDialog(RichMessageDialog&&) = delete; RichMessageDialog(const RichMessageDialog&) = delete; RichMessageDialog &operator=(RichMessageDialog&&) = delete;