blob: 821588c862408e9010bdcf951238e93c16f249ac (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
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);
}
|