[vlc-commits] qt/mlplaylistmodel: Add the 'thumbnailUpdated' function
Benjamin Arnaud
git at videolan.org
Mon Apr 12 08:43:42 UTC 2021
vlc | branch: master | Benjamin Arnaud <benjamin.arnaud at videolabs.io> | Tue Mar 30 12:54:47 2021 +0200| [e1b1737e47764282f9d16d4e0bce7df640c15aad] | committer: Pierre Lamot
qt/mlplaylistmodel: Add the 'thumbnailUpdated' function
Signed-off-by: Pierre Lamot <pierre at videolabs.io>
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=e1b1737e47764282f9d16d4e0bce7df640c15aad
---
modules/gui/qt/medialibrary/mlplaylistmodel.cpp | 36 ++++++++++++++-----------
modules/gui/qt/medialibrary/mlplaylistmodel.hpp | 8 +++---
2 files changed, 26 insertions(+), 18 deletions(-)
diff --git a/modules/gui/qt/medialibrary/mlplaylistmodel.cpp b/modules/gui/qt/medialibrary/mlplaylistmodel.cpp
index 98f37e93ed..b312c8b39d 100644
--- a/modules/gui/qt/medialibrary/mlplaylistmodel.cpp
+++ b/modules/gui/qt/medialibrary/mlplaylistmodel.cpp
@@ -265,35 +265,41 @@ ListCacheLoader<std::unique_ptr<MLItem>> * MLPlaylistModel::createLoader() const
}
//-------------------------------------------------------------------------------------------------
-// Private functions
+// Protected MLBaseModel reimplementation
+//-------------------------------------------------------------------------------------------------
-QList<int> MLPlaylistModel::getRows(const QModelIndexList & indexes) const
+void MLPlaylistModel::onVlcMlEvent(const MLEvent & event) /* override */
{
- QList<int> rows;
-
- for (const QModelIndex & index : indexes)
+ if (event.i_type == VLC_ML_EVENT_PLAYLIST_UPDATED)
{
- rows.append(index.row());
+ m_need_reset = true;
+
+ // NOTE: Maybe we should call this from MLBaseModel ?
+ emit resetRequested();
}
- return rows;
+ MLBaseModel::onVlcMlEvent(event);
+}
+
+void MLPlaylistModel::thumbnailUpdated(int idx) /* override */
+{
+ emit dataChanged(index(idx), index(idx), { MEDIA_THUMBNAIL });
}
//-------------------------------------------------------------------------------------------------
-// Private MLBaseModel reimplementation
+// Private functions
//-------------------------------------------------------------------------------------------------
-void MLPlaylistModel::onVlcMlEvent(const MLEvent & event) /* override */
+QList<int> MLPlaylistModel::getRows(const QModelIndexList & indexes) const
{
- if (event.i_type == VLC_ML_EVENT_PLAYLIST_UPDATED)
- {
- m_need_reset = true;
+ QList<int> rows;
- // NOTE: Maybe we should call this from MLBaseModel ?
- emit resetRequested();
+ for (const QModelIndex & index : indexes)
+ {
+ rows.append(index.row());
}
- MLBaseModel::onVlcMlEvent(event);
+ return rows;
}
//=================================================================================================
diff --git a/modules/gui/qt/medialibrary/mlplaylistmodel.hpp b/modules/gui/qt/medialibrary/mlplaylistmodel.hpp
index ce3edb87b8..6bdd155a65 100644
--- a/modules/gui/qt/medialibrary/mlplaylistmodel.hpp
+++ b/modules/gui/qt/medialibrary/mlplaylistmodel.hpp
@@ -68,12 +68,14 @@ protected: // MLBaseModel implementation
ListCacheLoader<std::unique_ptr<MLItem>> * createLoader() const override;
+protected: // MLBaseModel reimplementation
+ void onVlcMlEvent(const MLEvent & event) override;
+
+ void thumbnailUpdated(int idx) override;
+
private: // Functions
QList<int> getRows(const QModelIndexList & indexes) const;
-private: // MLBaseModel implementation
- void onVlcMlEvent(const MLEvent & event) override;
-
private:
struct Loader : public MLBaseModel::BaseLoader
{
More information about the vlc-commits
mailing list