#define PROJECTLIST_H
#include <QDomNodeList>
+#include <QHash>
#include <QToolBar>
#include <QToolButton>
#include <QTreeWidget>
QBrush brush;
QColor color;
if (proxy > 0) {
- proxyText = QString::number(proxy) + "% ";
- proxyText.append(i18n("Generating proxy ..."));
+ proxyText = i18n("Proxy %1\%", proxy);
brush = option.palette.highlight();
color = option.palette.color(QPalette::HighlightedText);
void setHeaderInfo(const QByteArray &state);
void updateProjectFormat(Timecode t);
void setupMenu(QMenu *addMenu, QAction *defaultAction);
- void setupGeneratorMenu(QMenu *addMenu, QMenu *transcodeMenu, QMenu *inTimelineMenu);
+ void setupGeneratorMenu(const QHash<QString,QMenu*>& menus);
QString currentClipUrl() const;
KUrl::List getConditionalUrls(const QString &condition) const;
QDomDocument generateTemplateXml(QString data, const QString &replaceString);
void clearSelection();
public slots:
- void slotClipSelected();
void setDocument(KdenliveDoc *doc);
- void updateAllClips(bool displayRatioChanged, bool fpsChanged);
+ void updateAllClips(bool displayRatioChanged, bool fpsChanged, QStringList brokenClips);
void slotReplyGetImage(const QString &clipId, const QImage &img);
void slotReplyGetImage(const QString &clipId, const QString &name, int width, int height);
void slotReplyGetFileProperties(const QString &clipId, Mlt::Producer *producer, const stringMap &properties, const stringMap &metadata, bool replace);
QAction *m_openAction;
QAction *m_reloadAction;
QMenu *m_transcodeAction;
+ QMenu *m_stabilizeAction;
KdenliveDoc *m_doc;
ItemDelegate *m_listViewDelegate;
/** @brief False if we have not yet finished opening the document. */
bool m_refreshed;
+ /** @brief False if we have not yet finished checking all project tree thumbs. */
+ bool m_allClipsProcessed;
QToolButton *m_addButton;
QToolButton *m_deleteButton;
QToolButton *m_editButton;
/** @brief Enables and disables transcode actions based on the selected clip's type. */
void adjustTranscodeActions(ProjectItem *clip) const;
+ /** @brief Enables and disables stabilize actions based on the selected clip's type. */
+ void adjustStabilizeActions(ProjectItem *clip) const;
/** @brief Enables and disables proxy action based on the selected clip. */
void adjustProxyActions(ProjectItem *clip) const;
/** @brief Set the Proxy status on a clip.
* @param item The clip item to set status
* @param status The proxy status (see definitions.h) */
- void setProxyStatus(const QString proxyPath, PROXYSTATUS status, int progress = 0);
void setProxyStatus(ProjectItem *item, PROXYSTATUS status, int progress = 0);
/** @brief Process ffmpeg output to find out process progress. */
- void processLogInfo(const QString &path, int *duration, const QString &log);
+ void processLogInfo(QList <ProjectItem *>items, int *duration, const QString &log);
void monitorItemEditing(bool enable);
- /** @brief Set thumbnail for a project's clip. */
- void setThumbnail(const QString &clipId, const QPixmap &pix);
/** @brief Get cached thumbnail for a project's clip or create it if no cache. */
void getCachedThumbnail(ProjectItem *item);
+ void getCachedThumbnail(SubProjectItem *item);
/** @brief The clip is about to be reloaded, cancel thumbnail requests. */
void resetThumbsProducer(DocClipBase *clip);
private slots:
+ void slotClipSelected();
void slotAddSlideshowClip();
void slotAddTitleClip();
void slotAddTitleTemplateClip();
void slotGotProxy(const QString &proxyPath);
void slotGotProxy(ProjectItem *item);
/** @brief Enable / disable proxy for current clip. */
- void slotProxyCurrentItem(bool doProxy);
+ void slotProxyCurrentItem(bool doProxy, ProjectItem *itemToProxy = NULL);
/** @brief Put clip in the proxy waiting list. */
void slotCreateProxy(const QString id);
/** @brief Stop creation of this clip's proxy. */