#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); }