From d077a21a0ae4caa4cb8428108adf84c445ac73aa Mon Sep 17 00:00:00 2001 From: Leo Franchi Date: Thu, 20 Jan 2011 20:40:25 -0500 Subject: [PATCH] Fix dynamic control widget not setting type combobox --- .../playlist/dynamic/widgets/DynamicControlList.cpp | 3 +++ .../playlist/dynamic/widgets/DynamicControlWidget.cpp | 11 +++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/libtomahawk/playlist/dynamic/widgets/DynamicControlList.cpp b/src/libtomahawk/playlist/dynamic/widgets/DynamicControlList.cpp index d1d5471c3..2538316a3 100644 --- a/src/libtomahawk/playlist/dynamic/widgets/DynamicControlList.cpp +++ b/src/libtomahawk/playlist/dynamic/widgets/DynamicControlList.cpp @@ -197,6 +197,9 @@ void DynamicControlList::controlChanged() Q_ASSERT( sender() && qobject_cast(sender()) ); DynamicControlWidget* widget = qobject_cast(sender()); + qDebug() << "control changed!"; + foreach( DynamicControlWidget* c, m_controls ) + qDebug() << c->control()->id() << c->control()->selectedType() << c->control()->match() << c->control()->input(); emit controlChanged( widget->control() ); } diff --git a/src/libtomahawk/playlist/dynamic/widgets/DynamicControlWidget.cpp b/src/libtomahawk/playlist/dynamic/widgets/DynamicControlWidget.cpp index 1d7bc8f82..f97ca1c5a 100644 --- a/src/libtomahawk/playlist/dynamic/widgets/DynamicControlWidget.cpp +++ b/src/libtomahawk/playlist/dynamic/widgets/DynamicControlWidget.cpp @@ -42,7 +42,6 @@ DynamicControlWidget::DynamicControlWidget( const Tomahawk::dyncontrol_ptr& cont , m_layout( 0 ) { setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ); - setMouseTracking( true ); m_layout = new QHBoxLayout; m_layout->setMargin( 0 ); @@ -140,10 +139,18 @@ DynamicControlWidget::typeSelectorChanged( const QString& type, bool firstLoad ) m_layout->removeWidget( m_matchSelector ); m_layout->removeWidget( m_entryWidget ); - if( m_control->selectedType() == type && !firstLoad ) + if( m_control->selectedType() != type && !firstLoad ) m_control->setSelectedType( type ); m_typeSelector->setLabel( type ); + + QComboBox* typeSel = qobject_cast(m_typeSelector->writableWidget()); + if( m_typeSelector->writable() && m_typeSelector->writableWidget() && typeSel ) { + int idx = typeSel->findText( type ); + if( idx > -1 ) + typeSel->setCurrentIndex( idx ); + } + if( m_control->matchSelector() ) { m_matchSelector->setWritableWidget( m_control->matchSelector() ); m_matchSelector->setLabel( m_control->matchString() );