From 6976ee08b493ecefc4c352f5992d24b7b6051738 Mon Sep 17 00:00:00 2001 From: Leo Franchi Date: Fri, 28 Jan 2011 21:12:14 -0500 Subject: [PATCH] fix some expanding and shrinking --- .../playlist/dynamic/DynamicPlaylist.cpp | 2 +- .../dynamic/echonest/EchonestControl.cpp | 18 ++++++------------ .../dynamic/widgets/CollapsibleControls.cpp | 8 ++++++-- .../dynamic/widgets/CollapsibleControls.h | 3 +++ 4 files changed, 16 insertions(+), 15 deletions(-) diff --git a/src/libtomahawk/playlist/dynamic/DynamicPlaylist.cpp b/src/libtomahawk/playlist/dynamic/DynamicPlaylist.cpp index 11bfaf327..f4918d86f 100644 --- a/src/libtomahawk/playlist/dynamic/DynamicPlaylist.cpp +++ b/src/libtomahawk/playlist/dynamic/DynamicPlaylist.cpp @@ -257,7 +257,7 @@ DynamicPlaylist::reportDeleted( const Tomahawk::dynplaylist_ptr& self ) { qDebug() << Q_FUNC_INFO; Q_ASSERT( self.data() == this ); - // will emit Collection::playlistCreated(...) + // will emit Collection::playlistDeleted(...) author()->collection()->deleteDynamicPlaylist( self ); } diff --git a/src/libtomahawk/playlist/dynamic/echonest/EchonestControl.cpp b/src/libtomahawk/playlist/dynamic/echonest/EchonestControl.cpp index 7f0ef0d83..76a11893e 100644 --- a/src/libtomahawk/playlist/dynamic/echonest/EchonestControl.cpp +++ b/src/libtomahawk/playlist/dynamic/echonest/EchonestControl.cpp @@ -188,23 +188,23 @@ Tomahawk::EchonestControl::updateWidgets() } else if( selectedType() == "Danceability" ) { m_currentType = Echonest::DynamicPlaylist::MinDanceability; - setupMinMaxWidgets( Echonest::DynamicPlaylist::MinDanceability, Echonest::DynamicPlaylist::MaxDanceability, QString(), QString(), 10000 ); + setupMinMaxWidgets( Echonest::DynamicPlaylist::MinDanceability, Echonest::DynamicPlaylist::MaxDanceability, tr( "Less" ), tr( "More" ), 10000 ); } else if( selectedType() == "Energy" ) { m_currentType = Echonest::DynamicPlaylist::MinEnergy; - setupMinMaxWidgets( Echonest::DynamicPlaylist::MinEnergy, Echonest::DynamicPlaylist::MaxEnergy, QString(), QString(), 10000 ); + setupMinMaxWidgets( Echonest::DynamicPlaylist::MinEnergy, Echonest::DynamicPlaylist::MaxEnergy, tr( "Less" ), tr( "More" ), 10000 ); } else if( selectedType() == "Artist Familiarity" ) { m_currentType = Echonest::DynamicPlaylist::ArtistMinFamiliarity; - setupMinMaxWidgets( Echonest::DynamicPlaylist::ArtistMinFamiliarity, Echonest::DynamicPlaylist::ArtistMaxFamiliarity, QString(), QString(), 10000 ); + setupMinMaxWidgets( Echonest::DynamicPlaylist::ArtistMinFamiliarity, Echonest::DynamicPlaylist::ArtistMaxFamiliarity, tr( "Less" ), tr( "More" ), 10000 ); } else if( selectedType() == "Artist Hotttnesss" ) { m_currentType = Echonest::DynamicPlaylist::ArtistMinHotttnesss; - setupMinMaxWidgets( Echonest::DynamicPlaylist::ArtistMinHotttnesss, Echonest::DynamicPlaylist::ArtistMaxHotttnesss, QString(), QString(), 10000 ); + setupMinMaxWidgets( Echonest::DynamicPlaylist::ArtistMinHotttnesss, Echonest::DynamicPlaylist::ArtistMaxHotttnesss, tr( "Less" ), tr( "More" ), 10000 ); } else if( selectedType() == "Song Hotttnesss" ) { m_currentType = Echonest::DynamicPlaylist::SongMinHotttnesss; - setupMinMaxWidgets( Echonest::DynamicPlaylist::SongMinHotttnesss, Echonest::DynamicPlaylist::SongMaxHotttnesss, QString(), QString(), 10000 ); + setupMinMaxWidgets( Echonest::DynamicPlaylist::SongMinHotttnesss, Echonest::DynamicPlaylist::SongMaxHotttnesss, tr( "Less" ), tr( "More" ), 10000 ); } else if( selectedType() == "Latitude" ) { m_currentType = Echonest::DynamicPlaylist::ArtistMinLatitude; QString deg = QString( QChar( 0x00B0 ) ); @@ -234,8 +234,6 @@ Tomahawk::EchonestControl::updateWidgets() combo->hide(); m_match = QWeakPointer< QWidget >( match ); m_input = QWeakPointer< QWidget >( combo ); - - updateData(); } else if( selectedType() == "Key" ) { m_currentType = Echonest::DynamicPlaylist::Key; @@ -265,8 +263,6 @@ Tomahawk::EchonestControl::updateWidgets() combo->hide(); m_match = QWeakPointer< QWidget >( match ); m_input = QWeakPointer< QWidget >( combo ); - - updateData(); } else if( selectedType() == "Sorting" ) { m_currentType = Echonest::DynamicPlaylist::Key; @@ -299,13 +295,11 @@ Tomahawk::EchonestControl::updateWidgets() combo->hide(); m_match = QWeakPointer< QWidget >( match ); m_input = QWeakPointer< QWidget >( combo ); - - updateData(); } else { m_match = QWeakPointer( new QWidget ); m_input = QWeakPointer( new QWidget ); } - + updateData(); calculateSummary(); } diff --git a/src/libtomahawk/playlist/dynamic/widgets/CollapsibleControls.cpp b/src/libtomahawk/playlist/dynamic/widgets/CollapsibleControls.cpp index d4e4703cc..5b62a6b0b 100644 --- a/src/libtomahawk/playlist/dynamic/widgets/CollapsibleControls.cpp +++ b/src/libtomahawk/playlist/dynamic/widgets/CollapsibleControls.cpp @@ -55,8 +55,8 @@ CollapsibleControls::init() { m_timeline = new QTimeLine( 300, this ); m_timeline->setUpdateInterval( 8 ); - m_timeline->setEasingCurve( QEasingCurve::OutBack ); m_animHeight = -1; + m_collapseAnimation = false; connect( m_timeline, SIGNAL( frameChanged( int ) ), this, SLOT( onAnimationStep( int ) ) ); connect( m_timeline, SIGNAL( finished() ), this, SLOT( onAnimationFinished() ) ); @@ -118,7 +118,9 @@ void CollapsibleControls::toggleCollapse() { qDebug() << "TOGGLING SIZEHINTS:" << m_controls->height() << m_summaryWidget->sizeHint(); + m_timeline->setEasingCurve( QEasingCurve::OutBack ); m_timeline->setFrameRange( m_summaryWidget->sizeHint().height(), m_controls->height() ); + m_collapseAnimation = true; if( m_layout->currentWidget() == m_controls ) { m_summary->setText( m_dynplaylist->generator()->sentenceSummary() ); m_controls->setSizePolicy( QSizePolicy::Ignored, QSizePolicy::Ignored ); @@ -139,6 +141,7 @@ CollapsibleControls::toggleCollapse() void CollapsibleControls::onAnimationStep( int step ) { + qDebug() << "ANIMATION STEP:" << step; resize( width(), step ); m_animHeight = step; setMaximumHeight( m_animHeight ); @@ -147,10 +150,11 @@ CollapsibleControls::onAnimationStep( int step ) void CollapsibleControls::onAnimationFinished() { + qDebug() << "ANIMATION DONE:" << m_animHeight; setMaximumHeight( m_animHeight ); m_animHeight = -1; - if( m_layout->currentWidget() == m_controls && m_timeline->direction() == QTimeLine::Backward ) { + if( m_collapseAnimation && m_layout->currentWidget() == m_controls && m_timeline->direction() == QTimeLine::Backward ) { m_layout->setCurrentWidget( m_summaryWidget ); } } diff --git a/src/libtomahawk/playlist/dynamic/widgets/CollapsibleControls.h b/src/libtomahawk/playlist/dynamic/widgets/CollapsibleControls.h index 558ca058f..516eeb887 100644 --- a/src/libtomahawk/playlist/dynamic/widgets/CollapsibleControls.h +++ b/src/libtomahawk/playlist/dynamic/widgets/CollapsibleControls.h @@ -43,12 +43,14 @@ public: QList< DynamicControlWrapper* > controls() const; virtual QSize sizeHint() const; + signals: void controlsChanged(); void controlChanged( const Tomahawk::dyncontrol_ptr& control ); private slots: void toggleCollapse(); + void onAnimationStep( int ); void onAnimationFinished(); @@ -66,6 +68,7 @@ private: // animations! QTimeLine* m_timeline; int m_animHeight; + bool m_collapseAnimation; }; }