]> git.sesse.net Git - kdenlive/blobdiff - src/projectlist.h
Fix crash on clip deletion, fix issues with placeholder clips
[kdenlive] / src / projectlist.h
index c7ef75d5d5a384c6bc67225ea4c61b56cebf04ba..993501f0c5dd4da7c8d30cd88d042b3463fa00a0 100644 (file)
@@ -33,6 +33,7 @@
 
 #include <KTreeWidgetSearchLine>
 #include <KUrl>
+#include <KIcon>
 
 #ifdef NEPOMUK
 #include <nepomuk/kratingpainter.h>
@@ -79,6 +80,12 @@ public:
             }
             QStyleOptionViewItemV2 opt = setOptions(index, option);
             QPixmap pixmap = decoration(opt, index.data(Qt::DecorationRole));
+            if ((index.flags() & (Qt::ItemIsDragEnabled)) == false) {
+                KIcon icon("dialog-close");
+                QPainter p(&pixmap);
+                p.drawPixmap(1, 1, icon.pixmap(16, 16));
+                p.end();
+            }
             QRect decorationRect = pixmap.rect(); //QRect(QPoint(0, 0), option.decorationSize).intersected(pixmap.rect());
             const int textMargin = QApplication::style()->pixelMetric(QStyle::PM_FocusFrameHMargin) + 1;
             decorationRect.moveTo(r1.topLeft() + QPoint(0, 1));
@@ -136,12 +143,13 @@ public:
     void setupMenu(QMenu *addMenu, QAction *defaultAction);
     void setupGeneratorMenu(QMenu *addMenu, QMenu *transcodeMenu);
     QString currentClipUrl() const;
+    KUrl::List getConditionalUrls(const QString &condition) const;
     void reloadClipThumbnails();
     QDomDocument generateTemplateXml(QString data, const QString &replaceString);
     void cleanup();
     void trashUnusedClips();
     QList <DocClipBase*> documentClipList() const;
-    void addClipCut(const QString &id, int in, int out, const QString desc);
+    void addClipCut(const QString &id, int in, int out, const QString desc, bool newItem);
     void removeClipCut(const QString &id, int in, int out);
     void focusTree() const;
     SubProjectItem *getSubItem(ProjectItem *clip, QPoint zone);
@@ -169,6 +177,7 @@ public slots:
     void slotAddColorClip();
     void regenerateTemplate(const QString &id);
     void slotUpdateClipCut(QPoint p);
+    void slotAddClipCut(const QString &id, int in, int out);
 
 private:
     ProjectListView *m_listView;
@@ -201,6 +210,8 @@ private:
     void editFolder(const QString folderName, const QString oldfolderName, const QString &clipId);
     QStringList getGroup() const;
     void regenerateTemplate(ProjectItem *clip);
+    void editClipSelection(QList<QTreeWidgetItem *> list);
+    void adjustTranscodeActions(ProjectItem *clip) const;
 
 private slots:
     void slotClipSelected();
@@ -216,7 +227,6 @@ private slots:
     void slotProcessNextThumbnail();
     void slotCheckForEmptyQueue();
     void slotPauseMonitor();
-    void slotAddClipCut(const QString &id, int in, int out);
     //void slotShowMenu(const QPoint &pos);
 
 signals:
@@ -224,6 +234,7 @@ signals:
     void getFileProperties(const QDomElement, const QString &, int pixHeight, bool);
     void receivedClipDuration(const QString &);
     void showClipProperties(DocClipBase *);
+    void showClipProperties(QList <DocClipBase *>, QMap<QString, QString> commonproperties);
     void projectModified();
     void loadingIsOver();
     void displayMessage(const QString, int progress);