diff --git a/common/bitmap.cpp b/common/bitmap.cpp index 75e0f4d424..4872768da3 100644 --- a/common/bitmap.cpp +++ b/common/bitmap.cpp @@ -144,21 +144,10 @@ int KiIconScale( wxWindow* aWindow ) } -static int get_scale_factor( wxWindow* aWindow ) -{ - int requested_scale = Pgm().GetCommonSettings()->m_Appearance.icon_scale; - - if( requested_scale > 0 ) - return requested_scale; - else - return KiIconScale( aWindow ); -} - - wxBitmap KiScaledBitmap( BITMAPS aBitmap, wxWindow* aWindow, int aHeight, bool aQuantized ) { // Bitmap conversions are cached because they can be slow. - int scale = get_scale_factor( aWindow ); + int scale = KiIconScale( aWindow ); if( aQuantized ) scale = KiROUND( (double) scale / 4.0 ) * 4; @@ -189,7 +178,7 @@ void ClearScaledBitmapCache() wxBitmap KiScaledBitmap( const wxBitmap& aBitmap, wxWindow* aWindow ) { - const int scale = get_scale_factor( aWindow ); + const int scale = KiIconScale( aWindow ); if( scale == 4 ) { diff --git a/common/dialogs/panel_common_settings.cpp b/common/dialogs/panel_common_settings.cpp index 1c8406cbd9..f5fce5cf72 100644 --- a/common/dialogs/panel_common_settings.cpp +++ b/common/dialogs/panel_common_settings.cpp @@ -45,11 +45,7 @@ */ PANEL_COMMON_SETTINGS::PANEL_COMMON_SETTINGS( wxWindow* aParent ) - : PANEL_COMMON_SETTINGS_BASE( aParent ), - m_iconScaleLabel( nullptr ), - m_iconScaleSlider( nullptr ), - m_iconScaleAuto( nullptr ), - m_last_scale( -1 ) + : PANEL_COMMON_SETTINGS_BASE( aParent ) { /* * Cairo canvas doesn't work on Mac, so no need for fallback anti-aliasing options @@ -72,31 +68,6 @@ PANEL_COMMON_SETTINGS::PANEL_COMMON_SETTINGS( wxWindow* aParent ) m_rbIconThemeAuto->Show( false ); #endif - /* - * Automatic icon scaling works fine on Mac. It works mostly fine on MSW, but perhaps not - * uniformly enough to exclude the explicit controls there. - */ -#if defined( __WXGTK__ ) || defined( __WXMSW__ ) - // Sadly wxSlider is poorly implemented and adds its legends as sibling windows (so that - // showing/hiding the control doesn't work). So we have to create it conditionally. - wxGridBagSizer* gb = m_gbUserInterface; - - const int row_num = 0; - m_iconScaleLabel = new wxStaticText( this, wxID_ANY, _( "Icon scale:" ) ); - m_iconScaleLabel->Wrap( -1 ); - gb->Add( m_iconScaleLabel, wxGBPosition( row_num, 0 ), - wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 ); - - m_iconScaleSlider = new STEPPED_SLIDER( this, wxID_ANY, 100, 50, 275, wxDefaultPosition, - wxDefaultSize, wxSL_HORIZONTAL|wxSL_VALUE_LABEL ); - m_iconScaleSlider->SetStep( 25 ); - gb->Add( m_iconScaleSlider, wxGBPosition( row_num, 1 ), wxGBSpan( 1, 1 ), wxEXPAND|wxBOTTOM, 5 ); - - m_iconScaleAuto = new wxCheckBox( this, wxID_ANY, _( "Automatic" ) ); - gb->Add( m_iconScaleAuto, wxGBPosition( row_num, 2 ), - wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 15 ); -#endif - /* * Automatic canvas scaling works fine on all supported platforms, so manual scaling is disabled */ @@ -141,40 +112,6 @@ PANEL_COMMON_SETTINGS::PANEL_COMMON_SETTINGS( wxWindow* aParent ) m_scaleFonts->Show( false ); m_fontScalingHelp->Show( false ); - if( m_iconScaleSlider ) - { - m_iconScaleSlider->Connect( wxEVT_SCROLL_TOP, - wxScrollEventHandler( PANEL_COMMON_SETTINGS::OnScaleSlider ), - nullptr, this ); - m_iconScaleSlider->Connect( wxEVT_SCROLL_BOTTOM, - wxScrollEventHandler( PANEL_COMMON_SETTINGS::OnScaleSlider ), - nullptr, this ); - m_iconScaleSlider->Connect( wxEVT_SCROLL_LINEUP, - wxScrollEventHandler( PANEL_COMMON_SETTINGS::OnScaleSlider ), - nullptr, this ); - m_iconScaleSlider->Connect( wxEVT_SCROLL_LINEDOWN, - wxScrollEventHandler( PANEL_COMMON_SETTINGS::OnScaleSlider ), - nullptr, this ); - m_iconScaleSlider->Connect( wxEVT_SCROLL_PAGEUP, - wxScrollEventHandler( PANEL_COMMON_SETTINGS::OnScaleSlider ), - nullptr, this ); - m_iconScaleSlider->Connect( wxEVT_SCROLL_PAGEDOWN, - wxScrollEventHandler( PANEL_COMMON_SETTINGS::OnScaleSlider ), - nullptr, this ); - m_iconScaleSlider->Connect( wxEVT_SCROLL_THUMBTRACK, - wxScrollEventHandler( PANEL_COMMON_SETTINGS::OnScaleSlider ), - nullptr, this ); - m_iconScaleSlider->Connect( wxEVT_SCROLL_THUMBRELEASE, - wxScrollEventHandler( PANEL_COMMON_SETTINGS::OnScaleSlider ), - nullptr, this ); - m_iconScaleSlider->Connect( wxEVT_SCROLL_CHANGED, - wxScrollEventHandler( PANEL_COMMON_SETTINGS::OnScaleSlider ), - nullptr, this ); - m_iconScaleAuto->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, - wxCommandEventHandler( PANEL_COMMON_SETTINGS::OnIconScaleAuto ), - nullptr, this ); - } - if( m_canvasScaleCtrl ) { m_canvasScaleCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, @@ -191,40 +128,6 @@ PANEL_COMMON_SETTINGS::PANEL_COMMON_SETTINGS( wxWindow* aParent ) PANEL_COMMON_SETTINGS::~PANEL_COMMON_SETTINGS() { - if( m_iconScaleSlider ) - { - m_iconScaleSlider->Disconnect( wxEVT_SCROLL_TOP, - wxScrollEventHandler( PANEL_COMMON_SETTINGS::OnScaleSlider ), - nullptr, this ); - m_iconScaleSlider->Disconnect( wxEVT_SCROLL_BOTTOM, - wxScrollEventHandler( PANEL_COMMON_SETTINGS::OnScaleSlider ), - nullptr, this ); - m_iconScaleSlider->Disconnect( wxEVT_SCROLL_LINEUP, - wxScrollEventHandler( PANEL_COMMON_SETTINGS::OnScaleSlider ), - nullptr, this ); - m_iconScaleSlider->Disconnect( wxEVT_SCROLL_LINEDOWN, - wxScrollEventHandler( PANEL_COMMON_SETTINGS::OnScaleSlider ), - nullptr, this ); - m_iconScaleSlider->Disconnect( wxEVT_SCROLL_PAGEUP, - wxScrollEventHandler( PANEL_COMMON_SETTINGS::OnScaleSlider ), - nullptr, this ); - m_iconScaleSlider->Disconnect( wxEVT_SCROLL_PAGEDOWN, - wxScrollEventHandler( PANEL_COMMON_SETTINGS::OnScaleSlider ), - nullptr, this ); - m_iconScaleSlider->Disconnect( wxEVT_SCROLL_THUMBTRACK, - wxScrollEventHandler( PANEL_COMMON_SETTINGS::OnScaleSlider ), - nullptr, this ); - m_iconScaleSlider->Disconnect( wxEVT_SCROLL_THUMBRELEASE, - wxScrollEventHandler( PANEL_COMMON_SETTINGS::OnScaleSlider ), - nullptr, this ); - m_iconScaleSlider->Disconnect( wxEVT_SCROLL_CHANGED, - wxScrollEventHandler( PANEL_COMMON_SETTINGS::OnScaleSlider ), - nullptr, this ); - m_iconScaleAuto->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, - wxCommandEventHandler( PANEL_COMMON_SETTINGS::OnIconScaleAuto ), - nullptr, this ); - } - if( m_canvasScaleCtrl ) { m_canvasScaleCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, @@ -262,12 +165,6 @@ bool PANEL_COMMON_SETTINGS::TransferDataFromWindow() commonSettings->m_Graphics.opengl_aa_mode = m_antialiasing->GetSelection(); commonSettings->m_Graphics.cairo_aa_mode = m_antialiasingFallback->GetSelection(); - if( m_iconScaleSlider ) - { - int scale_fourths = m_iconScaleAuto->GetValue() ? -1 : m_iconScaleSlider->GetValue() / 25; - commonSettings->m_Appearance.icon_scale = scale_fourths; - } - if( m_canvasScaleCtrl ) { DPI_SCALING_COMMON dpi( commonSettings, this ); @@ -348,22 +245,6 @@ void PANEL_COMMON_SETTINGS::applySettingsToPanel( COMMON_SETTINGS& aSettings ) m_Clear3DCacheFilesOlder->SetValue( aSettings.m_System.clear_3d_cache_interval ); - if( m_iconScaleSlider ) - { - int icon_scale_fourths = aSettings.m_Appearance.icon_scale; - - if( icon_scale_fourths <= 0 ) - { - m_iconScaleAuto->SetValue( true ); - m_iconScaleSlider->SetValue( 25 * KiIconScale( GetParent() ) ); - } - else - { - m_iconScaleAuto->SetValue( false ); - m_iconScaleSlider->SetValue( icon_scale_fourths * 25 ); - } - } - if( m_canvasScaleCtrl ) { const DPI_SCALING_COMMON dpi( &aSettings, this ); @@ -402,31 +283,6 @@ void PANEL_COMMON_SETTINGS::applySettingsToPanel( COMMON_SETTINGS& aSettings ) } -void PANEL_COMMON_SETTINGS::OnScaleSlider( wxScrollEvent& aEvent ) -{ - m_iconScaleAuto->SetValue( false ); - aEvent.Skip(); -} - - -void PANEL_COMMON_SETTINGS::OnIconScaleAuto( wxCommandEvent& aEvent ) -{ - if( m_iconScaleSlider ) - { - if( m_iconScaleAuto->GetValue() ) - { - m_last_scale = m_iconScaleAuto->GetValue(); - m_iconScaleSlider->SetValue( 25 * KiIconScale( GetParent() ) ); - } - else - { - if( m_last_scale >= 0 ) - m_iconScaleSlider->SetValue( m_last_scale ); - } - } -} - - void PANEL_COMMON_SETTINGS::OnCanvasScaleChange( wxCommandEvent& aEvent ) { m_canvasScaleAuto->SetValue( false ); diff --git a/common/settings/common_settings.cpp b/common/settings/common_settings.cpp index a0be752ba4..6b5025261a 100644 --- a/common/settings/common_settings.cpp +++ b/common/settings/common_settings.cpp @@ -71,17 +71,6 @@ COMMON_SETTINGS::COMMON_SETTINGS() : m_Appearance.icon_theme = ICON_THEME::AUTO; #endif - /* - * Automatic icon scaling works fine on Mac. It works mostly fine on MSW, but perhaps not - * uniformly enough to exclude the explicit controls there. - */ -#if defined( __WXGTK__ ) || defined( __WXMSW__ ) - m_params.emplace_back( new PARAM( "appearance.icon_scale", - &m_Appearance.icon_scale, 0 ) ); -#else - m_Appearance.icon_scale = 0.0; -#endif - /* * Automatic canvas scaling works fine on all supported platforms, so it's no longer exposed as * a configuration option. diff --git a/common/tool/action_toolbar.cpp b/common/tool/action_toolbar.cpp index 1ac30015cc..59996aef3d 100644 --- a/common/tool/action_toolbar.cpp +++ b/common/tool/action_toolbar.cpp @@ -248,10 +248,7 @@ void ACTION_TOOLBAR::AddButton( const TOOL_ACTION& aAction ) void ACTION_TOOLBAR::AddScaledSeparator( wxWindow* aWindow ) { - int scale = Pgm().GetCommonSettings()->m_Appearance.icon_scale; - - if( scale == 0 ) - scale = KiIconScale( aWindow ); + int scale = KiIconScale( aWindow ); if( scale > 4 ) AddSpacer( 16 * ( scale - 4 ) / 4 ); diff --git a/common/widgets/ui_common.cpp b/common/widgets/ui_common.cpp index 814dc643eb..5be9f63818 100644 --- a/common/widgets/ui_common.cpp +++ b/common/widgets/ui_common.cpp @@ -109,16 +109,7 @@ wxFont getGUIFont( wxWindow* aWindow, int aRelativeSize ) font.SetPointSize( font.GetPointSize() + aRelativeSize ); if( Pgm().GetCommonSettings()->m_Appearance.apply_icon_scale_to_fonts ) - { - 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 ) ); - } + font.SetPointSize( KiROUND( KiIconScale( aWindow ) * font.GetPointSize() / 4.0 ) ); #ifdef __WXMAC__ // https://trac.wxwidgets.org/ticket/19210 @@ -422,4 +413,4 @@ wxMenuItem* KIUI::AddMenuItem( wxMenu* aMenu, wxMenu* aSubMenu, int aId, const w aMenu->Append( item ); return item; -} \ No newline at end of file +} diff --git a/include/dialogs/panel_common_settings.h b/include/dialogs/panel_common_settings.h index 094dfe7fbc..61e68d8cc6 100644 --- a/include/dialogs/panel_common_settings.h +++ b/include/dialogs/panel_common_settings.h @@ -46,8 +46,6 @@ protected: void applySettingsToPanel( COMMON_SETTINGS& aSettings ); - void OnScaleSlider( wxScrollEvent& aEvent ); - void OnIconScaleAuto( wxCommandEvent& aEvent ); void OnTextEditorClick( wxCommandEvent& event ) override; void OnPDFViewerClick( wxCommandEvent& event ) override; void OnRadioButtonPdfViewer( wxCommandEvent& event ) override; @@ -64,13 +62,6 @@ protected: private: void setPdfViewerPathState(); - -protected: - wxStaticText* m_iconScaleLabel; - STEPPED_SLIDER* m_iconScaleSlider; - wxCheckBox* m_iconScaleAuto; - - int m_last_scale; ///< saved icon scale when Auto selected }; #endif //KICAD_DIALOG_SUITE_OPTIONS_H diff --git a/include/settings/common_settings.h b/include/settings/common_settings.h index 90c9c97821..3c06e2bba2 100644 --- a/include/settings/common_settings.h +++ b/include/settings/common_settings.h @@ -51,7 +51,6 @@ public: { bool show_scrollbars; double canvas_scale; - int icon_scale; ICON_THEME icon_theme; bool use_icons_in_menus; bool apply_icon_scale_to_fonts; diff --git a/pcbnew/toolbars_pcb_editor.cpp b/pcbnew/toolbars_pcb_editor.cpp index 542b22c1e8..62bb566f91 100644 --- a/pcbnew/toolbars_pcb_editor.cpp +++ b/pcbnew/toolbars_pcb_editor.cpp @@ -103,7 +103,7 @@ void PCB_EDIT_FRAME::PrepareLayerIndicator( bool aForceRebuild ) COLOR4D top_color, bottom_color, background_color; bool change = aForceRebuild; - int requested_scale = Pgm().GetCommonSettings()->m_Appearance.icon_scale; + int requested_scale = KiIconScale( this ); if( m_prevIconVal.previous_requested_scale != requested_scale ) {