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 }

http://wald.intevation.org/projects/trustbridge/