changeset 214:c4e897bf012b

resolve bug 1887753
author lbajardsilogic
date Wed, 06 Feb 2008 15:07:18 +0000
parents 23f43d79d94b
children a10eb984374f
files sv/main/EasaierSessionManager.cpp sv/main/EasaierSessionManager.h sv/main/MainWindow.cpp sv/main/MainWindow.h
diffstat 4 files changed, 30 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/sv/main/EasaierSessionManager.cpp	Fri Feb 01 15:47:25 2008 +0000
+++ b/sv/main/EasaierSessionManager.cpp	Wed Feb 06 15:07:18 2008 +0000
@@ -44,7 +44,8 @@
 	m_httpClient(httpClient),
 	m_document(0),
 	m_audioSourceInfoModel(0),
-	m_queryModel(0)
+	m_queryModel(0),
+	m_currentPane(0)
 {
 	connect(m_httpClient, SIGNAL(requestFinished(int, bool)), this, SLOT(fileLoaded(int, bool)));
 }
@@ -236,6 +237,7 @@
 			if (read)
 			{
 				m_document->setAudioSourceInfoModel(m_audioSourceInfoModel);
+				emit audioFileLoaded();
 				loadRelatedModel();
 			}
 		    break;
--- a/sv/main/EasaierSessionManager.h	Fri Feb 01 15:47:25 2008 +0000
+++ b/sv/main/EasaierSessionManager.h	Wed Feb 06 15:07:18 2008 +0000
@@ -105,6 +105,8 @@
 
 signals:
 	void queryModelLoaded(QueryModel* queryModel);
+	void audioFileLoaded();
+
 
 private:
 
--- a/sv/main/MainWindow.cpp	Fri Feb 01 15:47:25 2008 +0000
+++ b/sv/main/MainWindow.cpp	Wed Feb 06 15:07:18 2008 +0000
@@ -152,7 +152,8 @@
     m_openingAudioFile(false),
     m_abandoning(false),
     m_preferencesDialog(0),
-	m_playSpeedVal(1)
+	m_playSpeedVal(1),
+	m_curSender(0)
 {
 
 	m_videoWidget = 0;
@@ -390,6 +391,9 @@
 	connect(m_EasaierManager, SIGNAL(queryModelLoaded(QueryModel*)),
 	    this, SLOT(queryModelLoaded(QueryModel*)));
 
+	connect(m_EasaierManager, SIGNAL(audioFileLoaded()),
+	    this, SLOT(audioFileLoaded()));
+
     setupMenus();
     setupToolbars();
 
@@ -5377,6 +5381,12 @@
 
 void MainWindow::importEasaierFile(const QString& filename)
 {
+	if (!m_curSender)
+	{
+		m_curSender = sender();
+		m_curSender->blockSignals(true);
+	}
+
 	/*****remove all panes****/
 	while (m_paneStack->getPaneCount() > 0) {
 
@@ -5491,4 +5501,13 @@
 
 void MainWindow::setSDLInitSize(int w, int h){
 	m_sdlWidget->setInitSize(w,h);
-}
\ No newline at end of file
+}
+void MainWindow::audioFileLoaded()
+{
+	if (m_curSender)
+	{
+		m_curSender->blockSignals(false);
+	}
+	m_curSender = 0;
+}
+
--- a/sv/main/MainWindow.h	Fri Feb 01 15:47:25 2008 +0000
+++ b/sv/main/MainWindow.h	Wed Feb 06 15:07:18 2008 +0000
@@ -305,6 +305,8 @@
 
 	void queryModelLoaded(QueryModel* queryModel);
 
+	void audioFileLoaded();
+
 	void audioSourceInfoAdded(AudioSourceInfoModel *);
 
 	void queryDatabase();
@@ -517,6 +519,8 @@
 
 	RealTimeFilterPropertyStack	*m_filterPropertyStack;
 
+	QObject* m_curSender; //correspond to the sender of a requested track in the results list
+
 private:
 	void createMultiPaneLayerContainer();