diff --git a/pcbnew/dialogs/panel_setup_netclasses.cpp b/pcbnew/dialogs/panel_setup_netclasses.cpp
index 4d88df75f6..8b214a50e1 100644
--- a/pcbnew/dialogs/panel_setup_netclasses.cpp
+++ b/pcbnew/dialogs/panel_setup_netclasses.cpp
@@ -64,11 +64,18 @@ PANEL_SETUP_NETCLASSES::PANEL_SETUP_NETCLASSES( PAGED_DIALOG* aParent, PCB_EDIT_
m_netclassesDirty = true;
m_originalColWidths = new int[ m_netclassGrid->GetNumberCols() ];
+ // Calculate a min best size to handle longest usual numeric values:
+ // (The 'M' large char is used to give a margin)
+ int min_best_width = m_netclassGrid->GetTextExtent( "555,555555 milsM" ).x;
for( int i = 0; i < m_netclassGrid->GetNumberCols(); ++i )
{
- m_originalColWidths[ i ] = m_netclassGrid->GetVisibleWidth( i, true, true, true );
- m_netclassGrid->SetColMinimalWidth( i, m_originalColWidths[ i ] );
+ // We calculate the column min size only from texts sizes, not using the initial col width
+ // as this initial width is sometimes strange depending on the language (wxGrid bug?)
+ int min_width = m_netclassGrid->GetVisibleWidth( i, true, true, false );
+ m_netclassGrid->SetColMinimalWidth( i, min_width );
+ // We use a "best size" >= min_best_width
+ m_originalColWidths[ i ] = std::max( min_width, min_best_width );
m_netclassGrid->SetColSize( i, m_originalColWidths[ i ] );
}
diff --git a/pcbnew/dialogs/panel_setup_netclasses_base.cpp b/pcbnew/dialogs/panel_setup_netclasses_base.cpp
index 9e978eb7b4..b8a712845f 100644
--- a/pcbnew/dialogs/panel_setup_netclasses_base.cpp
+++ b/pcbnew/dialogs/panel_setup_netclasses_base.cpp
@@ -57,7 +57,7 @@ PANEL_SETUP_NETCLASSES_BASE::PANEL_SETUP_NETCLASSES_BASE( wxWindow* parent, wxWi
m_netclassGrid->SetColLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
// Rows
- m_netclassGrid->EnableDragRowSize( false );
+ m_netclassGrid->EnableDragRowSize( true );
m_netclassGrid->SetRowLabelSize( 0 );
m_netclassGrid->SetRowLabelValue( 0, _("Default") );
m_netclassGrid->SetRowLabelAlignment( wxALIGN_LEFT, wxALIGN_CENTER );
diff --git a/pcbnew/dialogs/panel_setup_netclasses_base.fbp b/pcbnew/dialogs/panel_setup_netclasses_base.fbp
index 5900caec76..887686f1a0 100644
--- a/pcbnew/dialogs/panel_setup_netclasses_base.fbp
+++ b/pcbnew/dialogs/panel_setup_netclasses_base.fbp
@@ -117,7 +117,7 @@
0
1
0
- 0
+ 1
1
1