diff --git a/eeschema/dialogs/dialog_libedit_options.cpp b/eeschema/dialogs/dialog_libedit_options.cpp
index afd85ecace..4506d772fa 100644
--- a/eeschema/dialogs/dialog_libedit_options.cpp
+++ b/eeschema/dialogs/dialog_libedit_options.cpp
@@ -42,6 +42,11 @@ DIALOG_LIBEDIT_OPTIONS::DIALOG_LIBEDIT_OPTIONS( LIB_EDIT_FRAME* parent ) :
SetRepeatLabelInc( Parent()->GetRepeatDeltaLabel() );
SetItemRepeatStep( Parent()->GetRepeatStep() );
SetPinRepeatStep( Parent()->GetRepeatPinStep() );
+
+ FixOSXCancelButtonIssue();
+
+ // Now all widgets have the size fixed, call FinishDialogSettings
+ FinishDialogSettings();
}
void DIALOG_LIBEDIT_OPTIONS::SetGridSizes( const GRIDS& grid_sizes, int grid_id )
diff --git a/pcbnew/dialogs/dialog_display_options.cpp b/pcbnew/dialogs/dialog_display_options.cpp
index 285cbe9157..23e535024a 100644
--- a/pcbnew/dialogs/dialog_display_options.cpp
+++ b/pcbnew/dialogs/dialog_display_options.cpp
@@ -56,9 +56,12 @@ DIALOG_DISPLAY_OPTIONS::DIALOG_DISPLAY_OPTIONS( PCB_EDIT_FRAME* parent ) :
m_Parent = parent;
init();
-
m_sdbSizerOK->SetDefault();
- GetSizer()->SetSizeHints( this );
+
+ FixOSXCancelButtonIssue();
+
+ // Now all widgets have the size fixed, call FinishDialogSettings
+ FinishDialogSettings();
}
void DIALOG_DISPLAY_OPTIONS::init()
diff --git a/pcbnew/dialogs/dialog_edit_module_for_BoardEditor.cpp b/pcbnew/dialogs/dialog_edit_module_for_BoardEditor.cpp
index 8fb6069a39..bf1b07af09 100644
--- a/pcbnew/dialogs/dialog_edit_module_for_BoardEditor.cpp
+++ b/pcbnew/dialogs/dialog_edit_module_for_BoardEditor.cpp
@@ -88,6 +88,8 @@ DIALOG_MODULE_BOARD_EDITOR::DIALOG_MODULE_BOARD_EDITOR( PCB_EDIT_FRAME* aParent
m_OrientValue = 0;
Layout();
+
+ FixOSXCancelButtonIssue();
}
diff --git a/pcbnew/dialogs/dialog_edit_module_for_Modedit.cpp b/pcbnew/dialogs/dialog_edit_module_for_Modedit.cpp
index 88beb93ba4..f5bd166e57 100644
--- a/pcbnew/dialogs/dialog_edit_module_for_Modedit.cpp
+++ b/pcbnew/dialogs/dialog_edit_module_for_Modedit.cpp
@@ -83,6 +83,8 @@ DIALOG_MODULE_MODULE_EDITOR::DIALOG_MODULE_MODULE_EDITOR( FOOTPRINT_EDIT_FRAME*
m_sdbSizerStdButtonsOK->SetDefault();
Layout();
+
+ FixOSXCancelButtonIssue();
}
diff --git a/pcbnew/dialogs/dialog_enum_pads.cpp b/pcbnew/dialogs/dialog_enum_pads.cpp
index d222258726..b658f65280 100644
--- a/pcbnew/dialogs/dialog_enum_pads.cpp
+++ b/pcbnew/dialogs/dialog_enum_pads.cpp
@@ -27,10 +27,11 @@
DIALOG_ENUM_PADS::DIALOG_ENUM_PADS( wxWindow* aParent ) :
DIALOG_ENUM_PADS_BASE( aParent )
{
- // Calling SetSizeHints after all widgets are built is mandatory
- // to set the correct size of the dialog
- GetSizer()->SetSizeHints( this );
- Center();
+
+ FixOSXCancelButtonIssue();
+
+ // Now all widgets have the size fixed, call FinishDialogSettings
+ FinishDialogSettings();
}
diff --git a/pcbnew/dialogs/dialog_export_idf.cpp b/pcbnew/dialogs/dialog_export_idf.cpp
index 1beb178bd8..b38a8bb827 100644
--- a/pcbnew/dialogs/dialog_export_idf.cpp
+++ b/pcbnew/dialogs/dialog_export_idf.cpp
@@ -106,13 +106,12 @@ public:
m_IDF_Yref->Enable( true );
}
- wxWindow* button = FindWindowByLabel( wxT( "OK" ) );
+ m_sdbSizerOK->SetDefault();
- if( button )
- SetDefaultItem( button );
+ FixOSXCancelButtonIssue();
- GetSizer()->SetSizeHints( this );
- Centre();
+ // Now all widgets have the size fixed, call FinishDialogSettings
+ FinishDialogSettings();
}
~DIALOG_EXPORT_IDF3()
diff --git a/pcbnew/dialogs/dialog_export_idf_base.cpp b/pcbnew/dialogs/dialog_export_idf_base.cpp
index 491559227a..fbc8132c29 100644
--- a/pcbnew/dialogs/dialog_export_idf_base.cpp
+++ b/pcbnew/dialogs/dialog_export_idf_base.cpp
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////
-// C++ code generated with wxFormBuilder (version Jun 5 2014)
+// C++ code generated with wxFormBuilder (version May 6 2016)
// http://www.wxformbuilder.org/
//
// PLEASE DO "NOT" EDIT THIS FILE!
@@ -60,7 +60,14 @@ DIALOG_EXPORT_IDF3_BASE::DIALOG_EXPORT_IDF3_BASE( wxWindow* parent, wxWindowID i
bSizer4->Add( m_staticText3, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
m_IDF_Xref = new wxTextCtrl( this, wxID_ANY, _("0"), wxDefaultPosition, wxDefaultSize, 0 );
- m_IDF_Xref->SetMaxLength( 8 );
+ #ifdef __WXGTK__
+ if ( !m_IDF_Xref->HasFlag( wxTE_MULTILINE ) )
+ {
+ m_IDF_Xref->SetMaxLength( 8 );
+ }
+ #else
+ m_IDF_Xref->SetMaxLength( 8 );
+ #endif
bSizer4->Add( m_IDF_Xref, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
@@ -74,7 +81,14 @@ DIALOG_EXPORT_IDF3_BASE::DIALOG_EXPORT_IDF3_BASE( wxWindow* parent, wxWindowID i
bSizer5->Add( m_staticText4, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
m_IDF_Yref = new wxTextCtrl( this, wxID_ANY, _("0"), wxDefaultPosition, wxDefaultSize, 0 );
- m_IDF_Yref->SetMaxLength( 8 );
+ #ifdef __WXGTK__
+ if ( !m_IDF_Yref->HasFlag( wxTE_MULTILINE ) )
+ {
+ m_IDF_Yref->SetMaxLength( 8 );
+ }
+ #else
+ m_IDF_Yref->SetMaxLength( 8 );
+ #endif
bSizer5->Add( m_IDF_Yref, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
@@ -98,14 +112,14 @@ DIALOG_EXPORT_IDF3_BASE::DIALOG_EXPORT_IDF3_BASE( wxWindow* parent, wxWindowID i
m_staticline1 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
bSizerIDFFile->Add( m_staticline1, 0, wxEXPAND | wxALL, 5 );
- m_sdbSizer1 = new wxStdDialogButtonSizer();
- m_sdbSizer1OK = new wxButton( this, wxID_OK );
- m_sdbSizer1->AddButton( m_sdbSizer1OK );
- m_sdbSizer1Cancel = new wxButton( this, wxID_CANCEL );
- m_sdbSizer1->AddButton( m_sdbSizer1Cancel );
- m_sdbSizer1->Realize();
+ m_sdbSizer = new wxStdDialogButtonSizer();
+ m_sdbSizerOK = new wxButton( this, wxID_OK );
+ m_sdbSizer->AddButton( m_sdbSizerOK );
+ m_sdbSizerCancel = new wxButton( this, wxID_CANCEL );
+ m_sdbSizer->AddButton( m_sdbSizerCancel );
+ m_sdbSizer->Realize();
- bSizerIDFFile->Add( m_sdbSizer1, 0, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT, 5 );
+ bSizerIDFFile->Add( m_sdbSizer, 0, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT, 5 );
this->SetSizer( bSizerIDFFile );
diff --git a/pcbnew/dialogs/dialog_export_idf_base.fbp b/pcbnew/dialogs/dialog_export_idf_base.fbp
index 8967150e98..1dee900da1 100644
--- a/pcbnew/dialogs/dialog_export_idf_base.fbp
+++ b/pcbnew/dialogs/dialog_export_idf_base.fbp
@@ -1205,7 +1205,7 @@
0
0
- m_sdbSizer1
+ m_sdbSizer
protected
diff --git a/pcbnew/dialogs/dialog_export_idf_base.h b/pcbnew/dialogs/dialog_export_idf_base.h
index 131479d2f7..d4401439d2 100644
--- a/pcbnew/dialogs/dialog_export_idf_base.h
+++ b/pcbnew/dialogs/dialog_export_idf_base.h
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////
-// C++ code generated with wxFormBuilder (version Jun 5 2014)
+// C++ code generated with wxFormBuilder (version May 6 2016)
// http://www.wxformbuilder.org/
//
// PLEASE DO "NOT" EDIT THIS FILE!
@@ -53,9 +53,9 @@ class DIALOG_EXPORT_IDF3_BASE : public DIALOG_SHIM
wxTextCtrl* m_IDF_Yref;
wxRadioBox* m_rbUnitSelection;
wxStaticLine* m_staticline1;
- wxStdDialogButtonSizer* m_sdbSizer1;
- wxButton* m_sdbSizer1OK;
- wxButton* m_sdbSizer1Cancel;
+ wxStdDialogButtonSizer* m_sdbSizer;
+ wxButton* m_sdbSizerOK;
+ wxButton* m_sdbSizerCancel;
public:
diff --git a/pcbnew/dialogs/dialog_export_vrml.cpp b/pcbnew/dialogs/dialog_export_vrml.cpp
index 697204e7b2..c2165b94bc 100644
--- a/pcbnew/dialogs/dialog_export_vrml.cpp
+++ b/pcbnew/dialogs/dialog_export_vrml.cpp
@@ -86,8 +86,11 @@ public:
tmpStr << m_YRef;
m_VRML_Yref->SetValue( tmpStr );
m_sdbSizer1OK->SetDefault();
- GetSizer()->SetSizeHints( this );
- Centre();
+
+ FixOSXCancelButtonIssue();
+
+ // Now all widgets have the size fixed, call FinishDialogSettings
+ FinishDialogSettings();
Connect( ID_USE_ABS_PATH, wxEVT_UPDATE_UI,
wxUpdateUIEventHandler( DIALOG_EXPORT_3DFILE::OnUpdateUseRelativePath ) );