diff options
| author | Xavier Del Campo Romero <xavi.dcr@tutanota.com> | 2023-06-12 23:47:17 +0200 |
|---|---|---|
| committer | Xavier Del Campo Romero <xavi.dcr@tutanota.com> | 2023-06-29 14:09:46 +0200 |
| commit | 05b2584fa4d773f5a88ed3ce98f5dd8304e11c34 (patch) | |
| tree | f72e73c3259b8100e886f49f67ecc669b7667502 /message.cpp | |
| parent | 3b8fafc4122848219898245d52dabd669cacb4ba (diff) | |
First commit
Diffstat (limited to 'message.cpp')
| -rw-r--r-- | message.cpp | 45 |
1 files changed, 45 insertions, 0 deletions
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 <Qt> + +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); +} |
