projects
/
quassel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Properly re-layout on resizing
[quassel.git]
/
src
/
qtui
/
chatitem.h
diff --git
a/src/qtui/chatitem.h
b/src/qtui/chatitem.h
index
55985a3
..
d32b3cc
100644
(file)
--- a/
src/qtui/chatitem.h
+++ b/
src/qtui/chatitem.h
@@
-22,13
+22,13
@@
#define CHATITEM_H_
#include <QGraphicsItem>
#define CHATITEM_H_
#include <QGraphicsItem>
-#include <QTextLayout>
-#include <QTextOption>
#include "chatline.h"
#include "chatlinemodel.h"
#include "uistyle.h"
#include "chatline.h"
#include "chatlinemodel.h"
#include "uistyle.h"
+class QTextLayout;
+
class ChatItem : public QGraphicsItem {
public:
class ChatItem : public QGraphicsItem {
public:
@@
-40,6
+40,12
@@
class ChatItem : public QGraphicsItem {
inline int row() const { return _index.isValid() ? _index.row() : 0; }
inline virtual QRectF boundingRect() const { return _boundingRect; }
inline int row() const { return _index.isValid() ? _index.row() : 0; }
inline virtual QRectF boundingRect() const { return _boundingRect; }
+ inline qreal width() const { return _boundingRect.width(); }
+ inline qreal height() const { return _boundingRect.height(); }
+
+ inline bool haveLayout() const { return _layout != 0; }
+ void clearLayout();
+ void updateLayout();
virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0);
virtual QVariant data(int role) const;
virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0);
virtual QVariant data(int role) const;
@@
-58,12
+64,16
@@
class ChatItem : public QGraphicsItem {
private:
int heightForWidth(int width);
private:
int heightForWidth(int width);
+ void layout();
int _lineHeight;
int _lineHeight;
+ qreal _lineLeading;
QRectF _boundingRect;
//QTextLayout _layout;
//QTextOption _textOption;
QPersistentModelIndex _index;
QRectF _boundingRect;
//QTextLayout _layout;
//QTextOption _textOption;
QPersistentModelIndex _index;
+
+ QTextLayout *_layout;
};
#endif
};
#endif