svn path=/trunk/kdenlive/; revision=5993
KdenliveSettings::setCurrent_profile(doc->profilePath());
KdenliveSettings::setProject_fps(doc->fps());
m_monitorManager->resetProfiles(doc->timecode());
KdenliveSettings::setCurrent_profile(doc->profilePath());
KdenliveSettings::setProject_fps(doc->fps());
m_monitorManager->resetProfiles(doc->timecode());
+ m_clipMonitorDock->raise();
m_projectList->setDocument(doc);
m_transitionConfig->updateProjectFormat(doc->mltProfile(), doc->timecode(), doc->tracksList());
m_effectStack->updateProjectFormat(doc->mltProfile(), doc->timecode());
m_projectList->setDocument(doc);
m_transitionConfig->updateProjectFormat(doc->mltProfile(), doc->timecode(), doc->tracksList());
m_effectStack->updateProjectFormat(doc->mltProfile(), doc->timecode());
//Update the mouse position display so it will display in DF/NDF format by default based on the project setting.
slotUpdateMousePosition(0);
m_monitorManager->activateMonitor("clip");
//Update the mouse position display so it will display in DF/NDF format by default based on the project setting.
slotUpdateMousePosition(0);
m_monitorManager->activateMonitor("clip");
- m_projectList->slotClipSelected();
// set tool to select tool
m_buttonSelectTool->setChecked(true);
}
// set tool to select tool
m_buttonSelectTool->setChecked(true);
}
m_transcodeAction(NULL),
m_doc(NULL),
m_refreshed(false),
m_transcodeAction(NULL),
m_doc(NULL),
m_refreshed(false),
+ m_allClipsProcessed(false),
m_thumbnailQueue(),
m_abortAllProxies(false),
m_invalidClipDialog(NULL)
m_thumbnailQueue(),
m_abortAllProxies(false),
m_invalidClipDialog(NULL)
m_listView->clear();
emit clipSelected(NULL);
m_refreshed = false;
m_listView->clear();
emit clipSelected(NULL);
m_refreshed = false;
+ m_allClipsProcessed = false;
m_abortAllProxies = false;
}
m_abortAllProxies = false;
}
}
else item->setData(0, Qt::DecorationRole, pix);
}
}
else item->setData(0, Qt::DecorationRole, pix);
}
- else requestClipThumbnail(item->clipId());
+ else {
+ requestClipThumbnail(item->clipId());
+ }
}
void ProjectList::getCachedThumbnail(SubProjectItem *item)
}
void ProjectList::getCachedThumbnail(SubProjectItem *item)
void ProjectList::updateAllClips(bool displayRatioChanged, bool fpsChanged)
{
void ProjectList::updateAllClips(bool displayRatioChanged, bool fpsChanged)
{
+ if (!m_allClipsProcessed) m_listView->setEnabled(false);
m_listView->setSortingEnabled(false);
m_listView->setSortingEnabled(false);
QTreeWidgetItemIterator it(m_listView);
DocClipBase *clip;
ProjectItem *item;
QTreeWidgetItemIterator it(m_listView);
DocClipBase *clip;
ProjectItem *item;
QPainter p(&missingPixmap);
p.drawPixmap(3, 3, icon.pixmap(width - 6, height - 6));
p.end();
QPainter p(&missingPixmap);
p.drawPixmap(3, 3, icon.pixmap(width - 6, height - 6));
p.end();
- kDebug()<<"//////////////7 UPDATE ALL CLPS";
+
+ int max = m_doc->clipManager()->clipsCount();
+ max = qMax(1, max);
+ int ct = 0;
+
+ emit displayMessage(i18n("Loading thumbnails"), (int)(100 *(max - ct++) / max));
if ((*it)->type() == PROJECTSUBCLIPTYPE) {
// subitem
SubProjectItem *sub = static_cast <SubProjectItem *>(*it);
if ((*it)->type() == PROJECTSUBCLIPTYPE) {
// subitem
SubProjectItem *sub = static_cast <SubProjectItem *>(*it);
}
m_listView->setSortingEnabled(true);
}
m_listView->setSortingEnabled(true);
+ m_allClipsProcessed = true;
if (m_render->processingItems() == 0) {
monitorItemEditing(true);
slotProcessNextThumbnail();
if (m_render->processingItems() == 0) {
monitorItemEditing(true);
slotProcessNextThumbnail();
m_listView->setSortingEnabled(false);
emit clipSelected(NULL);
m_refreshed = false;
m_listView->setSortingEnabled(false);
emit clipSelected(NULL);
m_refreshed = false;
+ m_allClipsProcessed = false;
m_fps = doc->fps();
m_timecode = doc->timecode();
m_commandStack = doc->commandStack();
m_fps = doc->fps();
m_timecode = doc->timecode();
m_commandStack = doc->commandStack();
}
QList <DocClipBase*> list = doc->clipManager()->documentClipList();
}
QList <DocClipBase*> list = doc->clipManager()->documentClipList();
- if (list.isEmpty()) m_refreshed = true;
+ if (list.isEmpty()) {
+ // blank document
+ m_refreshed = true;
+ m_allClipsProcessed = true;
+ }
for (int i = 0; i < list.count(); i++)
slotAddClip(list.at(i), false);
for (int i = 0; i < list.count(); i++)
slotAddClip(list.at(i), false);
void ProjectList::slotCheckForEmptyQueue()
{
if (m_render->processingItems() == 0 && m_thumbnailQueue.isEmpty()) {
void ProjectList::slotCheckForEmptyQueue()
{
if (m_render->processingItems() == 0 && m_thumbnailQueue.isEmpty()) {
+ if (!m_refreshed && m_allClipsProcessed) {
+ kDebug()<<"// LOADING IS OVER!!!!!!!!!!!!!!!!!!!!!!!!!!!!!";
+ m_listView->setEnabled(true);
+ slotClipSelected();
emit loadingIsOver();
emit displayMessage(QString(), -1);
m_refreshed = true;
emit loadingIsOver();
emit displayMessage(QString(), -1);
m_refreshed = true;
ProjectItem *item = getItemById(clipId);
int queue = m_render->processingItems();
ProjectItem *item = getItemById(clipId);
int queue = m_render->processingItems();
- if (queue == 0) {
- m_listView->setEnabled(true);
- }
if (item && producer) {
monitorItemEditing(false);
DocClipBase *clip = item->referencedClip();
if (item && producer) {
monitorItemEditing(false);
DocClipBase *clip = item->referencedClip();
- if (!replace && item->data(0, Qt::DecorationRole).isNull()) {
- requestClipThumbnail(clipId);
+ if (!replace && m_allClipsProcessed && item->data(0, Qt::DecorationRole).isNull()) {
+ getCachedThumbnail(item);
}
if (!toReload.isEmpty())
item->slotSetToolTip();
}
if (!toReload.isEmpty())
item->slotSetToolTip();
int max = m_doc->clipManager()->clipsCount();
emit displayMessage(i18n("Loading clips"), (int)(100 *(max - queue) / max));
}
int max = m_doc->clipManager()->clipsCount();
emit displayMessage(i18n("Loading clips"), (int)(100 *(max - queue) / max));
}
- processNextThumbnail();
+ if (m_allClipsProcessed) processNextThumbnail();
}
if (replace && item) {
toReload = clipId;
}
if (replace && item) {
toReload = clipId;
void clearSelection();
public slots:
void clearSelection();
public slots:
- void slotClipSelected();
void setDocument(KdenliveDoc *doc);
void updateAllClips(bool displayRatioChanged, bool fpsChanged);
void slotReplyGetImage(const QString &clipId, const QImage &img);
void setDocument(KdenliveDoc *doc);
void updateAllClips(bool displayRatioChanged, bool fpsChanged);
void slotReplyGetImage(const QString &clipId, const QImage &img);
ItemDelegate *m_listViewDelegate;
/** @brief False if we have not yet finished opening the document. */
bool m_refreshed;
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;
QToolButton *m_addButton;
QToolButton *m_deleteButton;
QToolButton *m_editButton;
void resetThumbsProducer(DocClipBase *clip);
private slots:
void resetThumbsProducer(DocClipBase *clip);
private slots:
+ void slotClipSelected();
void slotAddSlideshowClip();
void slotAddTitleClip();
void slotAddTitleTemplateClip();
void slotAddSlideshowClip();
void slotAddTitleClip();
void slotAddTitleTemplateClip();