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 }