diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index d67eb5ded4..a7b562bd75 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -633,9 +633,9 @@ void GUI_App::recreate_GUI(const wxString& msg_name) { mainframe->shutdown(); - wxProgressDialog dlg(msg_name, msg_name); + wxProgressDialog dlg(msg_name, msg_name, 100, nullptr, wxPD_AUTO_HIDE); dlg.Pulse(); - dlg.Update(10, _(L("Recreating")) + dots); + dlg.Update(10, _L("Recreating") + dots); MainFrame *old_main_frame = mainframe; mainframe = new MainFrame(); @@ -645,17 +645,17 @@ void GUI_App::recreate_GUI(const wxString& msg_name) sidebar().obj_list()->init_objects(); SetTopWindow(mainframe); - dlg.Update(30, _(L("Recreating")) + dots); + dlg.Update(30, _L("Recreating") + dots); old_main_frame->Destroy(); // For this moment ConfigWizard is deleted, invalidate it. m_wizard = nullptr; - dlg.Update(80, _(L("Loading of current presets")) + dots); + dlg.Update(80, _L("Loading of current presets") + dots); m_printhost_job_queue.reset(new PrintHostJobQueue(mainframe->printhost_queue_dlg())); load_current_presets(); mainframe->Show(true); - dlg.Update(90, _(L("Loading of a mode view")) + dots); + dlg.Update(90, _L("Loading of a mode view") + dots); /* Temporary workaround for the correct behavior of the Scrolled sidebar panel: * change min hight of object list to the normal min value (15 * wxGetApp().em_unit()) * after first whole Mainframe updating/layouting diff --git a/src/slic3r/GUI/MainFrame.cpp b/src/slic3r/GUI/MainFrame.cpp index 0f6d08124e..10d9d800f9 100644 --- a/src/slic3r/GUI/MainFrame.cpp +++ b/src/slic3r/GUI/MainFrame.cpp @@ -1303,10 +1303,10 @@ void MainFrame::quick_slice(const int qs) } // show processbar dialog - m_progress_dialog = new wxProgressDialog(_(L("Slicing")) + dots, - // TRN "Processing input_file_basename" - from_u8((boost::format(_utf8(L("Processing %s"))) % (input_file_basename + dots)).str()), - 100, this, 4); + m_progress_dialog = new wxProgressDialog(_L("Slicing") + dots, + // TRN "Processing input_file_basename" + from_u8((boost::format(_utf8(L("Processing %s"))) % (input_file_basename + dots)).str()), + 100, nullptr, wxPD_AUTO_HIDE); m_progress_dialog->Pulse(); { // my @warnings = (); diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index ac6e7819ba..f1156271c8 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -2210,17 +2210,17 @@ std::vector Plater::priv::load_files(const std::vector& input_ } const auto loading = _L("Loading") + dots; - wxProgressDialog dlg(loading, loading); + wxProgressDialog dlg(loading, "", 100, q, wxPD_AUTO_HIDE); dlg.Pulse(); auto *new_model = (!load_model || one_by_one) ? nullptr : new Slic3r::Model(); std::vector obj_idxs; - for (size_t i = 0; i < input_files.size(); i++) { + for (size_t i = 0; i < input_files.size(); ++i) { const auto &path = input_files[i]; const auto filename = path.filename(); - const auto dlg_info = format_wxstr(_L("Processing input file %s"), from_path(filename)) + "\n"; - dlg.Update(100 * i / input_files.size(), dlg_info); + const auto dlg_info = _L("Loading file") + ": " + from_path(filename); + dlg.Update(static_cast(100.0f * static_cast(i) / static_cast(input_files.size())), dlg_info); const bool type_3mf = std::regex_match(path.string(), pattern_3mf); const bool type_zip_amf = !type_3mf && std::regex_match(path.string(), pattern_zip_amf); diff --git a/src/slic3r/Utils/FixModelByWin10.cpp b/src/slic3r/Utils/FixModelByWin10.cpp index 0de526432b..8de4991d85 100644 --- a/src/slic3r/Utils/FixModelByWin10.cpp +++ b/src/slic3r/Utils/FixModelByWin10.cpp @@ -337,8 +337,8 @@ void fix_model_by_win10_sdk_gui(ModelObject &model_object, int volume_idx) // Open a progress dialog. wxProgressDialog progress_dialog( - _(L("Model fixing")), - _(L("Exporting model...")), + _L("Model fixing"), + _L("Exporting model") + "...", 100, nullptr, wxPD_AUTO_HIDE | wxPD_APP_MODAL | wxPD_CAN_ABORT); // Executing the calculation in a background thread, so that the COM context could be created with its own threading model. // (It seems like wxWidgets initialize the COM contex as single threaded and we need a multi-threaded context).