mirror of
https://git.mirrors.martin98.com/https://github.com/prusa3d/PrusaSlicer.git
synced 2025-08-14 06:26:06 +08:00
WIP (NewUI with fonts): Next improvements for fonts.
* AboutDialog, SysInfoDialog, ConfigSnapshotDialog, ConfigWizard: Set correct/scaled font. * PreferencesDialog: * Use SpinInput instead of wxSpinCtrl. * Added layout of the activated tab. * Remove "suppress_round_corners" option and ignore its value for whole application. + Plater: fixed obj_list() function to check existence of the control to avoid crash on recreate_GUI(). + GLCanvas3D: Increased delta value between current and new values of the toolbar icon scale.
This commit is contained in:
parent
f27ad88d55
commit
1f0b834a70
@ -70,7 +70,7 @@ CopyrightsDialog::CopyrightsDialog()
|
|||||||
m_html = new wxHtmlWindow(this, wxID_ANY, wxDefaultPosition,
|
m_html = new wxHtmlWindow(this, wxID_ANY, wxDefaultPosition,
|
||||||
wxSize(40 * em_unit(), 20 * em_unit()), wxHW_SCROLLBAR_AUTO);
|
wxSize(40 * em_unit(), 20 * em_unit()), wxHW_SCROLLBAR_AUTO);
|
||||||
|
|
||||||
wxFont font = get_default_font(this);
|
wxFont font = this->GetFont();// get_default_font(this);
|
||||||
const int fs = font.GetPointSize();
|
const int fs = font.GetPointSize();
|
||||||
const int fs2 = static_cast<int>(1.2f*fs);
|
const int fs2 = static_cast<int>(1.2f*fs);
|
||||||
int size[] = { fs, fs, fs, fs, fs2, fs2, fs2 };
|
int size[] = { fs, fs, fs, fs, fs2, fs2, fs2 };
|
||||||
@ -244,7 +244,7 @@ AboutDialog::AboutDialog()
|
|||||||
wxStaticText* title = new wxStaticText(this, wxID_ANY, wxGetApp().is_editor() ? SLIC3R_APP_NAME : GCODEVIEWER_APP_NAME, wxDefaultPosition, wxDefaultSize);
|
wxStaticText* title = new wxStaticText(this, wxID_ANY, wxGetApp().is_editor() ? SLIC3R_APP_NAME : GCODEVIEWER_APP_NAME, wxDefaultPosition, wxDefaultSize);
|
||||||
wxFont title_font = GUI::wxGetApp().bold_font();
|
wxFont title_font = GUI::wxGetApp().bold_font();
|
||||||
title_font.SetFamily(wxFONTFAMILY_ROMAN);
|
title_font.SetFamily(wxFONTFAMILY_ROMAN);
|
||||||
title_font.SetPointSize(24);
|
title_font.SetPointSize(int(2.5 * title_font.GetPointSize()));//title_font.SetPointSize(24);
|
||||||
title->SetFont(title_font);
|
title->SetFont(title_font);
|
||||||
vsizer->Add(title, 0, wxALIGN_LEFT | wxTOP, 10);
|
vsizer->Add(title, 0, wxALIGN_LEFT | wxTOP, 10);
|
||||||
}
|
}
|
||||||
@ -267,7 +267,7 @@ AboutDialog::AboutDialog()
|
|||||||
m_html = new wxHtmlWindow(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHW_SCROLLBAR_AUTO/*NEVER*/);
|
m_html = new wxHtmlWindow(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHW_SCROLLBAR_AUTO/*NEVER*/);
|
||||||
{
|
{
|
||||||
m_html->SetMinSize(wxSize(-1, 16 * wxGetApp().em_unit()));
|
m_html->SetMinSize(wxSize(-1, 16 * wxGetApp().em_unit()));
|
||||||
wxFont font = get_default_font(this);
|
wxFont font = wxGetApp().normal_font();// get_default_font(this);
|
||||||
const auto text_clr = wxGetApp().get_label_clr_default();
|
const auto text_clr = wxGetApp().get_label_clr_default();
|
||||||
const auto text_clr_str = encode_color(ColorRGB(text_clr.Red(), text_clr.Green(), text_clr.Blue()));
|
const auto text_clr_str = encode_color(ColorRGB(text_clr.Red(), text_clr.Green(), text_clr.Blue()));
|
||||||
const auto bgr_clr_str = encode_color(ColorRGB(bgr_clr.Red(), bgr_clr.Green(), bgr_clr.Blue()));
|
const auto bgr_clr_str = encode_color(ColorRGB(bgr_clr.Red(), bgr_clr.Green(), bgr_clr.Blue()));
|
||||||
|
@ -141,7 +141,7 @@ ConfigSnapshotDialog::ConfigSnapshotDialog(const Config::SnapshotDB &snapshot_db
|
|||||||
// text
|
// text
|
||||||
html = new wxHtmlWindow(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHW_SCROLLBAR_AUTO);
|
html = new wxHtmlWindow(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHW_SCROLLBAR_AUTO);
|
||||||
{
|
{
|
||||||
wxFont font = get_default_font(this);
|
wxFont font = this->GetFont();// get_default_font(this);
|
||||||
#ifdef __WXMSW__
|
#ifdef __WXMSW__
|
||||||
const int fs = font.GetPointSize();
|
const int fs = font.GetPointSize();
|
||||||
const int fs1 = static_cast<int>(0.8f*fs);
|
const int fs1 = static_cast<int>(0.8f*fs);
|
||||||
|
@ -1342,8 +1342,7 @@ PageUpdate::PageUpdate(ConfigWizard *parent)
|
|||||||
, preset_update(true)
|
, preset_update(true)
|
||||||
{
|
{
|
||||||
const AppConfig *app_config = wxGetApp().app_config;
|
const AppConfig *app_config = wxGetApp().app_config;
|
||||||
auto boldfont = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT);
|
auto boldfont = wxGetApp().bold_font();
|
||||||
boldfont.SetWeight(wxFONTWEIGHT_BOLD);
|
|
||||||
|
|
||||||
auto *box_slic3r = new wxCheckBox(this, wxID_ANY, _L("Check for application updates"));
|
auto *box_slic3r = new wxCheckBox(this, wxID_ANY, _L("Check for application updates"));
|
||||||
box_slic3r->SetValue(app_config->get("notify_release") != "none");
|
box_slic3r->SetValue(app_config->get("notify_release") != "none");
|
||||||
|
@ -6247,7 +6247,7 @@ void GLCanvas3D::_check_and_update_toolbar_icon_scale()
|
|||||||
#if ENABLE_RETINA_GL
|
#if ENABLE_RETINA_GL
|
||||||
new_scale /= m_retina_helper->get_scale_factor();
|
new_scale /= m_retina_helper->get_scale_factor();
|
||||||
#endif
|
#endif
|
||||||
if (fabs(new_scale - scale) > 0.01) // scale is changed by 1% and more
|
if (fabs(new_scale - scale) > 0.015) // scale is changed by 1.5% and more
|
||||||
wxGetApp().set_auto_toolbar_icon_scale(new_scale);
|
wxGetApp().set_auto_toolbar_icon_scale(new_scale);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1758,7 +1758,7 @@ bool GUI_App::tabs_as_menu() const
|
|||||||
|
|
||||||
bool GUI_App::suppress_round_corners() const
|
bool GUI_App::suppress_round_corners() const
|
||||||
{
|
{
|
||||||
return app_config->get("suppress_round_corners") == "1";
|
return true;// app_config->get("suppress_round_corners") == "1";
|
||||||
}
|
}
|
||||||
|
|
||||||
wxSize GUI_App::get_min_size() const
|
wxSize GUI_App::get_min_size() const
|
||||||
@ -2129,6 +2129,9 @@ int GUI_App::GetSingleChoiceIndex(const wxString& message,
|
|||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
wxSingleChoiceDialog dialog(nullptr, message, caption, choices);
|
wxSingleChoiceDialog dialog(nullptr, message, caption, choices);
|
||||||
wxGetApp().UpdateDlgDarkUI(&dialog);
|
wxGetApp().UpdateDlgDarkUI(&dialog);
|
||||||
|
auto children = dialog.GetChildren();
|
||||||
|
for (auto child : children)
|
||||||
|
child->SetFont(normal_font());
|
||||||
|
|
||||||
dialog.SetSelection(initialSelection);
|
dialog.SetSelection(initialSelection);
|
||||||
return dialog.ShowModal() == wxID_OK ? dialog.GetSelection() : -1;
|
return dialog.ShowModal() == wxID_OK ? dialog.GetSelection() : -1;
|
||||||
@ -2960,7 +2963,8 @@ ObjectSettings* GUI_App::obj_settings()
|
|||||||
|
|
||||||
ObjectList* GUI_App::obj_list()
|
ObjectList* GUI_App::obj_list()
|
||||||
{
|
{
|
||||||
return sidebar().obj_list();
|
// If this method is called before plater_ has been initialized, return nullptr (to avoid a crash)
|
||||||
|
return plater_ ? sidebar().obj_list() : nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
ObjectLayers* GUI_App::obj_layers()
|
ObjectLayers* GUI_App::obj_layers()
|
||||||
|
@ -96,6 +96,8 @@ public:
|
|||||||
|
|
||||||
if (font_point_size > 0)
|
if (font_point_size > 0)
|
||||||
m_normal_font.SetPointSize(font_point_size);
|
m_normal_font.SetPointSize(font_point_size);
|
||||||
|
else if (parent)
|
||||||
|
m_normal_font.SetPointSize(parent->GetFont().GetPointSize());
|
||||||
|
|
||||||
/* Because of default window font is a primary display font,
|
/* Because of default window font is a primary display font,
|
||||||
* We should set correct font for window before getting em_unit value.
|
* We should set correct font for window before getting em_unit value.
|
||||||
|
@ -742,9 +742,7 @@ void MainFrame::init_tabpanel()
|
|||||||
|
|
||||||
wxGetApp().UpdateDarkUI(m_tabpanel);
|
wxGetApp().UpdateDarkUI(m_tabpanel);
|
||||||
|
|
||||||
#ifndef __WXOSX__ // Don't call SetFont under OSX to avoid name cutting in ObjectList
|
|
||||||
m_tabpanel->SetFont(Slic3r::GUI::wxGetApp().normal_font());
|
m_tabpanel->SetFont(Slic3r::GUI::wxGetApp().normal_font());
|
||||||
#endif
|
|
||||||
m_tabpanel->Hide();
|
m_tabpanel->Hide();
|
||||||
m_settings_dialog.set_tabpanel(m_tabpanel);
|
m_settings_dialog.set_tabpanel(m_tabpanel);
|
||||||
|
|
||||||
@ -2305,8 +2303,6 @@ SettingsDialog::SettingsDialog(MainFrame* mainframe)
|
|||||||
if (wxGetApp().is_gcode_viewer())
|
if (wxGetApp().is_gcode_viewer())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// this->SetFont(wxGetApp().normal_font());
|
|
||||||
|
|
||||||
// Load the icon either from the exe, or from the ico file.
|
// Load the icon either from the exe, or from the ico file.
|
||||||
#if _WIN32
|
#if _WIN32
|
||||||
{
|
{
|
||||||
|
@ -789,6 +789,7 @@ void Sidebar::priv::hide_rich_tip(wxButton* btn)
|
|||||||
Sidebar::Sidebar(Plater *parent)
|
Sidebar::Sidebar(Plater *parent)
|
||||||
: wxPanel(parent, wxID_ANY, wxDefaultPosition, wxSize(42 * wxGetApp().em_unit(), -1)), p(new priv(parent))
|
: wxPanel(parent, wxID_ANY, wxDefaultPosition, wxSize(42 * wxGetApp().em_unit(), -1)), p(new priv(parent))
|
||||||
{
|
{
|
||||||
|
SetFont(wxGetApp().normal_font());
|
||||||
p->scrolled = new wxScrolledWindow(this);
|
p->scrolled = new wxScrolledWindow(this);
|
||||||
// p->scrolled->SetScrollbars(0, 100, 1, 2); // ys_DELETE_after_testing. pixelsPerUnitY = 100 from https://github.com/prusa3d/PrusaSlicer/commit/8f019e5fa992eac2c9a1e84311c990a943f80b01,
|
// p->scrolled->SetScrollbars(0, 100, 1, 2); // ys_DELETE_after_testing. pixelsPerUnitY = 100 from https://github.com/prusa3d/PrusaSlicer/commit/8f019e5fa992eac2c9a1e84311c990a943f80b01,
|
||||||
// but this cause the bad layout of the sidebar, when all infoboxes appear.
|
// but this cause the bad layout of the sidebar, when all infoboxes appear.
|
||||||
@ -796,7 +797,6 @@ Sidebar::Sidebar(Plater *parent)
|
|||||||
// But if we set this value to 5, layout will be better
|
// But if we set this value to 5, layout will be better
|
||||||
p->scrolled->SetScrollRate(0, 5);
|
p->scrolled->SetScrollRate(0, 5);
|
||||||
|
|
||||||
SetFont(wxGetApp().normal_font());
|
|
||||||
#ifndef __APPLE__
|
#ifndef __APPLE__
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
wxGetApp().UpdateDarkUI(this);
|
wxGetApp().UpdateDarkUI(this);
|
||||||
@ -2092,8 +2092,6 @@ Plater::priv::priv(Plater *q, MainFrame *main_frame)
|
|||||||
, collapse_toolbar(GLToolbar::Normal, "Collapse")
|
, collapse_toolbar(GLToolbar::Normal, "Collapse")
|
||||||
, m_project_filename(wxEmptyString)
|
, m_project_filename(wxEmptyString)
|
||||||
{
|
{
|
||||||
this->q->SetFont(Slic3r::GUI::wxGetApp().normal_font());
|
|
||||||
|
|
||||||
background_process.set_fff_print(&fff_print);
|
background_process.set_fff_print(&fff_print);
|
||||||
background_process.set_sla_print(&sla_print);
|
background_process.set_sla_print(&sla_print);
|
||||||
background_process.set_gcode_result(&gcode_result);
|
background_process.set_gcode_result(&gcode_result);
|
||||||
@ -4472,7 +4470,10 @@ void Plater::priv::on_action_layersediting(SimpleEvent&)
|
|||||||
|
|
||||||
void Plater::priv::on_object_select(SimpleEvent& evt)
|
void Plater::priv::on_object_select(SimpleEvent& evt)
|
||||||
{
|
{
|
||||||
wxGetApp().obj_list()->update_selections();
|
if (auto obj_list = wxGetApp().obj_list())
|
||||||
|
obj_list->update_selections();
|
||||||
|
else
|
||||||
|
return;
|
||||||
selection_changed();
|
selection_changed();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -21,6 +21,8 @@
|
|||||||
#include "GLCanvas3D.hpp"
|
#include "GLCanvas3D.hpp"
|
||||||
#include "ConfigWizard.hpp"
|
#include "ConfigWizard.hpp"
|
||||||
|
|
||||||
|
#include "Widgets/SpinInput.hpp"
|
||||||
|
|
||||||
#include <boost/dll/runtime_symbol_info.hpp>
|
#include <boost/dll/runtime_symbol_info.hpp>
|
||||||
|
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
@ -151,6 +153,8 @@ static void activate_options_tab(std::shared_ptr<ConfigOptionsGroup> optgroup)
|
|||||||
wxBoxSizer* sizer = static_cast<wxBoxSizer*>(static_cast<wxPanel*>(optgroup->parent())->GetSizer());
|
wxBoxSizer* sizer = static_cast<wxBoxSizer*>(static_cast<wxPanel*>(optgroup->parent())->GetSizer());
|
||||||
sizer->Add(optgroup->sizer, 0, wxEXPAND | wxALL, 10);
|
sizer->Add(optgroup->sizer, 0, wxEXPAND | wxALL, 10);
|
||||||
|
|
||||||
|
optgroup->parent()->Layout();
|
||||||
|
|
||||||
// apply sercher
|
// apply sercher
|
||||||
wxGetApp().sidebar().get_searcher().append_preferences_options(optgroup->get_lines());
|
wxGetApp().sidebar().get_searcher().append_preferences_options(optgroup->get_lines());
|
||||||
}
|
}
|
||||||
@ -526,14 +530,14 @@ void PreferencesDialog::build()
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
m_optgroup_gui->append_separator();
|
m_optgroup_gui->append_separator();
|
||||||
|
/*
|
||||||
append_bool_option(m_optgroup_gui, "suppress_round_corners",
|
append_bool_option(m_optgroup_gui, "suppress_round_corners",
|
||||||
L("Suppress round corners for controls (experimental)"),
|
L("Suppress round corners for controls (experimental)"),
|
||||||
L("If enabled, Settings Tabs will be placed as menu items. If disabled, old UI will be used."),
|
L("If enabled, Settings Tabs will be placed as menu items. If disabled, old UI will be used."),
|
||||||
app_config->get("suppress_round_corners") == "1");
|
app_config->get("suppress_round_corners") == "1");
|
||||||
|
|
||||||
m_optgroup_gui->append_separator();
|
m_optgroup_gui->append_separator();
|
||||||
|
*/
|
||||||
append_bool_option(m_optgroup_gui, "show_hints",
|
append_bool_option(m_optgroup_gui, "show_hints",
|
||||||
L("Show \"Tip of the day\" notification after start"),
|
L("Show \"Tip of the day\" notification after start"),
|
||||||
L("If enabled, useful hints are displayed at startup."),
|
L("If enabled, useful hints are displayed at startup."),
|
||||||
@ -1079,16 +1083,17 @@ void PreferencesDialog::create_settings_font_widget()
|
|||||||
|
|
||||||
wxStaticText* font_example = new wxStaticText(parent, wxID_ANY, "Application text");
|
wxStaticText* font_example = new wxStaticText(parent, wxID_ANY, "Application text");
|
||||||
int val = wxGetApp().normal_font().GetPointSize();
|
int val = wxGetApp().normal_font().GetPointSize();
|
||||||
wxSpinCtrl* size_sc = new wxSpinCtrl(parent, wxID_ANY, format_wxstr("%1%", val), wxDefaultPosition, wxSize(15*em_unit(), -1), wxTE_PROCESS_ENTER | wxSP_ARROW_KEYS
|
SpinInput* size_sc = new SpinInput(parent, format_wxstr("%1%", val), "", wxDefaultPosition, wxSize(15 * em_unit(), -1), wxTE_PROCESS_ENTER | wxSP_ARROW_KEYS
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
| wxBORDER_SIMPLE
|
| wxBORDER_SIMPLE
|
||||||
#endif
|
#endif
|
||||||
, 8, 20);
|
, 8, 20);
|
||||||
wxGetApp().UpdateDarkUI(size_sc);
|
wxGetApp().UpdateDarkUI(size_sc);
|
||||||
|
|
||||||
auto apply_font = [this, font_example, opt_key](const int val, const wxFont& font) {
|
auto apply_font = [this, font_example, opt_key, stb_sizer](const int val, const wxFont& font) {
|
||||||
font_example->SetFont(font);
|
font_example->SetFont(font);
|
||||||
m_values[opt_key] = format("%1%", val);
|
m_values[opt_key] = format("%1%", val);
|
||||||
|
stb_sizer->Layout();
|
||||||
refresh_og(m_optgroup_other);
|
refresh_og(m_optgroup_other);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -122,13 +122,13 @@ SysInfoDialog::SysInfoDialog()
|
|||||||
wxStaticText* title = new wxStaticText(this, wxID_ANY, wxGetApp().is_editor() ? SLIC3R_APP_NAME : GCODEVIEWER_APP_NAME, wxDefaultPosition, wxDefaultSize);
|
wxStaticText* title = new wxStaticText(this, wxID_ANY, wxGetApp().is_editor() ? SLIC3R_APP_NAME : GCODEVIEWER_APP_NAME, wxDefaultPosition, wxDefaultSize);
|
||||||
wxFont title_font = wxGetApp().bold_font();
|
wxFont title_font = wxGetApp().bold_font();
|
||||||
title_font.SetFamily(wxFONTFAMILY_ROMAN);
|
title_font.SetFamily(wxFONTFAMILY_ROMAN);
|
||||||
title_font.SetPointSize(22);
|
title_font.SetPointSize(int(2.5 * title_font.GetPointSize()));//title_font.SetPointSize(22);
|
||||||
title->SetFont(title_font);
|
title->SetFont(title_font);
|
||||||
vsizer->Add(title, 0, wxEXPAND | wxALIGN_LEFT | wxTOP, wxGetApp().em_unit()/*50*/);
|
vsizer->Add(title, 0, wxEXPAND | wxALIGN_LEFT | wxTOP, wxGetApp().em_unit()/*50*/);
|
||||||
}
|
}
|
||||||
|
|
||||||
// main_info_text
|
// main_info_text
|
||||||
wxFont font = get_default_font(this);
|
wxFont font = GetFont();// get_default_font(this);
|
||||||
const auto text_clr = wxGetApp().get_label_clr_default();
|
const auto text_clr = wxGetApp().get_label_clr_default();
|
||||||
auto text_clr_str = encode_color(ColorRGB(text_clr.Red(), text_clr.Green(), text_clr.Blue()));
|
auto text_clr_str = encode_color(ColorRGB(text_clr.Red(), text_clr.Green(), text_clr.Blue()));
|
||||||
auto bgr_clr_str = encode_color(ColorRGB(bgr_clr.Red(), bgr_clr.Green(), bgr_clr.Blue()));
|
auto bgr_clr_str = encode_color(ColorRGB(bgr_clr.Red(), bgr_clr.Green(), bgr_clr.Blue()));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user