diff --git a/kicad/dialogs/panel_kicad_launcher.cpp b/kicad/dialogs/panel_kicad_launcher.cpp
index 7a2a64d6ab..73a8c9b879 100644
--- a/kicad/dialogs/panel_kicad_launcher.cpp
+++ b/kicad/dialogs/panel_kicad_launcher.cpp
@@ -26,14 +26,6 @@
#include "panel_kicad_launcher.h"
-#ifdef __WXMAC__
-constexpr int ICON_PADDING = 4;
-constexpr int CELL_MARGINS = 0;
-#else
-constexpr int ICON_PADDING = 5;
-constexpr int CELL_MARGINS = 3;
-#endif
-
PANEL_KICAD_LAUNCHER::PANEL_KICAD_LAUNCHER( wxWindow* aParent ) :
PANEL_KICAD_LAUNCHER_BASE( aParent )
{
@@ -51,7 +43,9 @@ void PANEL_KICAD_LAUNCHER::CreateLaunchers()
}
wxFont titleFont = wxSystemSettings::GetFont( wxSYS_DEFAULT_GUI_FONT );
+#ifndef __WXGTK__
titleFont.SetPointSize( titleFont.GetPointSize() + 2 );
+#endif
titleFont.SetWeight( wxFONTWEIGHT_BOLD );
wxFont helpFont = wxSystemSettings::GetFont( wxSYS_DEFAULT_GUI_FONT );
@@ -62,7 +56,7 @@ void PANEL_KICAD_LAUNCHER::CreateLaunchers()
{
BITMAP_BUTTON* btn = new BITMAP_BUTTON( this, wxID_ANY );
btn->SetBitmap( aBitmap );
- btn->SetPadding( ICON_PADDING );
+ btn->SetPadding( 5 );
btn->SetToolTip( aAction.GetDescription() );
auto handler =
@@ -87,18 +81,16 @@ void PANEL_KICAD_LAUNCHER::CreateLaunchers()
int row = m_toolsSizer->GetRows();
- m_toolsSizer->Add( btn, wxGBPosition( row, 0 ), wxGBSpan( 2, 1 ), wxALL, CELL_MARGINS );
-#ifdef __WXGTK__
+ m_toolsSizer->Add( btn, wxGBPosition( row, 0 ), wxGBSpan( 2, 1 ), wxBOTTOM, 12 );
+
// Due to https://trac.wxwidgets.org/ticket/16088?cversion=0&cnum_hist=7 GTK fails to
- // correctly set the BestSize of non-default-size text so we need to make sure that the
- // BestSize isn't needed.
- // However, another bug on OSX causes this to make the text top-aligned, so we have to
- // do it only on GTK. Sigh.
- m_toolsSizer->Add( label, wxGBPosition( row, 1 ), wxGBSpan( 1, 1 ), wxALIGN_BOTTOM|wxEXPAND, 0 );
-#else
- m_toolsSizer->Add( label, wxGBPosition( row, 1 ), wxGBSpan( 1, 1 ), wxALIGN_BOTTOM, 0 );
-#endif
- m_toolsSizer->Add( help, wxGBPosition( row + 1, 1 ), wxGBSpan( 1, 1 ), wxALIGN_TOP, 0 );
+ // correctly set the BestSize of non-default-size or styled text so we need to make
+ // sure that the BestSize isn't needed by setting wxEXPAND. Unfortunately this makes
+ // wxALIGN_BOTTOM non-functional, so we have to jump through a bunch more hoops to
+ // try and align the title and help text in the middle of the icon.
+ m_toolsSizer->Add( label, wxGBPosition( row, 1 ), wxGBSpan( 1, 1 ), wxTOP|wxEXPAND, 10 );
+
+ m_toolsSizer->Add( help, wxGBPosition( row + 1, 1 ), wxGBSpan( 1, 1 ), wxALIGN_TOP|wxTOP, 1 );
};
addLauncher( KICAD_MANAGER_ACTIONS::editSchematic, KiScaledBitmap( icon_eeschema_xpm, this ),
diff --git a/kicad/dialogs/panel_kicad_launcher_base.cpp b/kicad/dialogs/panel_kicad_launcher_base.cpp
index d0288c4320..daaf43fd82 100644
--- a/kicad/dialogs/panel_kicad_launcher_base.cpp
+++ b/kicad/dialogs/panel_kicad_launcher_base.cpp
@@ -17,7 +17,7 @@ PANEL_KICAD_LAUNCHER_BASE::PANEL_KICAD_LAUNCHER_BASE( wxWindow* parent, wxWindow
m_mainSizer = new wxBoxSizer( wxVERTICAL );
m_toolsSizer = new wxGridBagSizer( 0, 10 );
- m_toolsSizer->SetFlexibleDirection( wxHORIZONTAL );
+ m_toolsSizer->SetFlexibleDirection( wxBOTH );
m_toolsSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_NONE );
diff --git a/kicad/dialogs/panel_kicad_launcher_base.fbp b/kicad/dialogs/panel_kicad_launcher_base.fbp
index eb5f738e56..e7e2c07daf 100644
--- a/kicad/dialogs/panel_kicad_launcher_base.fbp
+++ b/kicad/dialogs/panel_kicad_launcher_base.fbp
@@ -69,7 +69,7 @@
0