Handle y-axis inversion in Symbol Editor when drag-selecting text.
Fixes https://gitlab.com/kicad/code/kicad/issues/7406
This commit is contained in:
parent
ff3441143e
commit
c220913aa1
|
@ -65,7 +65,20 @@ public:
|
||||||
|
|
||||||
bool HitTest( const EDA_RECT& aRect, bool aContained, int aAccuracy = 0 ) const override
|
bool HitTest( const EDA_RECT& aRect, bool aContained, int aAccuracy = 0 ) const override
|
||||||
{
|
{
|
||||||
return TextHitTest( aRect, aContained, aAccuracy );
|
if( m_flags & (STRUCT_DELETED | SKIP_STRUCT ) )
|
||||||
|
return false;
|
||||||
|
|
||||||
|
EDA_RECT rect = aRect;
|
||||||
|
|
||||||
|
rect.Inflate( aAccuracy );
|
||||||
|
|
||||||
|
EDA_RECT textBox = GetTextBox();
|
||||||
|
textBox.RevertYAxis();
|
||||||
|
|
||||||
|
if( aContained )
|
||||||
|
return rect.Contains( textBox );
|
||||||
|
|
||||||
|
return rect.Intersects( textBox, GetTextAngle() );
|
||||||
}
|
}
|
||||||
|
|
||||||
int GetPenWidth() const override;
|
int GetPenWidth() const override;
|
||||||
|
|
|
@ -361,9 +361,10 @@ void SYMBOL_EDIT_FRAME::setupUIConditions()
|
||||||
auto canEditLib =
|
auto canEditLib =
|
||||||
[this] ( const SELECTION& sel )
|
[this] ( const SELECTION& sel )
|
||||||
{
|
{
|
||||||
return !getTargetLibId().GetLibNickname().empty()
|
const wxString libName = getTargetLibId().GetLibNickname();
|
||||||
&& m_libMgr->LibraryExists( getTargetLibId().GetLibNickname() )
|
|
||||||
&& !m_libMgr->IsLibraryReadOnly( getTargetLibId().GetLibNickname() );
|
return !libName.empty() && m_libMgr->LibraryExists( libName )
|
||||||
|
&& !m_libMgr->IsLibraryReadOnly( libName );
|
||||||
};
|
};
|
||||||
|
|
||||||
mgr->SetConditions( ACTIONS::saveAll,
|
mgr->SetConditions( ACTIONS::saveAll,
|
||||||
|
|
Loading…
Reference in New Issue