comparison 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
comparison
equal deleted inserted replaced
2:f8f297008312 3:17da7a332620
710 bool haveCurrentEditableLayer = 710 bool haveCurrentEditableLayer =
711 (haveCurrentLayer && 711 (haveCurrentLayer &&
712 currentLayer->isLayerEditable()); 712 currentLayer->isLayerEditable());
713 bool haveCurrentTimeInstantsLayer = 713 bool haveCurrentTimeInstantsLayer =
714 (haveCurrentLayer && 714 (haveCurrentLayer &&
715 dynamic_cast<TimeInstantLayer *>(currentLayer)); 715 qobject_cast<TimeInstantLayer *>(currentLayer));
716 bool haveCurrentTimeValueLayer = 716 bool haveCurrentTimeValueLayer =
717 (haveCurrentLayer && 717 (haveCurrentLayer &&
718 dynamic_cast<TimeValueLayer *>(currentLayer)); 718 qobject_cast<TimeValueLayer *>(currentLayer));
719 719
720 emit canChangePlaybackSpeed(true); 720 emit canChangePlaybackSpeed(true);
721 int v = m_playSpeed->value(); 721 int v = m_playSpeed->value();
722 emit canSpeedUpPlayback(v < m_playSpeed->maximum()); 722 emit canSpeedUpPlayback(v < m_playSpeed->maximum());
723 emit canSlowDownPlayback(v > m_playSpeed->minimum()); 723 emit canSlowDownPlayback(v > m_playSpeed->minimum());
911 911
912 void 912 void
913 MainWindow::openRecentFile() 913 MainWindow::openRecentFile()
914 { 914 {
915 QObject *obj = sender(); 915 QObject *obj = sender();
916 QAction *action = dynamic_cast<QAction *>(obj); 916 QAction *action = qobject_cast<QAction *>(obj);
917 917
918 if (!action) { 918 if (!action) {
919 std::cerr << "WARNING: MainWindow::openRecentFile: sender is not an action" 919 std::cerr << "WARNING: MainWindow::openRecentFile: sender is not an action"
920 << std::endl; 920 << std::endl;
921 return; 921 return;
1007 Layer *waveformLayer = 0; 1007 Layer *waveformLayer = 0;
1008 1008
1009 for (int i = 0; i < pane->getLayerCount(); ++i) { 1009 for (int i = 0; i < pane->getLayerCount(); ++i) {
1010 Layer *layer = pane->getLayer(i); 1010 Layer *layer = pane->getLayer(i);
1011 if (!layer) continue; 1011 if (!layer) continue;
1012 if (dynamic_cast<WaveformLayer *>(layer)) waveformLayer = layer; 1012 if (qobject_cast<WaveformLayer *>(layer)) waveformLayer = layer;
1013 if (dynamic_cast<TimeValueLayer *>(layer)) return; 1013 if (qobject_cast<TimeValueLayer *>(layer)) return;
1014 } 1014 }
1015 if (!waveformLayer) return; 1015 if (!waveformLayer) return;
1016 1016
1017 waveformLayer->setObjectName(tr("Waveform")); 1017 waveformLayer->setObjectName(tr("Waveform"));
1018 1018
1370 1370
1371 void 1371 void
1372 MainWindow::modelAdded(Model *model) 1372 MainWindow::modelAdded(Model *model)
1373 { 1373 {
1374 MainWindowBase::modelAdded(model); 1374 MainWindowBase::modelAdded(model);
1375 DenseTimeValueModel *dtvm = dynamic_cast<DenseTimeValueModel *>(model); 1375 DenseTimeValueModel *dtvm = qobject_cast<DenseTimeValueModel *>(model);
1376 if (dtvm) { 1376 if (dtvm) {
1377 std::cerr << "A dense time-value model (such as an audio file) has been loaded" << std::endl; 1377 std::cerr << "A dense time-value model (such as an audio file) has been loaded" << std::endl;
1378 } 1378 }
1379 } 1379 }
1380 1380
1488 } 1488 }
1489 1489
1490 void 1490 void
1491 MainWindow::mouseEnteredWidget() 1491 MainWindow::mouseEnteredWidget()
1492 { 1492 {
1493 QWidget *w = dynamic_cast<QWidget *>(sender()); 1493 QWidget *w = qobject_cast<QWidget *>(sender());
1494 if (!w) return; 1494 if (!w) return;
1495 1495
1496 if (w == m_fader) { 1496 if (w == m_fader) {
1497 contextHelpChanged(tr("Adjust the master playback level")); 1497 contextHelpChanged(tr("Adjust the master playback level"));
1498 } else if (w == m_playSpeed) { 1498 } else if (w == m_playSpeed) {