]> git.sesse.net Git - kdenlive/blobdiff - src/projectlist.cpp
Correctly use thumbs settings from new project dialog:
[kdenlive] / src / projectlist.cpp
index f632976db3d4bd1432723cb0c4a2945cdb113087..815a9b804cd359953d2cfe6039d957a3e6aab236 100644 (file)
  *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA          *
  ***************************************************************************/
 
-
-#include <QMouseEvent>
-#include <QStylePainter>
-#include <QPixmap>
-#include <QIcon>
-#include <QDialog>
-#include <QtGui>
-
-#include <KDebug>
-#include <KAction>
-#include <KLocale>
-#include <KFileDialog>
-#include <KInputDialog>
-#include <KMessageBox>
-
-#include <nepomuk/global.h>
-#include <nepomuk/resourcemanager.h>
-//#include <nepomuk/tag.h>
-
 #include "projectlist.h"
 #include "projectitem.h"
 #include "addfoldercommand.h"
 #include "editclipcommand.h"
 #include "editfoldercommand.h"
 
+
+#include <KDebug>
+#include <KAction>
+#include <KLocale>
+#include <KFileDialog>
+#include <KInputDialog>
+#include <KMessageBox>
+
+#include <nepomuk/global.h>
+#include <nepomuk/resourcemanager.h>
+//#include <nepomuk/tag.h>
+
+#include <QMouseEvent>
+#include <QStylePainter>
+#include <QPixmap>
+#include <QIcon>
+#include <QMenu>
+#include <QProcess>
+#include <QHeaderView>
+
 ProjectList::ProjectList(QWidget *parent)
         : QWidget(parent), m_render(NULL), m_fps(-1), m_commandStack(NULL), m_selectedItem(NULL), m_infoQueue(QMap <QString, QDomElement> ()), m_thumbnailQueue(QList <QString> ()), m_refreshed(false), m_editAction(NULL), m_openAction(NULL), m_deleteAction(NULL), m_reloadAction(NULL) {
 
-    QWidget *vbox = new QWidget;
     listView = new ProjectListView(this);;
     QVBoxLayout *layout = new QVBoxLayout;
     layout->setContentsMargins(0, 0, 0, 0);
@@ -355,13 +355,11 @@ void ProjectList::selectItemById(const QString &clipId) {
 
 void ProjectList::slotDeleteClip(const QString &clipId) {
     ProjectItem *item = getItemById(clipId);
-    QTreeWidgetItem *p = item->parent();
-    if (p) {
-        kDebug() << "///////  DELETED CLIP HAS A PARENT... " << p->indexOfChild(item);
-        QTreeWidgetItem *clone = p->takeChild(p->indexOfChild(item));
-    } else if (item) {
-        delete item;
+    if (!item) {
+        kDebug() << "/// Cannot find clip to delete";
+        return;
     }
+    delete item;
 }
 
 
@@ -519,9 +517,12 @@ void ProjectList::updateAllClips() {
                     item->setIcon(0, QPixmap(cachedPixmap));
                     listView->blockSignals(false);
                 } else requestClipThumbnail(item->clipId());
-                listView->blockSignals(true);
-                item->changeDuration(item->referencedClip()->producer()->get_playtime());
-                listView->blockSignals(false);
+
+                if (item->data(1, DurationRole).toString().isEmpty()) {
+                    listView->blockSignals(true);
+                    item->changeDuration(item->referencedClip()->producer()->get_playtime());
+                    listView->blockSignals(false);
+                }
             }
             listView->blockSignals(true);
             item->setData(1, UsageRole, QString::number(item->numReferences()));
@@ -537,7 +538,7 @@ void ProjectList::slotAddClip(KUrl givenUrl, QString group) {
     if (!m_commandStack) kDebug() << "!!!!!!!!!!!!!!!! NO CMD STK";
     KUrl::List list;
     if (givenUrl.isEmpty()) {
-        list = KFileDialog::getOpenUrls(KUrl("kfiledialog:///clipfolder"), "application/x-kdenlive video/x-flv application/vnd.rn-realmedia video/x-dv video/dv video/x-msvideo video/x-matroska video/mpeg video/x-ms-wmv audio/mpeg audio/x-mp3 audio/x-wav application/ogg video/mp4 video/quicktime image/gif image/jpeg image/png image/x-tga image/x-bmp image/svg+xml image/tiff image/x-xcf-gimp image/x-vnd.adobe.photoshop image/x-pcx image/x-exr video/mlt-playlist audio/x-flac audio/mp4", this);
+        list = KFileDialog::getOpenUrls(KUrl("kfiledialog:///clipfolder"), "application/x-kdenlive video/x-flv application/vnd.rn-realmedia video/x-dv video/dv video/x-msvideo video/x-matroska video/mpeg video/x-ms-wmv audio/mpeg audio/x-mp3 audio/x-wav application/ogg video/mp4 video/quicktime image/gif image/jpeg image/png image/x-tga image/x-bmp image/svg+xml image/tiff image/x-xcf-gimp image/x-vnd.adobe.photoshop image/x-pcx image/x-exr video/mlt-playlist audio/x-flac audio/mp4 video/x-matroska audio/x-matroska", this);
     } else list.append(givenUrl);
     if (list.isEmpty()) return;
 
@@ -597,7 +598,7 @@ void ProjectList::slotAddColorClip() {
         }
 
         m_doc->clipManager()->slotAddColorClipFile(dia_ui->clip_name->text(), color, dia_ui->clip_duration->text(), group, groupId);
-       m_doc->setModified(true);
+        m_doc->setModified(true);
     }
     delete dia_ui;
     delete dia;
@@ -624,8 +625,8 @@ void ProjectList::slotAddSlideshowClip() {
             groupId = item->clipId();
         }
 
-       m_doc->clipManager()->slotAddSlideshowClipFile(dia->clipName(), dia->selectedPath(), dia->imageCount(), dia->clipDuration(), dia->loop(), dia->fade(), dia->lumaDuration(), dia->lumaFile(), dia->softness(), group, groupId);
-       m_doc->setModified(true);
+        m_doc->clipManager()->slotAddSlideshowClipFile(dia->clipName(), dia->selectedPath(), dia->imageCount(), dia->clipDuration(), dia->loop(), dia->fade(), dia->lumaDuration(), dia->lumaFile(), dia->softness(), group, groupId);
+        m_doc->setModified(true);
     }
     delete dia;
 }