From 05b2584fa4d773f5a88ed3ce98f5dd8304e11c34 Mon Sep 17 00:00:00 2001 From: Xavier Del Campo Romero Date: Mon, 12 Jun 2023 23:47:17 +0200 Subject: First commit --- message.cpp | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 message.cpp (limited to 'message.cpp') diff --git a/message.cpp b/message.cpp new file mode 100644 index 0000000..821588c --- /dev/null +++ b/message.cpp @@ -0,0 +1,45 @@ +#include "message.h" +#include + +Message::Message(const QString &msg, const QDateTime &dt, + const Direction dir, QListWidget *const list, + QWidget *const parent) : + QWidget(parent) +{ + ui.setupUi(this); + ui.edit->setVisible(false); + ui.quote->setVisible(false); + ui.retry->setVisible(false); + + switch (dir) + { + case In: + ui.in_msg->setText(msg); + ui.out_msg->setVisible(false); + ui.time->setAlignment(Qt::AlignLeft); + break; + + case Out: + ui.out_msg->setText(msg); + ui.in_msg->setVisible(false); + ui.time->setAlignment(Qt::AlignRight); + break; + } + + ui.time->setText(dt.toString("ddd MMMM d yyyy hh:mm:ss")); + QListWidgetItem::setSizeHint(QWidget::sizeHint()); + + connect(list, &QListWidget::itemActivated, this, + [this] (QListWidgetItem *const item) + { + const bool visible = item == this; + + ui.edit->setVisible(visible); + ui.quote->setVisible(visible); + ui.retry->setVisible(visible); + QListWidgetItem::setSizeHint(QWidget::sizeHint()); + }); + + list->addItem(this); + list->setItemWidget(this, this); +} -- cgit v1.2.3