Implemented loopstation preset model
This commit is contained in:
@ -37,49 +37,49 @@ DrumPadPresetsModel::DrumPadPresetsModel(QObject *parent) :
|
||||
{
|
||||
}
|
||||
|
||||
DrumPadPresetsModel::DrumPadPresetsModel(const std::map<QString, drumpad_presets::Preset> &drumpad_presets, QObject *parent) :
|
||||
DrumPadPresetsModel::DrumPadPresetsModel(const std::map<QString, drumpad_presets::Preset> &presets, QObject *parent) :
|
||||
QAbstractTableModel{parent}
|
||||
{
|
||||
m_drumpad_presets.reserve(std::size(drumpad_presets));
|
||||
for (const auto &pair : drumpad_presets)
|
||||
m_drumpad_presets.emplace_back(pair.second);
|
||||
m_presets.reserve(std::size(presets));
|
||||
for (const auto &pair : presets)
|
||||
m_presets.emplace_back(pair.second);
|
||||
}
|
||||
|
||||
DrumPadPresetsModel::DrumPadPresetsModel(std::vector<drumpad_presets::Preset> &&drumpad_presets, QObject *parent) :
|
||||
DrumPadPresetsModel::DrumPadPresetsModel(std::vector<drumpad_presets::Preset> &&presets, QObject *parent) :
|
||||
QAbstractTableModel{parent}
|
||||
{
|
||||
m_drumpad_presets = std::move(drumpad_presets);
|
||||
m_presets = std::move(presets);
|
||||
}
|
||||
|
||||
DrumPadPresetsModel::DrumPadPresetsModel(const std::vector<drumpad_presets::Preset> &drumpad_presets, QObject *parent) :
|
||||
DrumPadPresetsModel::DrumPadPresetsModel(const std::vector<drumpad_presets::Preset> &presets, QObject *parent) :
|
||||
QAbstractTableModel{parent}
|
||||
{
|
||||
m_drumpad_presets = drumpad_presets;
|
||||
m_presets = presets;
|
||||
}
|
||||
|
||||
DrumPadPresetsModel::~DrumPadPresetsModel() = default;
|
||||
|
||||
void DrumPadPresetsModel::setPresets(const std::map<QString, drumpad_presets::Preset> &drumpad_presets)
|
||||
void DrumPadPresetsModel::setPresets(const std::map<QString, drumpad_presets::Preset> &presets)
|
||||
{
|
||||
beginResetModel();
|
||||
m_drumpad_presets.clear();
|
||||
m_drumpad_presets.reserve(std::size(drumpad_presets));
|
||||
for (const auto &pair : drumpad_presets)
|
||||
m_drumpad_presets.emplace_back(pair.second);
|
||||
m_presets.clear();
|
||||
m_presets.reserve(std::size(presets));
|
||||
for (const auto &pair : presets)
|
||||
m_presets.emplace_back(pair.second);
|
||||
endResetModel();
|
||||
}
|
||||
|
||||
void DrumPadPresetsModel::setPresets(std::vector<drumpad_presets::Preset> &&drumpad_presets)
|
||||
void DrumPadPresetsModel::setPresets(std::vector<drumpad_presets::Preset> &&presets)
|
||||
{
|
||||
beginResetModel();
|
||||
m_drumpad_presets = std::move(drumpad_presets);
|
||||
m_presets = std::move(presets);
|
||||
endResetModel();
|
||||
}
|
||||
|
||||
void DrumPadPresetsModel::setPresets(const std::vector<drumpad_presets::Preset> &drumpad_presets)
|
||||
void DrumPadPresetsModel::setPresets(const std::vector<drumpad_presets::Preset> &presets)
|
||||
{
|
||||
beginResetModel();
|
||||
m_drumpad_presets = drumpad_presets;
|
||||
m_presets = presets;
|
||||
endResetModel();
|
||||
}
|
||||
|
||||
@ -90,18 +90,18 @@ const drumpad_presets::Preset &DrumPadPresetsModel::getPreset(const QModelIndex
|
||||
|
||||
const drumpad_presets::Preset &DrumPadPresetsModel::getPreset(int row) const
|
||||
{
|
||||
Q_ASSERT(row >= 0 && row < int(std::size(m_drumpad_presets)));
|
||||
return m_drumpad_presets.at(row);
|
||||
Q_ASSERT(row >= 0 && row < int(std::size(m_presets)));
|
||||
return m_presets.at(row);
|
||||
}
|
||||
|
||||
QModelIndex DrumPadPresetsModel::findPresetById(const QString &id) const
|
||||
{
|
||||
for (auto iter = std::cbegin(m_drumpad_presets); iter != std::cend(m_drumpad_presets); iter++)
|
||||
for (auto iter = std::cbegin(m_presets); iter != std::cend(m_presets); iter++)
|
||||
{
|
||||
if (iter->id != id)
|
||||
continue;
|
||||
|
||||
return createIndex(std::distance(std::cbegin(m_drumpad_presets), iter), 0);
|
||||
return createIndex(std::distance(std::cbegin(m_presets), iter), 0);
|
||||
}
|
||||
|
||||
return {};
|
||||
@ -111,7 +111,7 @@ int DrumPadPresetsModel::rowCount(const QModelIndex &parent) const
|
||||
{
|
||||
Q_UNUSED(parent)
|
||||
|
||||
return std::size(m_drumpad_presets);
|
||||
return std::size(m_presets);
|
||||
}
|
||||
|
||||
int DrumPadPresetsModel::columnCount(const QModelIndex &parent) const
|
||||
@ -132,7 +132,7 @@ QVariant DrumPadPresetsModel::data(const QModelIndex &index, int role) const
|
||||
return {};
|
||||
if (index.row() < 0)
|
||||
return {};
|
||||
if (index.row() >= int(std::size(m_drumpad_presets)))
|
||||
if (index.row() >= int(std::size(m_presets)))
|
||||
return {};
|
||||
|
||||
const auto &preset = getPreset(index);
|
||||
|
Reference in New Issue
Block a user