Mercurial > projects > qtd
comparison demos/browser/squeezelabel.d @ 73:7bfd46c330dc
more porting
author | mandel |
---|---|
date | Fri, 22 May 2009 10:59:00 +0000 |
parents | 71b382c10ef6 |
children | 0654fc9bac95 |
comparison
equal
deleted
inserted
replaced
72:b149ef2cb18b | 73:7bfd46c330dc |
---|---|
44 import QtGui.QLabel; | 44 import QtGui.QLabel; |
45 | 45 |
46 | 46 |
47 class SqueezeLabel : public QLabel | 47 class SqueezeLabel : public QLabel |
48 { | 48 { |
49 Q_OBJECT | 49 public: |
50 | 50 |
51 public: | 51 this(QWidget parent = null) |
52 this(QWidget *parent = null) | 52 { |
53 { | 53 super(parent); |
54 super(parent); | 54 } |
55 } | |
56 | 55 |
57 protected: | 56 protected: |
58 void paintEvent(QPaintEvent *event) | 57 |
59 { | 58 void paintEvent(QPaintEvent event) |
60 QFontMetrics fm = fontMetrics(); | 59 { |
61 if (fm.width(text()) > contentsRect().width()) { | 60 QFontMetrics fm = fontMetrics(); |
62 QString elided = fm.elidedText(text(), Qt.ElideMiddle, width()); | 61 if (fm.width(text()) > contentsRect().width()) { |
63 QString oldText = text(); | 62 QString elided = fm.elidedText(text(), Qt.ElideMiddle, width()); |
64 setText(elided); | 63 QString oldText = text(); |
65 QLabel.paintEvent(event); | 64 setText(elided); |
66 setText(oldText); | 65 QLabel.paintEvent(event); |
67 } else { | 66 setText(oldText); |
68 QLabel.paintEvent(event); | 67 } else { |
69 } | 68 QLabel.paintEvent(event); |
69 } | |
70 } | |
70 } | 71 } |
71 } |