From 96197e0ffa9456665e278fa157c0f0e0ae3599f8 Mon Sep 17 00:00:00 2001 From: Leo Franchi Date: Sun, 16 Jan 2011 20:57:11 -0500 Subject: [PATCH] logic fix --- src/dynamic/widgets/DynamicControlList.cpp | 4 ++-- src/dynamic/widgets/DynamicControlList.h | 1 + src/dynamic/widgets/DynamicWidget.cpp | 3 ++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/dynamic/widgets/DynamicControlList.cpp b/src/dynamic/widgets/DynamicControlList.cpp index ce1a16002..b0e1e4088 100644 --- a/src/dynamic/widgets/DynamicControlList.cpp +++ b/src/dynamic/widgets/DynamicControlList.cpp @@ -37,9 +37,9 @@ DynamicControlList::DynamicControlList() DynamicControlList::DynamicControlList( AnimatedSplitter* parent ) : AnimatedWidget( parent ) - , m_isLocal( true ) , m_layout( new QVBoxLayout ) , m_summaryWidget( 0 ) + , m_isLocal( true ) , m_lastControlDirty( false ) { init(); @@ -48,9 +48,9 @@ DynamicControlList::DynamicControlList( AnimatedSplitter* parent ) DynamicControlList::DynamicControlList( const geninterface_ptr& generator, const QList< dyncontrol_ptr >& controls, AnimatedSplitter* parent, bool isLocal ) : AnimatedWidget(parent) , m_generator( generator ) - , m_isLocal( isLocal ) , m_layout( new QVBoxLayout ) , m_summaryWidget( 0 ) + , m_isLocal( isLocal ) , m_lastControlDirty( false ) { init(); diff --git a/src/dynamic/widgets/DynamicControlList.h b/src/dynamic/widgets/DynamicControlList.h index 784fb046a..f076c7c27 100644 --- a/src/dynamic/widgets/DynamicControlList.h +++ b/src/dynamic/widgets/DynamicControlList.h @@ -43,6 +43,7 @@ public: virtual ~DynamicControlList(); void setControls( const geninterface_ptr& generator, const QList< dyncontrol_ptr >& controls, bool isLocal ); + QList< DynamicControlWidget* > controls() const { return m_controls; } virtual void paintEvent(QPaintEvent* ); diff --git a/src/dynamic/widgets/DynamicWidget.cpp b/src/dynamic/widgets/DynamicWidget.cpp index 9aa513f89..9e41ee09e 100644 --- a/src/dynamic/widgets/DynamicWidget.cpp +++ b/src/dynamic/widgets/DynamicWidget.cpp @@ -272,7 +272,8 @@ void DynamicWidget::controlsChanged() { // save the current playlist - if( !m_controls->lastControlDirty() ) { +// if( !m_controls->lastControlDirty() ) { + if( m_controls->controls().size() == 1 && m_controls->lastControlDirty() && m_playlist->generator()->controls().at( 0 )->input() == QString() ) { m_playlist->generator()->removeControl( m_playlist->generator()->controls().last() ); } m_playlist->createNewRevision();