mirror of https://github.com/qTox/qTox.git
Browse Source
Allows users to still see their broken messages in the chatlog, but in a way that's clear that they haven't been delivered and won't be sent.reviewable/pr5773/r15
9 changed files with 165 additions and 25 deletions
@ -0,0 +1,61 @@
@@ -0,0 +1,61 @@
|
||||
/*
|
||||
Copyright © 2019 by The qTox Project Contributors |
||||
|
||||
This file is part of qTox, a Qt-based graphical interface for Tox. |
||||
|
||||
qTox is libre software: you can redistribute it and/or modify |
||||
it under the terms of the GNU General Public License as published by |
||||
the Free Software Foundation, either version 3 of the License, or |
||||
(at your option) any later version. |
||||
|
||||
qTox is distributed in the hope that it will be useful, |
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
GNU General Public License for more details. |
||||
|
||||
You should have received a copy of the GNU General Public License |
||||
along with qTox. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/ |
||||
|
||||
#include "broken.h" |
||||
#include "src/chatlog/pixmapcache.h" |
||||
#include <QPainter> |
||||
|
||||
class QStyleOptionGraphicsItem; |
||||
|
||||
Broken::Broken(const QString& img, QSize size) |
||||
: pmap{PixmapCache::getInstance().get(img, size)} |
||||
, size{size} |
||||
{ |
||||
} |
||||
|
||||
QRectF Broken::boundingRect() const |
||||
{ |
||||
return QRectF(QPointF(-size.width() / 2.0, -size.height() / 2.0), size); |
||||
} |
||||
|
||||
void Broken::paint(QPainter* painter, const QStyleOptionGraphicsItem* option, |
||||
QWidget* widget) |
||||
{ |
||||
painter->setRenderHint(QPainter::SmoothPixmapTransform); |
||||
painter->drawPixmap(0, 0, pmap); |
||||
|
||||
Q_UNUSED(option) |
||||
Q_UNUSED(widget) |
||||
|
||||
} |
||||
|
||||
void Broken::setWidth(qreal width) |
||||
{ |
||||
Q_UNUSED(width); |
||||
} |
||||
|
||||
void Broken::visibilityChanged(bool visible) |
||||
{ |
||||
Q_UNUSED(visible); |
||||
} |
||||
|
||||
qreal Broken::getAscent() const |
||||
{ |
||||
return 0.0; |
||||
} |
@ -0,0 +1,45 @@
@@ -0,0 +1,45 @@
|
||||
/*
|
||||
Copyright © 2019 by The qTox Project Contributors |
||||
|
||||
This file is part of qTox, a Qt-based graphical interface for Tox. |
||||
|
||||
qTox is libre software: you can redistribute it and/or modify |
||||
it under the terms of the GNU General Public License as published by |
||||
the Free Software Foundation, either version 3 of the License, or |
||||
(at your option) any later version. |
||||
|
||||
qTox is distributed in the hope that it will be useful, |
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
GNU General Public License for more details. |
||||
|
||||
You should have received a copy of the GNU General Public License |
||||
along with qTox. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/ |
||||
|
||||
#ifndef BROKEN_H |
||||
#define BROKEN_H |
||||
|
||||
#include "../chatlinecontent.h" |
||||
|
||||
#include <QObject> |
||||
#include <QPixmap> |
||||
|
||||
class Broken : public ChatLineContent |
||||
{ |
||||
Q_OBJECT |
||||
public: |
||||
Broken(const QString& img, QSize size); |
||||
QRectF boundingRect() const override; |
||||
void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, |
||||
QWidget* widget) override; |
||||
void setWidth(qreal width) override; |
||||
void visibilityChanged(bool visible) override; |
||||
qreal getAscent() const override; |
||||
|
||||
private: |
||||
QSize size; |
||||
QPixmap pmap; |
||||
}; |
||||
|
||||
#endif // BROKEN_H
|
Loading…
Reference in new issue