From 6b6e6ac5af11fb3fd4f0eba0ba95ceea72b5f06e Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Mardelle Date: Tue, 3 Mar 2009 22:37:57 +0000 Subject: [PATCH] Cleanup and add mimetype for TGA images, also add EXR, TIFF and TGA to the list of possible slideshow extensions svn path=/branches/KDE4/; revision=3095 --- src/kdenlivedoc.cpp | 12 +---------- src/kdenlivedoc.h | 2 -- src/projectlist.cpp | 8 ++++--- src/slideshowclip.cpp | 49 ++++++++++--------------------------------- 4 files changed, 17 insertions(+), 54 deletions(-) diff --git a/src/kdenlivedoc.cpp b/src/kdenlivedoc.cpp index b4681891..c6e42c1b 100644 --- a/src/kdenlivedoc.cpp +++ b/src/kdenlivedoc.cpp @@ -1458,7 +1458,7 @@ void KdenliveDoc::slotAddClipList(const KUrl::List urls, const QString group, co void KdenliveDoc::slotAddClipFile(const KUrl url, const QString group, const QString &groupId) { - kDebug() << "///////// DOCUM, ADD CLP: " << url; + //kDebug() << "///////// DOCUM, ADD CLP: " << url; m_clipManager->slotAddClipFile(url, group, groupId); emit selectLastAddedClip(QString::number(m_clipManager->lastClipId())); setModified(true); @@ -1472,16 +1472,6 @@ DocClipBase *KdenliveDoc::getBaseClip(const QString &clipId) { return m_clipManager->getClipById(clipId); } -void KdenliveDoc::slotAddColorClipFile(const QString name, const QString color, QString duration, const QString group, const QString &groupId) { - m_clipManager->slotAddColorClipFile(name, color, duration, group, groupId); - setModified(true); -} - -void KdenliveDoc::slotAddSlideshowClipFile(const QString name, const QString path, int count, const QString duration, const bool loop, const bool fade, const QString &luma_duration, const QString &luma_file, const int softness, const QString group, const QString &groupId) { - m_clipManager->slotAddSlideshowClipFile(name, path, count, duration, loop, fade, luma_duration, luma_file, softness, group, groupId); - setModified(true); -} - void KdenliveDoc::slotCreateTextClip(QString group, const QString &groupId) { QString titlesFolder = projectFolder().path() + "/titles/"; KStandardDirs::makeDir(titlesFolder); diff --git a/src/kdenlivedoc.h b/src/kdenlivedoc.h index df9d0a89..11456d04 100644 --- a/src/kdenlivedoc.h +++ b/src/kdenlivedoc.h @@ -71,8 +71,6 @@ Q_OBJECT public: void addClipInfo(QDomElement elem, QDomElement orig, QString clipId); void slotAddClipFile(const KUrl url, const QString group, const QString &groupId = QString()); void slotAddClipList(const KUrl::List urls, const QString group, const QString &groupId = QString()); - void slotAddColorClipFile(const QString name, const QString color, QString duration, const QString group, const QString &groupId = QString()); - void slotAddSlideshowClipFile(const QString name, const QString path, int count, const QString duration, const bool loop, const bool fade, const QString &luma_duration, const QString &luma_file, const int softness, const QString group, const QString &groupId = QString()); void deleteClip(const QString &clipId); int getFramePos(QString duration); DocClipBase *getBaseClip(const QString &clipId); diff --git a/src/projectlist.cpp b/src/projectlist.cpp index e53760dd..f632976d 100644 --- a/src/projectlist.cpp +++ b/src/projectlist.cpp @@ -537,7 +537,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-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", this); } else list.append(givenUrl); if (list.isEmpty()) return; @@ -596,7 +596,8 @@ void ProjectList::slotAddColorClip() { groupId = item->clipId(); } - m_doc->slotAddColorClipFile(dia_ui->clip_name->text(), color, dia_ui->clip_duration->text(), group, groupId); + m_doc->clipManager()->slotAddColorClipFile(dia_ui->clip_name->text(), color, dia_ui->clip_duration->text(), group, groupId); + m_doc->setModified(true); } delete dia_ui; delete dia; @@ -623,7 +624,8 @@ void ProjectList::slotAddSlideshowClip() { groupId = item->clipId(); } - m_doc->slotAddSlideshowClipFile(dia->clipName(), dia->selectedPath(), dia->imageCount(), dia->clipDuration(), dia->loop(), dia->fade(), dia->lumaDuration(), dia->lumaFile(), dia->softness(), group, groupId); + 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; } diff --git a/src/slideshowclip.cpp b/src/slideshowclip.cpp index 5cacc0e4..01b33b72 100644 --- a/src/slideshowclip.cpp +++ b/src/slideshowclip.cpp @@ -26,11 +26,6 @@ #include "kdenlivesettings.h" #include "slideshowclip.h" -static const int TYPE_JPEG = 0; -static const int TYPE_PNG = 1; -static const int TYPE_BMP = 2; -static const int TYPE_GIF = 3; - SlideshowClip::SlideshowClip(QWidget * parent): QDialog(parent), m_count(0) { setFont(KGlobalSettings::toolBarFont()); setWindowTitle(i18n("Add Slideshow Clip")); @@ -44,10 +39,14 @@ SlideshowClip::SlideshowClip(QWidget * parent): QDialog(parent), m_count(0) { connect(m_view.slide_fade, SIGNAL(stateChanged(int)), this, SLOT(slotEnableLuma(int))); connect(m_view.luma_fade, SIGNAL(stateChanged(int)), this, SLOT(slotEnableLumaFile(int))); - m_view.image_type->addItem("JPG"); - m_view.image_type->addItem("PNG"); - m_view.image_type->addItem("BMP"); - m_view.image_type->addItem("GIF"); + m_view.image_type->addItem("JPG (*.jpg)", "jpg"); + m_view.image_type->addItem("JPEG (*.jpeg)", "jpeg"); + m_view.image_type->addItem("PNG (*.png)", "png"); + m_view.image_type->addItem("BMP (*.bmp)", "bmp"); + m_view.image_type->addItem("GIF (*.gif)", "gif"); + m_view.image_type->addItem("TGA (*.tga)", "tga"); + m_view.image_type->addItem("TIFF (*.tiff)", "tiff"); + m_view.image_type->addItem("Open EXR (*.exr)", "exr"); m_view.clip_duration->setText(KdenliveSettings::image_duration()); m_view.luma_duration->setText("00:00:00:24"); m_view.folder_url->setUrl(QDir::homePath()); @@ -103,22 +102,10 @@ void SlideshowClip::parseFolder() { QDir dir(m_view.folder_url->url().path()); QStringList filters; - switch (m_view.image_type->currentIndex()) { - case TYPE_PNG: - filters << "*.png"; - break; - case TYPE_BMP: - filters << "*.bmp"; - break; - case TYPE_GIF: - filters << "*.gif"; - break; - default: - filters << "*.jpg"; + QString filter = m_view.image_type->itemData(m_view.image_type->currentIndex()).toString(); + filters << "*." + filter; // TODO: improve jpeg image detection with extension like jpeg, requires change in MLT image producers // << "*.jpeg"; - break; - } dir.setNameFilters(filters); const QStringList result = dir.entryList(QDir::Files); @@ -157,21 +144,7 @@ void SlideshowClip::slotSetItemIcon(int row) { } QString SlideshowClip::selectedPath() const { - QString extension; - switch (m_view.image_type->currentIndex()) { - case TYPE_PNG: - extension = "/.all.png"; - break; - case TYPE_BMP: - extension = "/.all.bmp"; - break; - case TYPE_GIF: - extension = "/.all.gif"; - break; - default: - extension = "/.all.jpg"; - break; - } + QString extension = "/.all." + m_view.image_type->itemData(m_view.image_type->currentIndex()).toString(); return m_view.folder_url->url().path() + extension; } -- 2.39.2