]> git.sesse.net Git - kdenlive/commitdiff
3 point editing progress: "t" switches from project tree to timeline
authorJean-Baptiste Mardelle <jb@kdenlive.org>
Sun, 1 Nov 2009 16:16:50 +0000 (16:16 +0000)
committerJean-Baptiste Mardelle <jb@kdenlive.org>
Sun, 1 Nov 2009 16:16:50 +0000 (16:16 +0000)
svn path=/trunk/kdenlive/; revision=4085

src/kdenliveui.rc
src/mainwindow.cpp
src/mainwindow.h
src/monitor.cpp
src/monitormanager.cpp
src/monitormanager.h
src/projectlist.cpp
src/projectlist.h

index e1fa359cb9e5f0cbf681861d39cdd746cfc1f23e..56b18fc4a13a38209a35842e94f0f6ab4ac9fe95 100644 (file)
       <Separator />      
       <Action name="mark_in" />
       <Action name="mark_out" />
+      <Separator />      
+      <Action name="switch_monitor" />
     </Menu>
     <Menu name="dockwindows" ><text>View</text>
       <Action name="maximize_current" />
index 9e3af1e836b73306da044cb1df12ebcf40a0accb..2947de71e0d174b9a0bf9540a0196597ae87b0c0 100644 (file)
@@ -993,6 +993,11 @@ void MainWindow::setupActions()
     markOut->setShortcut(Qt::Key_O);
     connect(markOut, SIGNAL(triggered(bool)), this, SLOT(slotSetOutPoint()));
 
+    KAction *switchMon = collection->addAction("switch_monitor");
+    switchMon->setText(i18n("Switch monitor"));
+    switchMon->setShortcut(Qt::Key_T);
+    connect(switchMon, SIGNAL(triggered(bool)), this, SLOT(slotSwitchMonitors()));
+    
     KAction *resizeStart =  new KAction(KIcon(), i18n("Resize Item Start"), this);
     collection->addAction("resize_timeline_clip_start", resizeStart);
     resizeStart->setShortcut(Qt::Key_1);
@@ -3209,6 +3214,12 @@ QPixmap MainWindow::createSchemePreviewIcon(const KSharedConfigPtr &config)
     return pixmap;
 }
 
+void MainWindow::slotSwitchMonitors()
+{
+    m_monitorManager->slotSwitchMonitors();
+    if (m_projectMonitor->isActive()) m_activeTimeline->projectView()->setFocus();
+    else m_projectList->focusTree();
+}
 
 #include "mainwindow.moc"
 
index 67320c82b335b238225e9ea6575812a226a10984..1f18c3a6ba24375fff428366368ad6a3869c9b23 100644 (file)
@@ -336,6 +336,7 @@ private slots:
     void slotUpdateTrackInfo();
     /** \brief Change color scheme */
     void slotChangePalette(QAction *action, const QString &themename = QString());
+    void slotSwitchMonitors();
 
 signals:
     Q_SCRIPTABLE void abortRenderJob(const QString &url);
index c5490a7f29c98560ddafe8425e1e7f7ba7147f70..95ea7c088e7fec3957115c7b9404dac370fa66e1 100644 (file)
@@ -510,7 +510,7 @@ bool Monitor::isActive() const
 
 void Monitor::activateMonitor()
 {
-    if (!m_isActive) m_monitorManager->switchMonitors(); //m_monitorManager->activateMonitor(m_name);
+    if (!m_isActive) m_monitorManager->slotSwitchMonitors(); //m_monitorManager->activateMonitor(m_name);
 }
 
 void Monitor::setTimePos(const QString &pos)
index 0656a4d865e5878c65cfcc94107d4cf66bab1d4d..6ec9e8381dd875d56d59da45802ddff4cee51112 100644 (file)
@@ -65,7 +65,7 @@ void MonitorManager::activateMonitor(QString name)
     m_activeMonitor = name;
 }
 
-void MonitorManager::switchMonitors()
+void MonitorManager::slotSwitchMonitors()
 {
     if (m_blocked || m_clipMonitor == NULL) return;
     if (m_clipMonitor->isActive()) {
index 5f594afa93c071723905606d23301c5366767409..bddda6b20d16ccb07fecc58d66bc2c263f923df5 100644 (file)
@@ -34,7 +34,6 @@ public:
     MonitorManager(QWidget *parent = 0);
     void initMonitors(Monitor *clipMonitor, Monitor *projectMonitor);
     Timecode timecode();
-    void switchMonitors();
     void resetProfiles(Timecode tc);
     void stopActiveMonitor();
 
@@ -53,6 +52,7 @@ public slots:
     void slotEnd();
     void slotResetProfiles();
     void slotBlockMonitors();
+    void slotSwitchMonitors();
 
 private:
     Monitor *m_clipMonitor;
index 2de55b32cc77ee9dd246a6e6aac2c21b8a6b2dc6..0aafc1de694f2b0bc827e2412798f077550a5b08 100644 (file)
@@ -130,6 +130,11 @@ ProjectList::~ProjectList()
     delete m_listViewDelegate;
 }
 
+void ProjectList::focusTree() const
+{
+    m_listView->setFocus();
+}
+
 void ProjectList::setupMenu(QMenu *addMenu, QAction *defaultAction)
 {
     QList <QAction *> actions = addMenu->actions();
index 6c86843964a9b3c98b000117d8dbc7a129f6d91c..79469dc1eb4ba9c65e202b6bda77207d4a1d9a20 100644 (file)
@@ -138,6 +138,7 @@ public:
     QList <DocClipBase*> documentClipList() const;
     void addClipCut(const QString &id, int in, int out);
     void removeClipCut(const QString &id, int in, int out);
+    void focusTree() const;
 
 public slots:
     void setDocument(KdenliveDoc *doc);