diff --git a/resources/images/single_little_photo.svg b/resources/images/single_little_photo.svg index 91fe14664..3b1bedb46 100644 --- a/resources/images/single_little_photo.svg +++ b/resources/images/single_little_photo.svg @@ -1,6 +1,6 @@ - - + + diff --git a/resources/images/single_little_photo_dark.svg b/resources/images/single_little_photo_dark.svg new file mode 100644 index 000000000..915faa0fa --- /dev/null +++ b/resources/images/single_little_photo_dark.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/slic3r/GUI/DeviceManager.cpp b/src/slic3r/GUI/DeviceManager.cpp index 63cd5d986..3da6982b8 100644 --- a/src/slic3r/GUI/DeviceManager.cpp +++ b/src/slic3r/GUI/DeviceManager.cpp @@ -4328,7 +4328,7 @@ int MachineObject::parse_json(std::string payload) if (it->contains("confidence")) { flow_ratio_calib_result.confidence = (*it)["confidence"].get(); } else { - flow_ratio_calib_result.confidence = 0; + flow_ratio_calib_result.confidence = 0; } flow_ratio_results.push_back(flow_ratio_calib_result); diff --git a/src/slic3r/GUI/StatusPanel.cpp b/src/slic3r/GUI/StatusPanel.cpp index 0143b77bd..985417dd8 100644 --- a/src/slic3r/GUI/StatusPanel.cpp +++ b/src/slic3r/GUI/StatusPanel.cpp @@ -442,9 +442,14 @@ void PrintingTaskPanel::create_panel(wxWindow* parent) m_score_subtask_info->SetBackgroundColour(*wxWHITE); wxBoxSizer * static_score_sizer = new wxBoxSizer(wxVERTICAL); - wxStaticText *static_score_text = new wxStaticText(m_score_subtask_info, wxID_ANY, "How do you like this printing file?", wxDefaultPosition, wxDefaultSize, 0); + wxStaticText *static_score_text = new wxStaticText(m_score_subtask_info, wxID_ANY, _L("How do you like this printing file?"), wxDefaultPosition, wxDefaultSize, 0); static_score_text->Wrap(-1); static_score_sizer->Add(static_score_text, 1, wxEXPAND | wxALL, FromDIP(10)); + m_has_rated_prompt = new wxStaticText(m_score_subtask_info, wxID_ANY, _L("(The model has already been rated. Your rating will overwrite the previous rating.)"), wxDefaultPosition, wxDefaultSize, 0); + m_has_rated_prompt->Wrap(-1); + m_has_rated_prompt->SetForegroundColour(*wxRED); + m_has_rated_prompt->SetFont(::Label::Body_10); + m_has_rated_prompt->Hide(); m_star_count = 0; wxBoxSizer *static_score_star_sizer = new wxBoxSizer(wxHORIZONTAL); @@ -475,7 +480,7 @@ void PrintingTaskPanel::create_panel(wxWindow* parent) std::pair(wxColour(61, 203, 115), StateColor::Hovered), std::pair(AMS_CONTROL_BRAND_COLOUR, StateColor::Normal)); StateColor btn_bd_green(std::pair(AMS_CONTROL_WHITE_COLOUR, StateColor::Disabled), std::pair(AMS_CONTROL_BRAND_COLOUR, StateColor::Enabled)); - m_button_market_scoring = new Button(m_score_subtask_info, _L("Rating")); + m_button_market_scoring = new Button(m_score_subtask_info, _L("Rate")); m_button_market_scoring->SetBackgroundColor(btn_bg_green); m_button_market_scoring->SetBorderColor(btn_bd_green); m_button_market_scoring->SetTextColor(wxColour("#FFFFFE")); @@ -487,6 +492,7 @@ void PrintingTaskPanel::create_panel(wxWindow* parent) static_score_star_sizer->Add(0, 0, 1, wxEXPAND, 0); static_score_star_sizer->Add(m_button_market_scoring, 0, wxEXPAND | wxRIGHT, FromDIP(10)); static_score_sizer->Add(static_score_star_sizer, 0, wxEXPAND, FromDIP(10)); + static_score_sizer->Add(m_has_rated_prompt, 1, wxEXPAND | wxALL, FromDIP(10)); m_score_subtask_info->SetSizer(static_score_sizer); m_score_subtask_info->Layout(); @@ -507,6 +513,17 @@ void PrintingTaskPanel::create_panel(wxWindow* parent) parent->Fit(); } +void PrintingTaskPanel::set_has_reted_text(bool has_rated) +{ + if (has_rated) { + m_has_rated_prompt->Show(); + } else { + m_has_rated_prompt->Hide(); + } + Layout(); + Fit(); +} + void PrintingTaskPanel::msw_rescale() { m_panel_printing_title->SetSize(wxSize(-1, FromDIP(PAGE_TITLE_HEIGHT))); @@ -1700,6 +1717,8 @@ void StatusPanel::on_market_scoring(wxCommandEvent &event) { if (ret == wxID_OK) { m_score_data->rating_id = -1; + m_project_task_panel->set_star_count_dirty(false); + m_print_finish = false; return; } if (m_score_data != nullptr) { @@ -1736,7 +1755,8 @@ void StatusPanel::on_market_scoring(wxCommandEvent &event) { if (ret == wxID_OK) { m_score_data->rating_id = -1; - + m_project_task_panel->set_star_count_dirty(false); + m_print_finish = false; return; } if (m_score_data != nullptr) { @@ -2817,7 +2837,12 @@ void StatusPanel::update_subtask(MachineObject *obj) BOOST_LOG_TRIVIAL(info) << "Initialize scores"; m_project_task_panel->set_star_count_dirty(true); m_print_finish = true; - if (0 != star_count) { m_project_task_panel->get_market_scoring_button()->Enable(true); } + if (0 != star_count) { + m_project_task_panel->get_market_scoring_button()->Enable(true); + m_project_task_panel->set_has_reted_text(true); + } else { + m_project_task_panel->set_has_reted_text(false); + } } } } @@ -2888,7 +2913,10 @@ bool StatusPanel::model_score_is_update() m_last_result = m_rating_result; return true; } - } catch (...) {} + } catch (...) { + BOOST_LOG_TRIVIAL(info) << "m_last_result first initial"; + m_last_result = m_rating_result; + } return false; } @@ -4308,12 +4336,12 @@ wxBoxSizer* ScoreDialog::get_comment_text_sizer() { void ScoreDialog::create_comment_text(const wxString& comment) { m_comment_text = new wxTextCtrl(this, wxID_ANY, "", wxDefaultPosition, wxSize(FromDIP(492), FromDIP(104)), wxTE_MULTILINE); + if (wxGetApp().dark_mode()) { + m_comment_text->SetForegroundColour(wxColor(*wxWHITE)); + } else + m_comment_text->SetForegroundColour(wxColor(*wxBLACK)); if (!comment.empty()) { m_comment_text->SetValue(comment); - if (wxGetApp().dark_mode()) { - m_comment_text->SetForegroundColour(wxColor(*wxWHITE)); - } else - m_comment_text->SetForegroundColour(wxColor(*wxBLACK)); } m_comment_text->SetHint(_L("Rate this print")); m_comment_text->SetBackgroundColour(*wxWHITE); @@ -4332,18 +4360,18 @@ void ScoreDialog::create_comment_text(const wxString& comment) { wxBoxSizer *ScoreDialog::get_photo_btn_sizer() { wxBoxSizer * m_photo_sizer = new wxBoxSizer(wxHORIZONTAL); - ScalableBitmap little_photo = ScalableBitmap(this, "single_little_photo", 20); - wxStaticBitmap *little_photo_img = new wxStaticBitmap(this, wxID_ANY, little_photo.bmp(), wxDefaultPosition, wxSize(FromDIP(20), FromDIP(20)), 0); + ScalableBitmap little_photo = wxGetApp().dark_mode() ? ScalableBitmap(this, "single_little_photo_dark", 20) : ScalableBitmap(this, "single_little_photo", 20); + wxStaticBitmap *little_photo_img = new wxStaticBitmap(this, wxID_ANY, little_photo.bmp(), wxDefaultPosition, wxSize(FromDIP(20), FromDIP(20)), 0); m_photo_sizer->Add(little_photo_img, 0, wxEXPAND | wxLEFT, FromDIP(24)); m_add_photo = new Label(this, _L("Add Photo")); m_add_photo->SetBackgroundColour(*wxWHITE); - m_add_photo->SetForegroundColour(wxColor("#898989")); + //m_add_photo->SetForegroundColour(wxColor("#898989")); m_add_photo->SetSize(wxSize(-1, FromDIP(20))); m_photo_sizer->Add(m_add_photo, 0, wxEXPAND | wxLEFT, FromDIP(12)); m_delete_photo = new Label(this, _L("Delete Photo")); m_delete_photo->SetBackgroundColour(*wxWHITE); - m_delete_photo->SetForegroundColour(wxColor("#898989")); + //m_delete_photo->SetForegroundColour(wxColor("#898989")); m_delete_photo->SetSize(wxSize(-1, FromDIP(20))); m_photo_sizer->Add(m_delete_photo, 0, wxEXPAND | wxLEFT, FromDIP(12)); m_delete_photo->Hide(); diff --git a/src/slic3r/GUI/StatusPanel.hpp b/src/slic3r/GUI/StatusPanel.hpp index 7d7bf69cf..68d946627 100644 --- a/src/slic3r/GUI/StatusPanel.hpp +++ b/src/slic3r/GUI/StatusPanel.hpp @@ -179,6 +179,7 @@ private: wxStaticText* m_staticText_progress_percent_icon; wxStaticText* m_staticText_progress_left; wxStaticText* m_staticText_layers; + wxStaticText * m_has_rated_prompt; wxStaticBitmap* m_bitmap_thumbnail; wxStaticBitmap* m_bitmap_static_use_time; wxStaticBitmap* m_bitmap_static_use_weight; @@ -230,6 +231,7 @@ public: std::vector &get_score_star() { return m_score_star; } bool get_star_count_dirty() { return m_star_count_dirty; } void set_star_count_dirty(bool dirty) { m_star_count_dirty = dirty; } + void set_has_reted_text(bool has_rated); };