Mercurial > trustbridge
annotate ui/separatoritemdelegate.cpp @ 285:f23e0ccd5d14
Fix call to windows process.
This now uses the correct parameters, emits the signals
correctly as errors and waits for the process to finish instead
of relying on NOASYNC which did not work for runas and also
made it impossible to get the return code
author | Andre Heinecke <aheinecke@intevation.de> |
---|---|
date | Wed, 02 Apr 2014 13:45:57 +0000 |
parents | b6c2fa8457b6 |
children | 17e1c8f37d72 |
rev | line source |
---|---|
273
b6c2fa8457b6
Added new list item delegate for drawing a separator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
1 #include <QtWidgets> |
b6c2fa8457b6
Added new list item delegate for drawing a separator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
2 |
b6c2fa8457b6
Added new list item delegate for drawing a separator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
3 #include "separatoritemdelegate.h" |
b6c2fa8457b6
Added new list item delegate for drawing a separator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
4 |
b6c2fa8457b6
Added new list item delegate for drawing a separator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
5 void SeparatorItemDelegate::paint(QPainter *painter, |
b6c2fa8457b6
Added new list item delegate for drawing a separator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
6 const QStyleOptionViewItem &option, const QModelIndex &index) const |
b6c2fa8457b6
Added new list item delegate for drawing a separator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
7 { |
b6c2fa8457b6
Added new list item delegate for drawing a separator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
8 // Save the current painter. |
b6c2fa8457b6
Added new list item delegate for drawing a separator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
9 painter->save(); |
b6c2fa8457b6
Added new list item delegate for drawing a separator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
10 |
b6c2fa8457b6
Added new list item delegate for drawing a separator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
11 // Get the position for separator line. |
b6c2fa8457b6
Added new list item delegate for drawing a separator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
12 int topLeftY = option.rect.topLeft().y(); |
b6c2fa8457b6
Added new list item delegate for drawing a separator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
13 int height = option.rect.height(); |
b6c2fa8457b6
Added new list item delegate for drawing a separator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
14 int middle = topLeftY + (height / 2); |
b6c2fa8457b6
Added new list item delegate for drawing a separator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
15 |
b6c2fa8457b6
Added new list item delegate for drawing a separator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
16 // Draw the first part. |
b6c2fa8457b6
Added new list item delegate for drawing a separator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
17 QPen linePen(Qt::black, 2, Qt::SolidLine); |
b6c2fa8457b6
Added new list item delegate for drawing a separator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
18 painter->setPen(linePen); |
b6c2fa8457b6
Added new list item delegate for drawing a separator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
19 painter->drawLine(10, middle, 80, middle); |
b6c2fa8457b6
Added new list item delegate for drawing a separator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
20 |
b6c2fa8457b6
Added new list item delegate for drawing a separator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
21 // Draw the text. |
b6c2fa8457b6
Added new list item delegate for drawing a separator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
22 QString text = index.data().toString(); |
b6c2fa8457b6
Added new list item delegate for drawing a separator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
23 QRect rect = option.rect.adjusted(85, -2, 0, -2); |
b6c2fa8457b6
Added new list item delegate for drawing a separator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
24 painter->drawText(rect.left(), rect.top(), rect.width(), rect.height(), |
b6c2fa8457b6
Added new list item delegate for drawing a separator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
25 Qt::AlignVCenter|Qt::AlignLeft, text, &rect); |
b6c2fa8457b6
Added new list item delegate for drawing a separator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
26 |
b6c2fa8457b6
Added new list item delegate for drawing a separator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
27 // Draw the second part. |
b6c2fa8457b6
Added new list item delegate for drawing a separator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
28 painter->drawLine(rect.topRight().x() + 5, middle, rect.topRight().x() + 75, middle); |
b6c2fa8457b6
Added new list item delegate for drawing a separator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
29 |
b6c2fa8457b6
Added new list item delegate for drawing a separator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
30 // Restore the painter to have an unmodified painter for the next draw |
b6c2fa8457b6
Added new list item delegate for drawing a separator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
31 // action. |
b6c2fa8457b6
Added new list item delegate for drawing a separator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
32 painter->restore(); |
b6c2fa8457b6
Added new list item delegate for drawing a separator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
33 return; |
b6c2fa8457b6
Added new list item delegate for drawing a separator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
34 } |