diff --git a/resources/images/cali_page_caption_prev.svg b/resources/images/cali_page_caption_prev.svg
index b34eca2cc..0c23897c8 100644
--- a/resources/images/cali_page_caption_prev.svg
+++ b/resources/images/cali_page_caption_prev.svg
@@ -1,3 +1,3 @@
diff --git a/resources/images/cali_page_caption_prev_hover.svg b/resources/images/cali_page_caption_prev_hover.svg
index b34eca2cc..0c23897c8 100644
--- a/resources/images/cali_page_caption_prev_hover.svg
+++ b/resources/images/cali_page_caption_prev_hover.svg
@@ -1,3 +1,3 @@
diff --git a/src/slic3r/GUI/CaliHistoryDialog.cpp b/src/slic3r/GUI/CaliHistoryDialog.cpp
index a76f823f5..770fca299 100644
--- a/src/slic3r/GUI/CaliHistoryDialog.cpp
+++ b/src/slic3r/GUI/CaliHistoryDialog.cpp
@@ -61,7 +61,7 @@ HistoryWindow::HistoryWindow(wxWindow* parent, const std::vector&
comboBox_panel->SetSizer(comboBox_sizer);
comboBox_sizer->AddSpacer(10);
- auto nozzle_dia_title = new wxStaticText(comboBox_panel, wxID_ANY, _L("Nozzle Diameter"));
+ auto nozzle_dia_title = new Label(comboBox_panel, _L("Nozzle Diameter"));
nozzle_dia_title->SetFont(Label::Head_14);
comboBox_sizer->Add(nozzle_dia_title, 0, wxLEFT | wxRIGHT, FromDIP(15));
comboBox_sizer->AddSpacer(10);
@@ -75,9 +75,10 @@ HistoryWindow::HistoryWindow(wxWindow* parent, const std::vector&
scroll_sizer->AddSpacer(FromDIP(15));
wxPanel* tips_panel = new wxPanel(scroll_window, wxID_ANY);
+ tips_panel->SetBackgroundColour(*wxWHITE);
auto tips_sizer = new wxBoxSizer(wxVERTICAL);
tips_panel->SetSizer(tips_sizer);
- m_tips = new wxStaticText(tips_panel, wxID_ANY, "");
+ m_tips = new Label(tips_panel, "");
m_tips->SetForegroundColour({ 145, 145, 145 });
tips_sizer->Add(m_tips, 0, wxEXPAND);
@@ -86,6 +87,7 @@ HistoryWindow::HistoryWindow(wxWindow* parent, const std::vector&
scroll_sizer->AddSpacer(FromDIP(15));
m_history_data_panel = new wxPanel(scroll_window);
+ m_history_data_panel->SetBackgroundColour(*wxWHITE);
scroll_sizer->Add(m_history_data_panel, 1, wxEXPAND);
@@ -208,38 +210,38 @@ void HistoryWindow::sync_history_data() {
m_history_data_panel->SetSizer(gbSizer, true);
- auto title_name = new wxStaticText(m_history_data_panel, wxID_ANY, _L("Name"));
+ auto title_name = new Label(m_history_data_panel, _L("Name"));
title_name->SetFont(Label::Head_14);
gbSizer->Add(title_name, { 0, 0 }, { 1, 1 }, wxBOTTOM, FromDIP(15));
- auto title_preset_name = new wxStaticText(m_history_data_panel, wxID_ANY, _L("Filament"));
+ auto title_preset_name = new Label(m_history_data_panel, _L("Filament"));
title_preset_name->SetFont(Label::Head_14);
gbSizer->Add(title_preset_name, { 0, 1 }, { 1, 1 }, wxBOTTOM, FromDIP(15));
- auto title_k = new wxStaticText(m_history_data_panel, wxID_ANY, _L("Factor K"));
+ auto title_k = new Label(m_history_data_panel, _L("Factor K"));
title_k->SetFont(Label::Head_14);
gbSizer->Add(title_k, { 0, 2 }, { 1, 1 }, wxBOTTOM, FromDIP(15));
// Hide
- //auto title_n = new wxStaticText(m_history_data_panel, wxID_ANY, _L("N"));
+ //auto title_n = new Label(m_history_data_panel, wxID_ANY, _L("N"));
//title_n->SetFont(Label::Head_14);
//gbSizer->Add(title_n, { 0, 3 }, { 1, 1 }, wxBOTTOM, FromDIP(15));
- auto title_action = new wxStaticText(m_history_data_panel, wxID_ANY, _L("Action"));
+ auto title_action = new Label(m_history_data_panel, _L("Action"));
title_action->SetFont(Label::Head_14);
gbSizer->Add(title_action, { 0, 3 }, { 1, 1 });
int i = 1;
for (auto& result : m_calib_results_history) {
- auto name_value = new wxStaticText(m_history_data_panel, wxID_ANY, from_u8(result.name));
+ auto name_value = new Label(m_history_data_panel, from_u8(result.name));
wxString preset_name = get_preset_name_by_filament_id(result.filament_id);
- auto preset_name_value = new wxStaticText(m_history_data_panel, wxID_ANY, preset_name);
+ auto preset_name_value = new Label(m_history_data_panel, preset_name);
auto k_str = wxString::Format("%.3f", result.k_value);
auto n_str = wxString::Format("%.3f", result.n_coef);
- auto k_value = new wxStaticText(m_history_data_panel, wxID_ANY, k_str);
- auto n_value = new wxStaticText(m_history_data_panel, wxID_ANY, n_str);
+ auto k_value = new Label(m_history_data_panel, k_str);
+ auto n_value = new Label(m_history_data_panel, n_str);
n_value->Hide();
auto delete_button = new Button(m_history_data_panel, _L("Delete"));
delete_button->SetBackgroundColour(*wxWHITE);
@@ -292,6 +294,8 @@ void HistoryWindow::sync_history_data() {
i++;
}
+ wxGetApp().UpdateDlgDarkUI(this);
+
m_history_data_panel->Layout();
m_history_data_panel->Thaw();
}
@@ -319,6 +323,7 @@ EditCalibrationHistoryDialog::EditCalibrationHistoryDialog(wxWindow* parent, con
auto main_sizer = new wxBoxSizer(wxVERTICAL);
auto top_panel = new wxPanel(this);
+ top_panel->SetBackgroundColour(*wxWHITE);
auto panel_sizer = new wxBoxSizer(wxVERTICAL);
top_panel->SetSizer(panel_sizer);
@@ -326,7 +331,7 @@ EditCalibrationHistoryDialog::EditCalibrationHistoryDialog(wxWindow* parent, con
flex_sizer->SetFlexibleDirection(wxBOTH);
flex_sizer->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
- wxStaticText* name_title = new wxStaticText(top_panel, wxID_ANY, _L("Name"));
+ Label* name_title = new Label(top_panel, _L("Name"));
TextInput* name_value = new TextInput(top_panel, m_new_result.name, "", "", wxDefaultPosition, EDIT_HISTORY_DIALOG_INPUT_SIZE, wxTE_PROCESS_ENTER);
name_value->GetTextCtrl()->Bind(wxEVT_TEXT_ENTER, [this, name_value](auto& e) {
if (!name_value->GetTextCtrl()->GetValue().IsEmpty())
@@ -340,13 +345,13 @@ EditCalibrationHistoryDialog::EditCalibrationHistoryDialog(wxWindow* parent, con
flex_sizer->Add(name_title);
flex_sizer->Add(name_value);
- wxStaticText* preset_name_title = new wxStaticText(top_panel, wxID_ANY, _L("Filament"));
+ Label* preset_name_title = new Label(top_panel, _L("Filament"));
wxString preset_name = get_preset_name_by_filament_id(result.filament_id);
- wxStaticText* preset_name_value = new wxStaticText(top_panel, wxID_ANY, preset_name);
+ Label* preset_name_value = new Label(top_panel, preset_name);
flex_sizer->Add(preset_name_title);
flex_sizer->Add(preset_name_value);
- wxStaticText* k_title = new wxStaticText(top_panel, wxID_ANY, _L("Factor K"));
+ Label* k_title = new Label(top_panel, _L("Factor K"));
auto k_str = wxString::Format("%.3f", m_new_result.k_value);
TextInput* k_value = new TextInput(top_panel, k_str, "", "", wxDefaultPosition, EDIT_HISTORY_DIALOG_INPUT_SIZE, wxTE_PROCESS_ENTER);
k_value->GetTextCtrl()->Bind(wxEVT_TEXT_ENTER, [this, k_value](auto& e) {
@@ -374,7 +379,7 @@ EditCalibrationHistoryDialog::EditCalibrationHistoryDialog(wxWindow* parent, con
flex_sizer->Add(k_value);
// Hide:
- //wxStaticText* n_title = new wxStaticText(top_panel, wxID_ANY, _L("Factor N"));
+ //Label* n_title = new Label(top_panel, _L("Factor N"));
//TextInput* n_value = new TextInput(top_panel, n, "", "", wxDefaultPosition, EDIT_HISTORY_DIALOG_INPUT_SIZE, wxTE_PROCESS_ENTER);
//flex_sizer->Add(n_title);
//flex_sizer->Add(n_value);
diff --git a/src/slic3r/GUI/CaliHistoryDialog.hpp b/src/slic3r/GUI/CaliHistoryDialog.hpp
index 001006cd1..581da0182 100644
--- a/src/slic3r/GUI/CaliHistoryDialog.hpp
+++ b/src/slic3r/GUI/CaliHistoryDialog.hpp
@@ -26,7 +26,7 @@ protected:
wxPanel* m_history_data_panel;
ComboBox* m_comboBox_nozzle_dia;
- wxStaticText* m_tips;
+ Label* m_tips;
wxTimer* m_refresh_timer { nullptr };
diff --git a/src/slic3r/GUI/CalibrationPanel.cpp b/src/slic3r/GUI/CalibrationPanel.cpp
index be608eafe..1681572cd 100644
--- a/src/slic3r/GUI/CalibrationPanel.cpp
+++ b/src/slic3r/GUI/CalibrationPanel.cpp
@@ -703,6 +703,20 @@ void CalibrationPanel::set_default()
wxGetApp().sidebar().load_ams_list({}, {});
}
+void CalibrationPanel::msw_rescale()
+{
+ for (int i = 0; i < (int)CALI_MODE_COUNT; i++) {
+ m_cali_panels[i]->msw_rescale();
+ }
+}
+
+void CalibrationPanel::on_sys_color_changed()
+{
+ for (int i = 0; i < (int)CALI_MODE_COUNT; i++) {
+ m_cali_panels[i]->on_sys_color_changed();
+ }
+}
+
CalibrationPanel::~CalibrationPanel() {
m_side_tools->get_panel()->Disconnect(wxEVT_LEFT_DOWN, wxMouseEventHandler(CalibrationPanel::on_printer_clicked), NULL, this);
if (m_refresh_timer)
diff --git a/src/slic3r/GUI/CalibrationPanel.hpp b/src/slic3r/GUI/CalibrationPanel.hpp
index 52dfa249c..ca55e07f1 100644
--- a/src/slic3r/GUI/CalibrationPanel.hpp
+++ b/src/slic3r/GUI/CalibrationPanel.hpp
@@ -111,6 +111,8 @@ public:
bool Show(bool show);
void on_printer_clicked(wxMouseEvent& event);
void set_default();
+ void msw_rescale();
+ void on_sys_color_changed();
protected:
void init_tabpanel();
void init_timer();
diff --git a/src/slic3r/GUI/CalibrationWizard.cpp b/src/slic3r/GUI/CalibrationWizard.cpp
index e9182d2f0..ad79f2787 100644
--- a/src/slic3r/GUI/CalibrationWizard.cpp
+++ b/src/slic3r/GUI/CalibrationWizard.cpp
@@ -275,6 +275,22 @@ void CalibrationWizard::back_preset_info(MachineObject *obj, bool cali_finish)
wxGetApp().app_config->save_printer_cali_infos(printer_cali_info);
}
+void CalibrationWizard::msw_rescale()
+{
+ for (int i = 0; i < m_page_steps.size(); i++) {
+ if (m_page_steps[i]->page)
+ m_page_steps[i]->page->msw_rescale();
+ }
+}
+
+void CalibrationWizard::on_sys_color_changed()
+{
+ for (int i = 0; i < m_page_steps.size(); i++) {
+ if (m_page_steps[i]->page)
+ m_page_steps[i]->page->on_sys_color_changed();
+ }
+}
+
void CalibrationWizard::on_cali_go_home()
{
// can go home? confirm to continue
diff --git a/src/slic3r/GUI/CalibrationWizard.hpp b/src/slic3r/GUI/CalibrationWizard.hpp
index 5896afb72..e5e55834f 100644
--- a/src/slic3r/GUI/CalibrationWizard.hpp
+++ b/src/slic3r/GUI/CalibrationWizard.hpp
@@ -66,6 +66,9 @@ public:
virtual void recover_preset_info(MachineObject *obj);
virtual void back_preset_info(MachineObject *obj, bool cali_finish);
+ void msw_rescale();
+ void on_sys_color_changed();
+
protected:
void on_cali_go_home();
diff --git a/src/slic3r/GUI/CalibrationWizardPage.cpp b/src/slic3r/GUI/CalibrationWizardPage.cpp
index cf50758a4..5b3b16c4e 100644
--- a/src/slic3r/GUI/CalibrationWizardPage.cpp
+++ b/src/slic3r/GUI/CalibrationWizardPage.cpp
@@ -351,6 +351,8 @@ CaliPageCaption::CaliPageCaption(wxWindow* parent, CalibMode cali_mode,
{
init_bitmaps();
+ SetBackgroundColour(*wxWHITE);
+
auto top_sizer = new wxBoxSizer(wxVERTICAL);
auto caption_sizer = new wxBoxSizer(wxHORIZONTAL);
m_prev_btn = new ScalableButton(this, wxID_ANY, "cali_page_caption_prev",
@@ -359,7 +361,7 @@ CaliPageCaption::CaliPageCaption(wxWindow* parent, CalibMode cali_mode,
caption_sizer->Add(m_prev_btn, 0, wxALIGN_CENTER | wxRIGHT, FromDIP(10));
wxString title = get_cali_mode_caption_string(cali_mode);
- wxStaticText* title_text = new wxStaticText(this, wxID_ANY, title, wxDefaultPosition, wxDefaultSize, 0);
+ Label* title_text = new Label(this, title);
title_text->SetFont(Label::Head_20);
title_text->Wrap(-1);
caption_sizer->Add(title_text, 0, wxALIGN_CENTER | wxRIGHT, FromDIP(10));
@@ -391,13 +393,13 @@ CaliPageCaption::CaliPageCaption(wxWindow* parent, CalibMode cali_mode,
});
// hover effect
- m_help_btn->Bind(wxEVT_ENTER_WINDOW, [this](auto& e) {
- m_help_btn->SetBitmap(m_help_bmp_hover.bmp());
- });
+ //m_help_btn->Bind(wxEVT_ENTER_WINDOW, [this](auto& e) {
+ // m_help_btn->SetBitmap(m_help_bmp_hover.bmp());
+ // });
- m_help_btn->Bind(wxEVT_LEAVE_WINDOW, [this](auto& e) {
- m_help_btn->SetBitmap(m_help_bmp_normal.bmp());
- });
+ //m_help_btn->Bind(wxEVT_LEAVE_WINDOW, [this](auto& e) {
+ // m_help_btn->SetBitmap(m_help_bmp_normal.bmp());
+ // });
// send event
m_prev_btn->Bind(wxEVT_BUTTON, [this](auto& e) {
@@ -406,6 +408,14 @@ CaliPageCaption::CaliPageCaption(wxWindow* parent, CalibMode cali_mode,
event.SetInt((int)(CaliPageActionType::CALI_ACTION_GO_HOME));
wxPostEvent(m_parent, event);
});
+
+#ifdef __linux__
+ wxGetApp().CallAfter([this, title_text]() {
+ title_text->SetMinSize(title_text->GetSize() + wxSize{ FromDIP(150), title_text->GetCharHeight() / 2 });
+ Layout();
+ Fit();
+ });
+#endif
}
void CaliPageCaption::init_bitmaps() {
@@ -417,7 +427,7 @@ void CaliPageCaption::init_bitmaps() {
void CaliPageCaption::create_wiki(wxWindow* parent)
{
- m_wiki_text = new wxStaticText(parent, wxID_ANY, _L("Wiki"));
+ m_wiki_text = new Label(parent, _L("Wiki"));
m_wiki_text->SetFont(Label::Head_14);
m_wiki_text->SetForegroundColour({ 0, 88, 220 });
m_wiki_text->Bind(wxEVT_ENTER_WINDOW, [this](wxMouseEvent& e) {
@@ -445,18 +455,25 @@ void CaliPageCaption::show_help_icon(bool show)
m_help_btn->Hide();
}
+void CaliPageCaption::on_sys_color_changed()
+{
+ m_prev_btn->msw_rescale();
+}
+
CaliPageStepGuide::CaliPageStepGuide(wxWindow* parent, wxArrayString steps,
wxWindowID id, const wxPoint& pos, const wxSize& size, long style)
: wxPanel(parent, id, pos, size, style),
m_steps(steps)
{
+ SetBackgroundColour(*wxWHITE);
+
auto top_sizer = new wxBoxSizer(wxVERTICAL);
m_step_sizer = new wxBoxSizer(wxHORIZONTAL);
m_step_sizer->AddSpacer(FromDIP(90));
for (int i = 0; i < m_steps.size(); i++) {
- wxStaticText* step_text = new wxStaticText(this, wxID_ANY, m_steps[i]);
- step_text->SetForegroundColour(wxColour(181, 181, 181));
+ Label* step_text = new Label(this, m_steps[i]);
+ step_text->SetForegroundColour(wxColour(206, 206, 206));
m_text_steps.push_back(step_text);
m_step_sizer->Add(step_text, 0, wxALIGN_CENTER | wxLEFT | wxRIGHT, FromDIP(15));
if (i != m_steps.size() - 1) {
@@ -471,14 +488,18 @@ CaliPageStepGuide::CaliPageStepGuide(wxWindow* parent, wxArrayString steps,
top_sizer->AddSpacer(FromDIP(30));
this->SetSizer(top_sizer);
top_sizer->Fit(this);
+
+ wxGetApp().UpdateDarkUIWin(this);
}
void CaliPageStepGuide::set_steps(int index)
{
- for (wxStaticText* text_step : m_text_steps) {
- text_step->SetForegroundColour(wxColour(181, 181, 181));
+ for (Label* text_step : m_text_steps) {
+ text_step->SetForegroundColour(wxColour(206, 206, 206));
}
m_text_steps[index]->SetForegroundColour(*wxBLACK);
+
+ wxGetApp().UpdateDarkUIWin(this);
}
void CaliPageStepGuide::set_steps_string(wxArrayString steps)
@@ -489,8 +510,8 @@ void CaliPageStepGuide::set_steps_string(wxArrayString steps)
m_steps = steps;
m_step_sizer->AddSpacer(FromDIP(90));
for (int i = 0; i < m_steps.size(); i++) {
- wxStaticText* step_text = new wxStaticText(this, wxID_ANY, m_steps[i]);
- step_text->SetForegroundColour(wxColour(181, 181, 181));
+ Label* step_text = new Label(this, m_steps[i]);
+ step_text->SetForegroundColour(wxColour(206, 206, 206));
m_text_steps.push_back(step_text);
m_step_sizer->Add(step_text, 0, wxALIGN_CENTER | wxLEFT | wxRIGHT, FromDIP(15));
if (i != m_steps.size() - 1) {
@@ -500,6 +521,9 @@ void CaliPageStepGuide::set_steps_string(wxArrayString steps)
}
}
m_step_sizer->AddSpacer(FromDIP(90));
+
+ wxGetApp().UpdateDarkUIWin(this);
+
Layout();
}
@@ -535,12 +559,12 @@ PAPageHelpPanel::PAPageHelpPanel(wxWindow* parent, bool ground_panel, wxWindowID
wxBoxSizer* top_sizer = new wxBoxSizer(wxVERTICAL);
top_sizer->AddSpacer(FromDIP(10));
- auto help_text_title = new wxStaticText(this, wxID_ANY, _L("How to use calibration result?"));
+ auto help_text_title = new Label(this, _L("How to use calibration result?"));
help_text_title->SetFont(Label::Head_14);
top_sizer->Add(help_text_title, 0, wxLEFT | wxRIGHT, left_align_padding);
wxBoxSizer* help_text_sizer = new wxBoxSizer(wxHORIZONTAL);
- auto help_text = new wxStaticText(this, wxID_ANY, _L("You could change the Flow Dynamics Calibration Factor in material editing"));
+ auto help_text = new Label(this, _L("You could change the Flow Dynamics Calibration Factor in material editing"));
help_text->SetFont(Label::Body_14);
m_help_btn = new ScalableButton(this, wxID_ANY, "cali_page_caption_help", wxEmptyString, wxDefaultSize, wxDefaultPosition, wxBU_EXACTFIT | wxNO_BORDER, false, 24);
m_help_btn->SetBackgroundColour(m_help_btn->GetParent()->GetBackgroundColour());
@@ -734,5 +758,13 @@ CalibrationWizardPage::CalibrationWizardPage(wxWindow* parent, wxWindowID id, co
SetMinSize({ MIN_CALIBRATION_PAGE_WIDTH, -1 });
}
+void CalibrationWizardPage::msw_rescale()
+{
+}
+
+void CalibrationWizardPage::on_sys_color_changed()
+{
+ m_page_caption->on_sys_color_changed();
+}
}}
diff --git a/src/slic3r/GUI/CalibrationWizardPage.hpp b/src/slic3r/GUI/CalibrationWizardPage.hpp
index 8449ebc93..746c58628 100644
--- a/src/slic3r/GUI/CalibrationWizardPage.hpp
+++ b/src/slic3r/GUI/CalibrationWizardPage.hpp
@@ -122,6 +122,7 @@ public:
void show_prev_btn(bool show = true);
void show_help_icon(bool show = true);
+ void on_sys_color_changed();
protected:
ScalableButton* m_prev_btn;
@@ -131,7 +132,7 @@ private:
void init_bitmaps();
void create_wiki(wxWindow* parent);
- wxStaticText* m_wiki_text;
+ Label* m_wiki_text;
wxString m_wiki_url;
ScalableBitmap m_prev_bmp_normal;
ScalableBitmap m_prev_bmp_hover;
@@ -154,7 +155,7 @@ public:
protected:
wxArrayString m_steps;
wxBoxSizer* m_step_sizer;
- std::vector m_text_steps;
+ std::vector