mirror of
https://github.com/qTox/qTox.git
synced 2024-03-22 14:00:36 +08:00
chatlinecontentproxy: scaling behaviour
This commit is contained in:
parent
4997788b13
commit
3c9e071a39
|
@ -19,7 +19,9 @@
|
||||||
#include <QWidget>
|
#include <QWidget>
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
|
|
||||||
ChatLineContentProxy::ChatLineContentProxy(QWidget* widget)
|
ChatLineContentProxy::ChatLineContentProxy(QWidget* widget, int minWidth, float widthInPercent)
|
||||||
|
: widthMin(minWidth)
|
||||||
|
, widthPercent(widthInPercent)
|
||||||
{
|
{
|
||||||
proxy = new QGraphicsProxyWidget(this);
|
proxy = new QGraphicsProxyWidget(this);
|
||||||
proxy->setWidget(widget);
|
proxy->setWidget(widget);
|
||||||
|
@ -47,5 +49,5 @@ qreal ChatLineContentProxy::getAscent() const
|
||||||
|
|
||||||
void ChatLineContentProxy::setWidth(qreal width)
|
void ChatLineContentProxy::setWidth(qreal width)
|
||||||
{
|
{
|
||||||
proxy->widget()->setFixedWidth(qMax(width,0.0));
|
proxy->widget()->setFixedWidth(qMax(static_cast<int>(width*widthPercent), widthMin));
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
class ChatLineContentProxy : public ChatLineContent
|
class ChatLineContentProxy : public ChatLineContent
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
ChatLineContentProxy(QWidget* widget);
|
ChatLineContentProxy(QWidget* widget, int minWidth, float widthInPercent = 1.0f);
|
||||||
|
|
||||||
virtual QRectF boundingRect() const;
|
virtual QRectF boundingRect() const;
|
||||||
virtual QRectF boundingSceneRect() const;
|
virtual QRectF boundingSceneRect() const;
|
||||||
|
@ -33,7 +33,8 @@ public:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QGraphicsProxyWidget* proxy;
|
QGraphicsProxyWidget* proxy;
|
||||||
|
int widthMin;
|
||||||
|
float widthPercent;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // CHATLINECONTENTPROXY_H
|
#endif // CHATLINECONTENTPROXY_H
|
||||||
|
|
|
@ -135,7 +135,7 @@ ChatMessage *ChatLog::addFileTransferMessage(const QString &sender, const ToxFil
|
||||||
{
|
{
|
||||||
ChatMessage* line = new ChatMessage(scene, QString());
|
ChatMessage* line = new ChatMessage(scene, QString());
|
||||||
line->addColumn(new Text(sender, self ? Style::getFont(Style::BigBold) : Style::getFont(Style::Big), true), ColumnFormat(75.0, ColumnFormat::FixedSize, ColumnFormat::Right));
|
line->addColumn(new Text(sender, self ? Style::getFont(Style::BigBold) : Style::getFont(Style::Big), true), ColumnFormat(75.0, ColumnFormat::FixedSize, ColumnFormat::Right));
|
||||||
line->addColumn(new ChatLineContentProxy(new FileTransferWidget(0, file)), ColumnFormat(1.0, ColumnFormat::VariableSize));
|
line->addColumn(new ChatLineContentProxy(new FileTransferWidget(0, file), 380, 0.6f), ColumnFormat(1.0, ColumnFormat::VariableSize));
|
||||||
line->addColumn(new Text(timestamp.toString("hh:mm"), Style::getFont(Style::Big)), ColumnFormat(50.0, ColumnFormat::FixedSize, ColumnFormat::Right));
|
line->addColumn(new Text(timestamp.toString("hh:mm"), Style::getFont(Style::Big)), ColumnFormat(50.0, ColumnFormat::FixedSize, ColumnFormat::Right));
|
||||||
|
|
||||||
insertChatline(line);
|
insertChatline(line);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user