2019-01-29 01:15:53 +03:00
|
|
|
#include "note.h"
|
|
|
|
|
|
|
|
Note::Note(QObject *parent) : QObject(parent) {
|
|
|
|
m_id = -1;
|
|
|
|
m_modified = 0;
|
|
|
|
m_error = true;
|
2019-04-07 13:28:38 +03:00
|
|
|
connect(this, SIGNAL(idChanged(int)), this, SIGNAL(noteChanged()));
|
|
|
|
connect(this, SIGNAL(modifiedChanged(uint)), this, SIGNAL(noteChanged()));
|
|
|
|
connect(this, SIGNAL(titleChanged(QString)), this, SIGNAL(noteChanged()));
|
|
|
|
connect(this, SIGNAL(categoryChanged(QString)), this, SIGNAL(noteChanged()));
|
|
|
|
connect(this, SIGNAL(contentChanged(QString)), this, SIGNAL(noteChanged()));
|
|
|
|
connect(this, SIGNAL(favoriteChanged(bool)), this, SIGNAL(noteChanged()));
|
|
|
|
connect(this, SIGNAL(etagChanged(QString)), this, SIGNAL(noteChanged()));
|
|
|
|
connect(this, SIGNAL(errorChanged(bool)), this, SIGNAL(noteChanged()));
|
|
|
|
connect(this, SIGNAL(errorMessageChanged(QString)), this, SIGNAL(noteChanged()));
|
2019-11-14 02:47:38 +03:00
|
|
|
connect(this, SIGNAL(prettyDateChanged(QString)), this, SIGNAL(noteChanged()));
|
2019-01-29 01:15:53 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
Note::Note(const Note& note, QObject *parent) : QObject(parent) {
|
2019-04-07 13:28:38 +03:00
|
|
|
setId(note.id());
|
|
|
|
setModified(note.modified());
|
|
|
|
setTitle(note.title());
|
|
|
|
setCategory(note.category());
|
|
|
|
setContent(note.content());
|
|
|
|
setFavorite(note.favorite());
|
|
|
|
setEtag(note.etag());
|
|
|
|
setError(note.error());
|
|
|
|
setErrorMessage(note.errorMessage());
|
2019-01-29 01:15:53 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
Note& Note::operator=(const Note& note) {
|
2019-04-07 13:28:38 +03:00
|
|
|
setId(note.id());
|
|
|
|
setModified(note.modified());
|
|
|
|
setTitle(note.title());
|
|
|
|
setCategory(note.category());
|
|
|
|
setContent(note.content());
|
|
|
|
setFavorite(note.favorite());
|
|
|
|
setEtag(note.etag());
|
|
|
|
setError(note.error());
|
|
|
|
setErrorMessage(note.errorMessage());
|
2019-01-29 01:15:53 +03:00
|
|
|
return *this;
|
|
|
|
}
|
|
|
|
|
2019-11-10 05:35:33 +03:00
|
|
|
bool Note::operator==(const Note& note) const {
|
|
|
|
return m_id == note.id() &&
|
|
|
|
m_modified == note.modified() &&
|
|
|
|
m_title == note.title() &&
|
|
|
|
m_category == note.category() &&
|
|
|
|
m_content == note.content() &&
|
|
|
|
m_favorite == note.favorite() &&
|
|
|
|
m_etag == note.etag() &&
|
|
|
|
m_error == note.error() &&
|
|
|
|
m_errorMessage == note.errorMessage();
|
|
|
|
}
|
|
|
|
|
2019-11-12 01:23:41 +03:00
|
|
|
bool Note::same(const Note ¬e) const {
|
|
|
|
return m_id == note.id();
|
2019-11-10 05:35:33 +03:00
|
|
|
}
|
|
|
|
|
2019-11-14 02:47:38 +03:00
|
|
|
QString Note::prettyDate() const {
|
2019-11-10 05:35:33 +03:00
|
|
|
QDateTime date;
|
|
|
|
QString dateString;
|
|
|
|
date.setTime_t(m_modified);
|
|
|
|
qint64 diff = date.daysTo(QDateTime::currentDateTime());
|
|
|
|
if (diff == 0)
|
|
|
|
dateString = tr("Today");
|
|
|
|
else if (diff == 1)
|
|
|
|
dateString = tr("Yesterday");
|
|
|
|
else if (diff < 7)
|
|
|
|
dateString = date.toLocalTime().toString("dddd");
|
|
|
|
else if (date.toLocalTime().toString("yyyy") == QDateTime::currentDateTime().toString("yyyy"))
|
|
|
|
dateString = date.toLocalTime().toString("MMMM");
|
|
|
|
else
|
|
|
|
dateString = date.toLocalTime().toString("MMMM yyyy");
|
|
|
|
return dateString;
|
|
|
|
}
|
|
|
|
|
|
|
|
Note Note::fromjson(const QJsonObject& jobj) {
|
|
|
|
Note note = new Note;
|
|
|
|
note.setId(jobj.value("id").toInt());
|
|
|
|
note.setModified(jobj.value("modified").toInt());
|
|
|
|
note.setTitle(jobj.value("title").toString());
|
|
|
|
note.setCategory(jobj.value("category").toString());
|
|
|
|
note.setContent(jobj.value("content").toString());
|
|
|
|
note.setFavorite(jobj.value("favorite").toBool());
|
|
|
|
note.setEtag(jobj.value("etag").toString());
|
|
|
|
note.setError(jobj.value("error").toBool(true));
|
|
|
|
note.setErrorMessage(jobj.value("errorMessage").toString());
|
|
|
|
return note;
|
|
|
|
}
|