Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Merge branch 'jb51280' into 'master'
[nemo-qml-plugin-calendar] Use mKCal::Notebook color as canonical color. Contributes to JB#51280

See merge request mer-core/nemo-qml-plugin-calendar!72
  • Loading branch information
chriadam committed Jan 19, 2021
2 parents 20c3c97 + 7ccf9e4 commit cc59103
Showing 1 changed file with 19 additions and 8 deletions.
27 changes: 19 additions & 8 deletions src/calendarworker.cpp
Expand Up @@ -689,13 +689,15 @@ void CalendarWorker::setNotebookColor(const QString &notebookUid, const QString
return;

if (mNotebooks.value(notebookUid).color != color) {
if (mKCal::Notebook::Ptr mkNotebook = mStorage->notebook(notebookUid)) {
mkNotebook->setColor(color);
mStorage->updateNotebook(mkNotebook);
}

CalendarData::Notebook notebook = mNotebooks.value(notebookUid);
notebook.color = color;
mNotebooks.insert(notebook.uid, notebook);

QSettings settings("nemo", "nemo-qml-plugin-calendar");
settings.setValue("colors/" + notebook.uid, notebook.color);

emit notebooksChanged(mNotebooks.values());
}
}
Expand Down Expand Up @@ -950,11 +952,20 @@ void CalendarWorker::loadNotebooks()
notebook.excluded = true;
}

notebook.color = settings.value("colors/" + notebook.uid, QString()).toString();
if (notebook.color.isEmpty())
notebook.color = mkNotebook->color();
if (notebook.color.isEmpty())
notebook.color = defaultNotebookColors.at((nextDefaultNotebookColor++) % defaultNotebookColors.count());
const QString &confColor = settings.value("colors/" + notebook.uid, QString()).toString();
const QString &notebookColor = confColor.isEmpty() ? mkNotebook->color() : confColor;
const bool confHasColor = !confColor.isEmpty();
notebook.color = notebookColor.isEmpty()
? defaultNotebookColors.at((nextDefaultNotebookColor++) % defaultNotebookColors.count())
: notebookColor;
bool canRemoveConf = true;
if (notebook.color != mkNotebook->color()) {
mkNotebook->setColor(notebook.color);
canRemoveConf = mStorage->updateNotebook(mkNotebook);
}
if (confHasColor && canRemoveConf) {
settings.remove("colors/" + notebook.uid);
}

QString accountStr = mkNotebook->account();
if (!accountStr.isEmpty()) {
Expand Down

0 comments on commit cc59103

Please sign in to comment.