MonitorManager::MonitorManager(QWidget *parent) :
- QObject(parent)
+ QObject(parent),
+ m_clipMonitor(NULL),
+ m_projectMonitor(NULL),
+ m_blocked(false)
{
}
void MonitorManager::activateMonitor(QString name)
{
+ if (m_blocked || m_clipMonitor == NULL) return;
if (m_activeMonitor == name) return;
if (name == "clip") {
m_projectMonitor->stop();
} else {
m_clipMonitor->stop();
m_projectMonitor->start();
- m_projectMonitor->raise();
emit raiseClipMonitor(false);
}
m_activeMonitor = name;
}
-void MonitorManager::switchMonitors()
+void MonitorManager::slotSwitchMonitors(bool activateClip)
{
- if (m_clipMonitor->isActive()) {
+ if (m_blocked || m_clipMonitor == NULL) return;
+ if (!activateClip && m_clipMonitor->isActive()) {
m_clipMonitor->stop();
m_projectMonitor->start();
- m_projectMonitor->raise();
m_activeMonitor = m_projectMonitor->name();
emit raiseClipMonitor(false);
- } else {
+ } else if (activateClip && m_projectMonitor->isActive()) {
m_projectMonitor->stop();
m_clipMonitor->start();
m_activeMonitor = m_clipMonitor->name();
void MonitorManager::stopActiveMonitor()
{
+ if (m_blocked) return;
if (m_clipMonitor->isActive()) m_clipMonitor->pause();
else m_projectMonitor->pause();
}
void MonitorManager::resetProfiles(Timecode tc)
{
+ if (m_blocked) return;
m_timecode = tc;
- QTimer::singleShot(300, this, SLOT(slotResetProfiles()));
+ slotResetProfiles();
+ //QTimer::singleShot(300, this, SLOT(slotResetProfiles()));
}
void MonitorManager::slotResetProfiles()
{
+ if (m_blocked) return;
+ if (m_projectMonitor == NULL || m_clipMonitor == NULL) return;
activateMonitor("clip");
- m_clipMonitor->resetProfile();
+ m_clipMonitor->resetProfile(KdenliveSettings::current_profile());
+ m_clipMonitor->updateTimecodeFormat();
activateMonitor("project");
- m_projectMonitor->resetProfile();
+ m_projectMonitor->resetProfile(KdenliveSettings::current_profile());
+ m_projectMonitor->updateTimecodeFormat();
//m_projectMonitor->refreshMonitor(true);
}
+
#include "monitormanager.moc"