diff --git a/src/Gui/import/ImportController.cpp b/src/Gui/import/ImportController.cpp index adb2e9ca7d125f4da1a672da830549712f0447ce..8475d3b594906d64909e2d47131f7d6fb30b22e8 100644 --- a/src/Gui/import/ImportController.cpp +++ b/src/Gui/import/ImportController.cpp @@ -382,7 +382,7 @@ ImportController::showClipList( const QUuid& uuid ) if ( m_temporaryMedias.contains( uuid ) == false ) return ; Media* media = m_temporaryMedias[uuid]; - if ( media->clips()->size() == 0 ) + if ( media->clipsCount() == 0 ) return ; m_clipListController = new ImportMediaListController( m_stackNav ); diff --git a/src/Gui/import/ImportMediaListController.cpp b/src/Gui/import/ImportMediaListController.cpp index 8083d286ebd7706615980d50e1476a1a30440878..f3d3c730fcf91624fa810a0439756b4cf8065845 100644 --- a/src/Gui/import/ImportMediaListController.cpp +++ b/src/Gui/import/ImportMediaListController.cpp @@ -133,9 +133,8 @@ ImportMediaListController::cleanAll() void ImportMediaListController::addClipsFromMedia( Media* media ) { - QUuid uuid; - foreach( uuid, media->clips()->keys() ) - addClip( media->clips()->value( uuid ) ); + foreach( Clip* clip, media->clips().values() ) + addClip( clip ); } void diff --git a/src/Gui/library/ClipListViewController.cpp b/src/Gui/library/ClipListViewController.cpp index 292849e7d91f77d7569656cba5f3662a2eb35dff..6ee5f3832605be40c78503e0cf487266ae480a79 100644 --- a/src/Gui/library/ClipListViewController.cpp +++ b/src/Gui/library/ClipListViewController.cpp @@ -45,7 +45,7 @@ ClipListViewController::~ClipListViewController() void ClipListViewController::addClipsFromMedia( Media* media ) { - foreach( Clip* clip, *media->clips() ) + foreach( Clip* clip, media->clips() ) addClip( clip ); } diff --git a/src/Gui/library/MediaListViewController.cpp b/src/Gui/library/MediaListViewController.cpp index 030c9d0fa75fe392e566b1629bc81dda96c15c3c..10d8b66182d769912a523f19873a988ad9aa7d2a 100644 --- a/src/Gui/library/MediaListViewController.cpp +++ b/src/Gui/library/MediaListViewController.cpp @@ -52,7 +52,7 @@ void MediaListViewController::newMediaLoaded( Media* media ) this, SLOT( updateCell( const Media* ) ) ); connect( media, SIGNAL( clipAdded( Clip* ) ), this, SLOT( newClipAdded(Clip*) ) ); - cell->setNbClips( media->clips()->size() ); + cell->setNbClips( media->clipsCount() ); cell->setThumbnail( media->snapshot() ); cell->setTitle( media->fileName() ); cell->setLength( media->lengthMS() ); @@ -95,7 +95,7 @@ void MediaListViewController::updateCell( const Media* media ) MediaCellView* cell = qobject_cast( m_cells->value( media->uuid(), NULL ) ); if ( cell != NULL ) { - cell->setNbClips( media->clips()->size() ); + cell->setNbClips( media->clipsCount() ); cell->setLength( media->lengthMS() ); cell->setThumbnail( media->snapshot() ); cell->setEnabled(true); @@ -107,7 +107,7 @@ void MediaListViewController::showClipList( const QUuid& uuid ) if ( !m_cells->contains( uuid ) ) return ; if ( Library::getInstance()->media( uuid ) == NULL || - Library::getInstance()->media( uuid )->clips()->size() == 0 ) + Library::getInstance()->media( uuid )-> clipsCount() == 0 ) return ; m_lastUuidClipListAsked = uuid; m_clipsListView = new ClipListViewController( m_nav, uuid ); diff --git a/src/Library/Library.cpp b/src/Library/Library.cpp index 474103a44279340f95d6dec5ade63831902bef8c..ead0731ee662b59700eba84194e33caa702b973b 100644 --- a/src/Library/Library.cpp +++ b/src/Library/Library.cpp @@ -69,7 +69,7 @@ Library::clip( const QUuid& uuid ) foreach( mediaUuid, m_medias.keys() ) { Media* media = m_medias.value( mediaUuid ); - if ( media != NULL && media->clips()->contains( uuid ) ) + if ( media != NULL && media->clips().contains( uuid ) ) return media->clip( uuid ); } return NULL; @@ -80,7 +80,7 @@ Library::clip( const QUuid& mediaUuid, const QUuid& clipUuid ) { if ( m_medias.contains( mediaUuid ) ) { - if ( m_medias.value( mediaUuid )->clips()->contains( clipUuid ) ) + if ( m_medias.value( mediaUuid )->clips().contains( clipUuid ) ) return m_medias.value( mediaUuid )->clip( clipUuid ); else return new Clip( m_medias.value( mediaUuid )->baseClip() ); @@ -259,10 +259,10 @@ Library::saveProject( QDomDocument& doc, QDomElement& rootNode ) media.appendChild( mrl ); media.appendChild( uuid ); //Creating the clip branch - if ( it.value()->clips()->size() != 0 ) + if ( it.value()->clipsCount() != 0 ) { QDomElement clips = doc.createElement( "clips" ); - foreach( Clip* c, it.value()->clips()->values() ) + foreach( Clip* c, it.value()->clips().values() ) { QDomElement clip = doc.createElement( "clip" ); clip.setAttribute( "begin", c->begin() ); @@ -301,6 +301,6 @@ Library::removeClip( const QUuid& mediaId, const QUuid& clipId ) else return; - if ( med->clips()->contains( clipId ) ) + if ( med->clips().contains( clipId ) ) med->removeClip( clipId ); } diff --git a/src/Media/Media.cpp b/src/Media/Media.cpp index df5779ed8f743cb7b08c46e5e44be48684ea858b..03baf8c2459c0ad4574975a6e9466aa5fa2a5601 100644 --- a/src/Media/Media.cpp +++ b/src/Media/Media.cpp @@ -282,6 +282,27 @@ bool Media::addClip( Clip* clip ) return true; } +Clip* +Media::clip( const QUuid &uuid ) +{ + QHash::const_iterator it = m_clips.find( uuid ); + if ( it == m_clips.end() ) + return NULL; + return *it; +} + +quint32 +Media::clipsCount() const +{ + return m_clips.size(); +} + +const QHash& +Media::clips() const +{ + return m_clips; +} + void Media::removeClip( const QUuid& uuid ) { m_clips.remove( uuid ); diff --git a/src/Media/Media.h b/src/Media/Media.h index 83d884f6debfdc58631365cd8f7f7e7a7f6b5239..1ea7b44afa6d533c459dbb16684601165be5d4ea 100644 --- a/src/Media/Media.h +++ b/src/Media/Media.h @@ -142,8 +142,9 @@ public: bool addClip( Clip* clip ); void removeClip( const QUuid& uuid ); - Clip* clip( const QUuid& uuid ) const { return m_clips[uuid]; } - const QHash* clips() const { return &m_clips; } + Clip* clip( const QUuid& uuid ); + quint32 clipsCount() const; + const QHash &clips() const; QList* audioValues() { return m_audioValueList; }