2016-05-26 02:15:41 +02:00
|
|
|
#include "./targetlevelmodel.h"
|
|
|
|
|
|
|
|
#include <tagparser/tagtarget.h>
|
|
|
|
|
|
|
|
using namespace Models;
|
2018-03-06 23:10:13 +01:00
|
|
|
using namespace TagParser;
|
2016-05-26 02:15:41 +02:00
|
|
|
|
|
|
|
namespace Settings {
|
|
|
|
|
|
|
|
/*
|
|
|
|
TRANSLATOR Settings::TargetLevelModel
|
|
|
|
Necessary for lupdate.
|
|
|
|
*/
|
|
|
|
|
|
|
|
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);
|
|
|
|
}
|
|
|
|
|
2018-03-11 18:58:50 +01:00
|
|
|
TargetLevelModel::TargetLevelModel(const QList<Models::ChecklistItem> &items, QObject *parent)
|
|
|
|
: 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
|