From 2bb175860b7d982e9dcacaa7c5de71b0b955f042 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Tue, 12 Jun 2012 05:18:27 +0200 Subject: [PATCH] * Prevent more than one SocialWidget showing up at a time. --- src/AudioControls.cpp | 11 +++++++---- src/AudioControls.h | 3 +++ 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/AudioControls.cpp b/src/AudioControls.cpp index eccffa918..43c2cb1a0 100644 --- a/src/AudioControls.cpp +++ b/src/AudioControls.cpp @@ -600,10 +600,13 @@ AudioControls::droppedTracks( QList< query_ptr > tracks ) void AudioControls::onSocialButtonClicked() { - SocialWidget* sw = new SocialWidget( m_parent ); - sw->setPosition( sw->mapFromGlobal( QCursor::pos() ) ); - sw->setQuery( m_currentTrack->toQuery() ); - sw->show(); + if ( !m_socialWidget.isNull() ) + return; + + m_socialWidget = new SocialWidget( m_parent ); + m_socialWidget.data()->setPosition( m_socialWidget.data()->mapFromGlobal( QCursor::pos() ) ); + m_socialWidget.data()->setQuery( m_currentTrack->toQuery() ); + m_socialWidget.data()->show(); } diff --git a/src/AudioControls.h b/src/AudioControls.h index d454bf2fe..aad7af1b9 100644 --- a/src/AudioControls.h +++ b/src/AudioControls.h @@ -31,6 +31,7 @@ class QDropEvent; class QDragEnterEvent; class QDragMoveEvent; +class SocialWidget; namespace Ui { @@ -91,6 +92,8 @@ private: void setSocialActions(); Ui::AudioControls* ui; + + QWeakPointer m_socialWidget; Tomahawk::result_ptr m_currentTrack; Tomahawk::PlaylistModes::RepeatMode m_repeatMode;