]> git.sesse.net Git - kdenlive/blob - src/monitormanager.cpp
50be9d6f15b22783b90d1140dc7e21c7b28f1582
[kdenlive] / src / monitormanager.cpp
1 #include <QObject>
2 #include <QTimer>
3
4 #include "monitormanager.h"
5
6 MonitorManager::MonitorManager(QWidget *parent)
7     : QObject(parent)
8 {
9
10
11 }
12
13 void MonitorManager::initMonitors(Monitor *clipMonitor, Monitor *projectMonitor)
14 {
15   m_clipMonitor = clipMonitor;
16   m_projectMonitor = projectMonitor;
17   QTimer::singleShot(750, this, SLOT(initClipMonitor()));
18 }
19
20 void MonitorManager::initClipMonitor()
21 {
22   m_clipMonitor->initMonitor();
23   QTimer::singleShot(1500, this, SLOT(initProjectMonitor()));
24 }
25
26 void MonitorManager::initProjectMonitor()
27 {
28   m_clipMonitor->stop();
29   m_projectMonitor->initMonitor();
30   activateMonitor("project");
31   emit connectMonitors();
32 }
33
34 void MonitorManager::activateMonitor(QString name)
35 {
36   if (m_activeMonitor == name) return;
37   if (name == "clip") {
38     m_projectMonitor->stop();
39     m_clipMonitor->start();
40     emit raiseClipMonitor(true);
41   }
42   else {
43     m_clipMonitor->stop();
44     m_projectMonitor->start();
45     m_projectMonitor->raise();
46     emit raiseClipMonitor(false);
47   }
48   m_activeMonitor = name;
49 }
50
51 #include "monitormanager.moc"