subtitle VARCHAR,
abstract VARCHAR,
description VARCHAR,
- favourite INTEGER DEFAULT 0,
+ favourite INTEGER DEFAULT 0, -- 0 ... no favourite, 1 ... strong favourite, 2 ... weak favourite/alternative to strong favourite
alarm INTEGER DEFAULT 0,
PRIMARY KEY (xid_conference, id)
);
<< QSqlField("xid_track", QVariant::Int)
<< QSqlField("type", QVariant::String)
<< QSqlField("language", QVariant::String)
- << QSqlField("favourite", QVariant::Bool)
+ << QSqlField("favourite", QVariant::Int)
<< QSqlField("alarm", QVariant::Bool)
<< QSqlField("tag", QVariant::String)
<< QSqlField("title", QVariant::String)
{
};
+
+enum Favourite {Favourite_no=0, Favourite_weak=2, Favourite_strong=1};
+
+
class Event : public OrmRecord<Event>
{
public:
int trackId() const { return value("xid_track").toInt(); }
QString type() const { return value("type").toString(); }
QString language() const { return value("language").toString(); }
- bool isFavourite() const { return value("favourite").toBool(); }
+ Favourite favourite() const { return static_cast<Favourite>(value("favourite").toInt()); }
+ bool isFavourite() const { return favourite() > 0; } // deprecated
bool hasAlarm() const { return value("alarm").toBool(); }
bool hasTimeConflict() const;
QString tag() const { return value("tag").toString(); }
void setTrackId(int trackId) { setValue("xid_track", trackId); }
void setType(const QString & type) { setValue("type", type); }
void setLanguage(const QString & language) { setValue("language", language); }
- void setFavourite(bool favourite) { setValue("favourite", (int)((favourite))); }
+ void setFavourite(Favourite favourite) { setValue("favourite", (int) favourite); }
+ void setFavourite(bool favourite) { setFavourite(favourite ? Favourite_strong : Favourite_no); } // deprecated
void setHasAlarm(bool alarm) { setValue("alarm", (int)((alarm))); }
void setTag(const QString& tag) { setValue("tag", tag); }
void setTitle(const QString& title) { setValue("title", title); }