From 28016a07fc9e0ff6ef9105bf1674dc257fc8cc44 Mon Sep 17 00:00:00 2001 From: Randy Baumgarte Date: Sat, 25 Feb 2017 17:54:44 -0500 Subject: [PATCH] Add attribute filters for reminders. --- filters/filterengine.cpp | 16 ++++++++++++++++ gui/nattributetree.cpp | 18 ++++++++++++++++-- gui/nattributetree.h | 6 ++++++ 3 files changed, 38 insertions(+), 2 deletions(-) diff --git a/filters/filterengine.cpp b/filters/filterengine.cpp index b37a4d4b..77673e93 100644 --- a/filters/filterengine.cpp +++ b/filters/filterengine.cpp @@ -377,6 +377,22 @@ void FilterEngine::filterAttributes(FilterCriteria *criteria) { sql.prepare("Delete from filter where lid not in (select lid from datastore where key=:key)"); sql.bindValue(":key", NOTE_HAS_ATTACHMENT); break; + case CONTAINS_REMINDER: + sql.prepare("Delete from filter where lid not in (select lid from datastore where key=:key)"); + sql.bindValue(":key", NOTE_ATTRIBUTE_REMINDER_TIME); + break; + case CONTAINS_UNCOMPLETED_REMINDER: + sql.prepare("Delete from filter where lid not in (select lid from datastore where key=:key)"); + sql.bindValue(":key", NOTE_ATTRIBUTE_REMINDER_TIME); + sql.exec(); + sql.prepare("delete from filter where lid in (select lid from datastore where key=:key and data>0)"); + sql.bindValue(":key", NOTE_ATTRIBUTE_REMINDER_DONE_TIME); + break; + case CONTAINS_FUTURE_REMINDER: + sql.prepare("Delete from filter where lid not in (select lid from datastore where key=:key and data>:dt)"); + sql.bindValue(":key", NOTE_ATTRIBUTE_REMINDER_TIME); + sql.bindValue(":dt",QDateTime::currentMSecsSinceEpoch()); + break; case SOURCE_EMAIL: sql.prepare("Delete from filter where lid not in (select lid from datastore where key=:key and data = 'mail.clip')"); sql.bindValue(":key", NOTE_ATTRIBUTE_SOURCE); diff --git a/gui/nattributetree.cpp b/gui/nattributetree.cpp index ce150a35..d9ad66dd 100644 --- a/gui/nattributetree.cpp +++ b/gui/nattributetree.cpp @@ -114,6 +114,10 @@ NAttributeTree::NAttributeTree(QWidget *parent) : containsPDFDocument = new QTreeWidgetItem(containsRoot); containsAttachment = new QTreeWidgetItem(containsRoot); + containsReminder = new QTreeWidgetItem(containsRoot); + containsUncompletedReminder = new QTreeWidgetItem(containsRoot); + containsFutureReminder = new QTreeWidgetItem(containsRoot); + sourceEmailedToEvernote = new QTreeWidgetItem(sourceRoot); sourceEmail = new QTreeWidgetItem(sourceRoot); sourceWebPage = new QTreeWidgetItem(sourceRoot); @@ -321,7 +325,17 @@ NAttributeTree::NAttributeTree(QWidget *parent) : this->containsAttachment->setData(0, Qt::UserRole, CONTAINS_ATTACHMENT); this->containsRoot->addChild(containsAttachment); + this->containsReminder->setText(0, tr("Reminder")); + this->containsReminder->setData(0, Qt::UserRole, CONTAINS_REMINDER); + this->containsRoot->addChild(containsReminder); + + this->containsUncompletedReminder->setText(0, tr("Uncompleted Reminder")); + this->containsUncompletedReminder->setData(0, Qt::UserRole, CONTAINS_UNCOMPLETED_REMINDER); + this->containsRoot->addChild(containsUncompletedReminder); + this->containsFutureReminder->setText(0, tr("Future Reminder")); + this->containsFutureReminder->setData(0, Qt::UserRole, CONTAINS_FUTURE_REMINDER); + this->containsRoot->addChild(containsFutureReminder); //*** Source selection criteria this->sourceRoot->setText(0, tr("Source")); @@ -436,8 +450,8 @@ void NAttributeTree::buildSelection() { } selectedItems = this->selectedItems(); - if (selectedItems.size() == 0) - return; +// if (selectedItems.size() == 0) +// return; // First, find out if we're already viewing history. If we are we // chop off the end of the history & start a new one diff --git a/gui/nattributetree.h b/gui/nattributetree.h index 630ceebc..fa2c0edd 100644 --- a/gui/nattributetree.h +++ b/gui/nattributetree.h @@ -68,6 +68,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. #define CONTAINS_FINISHED_TODO_ITEMS 407 #define CONTAINS_PDF_DOCUMENT 408 #define CONTAINS_ATTACHMENT 409 +#define CONTAINS_REMINDER 410 +#define CONTAINS_UNCOMPLETED_REMINDER 411 +#define CONTAINS_FUTURE_REMINDER 412 #define SOURCE_EMAILED_TO_EVERNOTE 501 #define SOURCE_EMAIL 502 @@ -146,6 +149,9 @@ class NAttributeTree : public QTreeWidget QTreeWidgetItem *containsFinishedToDoItems; QTreeWidgetItem *containsPDFDocument; QTreeWidgetItem *containsAttachment; + QTreeWidgetItem *containsReminder; + QTreeWidgetItem *containsUncompletedReminder; + QTreeWidgetItem *containsFutureReminder; QTreeWidgetItem *sourceEmailedToEvernote; QTreeWidgetItem *sourceEmail;