mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-21 13:47:59 -06:00
MSW specific: Implementation of the own notebook control
* MSW specific: First implementation of the Notebook control to support Dark/Light color modes * MSW specific: Set mode sizer to the Notebook control. * MSW specific: Added icons to the Notepad control + There is no need to restart application after the changing of the color mode * Fixed non-MSW build * Updated color for SavePresetDialog + Added wrapper to wxMessageBox for mom-MSW platforms
This commit is contained in:
parent
7fce368cca
commit
4652733201
25 changed files with 703 additions and 135 deletions
|
@ -583,7 +583,7 @@ struct Sidebar::priv
|
|||
wxScrolledWindow *scrolled;
|
||||
wxPanel* presets_panel; // Used for MSW better layouts
|
||||
|
||||
ModeSizer *mode_sizer;
|
||||
ModeSizer *mode_sizer {nullptr};
|
||||
wxFlexGridSizer *sizer_presets;
|
||||
PlaterPresetComboBox *combo_print;
|
||||
std::vector<PlaterPresetComboBox*> combos_filament;
|
||||
|
@ -754,7 +754,8 @@ Sidebar::Sidebar(Plater *parent)
|
|||
p->sliced_info = new SlicedInfo(p->scrolled);
|
||||
|
||||
// Sizer in the scrolled area
|
||||
scrolled_sizer->Add(p->mode_sizer, 0, wxALIGN_CENTER_HORIZONTAL/*RIGHT | wxBOTTOM | wxRIGHT, 5*/);
|
||||
if (p->mode_sizer)
|
||||
scrolled_sizer->Add(p->mode_sizer, 0, wxALIGN_CENTER_HORIZONTAL);
|
||||
is_msw ?
|
||||
scrolled_sizer->Add(p->presets_panel, 0, wxEXPAND | wxLEFT, margin_5) :
|
||||
scrolled_sizer->Add(p->sizer_presets, 0, wxEXPAND | wxLEFT, margin_5);
|
||||
|
@ -944,13 +945,16 @@ void Sidebar::update_presets(Preset::Type preset_type)
|
|||
|
||||
void Sidebar::update_mode_sizer() const
|
||||
{
|
||||
p->mode_sizer->SetMode(m_mode);
|
||||
if (p->mode_sizer)
|
||||
p->mode_sizer->SetMode(m_mode);
|
||||
}
|
||||
|
||||
void Sidebar::change_top_border_for_mode_sizer(bool increase_border)
|
||||
{
|
||||
p->mode_sizer->set_items_flag(increase_border ? wxTOP : 0);
|
||||
p->mode_sizer->set_items_border(increase_border ? int(0.5 * wxGetApp().em_unit()) : 0);
|
||||
if (p->mode_sizer) {
|
||||
p->mode_sizer->set_items_flag(increase_border ? wxTOP : 0);
|
||||
p->mode_sizer->set_items_border(increase_border ? int(0.5 * wxGetApp().em_unit()) : 0);
|
||||
}
|
||||
}
|
||||
|
||||
void Sidebar::update_reslice_btn_tooltip() const
|
||||
|
@ -965,7 +969,8 @@ void Sidebar::msw_rescale()
|
|||
{
|
||||
SetMinSize(wxSize(40 * wxGetApp().em_unit(), -1));
|
||||
|
||||
p->mode_sizer->msw_rescale();
|
||||
if (p->mode_sizer)
|
||||
p->mode_sizer->msw_rescale();
|
||||
|
||||
for (PlaterPresetComboBox* combo : std::vector<PlaterPresetComboBox*> { p->combo_print,
|
||||
p->combo_sla_print,
|
||||
|
@ -1009,7 +1014,8 @@ void Sidebar::sys_color_changed()
|
|||
for (wxWindow* btn : std::vector<wxWindow*>{ p->btn_reslice, p->btn_export_gcode })
|
||||
wxGetApp().UpdateDarkUI(btn, true);
|
||||
|
||||
p->mode_sizer->msw_rescale();
|
||||
if (p->mode_sizer)
|
||||
p->mode_sizer->msw_rescale();
|
||||
p->frequently_changed_parameters->sys_color_changed();
|
||||
p->object_settings->sys_color_changed();
|
||||
#endif
|
||||
|
@ -1394,6 +1400,12 @@ void Sidebar::collapse(bool collapse)
|
|||
wxGetApp().app_config->set("collapsed_sidebar", collapse ? "1" : "0");
|
||||
}
|
||||
|
||||
#ifdef _MSW_DARK_MODE
|
||||
void Sidebar::show_mode_sizer(bool show)
|
||||
{
|
||||
p->mode_sizer->Show(show);
|
||||
}
|
||||
#endif
|
||||
|
||||
void Sidebar::update_ui_from_settings()
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue