tageditor/application/targetlevelmodel.cpp

86 lines
2.6 KiB
C++
Raw Permalink Normal View History

2016-05-26 02:15:41 +02:00
#include "./targetlevelmodel.h"
#include <tagparser/tagtarget.h>
2019-06-10 22:49:46 +02:00
using namespace QtUtilities;
2018-03-06 23:10:13 +01:00
using namespace TagParser;
2016-05-26 02:15:41 +02:00
namespace Settings {
const char *TargetLevelModel::fieldName(TagTargetLevel targetLevel)
{
2018-03-11 18:58:50 +01:00
switch (targetLevel) {
2016-05-26 02:15:41 +02:00
case TagTargetLevel::Unspecified:
return QT_TR_NOOP("unspecified, everything");
case TagTargetLevel::Shot:
return QT_TR_NOOP("shot");
case TagTargetLevel::Subtrack:
return QT_TR_NOOP("subtrack, part, movement, scene");
case TagTargetLevel::Track:
return QT_TR_NOOP("track, song, chapter");
case TagTargetLevel::Part:
return QT_TR_NOOP("part, session");
case TagTargetLevel::Album:
return QT_TR_NOOP("album, opera, concert, movie, episode");
case TagTargetLevel::Edition:
return QT_TR_NOOP("edition, issue, volume, opus, season, sequel");
case TagTargetLevel::Collection:
return QT_TR_NOOP("collection");
default:
return QT_TR_NOOP("unknown");
}
}
QString TargetLevelModel::translatedFieldName(TagTargetLevel targetLevel)
{
return tr(fieldName(targetLevel));
}
QString TargetLevelModel::labelForId(const QVariant &id) const
{
return translatedFieldName(static_cast<TagTargetLevel>(id.toInt()));
}
2018-03-11 18:58:50 +01:00
TargetLevelModel::TargetLevelModel(QObject *parent, DefaultSelection defaultSelection)
: ChecklistModel(parent)
2016-05-26 02:15:41 +02:00
{
QList<ChecklistItem> items;
items.reserve(8);
Qt::CheckState defaultSelected = defaultSelection == DefaultSelection::MostUsefulTargets ? Qt::Checked : Qt::Unchecked;
items << mkItem(TagTargetLevel::Unspecified, defaultSelected);
items << mkItem(TagTargetLevel::Shot, Qt::Unchecked);
items << mkItem(TagTargetLevel::Subtrack, Qt::Unchecked);
items << mkItem(TagTargetLevel::Track, defaultSelected);
items << mkItem(TagTargetLevel::Part, Qt::Unchecked);
items << mkItem(TagTargetLevel::Album, Qt::Unchecked);
items << mkItem(TagTargetLevel::Edition, Qt::Unchecked);
items << mkItem(TagTargetLevel::Collection, Qt::Unchecked);
setItems(items);
}
2019-06-10 22:49:46 +02:00
TargetLevelModel::TargetLevelModel(const QList<ChecklistItem> &items, QObject *parent)
2018-03-11 18:58:50 +01:00
: ChecklistModel(parent)
2016-05-26 02:15:41 +02:00
{
setItems(items);
}
QVariant TargetLevelModel::headerData(int section, Qt::Orientation orientation, int role) const
{
2018-03-11 18:58:50 +01:00
switch (orientation) {
2016-05-26 02:15:41 +02:00
case Qt::Horizontal:
2018-03-11 18:58:50 +01:00
switch (role) {
2016-05-26 02:15:41 +02:00
case Qt::DisplayRole:
2018-03-11 18:58:50 +01:00
switch (section) {
2016-05-26 02:15:41 +02:00
case 0:
return tr("Target level");
2018-03-11 18:58:50 +01:00
default:;
2016-05-26 02:15:41 +02:00
}
}
break;
2018-03-11 18:58:50 +01:00
default:;
2016-05-26 02:15:41 +02:00
}
return QVariant();
}
2018-03-11 18:58:50 +01:00
} // namespace Settings