diff --git a/src/BambuStudio.cpp b/src/BambuStudio.cpp index 578cc660f..368797dae 100644 --- a/src/BambuStudio.cpp +++ b/src/BambuStudio.cpp @@ -170,6 +170,7 @@ int CLI::run(int argc, char **argv) if (start_gui) { BOOST_LOG_TRIVIAL(info) << "no action, start gui directly" << std::endl; + ::Label::initSysFont(); #ifdef SLIC3R_GUI /*#if !defined(_WIN32) && !defined(__APPLE__) // likely some linux / unix system diff --git a/src/slic3r/GUI/BBLStatusBarBind.cpp b/src/slic3r/GUI/BBLStatusBarBind.cpp index 346dd0543..878cfb25e 100644 --- a/src/slic3r/GUI/BBLStatusBarBind.cpp +++ b/src/slic3r/GUI/BBLStatusBarBind.cpp @@ -36,10 +36,6 @@ BBLStatusBarBind::BBLStatusBarBind(wxWindow *parent, int id) m_prog = new wxGauge(m_self, wxID_ANY, 100, wxDefaultPosition, wxSize(m_self->FromDIP(400), m_self->FromDIP(6)), wxGA_HORIZONTAL); m_prog->SetValue(0); - block_left = new wxWindow(m_prog, wxID_ANY, wxPoint(0, 0), wxSize(2, m_prog->GetSize().GetHeight() * 2)); - block_left->SetBackgroundColour(wxColour(255, 255, 255)); - block_right = new wxWindow(m_prog, wxID_ANY, wxPoint(m_prog->GetSize().GetWidth() - 2, 0), wxSize(2, m_prog->GetSize().GetHeight() * 2)); - block_right->SetBackgroundColour(wxColour(255, 255, 255)); m_stext_percent = new wxStaticText(m_self, wxID_ANY, _L(""), wxDefaultPosition, wxDefaultSize, 0); m_stext_percent->SetForegroundColour(wxColour(107, 107, 107)); @@ -61,8 +57,6 @@ BBLStatusBarBind::BBLStatusBarBind(wxWindow *parent, int id) void BBLStatusBarBind::set_prog_block() { - block_left->SetPosition(wxPoint(0, 0)); - block_right->SetPosition(wxPoint(m_prog->GetSize().GetWidth() - 2, 0)); } int BBLStatusBarBind::get_progress() const diff --git a/src/slic3r/GUI/BBLStatusBarBind.hpp b/src/slic3r/GUI/BBLStatusBarBind.hpp index 8d0252feb..37755aaec 100644 --- a/src/slic3r/GUI/BBLStatusBarBind.hpp +++ b/src/slic3r/GUI/BBLStatusBarBind.hpp @@ -35,8 +35,6 @@ class BBLStatusBarBind : public ProgressIndicator wxStaticText *m_stext_percent; wxBoxSizer * m_sizer; wxBoxSizer * m_sizer_eline; - wxWindow * block_left; - wxWindow * block_right; public: BBLStatusBarBind(wxWindow *parent = nullptr, int id = -1); diff --git a/src/slic3r/GUI/GUI_ObjectTable.cpp b/src/slic3r/GUI/GUI_ObjectTable.cpp index 91342ec3e..a5463a50c 100644 --- a/src/slic3r/GUI/GUI_ObjectTable.cpp +++ b/src/slic3r/GUI/GUI_ObjectTable.cpp @@ -3353,12 +3353,9 @@ void ObjectTableDialog::OnClose(wxCloseEvent &evt) delete m_obj_panel; m_obj_panel = nullptr; } - DestroyChildren(); Destroy(); - #endif - - #ifdef __WXOSX_MAC__ + #else evt.Skip(); #endif } diff --git a/src/slic3r/GUI/Monitor.cpp b/src/slic3r/GUI/Monitor.cpp index 6b030290d..625b9fcf1 100644 --- a/src/slic3r/GUI/Monitor.cpp +++ b/src/slic3r/GUI/Monitor.cpp @@ -319,6 +319,13 @@ void MonitorPanel::on_printer_clicked(wxMouseEvent &event) wxPoint pos = m_side_tools->ClientToScreen(wxPoint(0, 0)); pos.y += m_side_tools->GetRect().height; m_select_machine.Position(pos, wxSize(0, 0)); + +#ifdef __linux__ + m_select_machine.SetSize(wxSize(m_side_tools->GetSize().x, -1)); + m_select_machine.SetMaxSize(wxSize(m_side_tools->GetSize().x, -1)); + m_select_machine.SetMinSize(wxSize(m_side_tools->GetSize().x, -1)); +#endif + m_select_machine.Popup(); } } diff --git a/src/slic3r/GUI/StatusPanel.cpp b/src/slic3r/GUI/StatusPanel.cpp index d88f251c3..a345367b4 100644 --- a/src/slic3r/GUI/StatusPanel.cpp +++ b/src/slic3r/GUI/StatusPanel.cpp @@ -45,7 +45,7 @@ static const wxColour GROUP_STATIC_LINE_COL = wxColour(206, 206, 206); /* font and foreground colors */ static const wxFont PAGE_TITLE_FONT = Label::Body_14; -static const wxFont GROUP_TITLE_FONT = Label::sysFont(17); +//static const wxFont GROUP_TITLE_FONT = Label::sysFont(17); static wxColour PAGE_TITLE_FONT_COL = wxColour(107, 107, 107); static wxColour GROUP_TITLE_FONT_COL = wxColour(172, 172, 172); @@ -1177,7 +1177,7 @@ void StatusPanel::create_tasklist_info() m_tasklist_caption_sizer = new wxBoxSizer(wxHORIZONTAL); m_text_tasklist_caption = new wxStaticText(this, wxID_ANY, _L("Printing List"), wxDefaultPosition, wxDefaultSize, 0); m_text_tasklist_caption->Wrap(-1); - m_text_tasklist_caption->SetFont(GROUP_TITLE_FONT); + m_text_tasklist_caption->SetFont(Label::Body_16); m_text_tasklist_caption->SetForegroundColour(GROUP_TITLE_FONT_COL); m_tasklist_caption_sizer->Add(m_text_tasklist_caption, 0, wxLEFT | wxALIGN_CENTER_VERTICAL, GROUP_TITLE_LEFT_MARGIN); diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp index 660739ee3..d73d0d977 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -268,7 +268,8 @@ void Tab::create_preset_tab() search_sizer->Add(new wxWindow(m_search_item, wxID_ANY, wxDefaultPosition, wxSize(0, 0)), 0, wxEXPAND | wxLEFT, 16); search_sizer->Add(m_search_input, 1, wxEXPAND | wxALL, wxGetApp().em_unit() / 2); - search_sizer->Add(new wxWindow(m_search_input, wxID_ANY, wxDefaultPosition, wxSize(0, 0)), 0, wxEXPAND | wxLEFT, 16); + //bbl for linux + //search_sizer->Add(new wxWindow(m_search_input, wxID_ANY, wxDefaultPosition, wxSize(0, 0)), 0, wxEXPAND | wxLEFT, 16); m_search_item->Bind(wxEVT_LEFT_DOWN, [this](wxMouseEvent &e) { diff --git a/src/slic3r/GUI/Widgets/Label.cpp b/src/slic3r/GUI/Widgets/Label.cpp index f4d6171a5..d2b04e4c7 100644 --- a/src/slic3r/GUI/Widgets/Label.cpp +++ b/src/slic3r/GUI/Widgets/Label.cpp @@ -3,12 +3,13 @@ wxFont Label::sysFont(int size, bool bold) { -#ifdef __linux__ - return wxFont{}; -#endif -#ifdef __WIN32__ +//#ifdef __linux__ +// return wxFont{}; +//#endif +#ifndef __APPLE__ size = size * 4 / 5; #endif + auto face = wxString::FromUTF8("HarmonyOS Sans SC"); wxFont font{size, wxFONTFAMILY_SWISS, wxFONTSTYLE_NORMAL, bold ? wxFONTWEIGHT_BOLD : wxFONTWEIGHT_NORMAL, false, face}; font.SetFaceName(face); @@ -19,24 +20,46 @@ wxFont Label::sysFont(int size, bool bold) } return font; } -wxFont Label::Head_24 = Label::sysFont(24, true); -wxFont Label::Head_20 = Label::sysFont(20, true); -wxFont Label::Head_18 = Label::sysFont(18, true); -wxFont Label::Head_16 = Label::sysFont(16, true); -wxFont Label::Head_15 = Label::sysFont(15, true); -wxFont Label::Head_14 = Label::sysFont(14, true); -wxFont Label::Head_13 = Label::sysFont(13, true); -wxFont Label::Head_12 = Label::sysFont(12, true); -wxFont Label::Head_10 = Label::sysFont(10, true); +wxFont Label::Head_24; +wxFont Label::Head_20; +wxFont Label::Head_18; +wxFont Label::Head_16; +wxFont Label::Head_15; +wxFont Label::Head_14; +wxFont Label::Head_13; +wxFont Label::Head_12; +wxFont Label::Head_10; -wxFont Label::Body_16 = Label::sysFont(16, false); -wxFont Label::Body_15 = Label::sysFont(15, false); -wxFont Label::Body_14 = Label::sysFont(14, false); -wxFont Label::Body_13 = Label::sysFont(13, false); -wxFont Label::Body_12 = Label::sysFont(12, false); -wxFont Label::Body_11 = Label::sysFont(11, false); -wxFont Label::Body_10 = Label::sysFont(10, false); -wxFont Label::Body_9 = Label::sysFont(9, false); +wxFont Label::Body_16; +wxFont Label::Body_15; +wxFont Label::Body_14; +wxFont Label::Body_13; +wxFont Label::Body_12; +wxFont Label::Body_11; +wxFont Label::Body_10; +wxFont Label::Body_9; + +void Label::initSysFont() +{ + Head_24 = Label::sysFont(24, true); + Head_20 = Label::sysFont(20, true); + Head_18 = Label::sysFont(18, true); + Head_16 = Label::sysFont(16, true); + Head_15 = Label::sysFont(15, true); + Head_14 = Label::sysFont(14, true); + Head_13 = Label::sysFont(13, true); + Head_12 = Label::sysFont(12, true); + Head_10 = Label::sysFont(10, true); + + Body_16 = Label::sysFont(16, false); + Body_15 = Label::sysFont(15, false); + Body_14 = Label::sysFont(14, false); + Body_13 = Label::sysFont(13, false); + Body_12 = Label::sysFont(12, false); + Body_11 = Label::sysFont(11, false); + Body_10 = Label::sysFont(10, false); + Body_9 = Label::sysFont(9, false); +} wxSize Label::split_lines(wxDC &dc, int width, const wxString &text, wxString &multiline_text) { diff --git a/src/slic3r/GUI/Widgets/Label.hpp b/src/slic3r/GUI/Widgets/Label.hpp index 46b0ccf2f..1d3d387fb 100644 --- a/src/slic3r/GUI/Widgets/Label.hpp +++ b/src/slic3r/GUI/Widgets/Label.hpp @@ -38,6 +38,8 @@ public: static wxFont Body_10; static wxFont Body_11; static wxFont Body_9; + + static void initSysFont(); static wxFont sysFont(int size, bool bold = false);