Add a focusOutEvent to PianoRoll as fix for Issue #1866

This commit is contained in:
Steffen Baranowsky
2015-04-29 13:51:42 +02:00
parent 66086820ce
commit aaed66eceb
2 changed files with 14 additions and 0 deletions

View File

@@ -120,6 +120,7 @@ protected:
virtual void paintEvent( QPaintEvent * _pe );
virtual void resizeEvent( QResizeEvent * _re );
virtual void wheelEvent( QWheelEvent * _we );
virtual void focusOutEvent( QFocusEvent * );
int getKey( int _y ) const;
static inline void drawNoteRect( QPainter & _p, int _x, int _y,

View File

@@ -3630,6 +3630,19 @@ void PianoRoll::wheelEvent( QWheelEvent * _we )
void PianoRoll::focusOutEvent( QFocusEvent * )
{
for( int i = 0; i < NumKeys; ++i )
{
m_pattern->instrumentTrack()->pianoModel()->midiEventProcessor()->processInEvent( MidiEvent( MidiNoteOff, -1, i, 0 ) );
m_pattern->instrumentTrack()->pianoModel()->setKeyState( i, false );
}
update();
}
int PianoRoll::getKey( int _y ) const
{
int key_line_y = keyAreaBottom() - 1;