From 4434ecc3f70d67a79879933a46c5e2ee2c3bd028 Mon Sep 17 00:00:00 2001 From: Nicholas Johnson Date: Mon, 28 Oct 2024 19:16:12 -0400 Subject: [PATCH] Add rule functions and classes. --- deleteruledialog.cpp | 39 +++++++++++++++++ deleteruledialog.h | 32 ++++++++++++++ deleteruledialog.ui | 100 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 171 insertions(+) create mode 100644 deleteruledialog.cpp create mode 100644 deleteruledialog.h create mode 100644 deleteruledialog.ui diff --git a/deleteruledialog.cpp b/deleteruledialog.cpp new file mode 100644 index 0000000..71628a3 --- /dev/null +++ b/deleteruledialog.cpp @@ -0,0 +1,39 @@ +#include "deleteruledialog.h" +#include "ui_deleteruledialog.h" + +DeleteRuleDialog::DeleteRuleDialog(QWidget *parent) : + QDialog(parent), + ui(new Ui::DeleteRuleDialog) { + ui->setupUi(this); + + pRuleNames = QStringList(); + + connect(ui->pushButton_Delete, &QPushButton::clicked, this, &DeleteRuleDialog::DeleteRule); + connect(ui->pushButton_Cancel, &QPushButton::clicked, this, &DeleteRuleDialog::Cancel); +} + +DeleteRuleDialog::~DeleteRuleDialog() { + delete ui; +} + +void DeleteRuleDialog::SetRuleNames(QStringList ruleNames) { + ui->listWidget_Rules->clear(); + foreach (QString ruleName, ruleNames) { + ui->listWidget_Rules->addItem(ruleName); + } +} + +void DeleteRuleDialog::DeleteRule() { + QList items = ui->listWidget_Rules->selectedItems(); + if (items.count() == 0) { return; } + + foreach (QListWidgetItem *item, items) { + emit RuleDeleted(item->text()); + } + + close(); +} + +void DeleteRuleDialog::Cancel() { + close(); +} diff --git a/deleteruledialog.h b/deleteruledialog.h new file mode 100644 index 0000000..3bdc2af --- /dev/null +++ b/deleteruledialog.h @@ -0,0 +1,32 @@ +#ifndef DELETERULEDIALOG_H +#define DELETERULEDIALOG_H + +#include + +namespace Ui { +class DeleteRuleDialog; +} + +class DeleteRuleDialog : public QDialog +{ + Q_OBJECT + +public: + explicit DeleteRuleDialog(QWidget *parent = nullptr); + ~DeleteRuleDialog(); + + void SetRuleNames(QStringList ruleNames); + +public slots: + void DeleteRule(); + void Cancel(); + +signals: + void RuleDeleted(QString ruleName); + +private: + Ui::DeleteRuleDialog *ui; + QStringList pRuleNames; +}; + +#endif // DELETERULEDIALOG_H diff --git a/deleteruledialog.ui b/deleteruledialog.ui new file mode 100644 index 0000000..236df82 --- /dev/null +++ b/deleteruledialog.ui @@ -0,0 +1,100 @@ + + + DeleteRuleDialog + + + + 0 + 0 + 192 + 176 + + + + + 192 + 176 + + + + + 328 + 310 + + + + Dialog + + + + + + + CommitMono + + + + Select a rule to delete + + + + + + + + CommitMono + + + + + + + + + + + CommitMono + + + + Delete + + + + + + + + CommitMono + + + + Qt::Orientation::Horizontal + + + + 40 + 20 + + + + + + + + + CommitMono + + + + Cancel + + + + + + + + + +