diff sv/main/MainWindow.cpp @ 143:97fd6148fb8e

support related media display and loading
author lbajardsilogic
date Tue, 13 Nov 2007 10:07:49 +0000
parents 90b84d5a387f
children f3dce7a985cf
line wrap: on
line diff
--- a/sv/main/MainWindow.cpp	Mon Nov 12 14:50:15 2007 +0000
+++ b/sv/main/MainWindow.cpp	Tue Nov 13 10:07:49 2007 +0000
@@ -44,6 +44,7 @@
 #include "widgets/InfoWidget.h"
 #include "widgets/SearchWidget.h"
 #include "widgets/QueryResultsWidget.h"
+#include "widgets/RelatedMediaWidget.h"
 #include "widgets/ExpandWidget.h"
 #include "widgets/AdvancedToolBox.h"
 #include "widgets/ConnectionStatus.h"
@@ -271,12 +272,13 @@
 	m_infoWidget = new InfoWidget();
 	m_searchWidget = new SearchWidget();
 	m_resultsWidget = new QueryResultsWidget();
+	m_relMediaWidget = new RelatedMediaWidget();
 
 	m_qtabwidget = new QTabWidget();
 	m_qtabwidget->addTab(m_searchWidget, tr("Search"));
 	m_qtabwidget->addTab(m_resultsWidget, tr("Result"));
 	m_qtabwidget->addTab(m_infoWidget, tr("Info"));
-	m_qtabwidget->addTab(new QWidget, tr("Related media"));
+	m_qtabwidget->addTab(m_relMediaWidget, tr("Related media"));
 
 	QGridLayout *auxlayout = new QGridLayout;
 	auxlayout->addWidget(m_paneStack, 0, 0, 1, 2);
@@ -2889,6 +2891,7 @@
 	m_infoWidget->reset();
 	m_searchWidget->reset();
 	m_resultsWidget->reset();
+	m_relMediaWidget->reset();
 
     delete m_document;
     m_document = 0;
@@ -5149,6 +5152,11 @@
 	return m_resultsWidget;
 }
 
+RelatedMediaWidget *MainWindow::getRelatedMediaWidget()
+{
+	return m_relMediaWidget;
+}
+
 void MainWindow::newEasaierSession()
 {
     if (!checkSaveModified()) return;
@@ -5369,6 +5377,18 @@
 	m_EasaierManager->importMetadata(filename, pane);
 }
 
+void MainWindow::runExternProcess(const QString& filename)
+{
+	int pos = filename.lastIndexOf('/');
+	QString dir = filename.left(pos);
+	QString name = filename.right(filename.length() - (pos + 1));
+	QString program = "cmd /c start " + name;
+    
+	QProcess *openFile = new QProcess(this);
+	openFile->setWorkingDirectory(dir);
+	openFile->start(program);
+}
+
 void MainWindow::importEasaierFile(const QString& filename)
 {
 	int i = m_paneStack->getPaneCount();
@@ -5411,7 +5431,10 @@
 void MainWindow::audioSourceInfoAdded(AudioSourceInfoModel * info)
 {
 	if (m_infoWidget)
+	{
 		m_infoWidget->displayAudioSourceInfo(info);
+		m_relMediaWidget->reset();
+	}
 
 	m_qtabwidget->setCurrentIndex(Info);
 }