NemoCalendarApi::NemoCalendarApi(QObject *parent)
: QObject(parent)
{
    connect(NemoCalendarManager::instance(), SIGNAL(excludedNotebooksChanged(QStringList)),
            this, SIGNAL(excludedNotebooksChanged()));
    connect(NemoCalendarManager::instance(), SIGNAL(defaultNotebookChanged(QString)),
            this, SIGNAL(defaultNotebookChanged()));
}
void NemoCalendarApi::setExcludedNotebooks(const QStringList &list)
{
    QStringList current = excludedNotebooks();
    if (list == current)
        return;

    QSettings settings("nemo", "nemo-qml-plugin-calendar");

    for (int ii = 0; ii < current.count(); ++ii) {
        QString uid = current.at(ii);
        if (!list.contains(uid))
            settings.remove("exclude/" + uid);
    }

    for (int ii = 0; ii < list.count(); ++ii) {
        QString uid = list.at(ii);
        if (!current.contains(uid))
            settings.setValue("exclude/" + uid, true);
    }

    emit excludedNotebooksChanged();
    NemoCalendarEventCache::instance()->load();
}