From 3cd9fe61af09ed5e215a22b2d5a5f3e113841ad0 Mon Sep 17 00:00:00 2001 From: Philipp Spitzer Date: Fri, 20 Jan 2017 20:33:09 +0100 Subject: [PATCH] favourite is now tristate instead of bool. --- src/dbschema001.sql | 2 +- src/mvc/event.cpp | 2 +- src/mvc/event.h | 10 ++++++++-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/dbschema001.sql b/src/dbschema001.sql index eca2c39..f55533f 100644 --- a/src/dbschema001.sql +++ b/src/dbschema001.sql @@ -49,7 +49,7 @@ CREATE TABLE event ( 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) ); diff --git a/src/mvc/event.cpp b/src/mvc/event.cpp index 9529ef4..4ac2f68 100644 --- a/src/mvc/event.cpp +++ b/src/mvc/event.cpp @@ -31,7 +31,7 @@ QSqlRecord const Event::sColumns = Event::toRecord(QList() << 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) diff --git a/src/mvc/event.h b/src/mvc/event.h index 5e3fa20..481db52 100644 --- a/src/mvc/event.h +++ b/src/mvc/event.h @@ -35,6 +35,10 @@ class NoSuchEventException { }; + +enum Favourite {Favourite_no=0, Favourite_weak=2, Favourite_strong=1}; + + class Event : public OrmRecord { public: @@ -59,7 +63,8 @@ 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(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(); } @@ -81,7 +86,8 @@ public: 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); } -- 2.39.5