From 3c9e071a39b657003daba1b127d8cf45e97b98d6 Mon Sep 17 00:00:00 2001 From: krepa098 Date: Fri, 2 Jan 2015 11:34:28 +0100 Subject: [PATCH] chatlinecontentproxy: scaling behaviour --- src/chatlog/chatlinecontentproxy.cpp | 6 ++++-- src/chatlog/chatlinecontentproxy.h | 5 +++-- src/chatlog/chatlog.cpp | 2 +- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/chatlog/chatlinecontentproxy.cpp b/src/chatlog/chatlinecontentproxy.cpp index dc12b96ed..0325763fc 100644 --- a/src/chatlog/chatlinecontentproxy.cpp +++ b/src/chatlog/chatlinecontentproxy.cpp @@ -19,7 +19,9 @@ #include #include -ChatLineContentProxy::ChatLineContentProxy(QWidget* widget) +ChatLineContentProxy::ChatLineContentProxy(QWidget* widget, int minWidth, float widthInPercent) + : widthMin(minWidth) + , widthPercent(widthInPercent) { proxy = new QGraphicsProxyWidget(this); proxy->setWidget(widget); @@ -47,5 +49,5 @@ qreal ChatLineContentProxy::getAscent() const void ChatLineContentProxy::setWidth(qreal width) { - proxy->widget()->setFixedWidth(qMax(width,0.0)); + proxy->widget()->setFixedWidth(qMax(static_cast(width*widthPercent), widthMin)); } diff --git a/src/chatlog/chatlinecontentproxy.h b/src/chatlog/chatlinecontentproxy.h index d9686e96f..da435fd91 100644 --- a/src/chatlog/chatlinecontentproxy.h +++ b/src/chatlog/chatlinecontentproxy.h @@ -23,7 +23,7 @@ class ChatLineContentProxy : public ChatLineContent { public: - ChatLineContentProxy(QWidget* widget); + ChatLineContentProxy(QWidget* widget, int minWidth, float widthInPercent = 1.0f); virtual QRectF boundingRect() const; virtual QRectF boundingSceneRect() const; @@ -33,7 +33,8 @@ public: private: QGraphicsProxyWidget* proxy; - + int widthMin; + float widthPercent; }; #endif // CHATLINECONTENTPROXY_H diff --git a/src/chatlog/chatlog.cpp b/src/chatlog/chatlog.cpp index d9eb9a9f1..309828756 100644 --- a/src/chatlog/chatlog.cpp +++ b/src/chatlog/chatlog.cpp @@ -135,7 +135,7 @@ ChatMessage *ChatLog::addFileTransferMessage(const QString &sender, const ToxFil { 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 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)); insertChatline(line);