diff src/MainWindow.cpp @ 3:17da7a332620

dynamic_cast -> qobject_cast for QObjects, works without other compilation unit
author Chris Cannam
date Fri, 16 Nov 2012 12:14:36 +0000
parents f8f297008312
children 976d9aec2a7e
line wrap: on
line diff
--- a/src/MainWindow.cpp	Fri Nov 16 12:13:04 2012 +0000
+++ b/src/MainWindow.cpp	Fri Nov 16 12:14:36 2012 +0000
@@ -712,10 +712,10 @@
 	 currentLayer->isLayerEditable());
     bool haveCurrentTimeInstantsLayer = 
 	(haveCurrentLayer &&
-	 dynamic_cast<TimeInstantLayer *>(currentLayer));
+	 qobject_cast<TimeInstantLayer *>(currentLayer));
     bool haveCurrentTimeValueLayer = 
 	(haveCurrentLayer &&
-	 dynamic_cast<TimeValueLayer *>(currentLayer));
+	 qobject_cast<TimeValueLayer *>(currentLayer));
 
     emit canChangePlaybackSpeed(true);
     int v = m_playSpeed->value();
@@ -913,7 +913,7 @@
 MainWindow::openRecentFile()
 {
     QObject *obj = sender();
-    QAction *action = dynamic_cast<QAction *>(obj);
+    QAction *action = qobject_cast<QAction *>(obj);
     
     if (!action) {
 	std::cerr << "WARNING: MainWindow::openRecentFile: sender is not an action"
@@ -1009,8 +1009,8 @@
     for (int i = 0; i < pane->getLayerCount(); ++i) {
         Layer *layer = pane->getLayer(i);
         if (!layer) continue;
-        if (dynamic_cast<WaveformLayer *>(layer)) waveformLayer = layer;
-        if (dynamic_cast<TimeValueLayer *>(layer)) return;
+        if (qobject_cast<WaveformLayer *>(layer)) waveformLayer = layer;
+        if (qobject_cast<TimeValueLayer *>(layer)) return;
     }
     if (!waveformLayer) return;
 
@@ -1372,7 +1372,7 @@
 MainWindow::modelAdded(Model *model)
 {
     MainWindowBase::modelAdded(model);
-    DenseTimeValueModel *dtvm = dynamic_cast<DenseTimeValueModel *>(model);
+    DenseTimeValueModel *dtvm = qobject_cast<DenseTimeValueModel *>(model);
     if (dtvm) {
         std::cerr << "A dense time-value model (such as an audio file) has been loaded" << std::endl;
     }
@@ -1490,7 +1490,7 @@
 void
 MainWindow::mouseEnteredWidget()
 {
-    QWidget *w = dynamic_cast<QWidget *>(sender());
+    QWidget *w = qobject_cast<QWidget *>(sender());
     if (!w) return;
 
     if (w == m_fader) {