diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/rule.cpp | 40 | ||||
-rw-r--r-- | src/rule.h | 32 |
2 files changed, 72 insertions, 0 deletions
diff --git a/src/rule.cpp b/src/rule.cpp new file mode 100644 index 0000000..93c33d6 --- /dev/null +++ b/src/rule.cpp @@ -0,0 +1,40 @@ +#include <QComboBox> +#include <QDate> +#include <QDateTimeEdit> +#include <QLineEdit> + +#include "rule.h" + +Rule::Rule(int id, int entry_id, When when, QDateTime date, QString color, QString highlight) : + id(id), + entry_id(entry_id), + when(when), + date(date), + color(color), + highlight(highlight) +{ + QComboBox *when_widget; + QDateTimeEdit *date_widget = new QDateTimeEdit(QDate::currentDate()); + QLineEdit *color_widget; // TODO consider making this a color selector widget + QLineEdit *highlight_widget; // TODO consider making this a color selector widget + + when_widget->addItems(QStringList("Before", "After")); + when_widget->setCurrentIndex(this->when); + this->addWidget(when_widget); + + date_widget->setDisplayFormat("MM/dd/yyyy"); + date_widget->setDateTime(this->date); + this->addWidget(date_widget); + + this->addStretch(); + + color_widget->setPlaceholderText("Color"); + if(!this->color.isEmpty()) + color_widget->setText(this->color); + this->addWidget(color_widget); + + highlight_widget->setPlaceholderText("Highlight"); + if(!this->highlight.isEmpty()) + highlight_widget->setText(this->highlight); + this->addWidget(highlight_widget); +} diff --git a/src/rule.h b/src/rule.h new file mode 100644 index 0000000..ecd2285 --- /dev/null +++ b/src/rule.h @@ -0,0 +1,32 @@ +#ifndef RULE_H +#define RULE_H + +#include <QDateTime> +#include <QHBoxLayout> +#include <QString> + +// rule's widgets will always be allocated, even though they are only rendered when options are open +// TODO determine whether an alternative approach is better (same goes for group and entry) + +class Rule : QHBoxLayout { + enum When { before, after }; + + public: + int id; + int entry_id; + When when; + QDateTime date; + QString color = ""; + QString highlight = ""; + + Rule( + int id, + int entry_id, + When when, + QDateTime date, + QString color, + QString highlight + ); +}; + +#endif |