diff --git a/include/InstrumentTrack.h b/include/InstrumentTrack.h index d72331e52..f2602686b 100644 --- a/include/InstrumentTrack.h +++ b/include/InstrumentTrack.h @@ -333,7 +333,6 @@ private slots: void midiInSelected(); void midiOutSelected(); void midiConfigChanged(); - void muteChanged(); void assignFxLine( int channelIndex ); void createFxLine(); @@ -357,6 +356,10 @@ private: QPoint m_lastPos; + FadeButton * getActivityIndicator() + { + return m_activityIndicator; + } friend class InstrumentTrackWindow; diff --git a/include/Track.h b/include/Track.h index 70e49a1c6..51705e942 100644 --- a/include/Track.h +++ b/include/Track.h @@ -39,6 +39,7 @@ #include "AutomatableModel.h" #include "ModelView.h" #include "DataFile.h" +#include "FadeButton.h" class QMenu; @@ -737,12 +738,17 @@ private: Actions m_action; + virtual FadeButton * getActivityIndicator() + { + return NULL; + } friend class TrackLabelButton; private slots: void createTCOView( TrackContentObject * tco ); + void muteChanged (); } ; diff --git a/src/core/Track.cpp b/src/core/Track.cpp index 5c61dc5ab..7571a615a 100644 --- a/src/core/Track.cpp +++ b/src/core/Track.cpp @@ -2715,6 +2715,9 @@ TrackView::TrackView( Track * track, TrackContainerView * tcv ) : connect( &m_track->m_mutedModel, SIGNAL( dataChanged() ), &m_trackContentWidget, SLOT( update() ) ); + connect(&m_track->m_mutedModel, SIGNAL(dataChanged()), + this, SLOT(muteChanged())); + connect( &m_track->m_soloModel, SIGNAL( dataChanged() ), m_track, SLOT( toggleSolo() ), Qt::DirectConnection ); // create views for already existing TCOs @@ -3047,3 +3050,25 @@ void TrackView::createTCOView( TrackContentObject * tco ) } tco->selectViewOnCreate( false ); } + + + + +void TrackView::muteChanged() +{ + FadeButton * actind = getActivityIndicator(); + if (actind) + { + if (m_track->m_mutedModel.value()) + { + actind->setActiveColor(QApplication::palette().color( + QPalette::Active, + QPalette::Highlight)); + } else + { + actind->setActiveColor(QApplication::palette().color( + QPalette::Active, + QPalette::BrightText)); + } + } +} diff --git a/src/tracks/InstrumentTrack.cpp b/src/tracks/InstrumentTrack.cpp index b44d1b4fa..58890d111 100644 --- a/src/tracks/InstrumentTrack.cpp +++ b/src/tracks/InstrumentTrack.cpp @@ -994,7 +994,6 @@ InstrumentTrackView::InstrumentTrackView( InstrumentTrack * _it, TrackContainerV m_activityIndicator, SLOT( activate() ) ); connect( _it, SIGNAL( endNote() ), m_activityIndicator, SLOT( noteEnd() ) ); - connect( &_it->m_mutedModel, SIGNAL( dataChanged() ), this, SLOT( muteChanged() ) ); setModel( _it ); } @@ -1223,22 +1222,6 @@ void InstrumentTrackView::midiConfigChanged() -void InstrumentTrackView::muteChanged() -{ - if(model()->m_mutedModel.value() ) - { - m_activityIndicator->setActiveColor( QApplication::palette().color( QPalette::Active, - QPalette::Highlight ) ); - } else - { - m_activityIndicator->setActiveColor( QApplication::palette().color( QPalette::Active, - QPalette::BrightText ) ); - } -} - - - - //FIXME: This is identical to SampleTrackView::createFxMenu QMenu * InstrumentTrackView::createFxMenu(QString title, QString newFxLabel) {