From 2479e1d7b1a78aa09d89d80c900cd43c90ea102a Mon Sep 17 00:00:00 2001 From: Jeff Young Date: Thu, 16 Sep 2021 18:29:29 +0100 Subject: [PATCH] Improve common settings property grouping. Also moves apply-icon-scaling-to-fonts to its own checkbox. (We used to try to infer when to do it, but that turns out to be a rathole.) --- common/dialogs/panel_common_settings.cpp | 4 + common/dialogs/panel_common_settings_base.cpp | 246 +- common/dialogs/panel_common_settings_base.fbp | 3570 +++++++++-------- common/dialogs/panel_common_settings_base.h | 32 +- common/dialogs/panel_setup_netclasses.cpp | 2 +- common/settings/common_settings.cpp | 3 + common/widgets/ui_common.cpp | 18 +- eeschema/dialogs/dialog_junction_props.cpp | 4 +- .../dialogs/dialog_lib_text_properties.cpp | 2 +- .../dialog_line_wire_bus_properties.cpp | 4 +- .../dialog_text_and_label_properties.cpp | 4 +- .../panel_eeschema_display_options.cpp | 2 +- include/settings/common_settings.h | 1 + .../dialogs/properties_frame.cpp | 2 +- pcb_calculator/pcb_calculator_frame.cpp | 2 +- pcbnew/dialogs/dialog_get_footprint_by_name.h | 2 +- pcbnew/dialogs/panel_fp_editor_defaults.cpp | 2 +- pcbnew/dialogs/panel_setup_mask_and_paste.cpp | 4 +- .../panel_setup_mask_and_paste_base.cpp | 4 +- .../panel_setup_mask_and_paste_base.fbp | 4 +- 20 files changed, 2063 insertions(+), 1849 deletions(-) diff --git a/common/dialogs/panel_common_settings.cpp b/common/dialogs/panel_common_settings.cpp index b44ba1648d..5be1732140 100644 --- a/common/dialogs/panel_common_settings.cpp +++ b/common/dialogs/panel_common_settings.cpp @@ -77,6 +77,8 @@ PANEL_COMMON_SETTINGS::PANEL_COMMON_SETTINGS( DIALOG_SHIM* aDialog, wxWindow* aP m_textEditorBtn->SetBitmap( KiBitmap( BITMAPS::small_folder ) ); m_pdfViewerBtn->SetBitmap( KiBitmap( BITMAPS::small_folder ) ); + m_fontScalingHelp->SetFont( KIUI::GetInfoFont( this ).Italic() ); + m_canvasScaleCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( PANEL_COMMON_SETTINGS::OnCanvasScaleChange ), nullptr, this ); @@ -134,6 +136,7 @@ bool PANEL_COMMON_SETTINGS::TransferDataFromWindow() commonSettings->m_Appearance.icon_theme = ICON_THEME::AUTO; commonSettings->m_Appearance.use_icons_in_menus = m_checkBoxIconsInMenus->GetValue(); + commonSettings->m_Appearance.apply_icon_scale_to_fonts = m_scaleFonts->GetValue(); commonSettings->m_Input.immediate_actions = !m_NonImmediateActions->GetValue(); commonSettings->m_Input.warp_mouse_on_move = m_warpMouseOnMove->GetValue(); @@ -217,6 +220,7 @@ void PANEL_COMMON_SETTINGS::applySettingsToPanel( COMMON_SETTINGS& aSettings ) } m_checkBoxIconsInMenus->SetValue( aSettings.m_Appearance.use_icons_in_menus ); + m_scaleFonts->SetValue( aSettings.m_Appearance.apply_icon_scale_to_fonts ); m_warpMouseOnMove->SetValue( aSettings.m_Input.warp_mouse_on_move ); m_NonImmediateActions->SetValue( !aSettings.m_Input.immediate_actions ); diff --git a/common/dialogs/panel_common_settings_base.cpp b/common/dialogs/panel_common_settings_base.cpp index a17a95f50e..d946cde25c 100644 --- a/common/dialogs/panel_common_settings_base.cpp +++ b/common/dialogs/panel_common_settings_base.cpp @@ -17,83 +17,43 @@ PANEL_COMMON_SETTINGS_BASE::PANEL_COMMON_SETTINGS_BASE( wxWindow* parent, wxWind wxBoxSizer* bLeftSizer; bLeftSizer = new wxBoxSizer( wxVERTICAL ); - wxGridBagSizer* gbSizer1; - gbSizer1 = new wxGridBagSizer( 4, 4 ); - gbSizer1->SetFlexibleDirection( wxBOTH ); - gbSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); - gbSizer1->SetEmptyCellSize( wxSize( -1,2 ) ); + wxStaticBoxSizer* bAntiAliasing; + bAntiAliasing = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Antialiasing") ), wxVERTICAL ); - m_staticTextautosave = new wxStaticText( this, wxID_ANY, _("&Auto save:"), wxDefaultPosition, wxDefaultSize, 0 ); - m_staticTextautosave->Wrap( -1 ); - gbSizer1->Add( m_staticTextautosave, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxTOP, 5 ); - - wxBoxSizer* bSizer6; - bSizer6 = new wxBoxSizer( wxHORIZONTAL ); - - m_SaveTime = new wxSpinCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 10, 0 ); - m_SaveTime->SetToolTip( _("Delay after the first change to create a backup file of the board on disk.\nIf set to 0, auto backup is disabled") ); - - bSizer6->Add( m_SaveTime, 0, wxALIGN_CENTER_VERTICAL, 5 ); - - wxStaticText* minutesLabel; - minutesLabel = new wxStaticText( this, wxID_ANY, _("minutes"), wxDefaultPosition, wxDefaultSize, 0 ); - minutesLabel->Wrap( -1 ); - bSizer6->Add( minutesLabel, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 ); - - - gbSizer1->Add( bSizer6, wxGBPosition( 0, 1 ), wxGBSpan( 1, 1 ), wxEXPAND|wxTOP, 5 ); - - m_staticTextFileHistorySize = new wxStaticText( this, wxID_ANY, _("File history size:"), wxDefaultPosition, wxDefaultSize, 0 ); - m_staticTextFileHistorySize->Wrap( -1 ); - gbSizer1->Add( m_staticTextFileHistorySize, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 ); - - m_fileHistorySize = new wxSpinCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 1, 100, 0 ); - gbSizer1->Add( m_fileHistorySize, wxGBPosition( 1, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 ); - - m_staticTextClear3DCache = new wxStaticText( this, wxID_ANY, _("3D cache file duration:"), wxDefaultPosition, wxDefaultSize, 0 ); - m_staticTextClear3DCache->Wrap( -1 ); - gbSizer1->Add( m_staticTextClear3DCache, wxGBPosition( 2, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxTOP, 5 ); - - wxBoxSizer* bSizer5; - bSizer5 = new wxBoxSizer( wxHORIZONTAL ); - - m_Clear3DCacheFilesOlder = new wxSpinCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 120, 30 ); - m_Clear3DCacheFilesOlder->SetToolTip( _("3D cache files older than this are deleted.\nIf set to 0, cache clearing is disabled") ); - - bSizer5->Add( m_Clear3DCacheFilesOlder, 0, wxALIGN_CENTER_VERTICAL, 5 ); - - m_staticTextDays = new wxStaticText( this, wxID_ANY, _("Days"), wxDefaultPosition, wxDefaultSize, 0 ); - m_staticTextDays->Wrap( -1 ); - bSizer5->Add( m_staticTextDays, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 ); - - - gbSizer1->Add( bSizer5, wxGBPosition( 2, 1 ), wxGBSpan( 1, 1 ), wxEXPAND, 5 ); + wxGridBagSizer* gbSizer11; + gbSizer11 = new wxGridBagSizer( 6, 4 ); + gbSizer11->SetFlexibleDirection( wxBOTH ); + gbSizer11->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); + gbSizer11->SetEmptyCellSize( wxSize( -1,2 ) ); wxStaticText* antialiasingLabel; - antialiasingLabel = new wxStaticText( this, wxID_ANY, _("Accelerated graphics:"), wxDefaultPosition, wxDefaultSize, 0 ); + antialiasingLabel = new wxStaticText( bAntiAliasing->GetStaticBox(), wxID_ANY, _("Accelerated graphics:"), wxDefaultPosition, wxDefaultSize, 0 ); antialiasingLabel->Wrap( -1 ); - gbSizer1->Add( antialiasingLabel, wxGBPosition( 4, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 ); + gbSizer11->Add( antialiasingLabel, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 ); wxString m_antialiasingChoices[] = { _("No Antialiasing"), _("Fast Antialiasing"), _("High Quality Antialiasing") }; int m_antialiasingNChoices = sizeof( m_antialiasingChoices ) / sizeof( wxString ); - m_antialiasing = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_antialiasingNChoices, m_antialiasingChoices, 0 ); + m_antialiasing = new wxChoice( bAntiAliasing->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_antialiasingNChoices, m_antialiasingChoices, 0 ); m_antialiasing->SetSelection( 0 ); - gbSizer1->Add( m_antialiasing, wxGBPosition( 4, 1 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT, 5 ); + gbSizer11->Add( m_antialiasing, wxGBPosition( 0, 1 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT, 5 ); - m_antialiasingFallbackLabel = new wxStaticText( this, wxID_ANY, _("Fallback graphics:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_antialiasingFallbackLabel = new wxStaticText( bAntiAliasing->GetStaticBox(), wxID_ANY, _("Fallback graphics:"), wxDefaultPosition, wxDefaultSize, 0 ); m_antialiasingFallbackLabel->Wrap( -1 ); - gbSizer1->Add( m_antialiasingFallbackLabel, wxGBPosition( 6, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 ); + gbSizer11->Add( m_antialiasingFallbackLabel, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 ); wxString m_antialiasingFallbackChoices[] = { _("No Antialiasing"), _("Fast Antialiasing"), _("High Quality Antialiasing") }; int m_antialiasingFallbackNChoices = sizeof( m_antialiasingFallbackChoices ) / sizeof( wxString ); - m_antialiasingFallback = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_antialiasingFallbackNChoices, m_antialiasingFallbackChoices, 0 ); + m_antialiasingFallback = new wxChoice( bAntiAliasing->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_antialiasingFallbackNChoices, m_antialiasingFallbackChoices, 0 ); m_antialiasingFallback->SetSelection( 0 ); - gbSizer1->Add( m_antialiasingFallback, wxGBPosition( 6, 1 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT, 5 ); + gbSizer11->Add( m_antialiasingFallback, wxGBPosition( 1, 1 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT, 5 ); - gbSizer1->AddGrowableCol( 1 ); + gbSizer11->AddGrowableCol( 1 ); - bLeftSizer->Add( gbSizer1, 0, wxEXPAND|wxTOP|wxBOTTOM|wxLEFT, 10 ); + bAntiAliasing->Add( gbSizer11, 0, wxEXPAND|wxBOTTOM, 5 ); + + + bLeftSizer->Add( bAntiAliasing, 0, wxEXPAND|wxALL, 5 ); wxStaticBoxSizer* sizerHelperApps; sizerHelperApps = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Helper Applications") ), wxVERTICAL ); @@ -150,65 +110,79 @@ PANEL_COMMON_SETTINGS_BASE::PANEL_COMMON_SETTINGS_BASE( wxWindow* parent, wxWind bLeftSizer->Add( sizerHelperApps, 0, wxEXPAND|wxALL, 5 ); wxStaticBoxSizer* sbSizerIconsOpts; - sbSizerIconsOpts = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("User Interface") ), wxVERTICAL ); + sbSizerIconsOpts = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("User Interface") ), wxHORIZONTAL ); wxGridBagSizer* gbSizer4; - gbSizer4 = new wxGridBagSizer( 2, 0 ); + gbSizer4 = new wxGridBagSizer( 1, 0 ); gbSizer4->SetFlexibleDirection( wxBOTH ); gbSizer4->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); - gbSizer4->SetEmptyCellSize( wxSize( -1,10 ) ); - - m_staticTexticonscale = new wxStaticText( sbSizerIconsOpts->GetStaticBox(), wxID_ANY, _("Icon scale:"), wxDefaultPosition, wxDefaultSize, 0 ); - m_staticTexticonscale->Wrap( -1 ); - gbSizer4->Add( m_staticTexticonscale, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 ); - - m_iconScaleSlider = new STEPPED_SLIDER( sbSizerIconsOpts->GetStaticBox(), wxID_ANY, 100, 50, 275, wxDefaultPosition, wxDefaultSize, wxSL_HORIZONTAL|wxSL_VALUE_LABEL ); - m_iconScaleSlider->SetMinSize( wxSize( 140,-1 ) ); - - gbSizer4->Add( m_iconScaleSlider, wxGBPosition( 0, 1 ), wxGBSpan( 1, 1 ), wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 ); - - m_iconScaleAuto = new wxCheckBox( sbSizerIconsOpts->GetStaticBox(), wxID_ANY, _("Automatic"), wxDefaultPosition, wxDefaultSize, 0 ); - gbSizer4->Add( m_iconScaleAuto, wxGBPosition( 0, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 15 ); - - m_staticTextCanvasScale = new wxStaticText( sbSizerIconsOpts->GetStaticBox(), wxID_ANY, _("Canvas scale:"), wxDefaultPosition, wxDefaultSize, 0 ); - m_staticTextCanvasScale->Wrap( -1 ); - gbSizer4->Add( m_staticTextCanvasScale, wxGBPosition( 2, 0 ), wxGBSpan( 1, 1 ), wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 ); - - m_canvasScaleCtrl = new wxSpinCtrlDouble( sbSizerIconsOpts->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 100, 0, 1 ); - m_canvasScaleCtrl->SetDigits( 0 ); - gbSizer4->Add( m_canvasScaleCtrl, wxGBPosition( 2, 1 ), wxGBSpan( 1, 1 ), wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 ); - - m_canvasScaleAuto = new wxCheckBox( sbSizerIconsOpts->GetStaticBox(), wxID_ANY, _("Automatic"), wxDefaultPosition, wxDefaultSize, 0 ); - gbSizer4->Add( m_canvasScaleAuto, wxGBPosition( 2, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT|wxLEFT, 15 ); - - m_checkBoxIconsInMenus = new wxCheckBox( sbSizerIconsOpts->GetStaticBox(), wxID_ANY, _("Show icons in menus"), wxDefaultPosition, wxDefaultSize, 0 ); - gbSizer4->Add( m_checkBoxIconsInMenus, wxGBPosition( 4, 0 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER_VERTICAL|wxTOP|wxLEFT, 5 ); + gbSizer4->SetEmptyCellSize( wxSize( -1,5 ) ); m_stIconTheme = new wxStaticText( sbSizerIconsOpts->GetStaticBox(), wxID_ANY, _("Icon theme:"), wxDefaultPosition, wxDefaultSize, 0 ); m_stIconTheme->Wrap( -1 ); - gbSizer4->Add( m_stIconTheme, wxGBPosition( 6, 0 ), wxGBSpan( 1, 3 ), wxLEFT|wxRIGHT, 5 ); + gbSizer4->Add( m_stIconTheme, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxBOTTOM|wxALIGN_CENTER_VERTICAL, 5 ); m_rbIconThemeLight = new wxRadioButton( sbSizerIconsOpts->GetStaticBox(), wxID_ANY, _("Light"), wxDefaultPosition, wxDefaultSize, wxRB_GROUP ); m_rbIconThemeLight->SetToolTip( _("Use icons designed for light window backgrounds") ); + m_rbIconThemeLight->SetMinSize( wxSize( 100,-1 ) ); - gbSizer4->Add( m_rbIconThemeLight, wxGBPosition( 7, 0 ), wxGBSpan( 1, 1 ), wxLEFT|wxRIGHT, 5 ); + gbSizer4->Add( m_rbIconThemeLight, wxGBPosition( 0, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); m_rbIconThemeDark = new wxRadioButton( sbSizerIconsOpts->GetStaticBox(), wxID_ANY, _("Dark"), wxDefaultPosition, wxDefaultSize, 0 ); m_rbIconThemeDark->SetToolTip( _("Use icons designed for dark window backgrounds") ); + m_rbIconThemeDark->SetMinSize( wxSize( 100,-1 ) ); - gbSizer4->Add( m_rbIconThemeDark, wxGBPosition( 7, 1 ), wxGBSpan( 1, 1 ), wxLEFT|wxRIGHT, 5 ); + gbSizer4->Add( m_rbIconThemeDark, wxGBPosition( 0, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); m_rbIconThemeAuto = new wxRadioButton( sbSizerIconsOpts->GetStaticBox(), wxID_ANY, _("Automatic"), wxDefaultPosition, wxDefaultSize, 0 ); m_rbIconThemeAuto->SetValue( true ); m_rbIconThemeAuto->SetToolTip( _("Automatically choose light or dark icons based on the system color theme") ); - gbSizer4->Add( m_rbIconThemeAuto, wxGBPosition( 7, 2 ), wxGBSpan( 1, 1 ), wxLEFT|wxRIGHT, 15 ); + gbSizer4->Add( m_rbIconThemeAuto, wxGBPosition( 0, 3 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT, 5 ); + + m_staticTexticonscale = new wxStaticText( sbSizerIconsOpts->GetStaticBox(), wxID_ANY, _("Icon scale:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticTexticonscale->Wrap( -1 ); + gbSizer4->Add( m_staticTexticonscale, wxGBPosition( 2, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 ); + + m_iconScaleSlider = new STEPPED_SLIDER( sbSizerIconsOpts->GetStaticBox(), wxID_ANY, 100, 50, 275, wxDefaultPosition, wxDefaultSize, wxSL_HORIZONTAL|wxSL_VALUE_LABEL ); + gbSizer4->Add( m_iconScaleSlider, wxGBPosition( 2, 1 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 ); + + m_iconScaleAuto = new wxCheckBox( sbSizerIconsOpts->GetStaticBox(), wxID_ANY, _("Automatic"), wxDefaultPosition, wxDefaultSize, 0 ); + gbSizer4->Add( m_iconScaleAuto, wxGBPosition( 2, 3 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); + + + gbSizer4->Add( 0, 10, wxGBPosition( 3, 0 ), wxGBSpan( 1, 1 ), wxEXPAND, 5 ); + + m_staticTextCanvasScale = new wxStaticText( sbSizerIconsOpts->GetStaticBox(), wxID_ANY, _("Canvas scale:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticTextCanvasScale->Wrap( -1 ); + gbSizer4->Add( m_staticTextCanvasScale, wxGBPosition( 5, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 ); + + m_canvasScaleCtrl = new wxSpinCtrlDouble( sbSizerIconsOpts->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 100, 0, 1 ); + m_canvasScaleCtrl->SetDigits( 0 ); + gbSizer4->Add( m_canvasScaleCtrl, wxGBPosition( 5, 1 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT|wxLEFT, 5 ); + + m_canvasScaleAuto = new wxCheckBox( sbSizerIconsOpts->GetStaticBox(), wxID_ANY, _("Automatic"), wxDefaultPosition, wxDefaultSize, 0 ); + gbSizer4->Add( m_canvasScaleAuto, wxGBPosition( 5, 3 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxEXPAND|wxLEFT, 5 ); + + + gbSizer4->Add( 0, 10, wxGBPosition( 6, 0 ), wxGBSpan( 1, 1 ), wxEXPAND, 5 ); + + m_checkBoxIconsInMenus = new wxCheckBox( sbSizerIconsOpts->GetStaticBox(), wxID_ANY, _("Show icons in menus"), wxDefaultPosition, wxDefaultSize, 0 ); + gbSizer4->Add( m_checkBoxIconsInMenus, wxGBPosition( 7, 0 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM, 5 ); + + m_scaleFonts = new wxCheckBox( sbSizerIconsOpts->GetStaticBox(), wxID_ANY, _("Apply icon scaling to fonts"), wxDefaultPosition, wxDefaultSize, 0 ); + gbSizer4->Add( m_scaleFonts, wxGBPosition( 8, 0 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER_VERTICAL|wxTOP, 5 ); + + m_fontScalingHelp = new wxStaticText( sbSizerIconsOpts->GetStaticBox(), wxID_ANY, _("(This workaround will improve some GTK HiDPI font scaling issues.)"), wxDefaultPosition, wxDefaultSize, 0 ); + m_fontScalingHelp->Wrap( -1 ); + gbSizer4->Add( m_fontScalingHelp, wxGBPosition( 9, 0 ), wxGBSpan( 1, 5 ), wxLEFT, 5 ); gbSizer4->AddGrowableCol( 1 ); + gbSizer4->AddGrowableCol( 2 ); gbSizer4->AddGrowableRow( 0 ); - sbSizerIconsOpts->Add( gbSizer4, 0, wxBOTTOM|wxRIGHT|wxEXPAND, 5 ); + sbSizerIconsOpts->Add( gbSizer4, 1, wxBOTTOM|wxRIGHT|wxLEFT, 5 ); bLeftSizer->Add( sbSizerIconsOpts, 1, wxEXPAND|wxALL, 5 ); @@ -233,6 +207,66 @@ PANEL_COMMON_SETTINGS_BASE::PANEL_COMMON_SETTINGS_BASE( wxWindow* parent, wxWind rightSizer->Add( sbSizer4, 0, wxEXPAND|wxALL, 5 ); + wxStaticBoxSizer* sbSizer5; + sbSizer5 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Session") ), wxVERTICAL ); + + m_cbRememberOpenFiles = new wxCheckBox( sbSizer5->GetStaticBox(), wxID_ANY, _("Remember open files for next project launch"), wxDefaultPosition, wxDefaultSize, 0 ); + m_cbRememberOpenFiles->SetValue(true); + m_cbRememberOpenFiles->SetToolTip( _("If checked, launching a project will also launch tools such as eeschema and pcbnew with previously open files") ); + + sbSizer5->Add( m_cbRememberOpenFiles, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 ); + + + sbSizer5->Add( 0, 5, 0, 0, 5 ); + + wxGridBagSizer* gbSizer1; + gbSizer1 = new wxGridBagSizer( 4, 5 ); + gbSizer1->SetFlexibleDirection( wxBOTH ); + gbSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); + gbSizer1->SetEmptyCellSize( wxSize( -1,2 ) ); + + m_staticTextautosave = new wxStaticText( sbSizer5->GetStaticBox(), wxID_ANY, _("&Auto save:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticTextautosave->Wrap( -1 ); + gbSizer1->Add( m_staticTextautosave, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 ); + + m_SaveTime = new wxSpinCtrl( sbSizer5->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 10, 0 ); + m_SaveTime->SetToolTip( _("Delay after the first change to create a backup file of the board on disk.\nIf set to 0, auto backup is disabled") ); + + gbSizer1->Add( m_SaveTime, wxGBPosition( 0, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 ); + + wxStaticText* minutesLabel; + minutesLabel = new wxStaticText( sbSizer5->GetStaticBox(), wxID_ANY, _("minutes"), wxDefaultPosition, wxDefaultSize, 0 ); + minutesLabel->Wrap( -1 ); + gbSizer1->Add( minutesLabel, wxGBPosition( 0, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 ); + + m_staticTextFileHistorySize = new wxStaticText( sbSizer5->GetStaticBox(), wxID_ANY, _("File history size:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticTextFileHistorySize->Wrap( -1 ); + gbSizer1->Add( m_staticTextFileHistorySize, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 ); + + m_fileHistorySize = new wxSpinCtrl( sbSizer5->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 1, 100, 0 ); + gbSizer1->Add( m_fileHistorySize, wxGBPosition( 1, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 ); + + m_staticTextClear3DCache = new wxStaticText( sbSizer5->GetStaticBox(), wxID_ANY, _("3D cache file duration:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticTextClear3DCache->Wrap( -1 ); + gbSizer1->Add( m_staticTextClear3DCache, wxGBPosition( 2, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 ); + + m_Clear3DCacheFilesOlder = new wxSpinCtrl( sbSizer5->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 120, 30 ); + m_Clear3DCacheFilesOlder->SetToolTip( _("3D cache files older than this are deleted.\nIf set to 0, cache clearing is disabled") ); + + gbSizer1->Add( m_Clear3DCacheFilesOlder, wxGBPosition( 2, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 ); + + m_staticTextDays = new wxStaticText( sbSizer5->GetStaticBox(), wxID_ANY, _("days"), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticTextDays->Wrap( -1 ); + gbSizer1->Add( m_staticTextDays, wxGBPosition( 2, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 ); + + + gbSizer1->AddGrowableCol( 1 ); + + sbSizer5->Add( gbSizer1, 0, wxEXPAND|wxTOP|wxBOTTOM|wxLEFT, 5 ); + + + rightSizer->Add( sbSizer5, 0, wxALL|wxEXPAND, 5 ); + wxStaticBoxSizer* sbSizer41; sbSizer41 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Project Backup") ), wxVERTICAL ); @@ -258,7 +292,7 @@ PANEL_COMMON_SETTINGS_BASE::PANEL_COMMON_SETTINGS_BASE( wxWindow* parent, wxWind gbSizer3->Add( m_staticText9, wxGBPosition( 2, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL, 5 ); m_backupLimitTotalFiles = new wxSpinCtrl( sbSizer41->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 1000, 0 ); - gbSizer3->Add( m_backupLimitTotalFiles, wxGBPosition( 2, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); + gbSizer3->Add( m_backupLimitTotalFiles, wxGBPosition( 2, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND, 5 ); m_staticText10 = new wxStaticText( sbSizer41->GetStaticBox(), wxID_ANY, _("Maximum backups per day:"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticText10->Wrap( -1 ); @@ -267,7 +301,7 @@ PANEL_COMMON_SETTINGS_BASE::PANEL_COMMON_SETTINGS_BASE( wxWindow* parent, wxWind gbSizer3->Add( m_staticText10, wxGBPosition( 3, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); m_backupLimitDailyFiles = new wxSpinCtrl( sbSizer41->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 1000, 0 ); - gbSizer3->Add( m_backupLimitDailyFiles, wxGBPosition( 3, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); + gbSizer3->Add( m_backupLimitDailyFiles, wxGBPosition( 3, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND, 5 ); m_staticText11 = new wxStaticText( sbSizer41->GetStaticBox(), wxID_ANY, _("Minimum time between backups:"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticText11->Wrap( -1 ); @@ -276,7 +310,7 @@ PANEL_COMMON_SETTINGS_BASE::PANEL_COMMON_SETTINGS_BASE( wxWindow* parent, wxWind gbSizer3->Add( m_staticText11, wxGBPosition( 4, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); m_backupMinInterval = new wxSpinCtrl( sbSizer41->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 3600, 0 ); - gbSizer3->Add( m_backupMinInterval, wxGBPosition( 4, 1 ), wxGBSpan( 1, 1 ), wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 ); + gbSizer3->Add( m_backupMinInterval, wxGBPosition( 4, 1 ), wxGBSpan( 1, 1 ), wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 ); m_staticText15 = new wxStaticText( sbSizer41->GetStaticBox(), wxID_ANY, _("minutes"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticText15->Wrap( -1 ); @@ -289,29 +323,19 @@ PANEL_COMMON_SETTINGS_BASE::PANEL_COMMON_SETTINGS_BASE( wxWindow* parent, wxWind gbSizer3->Add( m_staticText16, wxGBPosition( 5, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 ); m_backupLimitTotalSize = new wxSpinCtrl( sbSizer41->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 1000, 0 ); - gbSizer3->Add( m_backupLimitTotalSize, wxGBPosition( 5, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 ); + gbSizer3->Add( m_backupLimitTotalSize, wxGBPosition( 5, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT|wxEXPAND, 5 ); m_staticText17 = new wxStaticText( sbSizer41->GetStaticBox(), wxID_ANY, _("MB"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticText17->Wrap( -1 ); gbSizer3->Add( m_staticText17, wxGBPosition( 5, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 ); + gbSizer3->AddGrowableCol( 1 ); + sbSizer41->Add( gbSizer3, 0, wxEXPAND|wxBOTTOM, 5 ); - rightSizer->Add( sbSizer41, 0, wxALL|wxEXPAND, 5 ); - - wxStaticBoxSizer* sbSizer5; - sbSizer5 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Session") ), wxVERTICAL ); - - m_cbRememberOpenFiles = new wxCheckBox( sbSizer5->GetStaticBox(), wxID_ANY, _("Remember open files for next project launch"), wxDefaultPosition, wxDefaultSize, 0 ); - m_cbRememberOpenFiles->SetValue(true); - m_cbRememberOpenFiles->SetToolTip( _("If checked, launching a project will also launch tools such as eeschema and pcbnew with previously open files") ); - - sbSizer5->Add( m_cbRememberOpenFiles, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 ); - - - rightSizer->Add( sbSizer5, 1, wxALL|wxEXPAND, 5 ); + rightSizer->Add( sbSizer41, 1, wxALL|wxEXPAND, 5 ); bPanelSizer->Add( rightSizer, 0, wxALL|wxEXPAND, 5 ); diff --git a/common/dialogs/panel_common_settings_base.fbp b/common/dialogs/panel_common_settings_base.fbp index 325b65b42c..9202cdb570 100644 --- a/common/dialogs/panel_common_settings_base.fbp +++ b/common/dialogs/panel_common_settings_base.fbp @@ -64,162 +64,39 @@ wxVERTICAL none - 10 - wxEXPAND|wxTOP|wxBOTTOM|wxLEFT + 5 + wxEXPAND|wxALL 0 - - -1,2 - wxBOTH - 1 - - 4 + + wxID_ANY + Antialiasing - gbSizer1 - wxFLEX_GROWMODE_SPECIFIED + bAntiAliasing + wxVERTICAL + 1 none - 4 - + 5 - 1 - 0 - wxALIGN_CENTER_VERTICAL|wxTOP - 0 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - &Auto save: - 0 - - 0 - - - 0 + wxEXPAND|wxBOTTOM + 0 + + -1,2 + wxBOTH + 1 + + 4 - 1 - m_staticTextautosave - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - - - -1 - - - - 5 - 1 - 1 - wxEXPAND|wxTOP - 0 - 1 - - - bSizer6 - wxHORIZONTAL + gbSizer11 + wxFLEX_GROWMODE_SPECIFIED none - + 6 + 5 + 1 + 0 wxALIGN_CENTER_VERTICAL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - 0 - 10 - - 0 - - 0 - - 0 - - 1 - m_SaveTime - 1 - - - protected - 1 - - Resizable - 1 - - wxSP_ARROW_KEYS - ; forward_declare - 0 - Delay after the first change to create a backup file of the board on disk. If set to 0, auto backup is disabled - - - - - - - - 5 - wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT - 0 + 0 + 1 1 1 @@ -248,7 +125,7 @@ 0 0 wxID_ANY - minutes + Accelerated graphics: 0 0 @@ -257,7 +134,7 @@ 0 1 - minutesLabel + antialiasingLabel 1 @@ -277,218 +154,14 @@ -1 - - - - 5 - 1 - 0 - wxALIGN_CENTER_VERTICAL - 1 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - File history size: - 0 - - 0 - - - 0 - - 1 - m_staticTextFileHistorySize - 1 - - - protected - 1 - - Resizable - 1 - - - ; forward_declare - 0 - - - - - -1 - - - - 5 - 1 - 1 - wxALIGN_CENTER_VERTICAL - 1 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - 0 - 100 - - 0 - - 1 - - 0 - - 1 - m_fileHistorySize - 1 - - - protected - 1 - - Resizable - 1 - - wxSP_ARROW_KEYS - ; forward_declare - 0 - - - - - - - - - 5 - 1 - 0 - wxALIGN_CENTER_VERTICAL|wxTOP - 2 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - 3D cache file duration: - 0 - - 0 - - - 0 - - 1 - m_staticTextClear3DCache - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - - - - - -1 - - - - 5 - 1 - 1 - wxEXPAND - 2 - 1 - - - bSizer5 - wxHORIZONTAL - none - + 5 - wxALIGN_CENTER_VERTICAL - 0 - + 2 + 1 + wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT + 0 + 1 + 1 1 1 @@ -502,6 +175,7 @@ 1 0 + "No Antialiasing" "Fast Antialiasing" "High Quality Antialiasing" 1 1 @@ -516,17 +190,14 @@ 0 0 wxID_ANY - 30 - 120 0 - 0 0 1 - m_Clear3DCacheFilesOlder + m_antialiasing 1 @@ -534,22 +205,29 @@ 1 Resizable + 0 1 - wxSP_ARROW_KEYS - ; ; forward_declare + + ; forward_declare 0 - 3D cache files older than this are deleted. If set to 0, cache clearing is disabled - + + + wxFILTER_NONE + wxDefaultValidator + - + 5 - wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT - 0 + 1 + 0 + wxALIGN_CENTER_VERTICAL + 1 + 1 1 1 @@ -578,7 +256,7 @@ 0 0 wxID_ANY - Days + Fallback graphics: 0 0 @@ -587,7 +265,7 @@ 0 1 - m_staticTextDays + m_antialiasingFallbackLabel 1 @@ -598,7 +276,7 @@ 1 - ; ; forward_declare + ; forward_declare 0 @@ -607,268 +285,73 @@ -1 - - - - 5 - 1 - 0 - wxALIGN_CENTER_VERTICAL - 4 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Accelerated graphics: - 0 - - 0 - - - 0 - - 1 - antialiasingLabel - 1 - - - none - 1 - - Resizable - 1 - - - ; forward_declare - 0 - - - - - -1 - - - - 5 - 2 - 1 - wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT - 4 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - "No Antialiasing" "Fast Antialiasing" "High Quality Antialiasing" - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - - 1 - m_antialiasing - 1 - - - protected - 1 - - Resizable - 0 - 1 - - - ; forward_declare - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - 5 - 1 - 0 - wxALIGN_CENTER_VERTICAL - 6 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Fallback graphics: - 0 - - 0 - - - 0 - - 1 - m_antialiasingFallbackLabel - 1 - - - protected - 1 - - Resizable - 1 - - - ; forward_declare - 0 - - - - - -1 - - - - 5 - 2 - 1 - wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT - 6 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - "No Antialiasing" "Fast Antialiasing" "High Quality Antialiasing" - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - - 1 - m_antialiasingFallback - 1 - - - protected - 1 - - Resizable - 0 - 1 - - - ; forward_declare - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - + + 5 + 2 + 1 + wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT + 1 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + "No Antialiasing" "Fast Antialiasing" "High Quality Antialiasing" + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_antialiasingFallback + 1 + + + protected + 1 + + Resizable + 0 + 1 + + + ; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + @@ -1399,36 +882,301 @@ 5 wxEXPAND|wxALL 1 - + wxID_ANY User Interface sbSizerIconsOpts - wxVERTICAL + wxHORIZONTAL 1 none - + 5 - wxBOTTOM|wxRIGHT|wxEXPAND - 0 - - -1,10 + wxBOTTOM|wxRIGHT|wxLEFT + 1 + + -1,5 wxBOTH - 1 + 1,2 0 0 gbSizer4 wxFLEX_GROWMODE_SPECIFIED none - 2 - + 1 + 5 1 0 - wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT + wxBOTTOM|wxALIGN_CENTER_VERTICAL 0 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Icon theme: + 0 + + 0 + + + 0 + + 1 + m_stIconTheme + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + + + + + -1 + + + + 5 + 1 + 1 + wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT + 0 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Light + + 0 + + + 0 + 100,-1 + 1 + m_rbIconThemeLight + 1 + + + protected + 1 + + Resizable + 1 + + wxRB_GROUP + ; ; forward_declare + 0 + Use icons designed for light window backgrounds + + wxFILTER_NONE + wxDefaultValidator + + 0 + + + + + + + 5 + 1 + 2 + wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT + 0 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Dark + + 0 + + + 0 + 100,-1 + 1 + m_rbIconThemeDark + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + Use icons designed for dark window backgrounds + + wxFILTER_NONE + wxDefaultValidator + + 0 + + + + + + + 5 + 1 + 3 + wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT + 0 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Automatic + + 0 + + + 0 + + 1 + m_rbIconThemeAuto + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + Automatically choose light or dark icons based on the system color theme + + wxFILTER_NONE + wxDefaultValidator + + 1 + + + + + + + 5 + 1 + 0 + wxALIGN_CENTER_VERTICAL + 2 + 1 1 1 @@ -1486,12 +1234,12 @@ -1 - + 5 - 1 + 2 1 - wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL|wxEXPAND - 0 + wxALIGN_CENTER_VERTICAL|wxEXPAND + 2 1 1 @@ -1528,7 +1276,7 @@ 50 0 - 140,-1 + -1,-1 1 m_iconScaleSlider 1 @@ -1555,12 +1303,12 @@ OnScaleSlider - - 15 + + 5 1 - 2 - wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT - 0 + 3 + wxALIGN_CENTER_VERTICAL|wxLEFT + 2 1 1 @@ -1627,10 +1375,23 @@ 5 1 0 - wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL - 2 + wxEXPAND + 3 1 - + + 10 + protected + 0 + + + + 5 + 1 + 0 + wxALIGN_CENTER_VERTICAL + 5 + 1 + 1 1 1 @@ -1687,14 +1448,14 @@ -1 - + 5 - 1 + 2 1 - wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL|wxEXPAND - 2 + wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT|wxLEFT + 5 1 - + 1 1 1 @@ -1754,14 +1515,14 @@ - - 15 + + 5 1 - 2 - wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT|wxLEFT - 2 + 3 + wxALIGN_CENTER_VERTICAL|wxEXPAND|wxLEFT + 5 1 - + 1 1 1 @@ -1823,11 +1584,24 @@ + 5 + 1 + 0 + wxEXPAND + 6 + 1 + + 10 + protected + 0 + + + 5 2 0 - wxALIGN_CENTER_VERTICAL|wxTOP|wxLEFT - 4 + wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM + 7 1 1 @@ -1891,10 +1665,77 @@ 5 - 3 + 2 0 - wxLEFT|wxRIGHT - 6 + wxALIGN_CENTER_VERTICAL|wxTOP + 8 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Apply icon scaling to fonts + + 0 + + + 0 + + 1 + m_scaleFonts + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + 5 + 5 + 0 + wxLEFT + 9 1 1 @@ -1924,7 +1765,7 @@ 0 0 wxID_ANY - Icon theme: + (This workaround will improve some GTK HiDPI font scaling issues.) 0 0 @@ -1933,7 +1774,7 @@ 0 1 - m_stIconTheme + m_fontScalingHelp 1 @@ -1953,207 +1794,6 @@ -1 - - 5 - 1 - 0 - wxLEFT|wxRIGHT - 7 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Light - - 0 - - - 0 - - 1 - m_rbIconThemeLight - 1 - - - protected - 1 - - Resizable - 1 - - wxRB_GROUP - ; ; forward_declare - 0 - Use icons designed for light window backgrounds - - wxFILTER_NONE - wxDefaultValidator - - 0 - - - - - - - 5 - 1 - 1 - wxLEFT|wxRIGHT - 7 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Dark - - 0 - - - 0 - - 1 - m_rbIconThemeDark - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - Use icons designed for dark window backgrounds - - wxFILTER_NONE - wxDefaultValidator - - 0 - - - - - - - 15 - 1 - 2 - wxLEFT|wxRIGHT - 7 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Automatic - - 0 - - - 0 - - 1 - m_rbIconThemeAuto - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - Automatically choose light or dark icons based on the system color theme - - wxFILTER_NONE - wxDefaultValidator - - 1 - - - - - @@ -2173,7 +1813,7 @@ 5 wxEXPAND|wxALL 0 - + wxID_ANY Editing @@ -2181,11 +1821,11 @@ wxVERTICAL 1 none - + 5 wxBOTTOM|wxRIGHT|wxLEFT 0 - + 1 1 1 @@ -2245,11 +1885,11 @@ - + 5 wxBOTTOM|wxRIGHT|wxLEFT 0 - + 1 1 1 @@ -2315,815 +1955,6 @@ 5 wxALL|wxEXPAND 0 - - wxID_ANY - Project Backup - - sbSizer41 - wxVERTICAL - 1 - none - - 5 - wxEXPAND|wxBOTTOM - 0 - - - wxBOTH - - - 0 - - gbSizer3 - wxFLEX_GROWMODE_SPECIFIED - none - 0 - - 5 - 3 - 0 - wxBOTTOM|wxRIGHT|wxLEFT - 0 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Automatically backup projects - - 0 - - - 0 - - 1 - m_cbBackupEnabled - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - Automatically create backup archives of the current project when saving files - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - 5 - 3 - 0 - wxBOTTOM|wxRIGHT|wxLEFT - 1 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Create backups when auto save occurs - - 0 - - - 0 - - 1 - m_cbBackupAutosave - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - Create backups when the auto save feature is enabled. If not checked, backups will only be created when you manually save a file. - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - 5 - 1 - 0 - wxALIGN_CENTER_VERTICAL|wxALL - 2 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Maximum backups to keep: - 0 - - 0 - - - 0 - - 1 - m_staticText9 - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - How many backup files total to keep (set to 0 for no limit) - - - - -1 - - - - 5 - 1 - 1 - wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT - 2 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - 0 - 1000 - - 0 - - 0 - - 0 - - 1 - m_backupLimitTotalFiles - 1 - - - protected - 1 - - Resizable - 1 - - wxSP_ARROW_KEYS - ; ; forward_declare - 0 - - - - - - - - - 5 - 1 - 0 - wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT - 3 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Maximum backups per day: - 0 - - 0 - - - 0 - - 1 - m_staticText10 - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - How many backup files to keep each day (set to 0 for no limit) - - - - -1 - - - - 5 - 1 - 1 - wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT - 3 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - 0 - 1000 - - 0 - - 0 - - 0 - - 1 - m_backupLimitDailyFiles - 1 - - - protected - 1 - - Resizable - 1 - - wxSP_ARROW_KEYS - ; ; forward_declare - 0 - - - - - - - - - 5 - 1 - 0 - wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT - 4 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Minimum time between backups: - 0 - - 0 - - - 0 - - 1 - m_staticText11 - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - Number of minutes since the last backup before another will be created the next time you save (set to 0 for no minimum) - - - - -1 - - - - 5 - 1 - 1 - wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL - 4 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - 0 - 3600 - - 0 - - 0 - - 0 - - 1 - m_backupMinInterval - 1 - - - protected - 1 - - Resizable - 1 - - wxSP_ARROW_KEYS - ; ; forward_declare - 0 - - - - - - - - - 5 - 1 - 2 - wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT - 4 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - minutes - 0 - - 0 - - - 0 - - 1 - m_staticText15 - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - - - - - -1 - - - - 5 - 1 - 0 - wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT - 5 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Maximum total backup size: - 0 - - 0 - - - 0 - - 1 - m_staticText16 - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - If the total size of backup files grows above this limit, old backups will be deleted (set to 0 for no limit) - - - - -1 - - - - 5 - 1 - 1 - wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT - 5 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - 0 - 1000 - - 0 - - 0 - - 0 - - 1 - m_backupLimitTotalSize - 1 - - - protected - 1 - - Resizable - 1 - - wxSP_ARROW_KEYS - ; ; forward_declare - 0 - - - - - - - - - 5 - 1 - 2 - wxALIGN_CENTER_VERTICAL|wxRIGHT - 5 - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - MB - 0 - - 0 - - - 0 - - 1 - m_staticText17 - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - - - - - -1 - - - - - - - - 5 - wxALL|wxEXPAND - 1 wxID_ANY Session @@ -3196,6 +2027,1357 @@ + + 5 + + 0 + + 5 + protected + 0 + + + + 5 + wxEXPAND|wxTOP|wxBOTTOM|wxLEFT + 0 + + -1,2 + wxBOTH + 1 + + 5 + + gbSizer1 + wxFLEX_GROWMODE_SPECIFIED + none + 4 + + 5 + 1 + 0 + wxALIGN_CENTER_VERTICAL + 0 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + &Auto save: + 0 + + 0 + + + 0 + + 1 + m_staticTextautosave + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + 5 + 1 + 1 + wxALIGN_CENTER_VERTICAL|wxEXPAND + 0 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + 0 + 10 + + 0 + + 0 + + 0 + + 1 + m_SaveTime + 1 + + + protected + 1 + + Resizable + 1 + + wxSP_ARROW_KEYS + ; forward_declare + 0 + Delay after the first change to create a backup file of the board on disk. If set to 0, auto backup is disabled + + + + + + + + 5 + 1 + 2 + wxALIGN_CENTER_VERTICAL + 0 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + minutes + 0 + + 0 + + + 0 + + 1 + minutesLabel + 1 + + + none + 1 + + Resizable + 1 + + + ; forward_declare + 0 + + + + + -1 + + + + 5 + 1 + 0 + wxALIGN_CENTER_VERTICAL + 1 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + File history size: + 0 + + 0 + + + 0 + + 1 + m_staticTextFileHistorySize + 1 + + + protected + 1 + + Resizable + 1 + + + ; forward_declare + 0 + + + + + -1 + + + + 5 + 1 + 1 + wxALIGN_CENTER_VERTICAL|wxEXPAND + 1 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + 0 + 100 + + 0 + + 1 + + 0 + + 1 + m_fileHistorySize + 1 + + + protected + 1 + + Resizable + 1 + + wxSP_ARROW_KEYS + ; forward_declare + 0 + + + + + + + + + 5 + 1 + 0 + wxALIGN_CENTER_VERTICAL + 2 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + 3D cache file duration: + 0 + + 0 + + + 0 + + 1 + m_staticTextClear3DCache + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + + + + + -1 + + + + 5 + 1 + 1 + wxALIGN_CENTER_VERTICAL|wxEXPAND + 2 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + 30 + 120 + + 0 + + 0 + + 0 + + 1 + m_Clear3DCacheFilesOlder + 1 + + + protected + 1 + + Resizable + 1 + + wxSP_ARROW_KEYS + ; ; forward_declare + 0 + 3D cache files older than this are deleted. If set to 0, cache clearing is disabled + + + + + + + + 5 + 1 + 2 + wxALIGN_CENTER_VERTICAL + 2 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + days + 0 + + 0 + + + 0 + + 1 + m_staticTextDays + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + + + + + -1 + + + + + + + + 5 + wxALL|wxEXPAND + 1 + + wxID_ANY + Project Backup + + sbSizer41 + wxVERTICAL + 1 + none + + 5 + wxEXPAND|wxBOTTOM + 0 + + + wxBOTH + 1 + + 0 + + gbSizer3 + wxFLEX_GROWMODE_SPECIFIED + none + 0 + + 5 + 3 + 0 + wxBOTTOM|wxRIGHT|wxLEFT + 0 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Automatically backup projects + + 0 + + + 0 + + 1 + m_cbBackupEnabled + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + Automatically create backup archives of the current project when saving files + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + 5 + 3 + 0 + wxBOTTOM|wxRIGHT|wxLEFT + 1 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Create backups when auto save occurs + + 0 + + + 0 + + 1 + m_cbBackupAutosave + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + Create backups when the auto save feature is enabled. If not checked, backups will only be created when you manually save a file. + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + 5 + 1 + 0 + wxALIGN_CENTER_VERTICAL|wxALL + 2 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Maximum backups to keep: + 0 + + 0 + + + 0 + + 1 + m_staticText9 + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + How many backup files total to keep (set to 0 for no limit) + + + + -1 + + + + 5 + 1 + 1 + wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND + 2 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + 0 + 1000 + + 0 + + 0 + + 0 + + 1 + m_backupLimitTotalFiles + 1 + + + protected + 1 + + Resizable + 1 + + wxSP_ARROW_KEYS + ; ; forward_declare + 0 + + + + + + + + + 5 + 1 + 0 + wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT + 3 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Maximum backups per day: + 0 + + 0 + + + 0 + + 1 + m_staticText10 + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + How many backup files to keep each day (set to 0 for no limit) + + + + -1 + + + + 5 + 1 + 1 + wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND + 3 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + 0 + 1000 + + 0 + + 0 + + 0 + + 1 + m_backupLimitDailyFiles + 1 + + + protected + 1 + + Resizable + 1 + + wxSP_ARROW_KEYS + ; ; forward_declare + 0 + + + + + + + + + 5 + 1 + 0 + wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT + 4 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Minimum time between backups: + 0 + + 0 + + + 0 + + 1 + m_staticText11 + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + Number of minutes since the last backup before another will be created the next time you save (set to 0 for no minimum) + + + + -1 + + + + 5 + 1 + 1 + wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL|wxEXPAND + 4 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + 0 + 3600 + + 0 + + 0 + + 0 + + 1 + m_backupMinInterval + 1 + + + protected + 1 + + Resizable + 1 + + wxSP_ARROW_KEYS + ; ; forward_declare + 0 + + + + + + + + + 5 + 1 + 2 + wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT + 4 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + minutes + 0 + + 0 + + + 0 + + 1 + m_staticText15 + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + + + + + -1 + + + + 5 + 1 + 0 + wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT + 5 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Maximum total backup size: + 0 + + 0 + + + 0 + + 1 + m_staticText16 + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + If the total size of backup files grows above this limit, old backups will be deleted (set to 0 for no limit) + + + + -1 + + + + 5 + 1 + 1 + wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT|wxEXPAND + 5 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + 0 + 1000 + + 0 + + 0 + + 0 + + 1 + m_backupLimitTotalSize + 1 + + + protected + 1 + + Resizable + 1 + + wxSP_ARROW_KEYS + ; ; forward_declare + 0 + + + + + + + + + 5 + 1 + 2 + wxALIGN_CENTER_VERTICAL|wxRIGHT + 5 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + MB + 0 + + 0 + + + 0 + + 1 + m_staticText17 + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + + + + + -1 + + + + diff --git a/common/dialogs/panel_common_settings_base.h b/common/dialogs/panel_common_settings_base.h index 4fcea32695..962c1c4065 100644 --- a/common/dialogs/panel_common_settings_base.h +++ b/common/dialogs/panel_common_settings_base.h @@ -18,10 +18,10 @@ #include #include #include -#include -#include #include #include +#include +#include #include #include #include @@ -29,9 +29,9 @@ #include #include #include -#include #include #include +#include #include /////////////////////////////////////////////////////////////////////////// @@ -44,13 +44,6 @@ class PANEL_COMMON_SETTINGS_BASE : public RESETTABLE_PANEL private: protected: - wxStaticText* m_staticTextautosave; - wxSpinCtrl* m_SaveTime; - wxStaticText* m_staticTextFileHistorySize; - wxSpinCtrl* m_fileHistorySize; - wxStaticText* m_staticTextClear3DCache; - wxSpinCtrl* m_Clear3DCacheFilesOlder; - wxStaticText* m_staticTextDays; wxChoice* m_antialiasing; wxStaticText* m_antialiasingFallbackLabel; wxChoice* m_antialiasingFallback; @@ -60,6 +53,10 @@ class PANEL_COMMON_SETTINGS_BASE : public RESETTABLE_PANEL wxRadioButton* m_otherPDFViewer; wxTextCtrl* m_PDFViewerPath; wxBitmapButton* m_pdfViewerBtn; + wxStaticText* m_stIconTheme; + wxRadioButton* m_rbIconThemeLight; + wxRadioButton* m_rbIconThemeDark; + wxRadioButton* m_rbIconThemeAuto; wxStaticText* m_staticTexticonscale; STEPPED_SLIDER* m_iconScaleSlider; wxCheckBox* m_iconScaleAuto; @@ -67,12 +64,18 @@ class PANEL_COMMON_SETTINGS_BASE : public RESETTABLE_PANEL wxSpinCtrlDouble* m_canvasScaleCtrl; wxCheckBox* m_canvasScaleAuto; wxCheckBox* m_checkBoxIconsInMenus; - wxStaticText* m_stIconTheme; - wxRadioButton* m_rbIconThemeLight; - wxRadioButton* m_rbIconThemeDark; - wxRadioButton* m_rbIconThemeAuto; + wxCheckBox* m_scaleFonts; + wxStaticText* m_fontScalingHelp; wxCheckBox* m_warpMouseOnMove; wxCheckBox* m_NonImmediateActions; + wxCheckBox* m_cbRememberOpenFiles; + wxStaticText* m_staticTextautosave; + wxSpinCtrl* m_SaveTime; + wxStaticText* m_staticTextFileHistorySize; + wxSpinCtrl* m_fileHistorySize; + wxStaticText* m_staticTextClear3DCache; + wxSpinCtrl* m_Clear3DCacheFilesOlder; + wxStaticText* m_staticTextDays; wxCheckBox* m_cbBackupEnabled; wxCheckBox* m_cbBackupAutosave; wxStaticText* m_staticText9; @@ -85,7 +88,6 @@ class PANEL_COMMON_SETTINGS_BASE : public RESETTABLE_PANEL wxStaticText* m_staticText16; wxSpinCtrl* m_backupLimitTotalSize; wxStaticText* m_staticText17; - wxCheckBox* m_cbRememberOpenFiles; // Virtual event handlers, overide them in your derived class virtual void OnTextEditorClick( wxCommandEvent& event ) { event.Skip(); } diff --git a/common/dialogs/panel_setup_netclasses.cpp b/common/dialogs/panel_setup_netclasses.cpp index 750db8e911..d7143bd51e 100644 --- a/common/dialogs/panel_setup_netclasses.cpp +++ b/common/dialogs/panel_setup_netclasses.cpp @@ -136,7 +136,7 @@ PANEL_SETUP_NETCLASSES::PANEL_SETUP_NETCLASSES( PAGED_DIALOG* aParent, NETCLASSE attr->SetEditor( new GRID_CELL_ICON_TEXT_POPUP( g_lineStyleIcons, g_lineStyleNames ) ); m_netclassGrid->SetColAttr( GRID_LINESTYLE, attr ); - m_colorDefaultHelpText->SetFont( KIUI::GetInfoFont( this ) ); + m_colorDefaultHelpText->SetFont( KIUI::GetInfoFont( this ).Italic() ); } else { diff --git a/common/settings/common_settings.cpp b/common/settings/common_settings.cpp index 269bb47b8d..ffcc800968 100644 --- a/common/settings/common_settings.cpp +++ b/common/settings/common_settings.cpp @@ -80,6 +80,9 @@ COMMON_SETTINGS::COMMON_SETTINGS() : m_params.emplace_back( new PARAM( "appearance.use_icons_in_menus", &m_Appearance.use_icons_in_menus, defaultUseIconsInMenus ) ); + m_params.emplace_back( new PARAM( "appearance.apply_icon_scale_to_fonts", + &m_Appearance.apply_icon_scale_to_fonts, false ) ); + m_params.emplace_back( new PARAM( "auto_backup.enabled", &m_Backup.enabled, true ) ); m_params.emplace_back( new PARAM( "auto_backup.backup_on_autosave", diff --git a/common/widgets/ui_common.cpp b/common/widgets/ui_common.cpp index 3fe3d6db81..820768b7a8 100644 --- a/common/widgets/ui_common.cpp +++ b/common/widgets/ui_common.cpp @@ -101,16 +101,16 @@ wxFont getGUIFont( wxWindow* aWindow, int aRelativeSize ) font.SetPointSize( font.GetPointSize() + aRelativeSize ); - // Both wxFont::SetSymbolicSize() and wxWindow::ConvertDialogToPixels() fail on some GTKs - // with HiDPI screens. These appear to be the same conditions under which automatic icon - // scaling fails, so we look for that and apply a patch. - - int requested_scale = Pgm().GetCommonSettings()->m_Appearance.icon_scale; - - if( requested_scale > 0 ) + if( Pgm().GetCommonSettings()->m_Appearance.apply_icon_scale_to_fonts ) { - double factor = static_cast( requested_scale ) / 4.0; - font.SetPointSize( KiROUND( font.GetPointSize() * factor ) ); + double icon_scale_fourths; + + if( Pgm().GetCommonSettings()->m_Appearance.icon_scale <= 0 ) + icon_scale_fourths = KiIconScale( aWindow ); + else + icon_scale_fourths = Pgm().GetCommonSettings()->m_Appearance.icon_scale; + + font.SetPointSize( KiROUND( icon_scale_fourths * font.GetPointSize() / 4.0 ) ); } #ifdef __WXMAC__ diff --git a/eeschema/dialogs/dialog_junction_props.cpp b/eeschema/dialogs/dialog_junction_props.cpp index 562c514ca6..96ecc10304 100644 --- a/eeschema/dialogs/dialog_junction_props.cpp +++ b/eeschema/dialogs/dialog_junction_props.cpp @@ -37,8 +37,8 @@ DIALOG_JUNCTION_PROPS::DIALOG_JUNCTION_PROPS( SCH_EDIT_FRAME* aParent, m_colorSwatch->SetDefaultColor( COLOR4D::UNSPECIFIED ); - m_helpLabel1->SetFont( KIUI::GetInfoFont( this ) ); - m_helpLabel2->SetFont( KIUI::GetInfoFont( this ) ); + m_helpLabel1->SetFont( KIUI::GetInfoFont( this ).Italic() ); + m_helpLabel2->SetFont( KIUI::GetInfoFont( this ).Italic() ); SetInitialFocus( m_textCtrlDiameter ); diff --git a/eeschema/dialogs/dialog_lib_text_properties.cpp b/eeschema/dialogs/dialog_lib_text_properties.cpp index 1f01551bf2..b6bfa61696 100644 --- a/eeschema/dialogs/dialog_lib_text_properties.cpp +++ b/eeschema/dialogs/dialog_lib_text_properties.cpp @@ -45,7 +45,7 @@ DIALOG_LIB_TEXT_PROPERTIES::DIALOG_LIB_TEXT_PROPERTIES( SYMBOL_EDIT_FRAME* aPare m_TextValueSelectButton->Hide(); m_PowerComponentValues->Show( false ); - m_PowerComponentValues->SetFont( KIUI::GetInfoFont( this ) ); + m_PowerComponentValues->SetFont( KIUI::GetInfoFont( this ).Italic() ); SetInitialFocus( m_TextCtrl ); m_StyledTextCtrl->Show( false ); diff --git a/eeschema/dialogs/dialog_line_wire_bus_properties.cpp b/eeschema/dialogs/dialog_line_wire_bus_properties.cpp index e3cb76e709..2a10445f11 100644 --- a/eeschema/dialogs/dialog_line_wire_bus_properties.cpp +++ b/eeschema/dialogs/dialog_line_wire_bus_properties.cpp @@ -64,8 +64,8 @@ DIALOG_LINE_WIRE_BUS_PROPERTIES::DIALOG_LINE_WIRE_BUS_PROPERTIES( SCH_EDIT_FRAME m_colorSwatch->SetDefaultColor( COLOR4D::UNSPECIFIED ); - m_helpLabel1->SetFont( KIUI::GetInfoFont( this ) ); - m_helpLabel2->SetFont( KIUI::GetInfoFont( this ) ); + m_helpLabel1->SetFont( KIUI::GetInfoFont( this ).Italic() ); + m_helpLabel2->SetFont( KIUI::GetInfoFont( this ).Italic() ); SetInitialFocus( m_lineWidth ); diff --git a/eeschema/dialogs/dialog_text_and_label_properties.cpp b/eeschema/dialogs/dialog_text_and_label_properties.cpp index 9eb9b96985..e60f2951cd 100644 --- a/eeschema/dialogs/dialog_text_and_label_properties.cpp +++ b/eeschema/dialogs/dialog_text_and_label_properties.cpp @@ -116,8 +116,8 @@ DIALOG_TEXT_AND_LABEL_PROPERTIES::DIALOG_TEXT_AND_LABEL_PROPERTIES( SCH_EDIT_FRA if( m_CurrentText->Type() == SCH_GLOBAL_LABEL_T ) { - m_note1->SetFont( KIUI::GetInfoFont( this ) ); - m_note2->SetFont( KIUI::GetInfoFont( this ) ); + m_note1->SetFont( KIUI::GetInfoFont( this ).Italic() ); + m_note2->SetFont( KIUI::GetInfoFont( this ).Italic() ); } else { diff --git a/eeschema/dialogs/panel_eeschema_display_options.cpp b/eeschema/dialogs/panel_eeschema_display_options.cpp index d36effa451..e8add0f2ca 100644 --- a/eeschema/dialogs/panel_eeschema_display_options.cpp +++ b/eeschema/dialogs/panel_eeschema_display_options.cpp @@ -37,7 +37,7 @@ PANEL_EESCHEMA_DISPLAY_OPTIONS::PANEL_EESCHEMA_DISPLAY_OPTIONS( SCH_EDIT_FRAME* m_galOptionsSizer->Add( m_galOptsPanel, 1, wxEXPAND, 0 ); - m_highlightColorNote->SetFont( KIUI::GetInfoFont( this ) ); + m_highlightColorNote->SetFont( KIUI::GetInfoFont( this ).Italic() ); } diff --git a/include/settings/common_settings.h b/include/settings/common_settings.h index 00ad7980e2..b783c6b667 100644 --- a/include/settings/common_settings.h +++ b/include/settings/common_settings.h @@ -53,6 +53,7 @@ public: int icon_scale; ICON_THEME icon_theme; bool use_icons_in_menus; + bool apply_icon_scale_to_fonts; }; struct AUTO_BACKUP diff --git a/pagelayout_editor/dialogs/properties_frame.cpp b/pagelayout_editor/dialogs/properties_frame.cpp index 807b8374f8..f777fd7c5e 100644 --- a/pagelayout_editor/dialogs/properties_frame.cpp +++ b/pagelayout_editor/dialogs/properties_frame.cpp @@ -81,7 +81,7 @@ PROPERTIES_FRAME::PROPERTIES_FRAME( PL_EDITOR_FRAME* aParent ) : m_stcText->SetUseHorizontalScrollBar( false ); m_scintillaTricks = new SCINTILLA_TRICKS( m_stcText, wxT( "{}" ), false ); - m_staticTextSizeInfo->SetFont( KIUI::GetInfoFont( this ) ); + m_staticTextSizeInfo->SetFont( KIUI::GetInfoFont( this ).Italic() ); m_buttonOK->SetDefault(); diff --git a/pcb_calculator/pcb_calculator_frame.cpp b/pcb_calculator/pcb_calculator_frame.cpp index 8608017712..eaf9bc7d38 100644 --- a/pcb_calculator/pcb_calculator_frame.cpp +++ b/pcb_calculator/pcb_calculator_frame.cpp @@ -74,7 +74,7 @@ PCB_CALCULATOR_FRAME::PCB_CALCULATOR_FRAME( KIWAY* aKiway, wxWindow* aParent ) : m_attenuator_list.push_back( new ATTENUATOR_SPLITTER() ); m_currAttenuator = m_attenuator_list[0]; - m_staticTextAttMsg->SetFont( KIUI::GetInfoFont( this ) ); + m_staticTextAttMsg->SetFont( KIUI::GetInfoFont( this ).Italic() ); m_IadjUnitLabel->SetLabel( wxT( "µA" ) ); diff --git a/pcbnew/dialogs/dialog_get_footprint_by_name.h b/pcbnew/dialogs/dialog_get_footprint_by_name.h index d7b989d99c..8d119bc6c1 100644 --- a/pcbnew/dialogs/dialog_get_footprint_by_name.h +++ b/pcbnew/dialogs/dialog_get_footprint_by_name.h @@ -46,7 +46,7 @@ public: m_sdbSizerOK->SetDefault(); m_choiceFpList->Append( aFpList ); - m_multipleHint->SetFont( KIUI::GetInfoFont( this ) ); + m_multipleHint->SetFont( KIUI::GetInfoFont( this ).Italic() ); // Hide help string until someone implements successive placement (#2227) m_multipleHint->Show( false ); diff --git a/pcbnew/dialogs/panel_fp_editor_defaults.cpp b/pcbnew/dialogs/panel_fp_editor_defaults.cpp index f2215cdce4..b7c5c3026d 100644 --- a/pcbnew/dialogs/panel_fp_editor_defaults.cpp +++ b/pcbnew/dialogs/panel_fp_editor_defaults.cpp @@ -199,7 +199,7 @@ PANEL_FP_EDITOR_DEFAULTS::PANEL_FP_EDITOR_DEFAULTS( FOOTPRINT_EDIT_FRAME* aFrame m_graphicsGrid->PushEventHandler( new GRID_TRICKS( m_graphicsGrid ) ); - m_staticTextInfo->SetFont( KIUI::GetInfoFont( this ) ); + m_staticTextInfo->SetFont( KIUI::GetInfoFont( this ).Italic() ); } diff --git a/pcbnew/dialogs/panel_setup_mask_and_paste.cpp b/pcbnew/dialogs/panel_setup_mask_and_paste.cpp index 65ce75007a..ec555b0e37 100644 --- a/pcbnew/dialogs/panel_setup_mask_and_paste.cpp +++ b/pcbnew/dialogs/panel_setup_mask_and_paste.cpp @@ -41,9 +41,7 @@ PANEL_SETUP_MASK_AND_PASTE::PANEL_SETUP_MASK_AND_PASTE( PAGED_DIALOG* aParent, m_Frame = aFrame; m_BrdSettings = &m_Frame->GetBoard()->GetDesignSettings(); - m_staticTextInfoMaskMinWidth->SetFont( KIUI::GetInfoFont( this ) ); - m_staticTextInfoMaskMinWidth1->SetFont( KIUI::GetInfoFont( this ) ); - m_staticTextInfoPaste->SetFont( KIUI::GetInfoFont( this ) ); + m_staticTextInfoPaste->SetFont( KIUI::GetInfoFont( this ).Italic() ); m_pasteMargin.SetNegativeZero(); diff --git a/pcbnew/dialogs/panel_setup_mask_and_paste_base.cpp b/pcbnew/dialogs/panel_setup_mask_and_paste_base.cpp index 85ebb8c764..9edd3e20cf 100644 --- a/pcbnew/dialogs/panel_setup_mask_and_paste_base.cpp +++ b/pcbnew/dialogs/panel_setup_mask_and_paste_base.cpp @@ -29,11 +29,11 @@ PANEL_SETUP_MASK_AND_PASTE_BASE::PANEL_SETUP_MASK_AND_PASTE_BASE( wxWindow* pare wxBoxSizer* bSizer4; bSizer4 = new wxBoxSizer( wxVERTICAL ); - m_staticTextInfoMaskMinWidth = new wxStaticText( this, wxID_ANY, _("Use your board house's recommendation for solder mask clearance and minimum bridge width."), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticTextInfoMaskMinWidth = new wxStaticText( this, wxID_ANY, _("Use your board house's recommendations for solder mask clearance and minimum web width."), wxDefaultPosition, wxDefaultSize, 0 ); m_staticTextInfoMaskMinWidth->Wrap( -1 ); bSizer4->Add( m_staticTextInfoMaskMinWidth, 0, wxEXPAND, 1 ); - m_staticTextInfoMaskMinWidth1 = new wxStaticText( this, wxID_ANY, _("If none is provided, setting the values to zero is suggested."), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticTextInfoMaskMinWidth1 = new wxStaticText( this, wxID_ANY, _("If none are provided, setting the values to zero is suggested."), wxDefaultPosition, wxDefaultSize, 0 ); m_staticTextInfoMaskMinWidth1->Wrap( -1 ); bSizer4->Add( m_staticTextInfoMaskMinWidth1, 0, wxEXPAND|wxTOP, 1 ); diff --git a/pcbnew/dialogs/panel_setup_mask_and_paste_base.fbp b/pcbnew/dialogs/panel_setup_mask_and_paste_base.fbp index 05dd89e702..2b6e6e1448 100644 --- a/pcbnew/dialogs/panel_setup_mask_and_paste_base.fbp +++ b/pcbnew/dialogs/panel_setup_mask_and_paste_base.fbp @@ -181,7 +181,7 @@ 0 0 wxID_ANY - Use your board house's recommendation for solder mask clearance and minimum bridge width. + Use your board house's recommendations for solder mask clearance and minimum web width. 0 0 @@ -242,7 +242,7 @@ 0 0 wxID_ANY - If none is provided, setting the values to zero is suggested. + If none are provided, setting the values to zero is suggested. 0 0