fix chatbubble sizing
This commit is contained in:
@@ -60,6 +60,7 @@ void Chat::renderChatBox(Ui::MainWindow *ui, QListView *view, QLabel *label)
|
|||||||
(p.getName() == ui->contactNameMemo->text().trimmed()) &&
|
(p.getName() == ui->contactNameMemo->text().trimmed()) &&
|
||||||
(p.getPartnerAddress() == c.second.getAddress()) &&
|
(p.getPartnerAddress() == c.second.getAddress()) &&
|
||||||
(c.second.isOutgoing() == true))
|
(c.second.isOutgoing() == true))
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
||||||
QStandardItem *Items = new QStandardItem(c.second.toChatLine());
|
QStandardItem *Items = new QStandardItem(c.second.toChatLine());
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ class ListViewDelegate : public QAbstractItemDelegate
|
|||||||
inline QSize sizeHint(QStyleOptionViewItem const &option, QModelIndex const &index) const;
|
inline QSize sizeHint(QStyleOptionViewItem const &option, QModelIndex const &index) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
inline ListViewDelegate::ListViewDelegate(QObject *parent): QAbstractItemDelegate(parent), d_radius(5), d_toppadding(5), d_bottompadding(3), d_leftpadding(5), d_rightpadding(5), d_verticalmargin(5), d_horizontalmargin(10), d_pointerwidth(4), d_pointerheight(17), d_widthfraction(.6)
|
inline ListViewDelegate::ListViewDelegate(QObject *parent): QAbstractItemDelegate(parent), d_radius(15), d_toppadding(15), d_bottompadding(3), d_leftpadding(5), d_rightpadding(5), d_verticalmargin(5), d_horizontalmargin(10), d_pointerwidth(4), d_pointerheight(25), d_widthfraction(.6)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -50,7 +50,7 @@ inline void ListViewDelegate::paint(QPainter *painter, QStyleOptionViewItem cons
|
|||||||
bodydoc.setDefaultTextOption(textOption);
|
bodydoc.setDefaultTextOption(textOption);
|
||||||
bodydoc.setDefaultFont(QFont("Roboto", 12));
|
bodydoc.setDefaultFont(QFont("Roboto", 12));
|
||||||
QString bodytext(index.data(Qt::DisplayRole).toString());
|
QString bodytext(index.data(Qt::DisplayRole).toString());
|
||||||
bodydoc.setHtml(bodytext.replace("\n", "<br>"));
|
bodydoc.setHtml(bodytext.replace("\n", "<br>"));
|
||||||
qreal contentswidth = option.rect.width() * d_widthfraction - d_horizontalmargin - d_pointerwidth - d_leftpadding - d_rightpadding;
|
qreal contentswidth = option.rect.width() * d_widthfraction - d_horizontalmargin - d_pointerwidth - d_leftpadding - d_rightpadding;
|
||||||
bodydoc.setTextWidth(contentswidth);
|
bodydoc.setTextWidth(contentswidth);
|
||||||
qreal bodyheight = bodydoc.size().height();
|
qreal bodyheight = bodydoc.size().height();
|
||||||
@@ -173,7 +173,8 @@ inline QSize ListViewDelegate::sizeHint(QStyleOptionViewItem const &option, QMod
|
|||||||
bodydoc.setDefaultTextOption(textOption);
|
bodydoc.setDefaultTextOption(textOption);
|
||||||
bodydoc.setDefaultFont(QFont("Roboto", 12));
|
bodydoc.setDefaultFont(QFont("Roboto", 12));
|
||||||
QString bodytext(index.data(Qt::DisplayRole).toString());
|
QString bodytext(index.data(Qt::DisplayRole).toString());
|
||||||
bodydoc.setHtml(bodytext);
|
bodydoc.setHtml(bodytext.replace("\n", "<br>"));
|
||||||
|
|
||||||
|
|
||||||
// the width of the contents are the (a fraction of the window width) minus (margins + padding + width of the bubble's tail)
|
// the width of the contents are the (a fraction of the window width) minus (margins + padding + width of the bubble's tail)
|
||||||
qreal contentswidth = option.rect.width() * d_widthfraction - d_horizontalmargin - d_pointerwidth - d_leftpadding - d_rightpadding;
|
qreal contentswidth = option.rect.width() * d_widthfraction - d_horizontalmargin - d_pointerwidth - d_leftpadding - d_rightpadding;
|
||||||
|
|||||||
Reference in New Issue
Block a user