]> git.sesse.net Git - kdenlive/blobdiff - src/projectlist.cpp
Get ready for typewriter effect in titles
[kdenlive] / src / projectlist.cpp
index 446ea1f923034a1c31940be577cb2b3009ae20f8..eade2f3d265b52a6e3fb292ff724560df6f51152 100644 (file)
@@ -83,6 +83,8 @@ ProjectList::ProjectList(QWidget *parent) :
     KTreeWidgetSearchLine *searchView = new KTreeWidgetSearchLine(this);
     m_toolbar = new QToolBar("projectToolBar", this);
     m_toolbar->addWidget(searchView);
+    int s = style()->pixelMetric(QStyle::PM_SmallIconSize);
+    m_toolbar->setIconSize(QSize(s, s));
     searchView->setTreeWidget(m_listView);
 
     m_addButton = new QToolButton(m_toolbar);
@@ -314,34 +316,43 @@ void ProjectList::slotReloadClip(const QString &id)
 void ProjectList::setRenderer(Render *projectRender)
 {
     m_render = projectRender;
-    m_listView->setIconSize(QSize(43 * m_render->dar(), 43));
+    m_listView->setIconSize(QSize((ProjectItem::itemDefaultHeight() - 2) * m_render->dar(), ProjectItem::itemDefaultHeight() - 2));
 }
 
 void ProjectList::slotClipSelected()
 {
-    if (m_listView->currentItem() && m_listView->currentItem()->type() != PROJECTFOLDERTYPE) {
-        ProjectItem *clip;
-        if (m_listView->currentItem()->type() == PROJECTSUBCLIPTYPE) {
-            // this is a sub item, use base clip
-            clip = static_cast <ProjectItem*>(m_listView->currentItem()->parent());
-            if (clip == NULL) kDebug() << "-----------ERROR";
-            SubProjectItem *sub = static_cast <SubProjectItem*>(m_listView->currentItem());
-            emit clipSelected(clip->referencedClip(), sub->zone());
-            return;
+    if (m_listView->currentItem()) {
+        if (m_listView->currentItem()->type() == PROJECTFOLDERTYPE) {
+            emit clipSelected(NULL);
+            m_editAction->setEnabled(false);
+            m_deleteAction->setEnabled(true);
+            m_openAction->setEnabled(false);
+            m_reloadAction->setEnabled(false);
+            m_transcodeAction->setEnabled(false);
+        } else {
+            ProjectItem *clip;
+            if (m_listView->currentItem()->type() == PROJECTSUBCLIPTYPE) {
+                // this is a sub item, use base clip
+                clip = static_cast <ProjectItem*>(m_listView->currentItem()->parent());
+                if (clip == NULL) kDebug() << "-----------ERROR";
+                SubProjectItem *sub = static_cast <SubProjectItem*>(m_listView->currentItem());
+                emit clipSelected(clip->referencedClip(), sub->zone());
+                return;
+            }
+            clip = static_cast <ProjectItem*>(m_listView->currentItem());
+            emit clipSelected(clip->referencedClip());
+            m_editAction->setEnabled(true);
+            m_deleteAction->setEnabled(true);
+            m_reloadAction->setEnabled(true);
+            m_transcodeAction->setEnabled(true);
+            if (clip->clipType() == IMAGE && !KdenliveSettings::defaultimageapp().isEmpty()) {
+                m_openAction->setIcon(KIcon(KdenliveSettings::defaultimageapp()));
+                m_openAction->setEnabled(true);
+            } else if (clip->clipType() == AUDIO && !KdenliveSettings::defaultaudioapp().isEmpty()) {
+                m_openAction->setIcon(KIcon(KdenliveSettings::defaultaudioapp()));
+                m_openAction->setEnabled(true);
+            } else m_openAction->setEnabled(false);
         }
-        clip = static_cast <ProjectItem*>(m_listView->currentItem());
-        emit clipSelected(clip->referencedClip());
-        m_editAction->setEnabled(true);
-        m_deleteAction->setEnabled(true);
-        m_reloadAction->setEnabled(true);
-        m_transcodeAction->setEnabled(true);
-        if (clip->clipType() == IMAGE && !KdenliveSettings::defaultimageapp().isEmpty()) {
-            m_openAction->setIcon(KIcon(KdenliveSettings::defaultimageapp()));
-            m_openAction->setEnabled(true);
-        } else if (clip->clipType() == AUDIO && !KdenliveSettings::defaultaudioapp().isEmpty()) {
-            m_openAction->setIcon(KIcon(KdenliveSettings::defaultaudioapp()));
-            m_openAction->setEnabled(true);
-        } else m_openAction->setEnabled(false);
     } else {
         emit clipSelected(NULL);
         m_editAction->setEnabled(false);
@@ -404,9 +415,9 @@ void ProjectList::slotItemEdited(QTreeWidgetItem *item, int column)
     if (item->type() == PROJECTFOLDERTYPE) {
         if (column != 0) return;
         FolderProjectItem *folder = static_cast <FolderProjectItem*>(item);
-        editFolder(item->text(1), folder->groupName(), folder->clipId());
+        editFolder(item->text(0), folder->groupName(), folder->clipId());
         folder->setGroupName(item->text(0));
-        m_doc->clipManager()->addFolder(folder->clipId(), item->text(1));
+        m_doc->clipManager()->addFolder(folder->clipId(), item->text(0));
         const int children = item->childCount();
         for (int i = 0; i < children; i++) {
             ProjectItem *child = static_cast <ProjectItem *>(item->child(i));
@@ -592,6 +603,7 @@ void ProjectList::slotAddFolder(const QString foldername, const QString &clipId,
             m_listView->blockSignals(false);
         }
     }
+    m_doc->setModified(true);
 }
 
 
@@ -606,7 +618,6 @@ void ProjectList::deleteProjectFolder(QMap <QString, QString> map)
         new AddFolderCommand(this, i.key(), i.value(), false, delCommand);
     }
     m_commandStack->push(delCommand);
-    m_doc->setModified(true);
 }
 
 void ProjectList::slotAddClip(DocClipBase *clip, bool getProperties)