Browse Source

Make sure redraw happens regardless of order of panel commits.

(We don't control the order of the TransferDataFromWindow calls
for the various panels and here the junction dot size is dependant
on the default netclass wire size.  So that calc has to be done
after all the various TransferDataFromWindow calls are made.)

Fixes https://gitlab.com/kicad/code/kicad/issues/9541
6.0.7
Jeff Young 4 years ago
parent
commit
b747ae5bdf
  1. 12
      eeschema/dialogs/panel_setup_formatting.cpp
  2. 9
      eeschema/eeschema_config.cpp

12
eeschema/dialogs/panel_setup_formatting.cpp

@ -136,8 +136,6 @@ bool PANEL_SETUP_FORMATTING::TransferDataFromWindow()
if( m_choiceJunctionDotSize->GetSelection() != wxNOT_FOUND )
settings.m_JunctionSizeChoice = m_choiceJunctionDotSize->GetSelection();
settings.m_JunctionSize = m_frame->GetSchematicJunctionSize();
settings.m_IntersheetRefsShow = m_showIntersheetsReferences->GetValue();
settings.m_IntersheetRefsFormatShort = !m_radioFormatStandard->GetValue();
settings.m_IntersheetRefsPrefix = m_prefixCtrl->GetValue();
@ -152,16 +150,6 @@ bool PANEL_SETUP_FORMATTING::TransferDataFromWindow()
m_labelSizeRatioCtrl->GetValue().ToDouble( &dtmp );
settings.m_LabelSizeRatio = dtmp / 100.0;
m_frame->GetRenderSettings()->SetDefaultPenWidth( settings.m_DefaultLineWidth );
m_frame->GetRenderSettings()->m_LabelSizeRatio = settings.m_LabelSizeRatio;
m_frame->GetRenderSettings()->m_TextOffsetRatio = settings.m_TextOffsetRatio;
m_frame->GetRenderSettings()->m_PinSymbolSize = settings.m_PinSymbolSize;
m_frame->GetRenderSettings()->m_JunctionSize = settings.m_JunctionSize;
m_frame->GetCanvas()->GetView()->MarkDirty();
m_frame->GetCanvas()->GetView()->UpdateAllItems( KIGFX::REPAINT );
m_frame->GetCanvas()->Refresh();
return true;
}

9
eeschema/eeschema_config.cpp

@ -116,6 +116,15 @@ void SCH_EDIT_FRAME::ShowSchematicSetupDialog( const wxString& aInitialPage )
SaveProjectSettings();
Kiway().CommonSettingsChanged( false, true );
GetRenderSettings()->SetDefaultPenWidth( Schematic().Settings().m_DefaultLineWidth );
GetRenderSettings()->m_LabelSizeRatio = Schematic().Settings().m_LabelSizeRatio;
GetRenderSettings()->m_TextOffsetRatio = Schematic().Settings().m_TextOffsetRatio;
GetRenderSettings()->m_PinSymbolSize = Schematic().Settings().m_PinSymbolSize;
GetRenderSettings()->m_JunctionSize = Schematic().Settings().m_JunctionSize;
GetCanvas()->GetView()->MarkDirty();
GetCanvas()->GetView()->UpdateAllItems( KIGFX::REPAINT );
GetCanvas()->Refresh();
}
}

Loading…
Cancel
Save