- if(isLast(index))
- {
- QLinearGradient lastGradient(option.rect.topLeft(), option.rect.bottomLeft());
- lastGradient.setColorAt(0.0, Qt::white);
- lastGradient.setColorAt(0.5, bkgrColor);
- lastGradient.setColorAt(1.0, Qt::white);
-
- QPainterPath endPath;
- endPath.moveTo(option.rect.topLeft());
- endPath.lineTo(option.rect.bottomLeft()-QPoint(0, RADIUS));
- endPath.arcTo(option.rect.left(), option.rect.bottom()-2*RADIUS, 2*RADIUS, 2*RADIUS, 180, 90);
- endPath.lineTo(option.rect.bottomRight()-QPoint(RADIUS, 0));
- endPath.arcTo(option.rect.right()-2*RADIUS, option.rect.bottom()-2*RADIUS, 2*RADIUS, 2*RADIUS, 270, 90);
- endPath.lineTo(option.rect.topRight());
-
- //painter->setBrush( bkgrColor );
- painter->setBrush(lastGradient);
- painter->setPen(borderPen);
- painter->drawPath(endPath);
-
- painter->setFont(option.font);
- }
- else // middle elements
- {
-
- QLinearGradient middleGradient(option.rect.topLeft(), option.rect.bottomLeft());
- middleGradient.setColorAt(0.0, Qt::white);
- middleGradient.setColorAt(0.25, bkgrColor);
- middleGradient.setColorAt(0.5, Qt::white);
- middleGradient.setColorAt(0.75, bkgrColor);
- middleGradient.setColorAt(1.0, Qt::white);
-
- //painter->setBrush( bkgrColor );
- painter->setBrush(middleGradient);
+ // entry horizontal layout:
+ // * spacer (aka y position of image)
+ // * image
+ // * rest is text, which is 1 line of title with big letters and 2 lines of Presenter and Track
+ int aux = option.rect.height() - SPACER - mControls[FavouriteControlOn]->image()->height();
+ Event *event = static_cast<Event*>(index.internalPointer());
+
+ // font SMALL
+ QFont fontSmall = option.font;
+ fontSmall.setBold(false);
+ fontSmall.setPixelSize(aux*0.2);
+ QFontMetrics fmSmall(fontSmall);
+ // font SMALL bold
+ QFont fontSmallB = fontSmall;
+ fontSmallB.setBold(true);
+
+ // font BIG
+ QFont fontBig = option.font;
+ fontBig.setBold(false);
+ fontBig.setPixelSize(aux*0.33);
+ QFontMetrics fmBig(fontBig);
+
+ // font BIG bold
+ QFont fontBigB = fontBig;
+ fontBigB.setBold(true);
+ QFontMetrics fmBigB(fontBigB);
+
+ // background (in case of time conflicts)
+ if(event->hasTimeConflict()) {
+ painter->setBrush(Qt::yellow);