diff options
author | Kai Köhne <kai.koehne@qt.io> | 2022-08-30 20:30:26 +0200 |
---|---|---|
committer | Kai Köhne <kai.koehne@qt.io> | 2022-09-05 11:21:58 +0200 |
commit | c3081f86f4fc53509d853a2b88aff88df8c55d87 (patch) | |
tree | cf324600f90e3c2bbebca46023d5363288141d7d /examples/multimediawidgets/player/playlistmodel.cpp | |
parent | 8158647414e9f706a38233f4b7299d695aaeed18 (diff) |
Let examples show up in Qt Creator again
Fix an issue where the relative paths in the generated
examples-manifest.xml did miss the parent directory, effectively
blocking the examples from being shown in the Qt Creator
Welcome screen.
This broke in commit c403e775f60a, where the exampledirs path
was changed from "../../../examples" to "../../../examples/multimedia"
and "../../../examples/multimediawidgets". This made qdoc miss the
"multimedia" and "multimediawidgets" directories in the generated paths.
To fix this, the patch
* moves all the multimediawidgets examples to multimedia
* sets examplesinstallpath to "multimedia"
The unification of directories is needed because there can be only one
examplesinstallpath per qdoc project.
Pick-to: 6.4
Fixes: QTBUG-104943
Change-Id: I4d1b1f857563ec23b4d60028ca08d0470ba96298
Reviewed-by: Nicholas Bennett <nicholas.bennett@qt.io>
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
Diffstat (limited to 'examples/multimediawidgets/player/playlistmodel.cpp')
-rw-r--r-- | examples/multimediawidgets/player/playlistmodel.cpp | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/examples/multimediawidgets/player/playlistmodel.cpp b/examples/multimediawidgets/player/playlistmodel.cpp deleted file mode 100644 index 871aed0b8..000000000 --- a/examples/multimediawidgets/player/playlistmodel.cpp +++ /dev/null @@ -1,102 +0,0 @@ -// Copyright (C) 2017 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause - -#include "playlistmodel.h" -#include "qmediaplaylist.h" - -#include <QFileInfo> -#include <QUrl> - -PlaylistModel::PlaylistModel(QObject *parent) - : QAbstractItemModel(parent) -{ - m_playlist.reset(new QMediaPlaylist); - connect(m_playlist.data(), &QMediaPlaylist::mediaAboutToBeInserted, this, &PlaylistModel::beginInsertItems); - connect(m_playlist.data(), &QMediaPlaylist::mediaInserted, this, &PlaylistModel::endInsertItems); - connect(m_playlist.data(), &QMediaPlaylist::mediaAboutToBeRemoved, this, &PlaylistModel::beginRemoveItems); - connect(m_playlist.data(), &QMediaPlaylist::mediaRemoved, this, &PlaylistModel::endRemoveItems); - connect(m_playlist.data(), &QMediaPlaylist::mediaChanged, this, &PlaylistModel::changeItems); -} - -PlaylistModel::~PlaylistModel() = default; - -int PlaylistModel::rowCount(const QModelIndex &parent) const -{ - return m_playlist && !parent.isValid() ? m_playlist->mediaCount() : 0; -} - -int PlaylistModel::columnCount(const QModelIndex &parent) const -{ - return !parent.isValid() ? ColumnCount : 0; -} - -QModelIndex PlaylistModel::index(int row, int column, const QModelIndex &parent) const -{ - return m_playlist && !parent.isValid() - && row >= 0 && row < m_playlist->mediaCount() - && column >= 0 && column < ColumnCount - ? createIndex(row, column) - : QModelIndex(); -} - -QModelIndex PlaylistModel::parent(const QModelIndex &child) const -{ - Q_UNUSED(child); - - return QModelIndex(); -} - -QVariant PlaylistModel::data(const QModelIndex &index, int role) const -{ - if (index.isValid() && role == Qt::DisplayRole) { - QVariant value = m_data[index]; - if (!value.isValid() && index.column() == Title) { - QUrl location = m_playlist->media(index.row()); - return QFileInfo(location.path()).fileName(); - } - - return value; - } - return QVariant(); -} - -QMediaPlaylist *PlaylistModel::playlist() const -{ - return m_playlist.data(); -} - -bool PlaylistModel::setData(const QModelIndex &index, const QVariant &value, int role) -{ - Q_UNUSED(role); - m_data[index] = value; - emit dataChanged(index, index); - return true; -} - -void PlaylistModel::beginInsertItems(int start, int end) -{ - m_data.clear(); - beginInsertRows(QModelIndex(), start, end); -} - -void PlaylistModel::endInsertItems() -{ - endInsertRows(); -} - -void PlaylistModel::beginRemoveItems(int start, int end) -{ - m_data.clear(); - beginRemoveRows(QModelIndex(), start, end); -} - -void PlaylistModel::endRemoveItems() -{ - endInsertRows(); -} - -void PlaylistModel::changeItems(int start, int end) -{ - m_data.clear(); - emit dataChanged(index(start,0), index(end,ColumnCount)); -} |