[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: branches/work/goya
From: Rafael Fernández López <ereslibre () kde ! org>
Date: 2008-03-08 15:24:09
Message-ID: 1204989849.783584.30512.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 783538 by ereslibre:
Yeah ! transparent backgrounds !
M +20 -17 goya/goya.cpp
M +5 -0 tests/main.cpp
--- branches/work/goya/goya/goya.cpp #783537:783538
@@ -27,6 +27,7 @@
#include <QEvent>
#include <QHoverEvent>
#include <QCursor>
+#include <QBitmap>
#include <QPainter>
#include <QKeyEvent>
#include <QStyleOption>
@@ -174,9 +175,10 @@
}
foreach (Widget *widget, widgetList) {
- QPixmap pixmap(120, 50);
+ QPixmap pixmap(120, 30);
+ pixmap.setMask(pixmap.createMaskFromColor(Qt::transparent, \
Qt::MaskOutColor)); QPainter p(&pixmap);
- p.fillRect(0, 0, 120, 50, Qt::white);
+ p.fillRect(0, 0, 120, 50, Qt::transparent);
p.end();
QWidget *qtwidget = widget->widget();
qtwidget->render(&pixmap, QPoint(0, 0), QRegion(0, 0, 100, 50), \
QWidget::DrawChildren); @@ -242,25 +244,26 @@
QList<Widget*> widgetList = widgetsForIndex(d->itemModel->index(1, 0));
switch (event->type()) {
- case QEvent::HoverEnter: {
- foreach (Widget *widget, widgetList) {
- QCoreApplication::postEvent(widget->widget(), new \
QHoverEvent(QEvent::HoverEnter, widget->widget()->mapFromGlobal(QCursor::pos()), \
widget->widget()->mapFromGlobal(QCursor::pos()))); + case \
QEvent::MouseButtonPress: { + QMouseEvent *mouseEvent = \
dynamic_cast<QMouseEvent*>(event); + foreach (Widget *widget, \
widgetList) { + QCoreApplication::postEvent(widget->widget(),
+ new \
QMouseEvent(QEvent::MouseButtonPress, QPoint(0, 0), mouseEvent->button(), + \
mouseEvent->buttons(), mouseEvent->modifiers())); + }
}
+ d->itemView->viewport()->update();
break;
- }
- case QEvent::HoverLeave: {
- foreach (Widget *widget, widgetList) {
- QCoreApplication::postEvent(widget->widget(), new \
QHoverEvent(QEvent::HoverLeave, widget->widget()->mapFromGlobal(QCursor::pos()), \
widget->widget()->mapFromGlobal(QCursor::pos()))); + case \
QEvent::MouseButtonRelease: { + QMouseEvent *mouseEvent = \
dynamic_cast<QMouseEvent*>(event); + foreach (Widget *widget, \
widgetList) { + QCoreApplication::postEvent(widget->widget(),
+ new \
QMouseEvent(QEvent::MouseButtonRelease, QPoint(0, 0), mouseEvent->button(), + \
mouseEvent->buttons(), mouseEvent->modifiers())); + }
}
+ d->itemView->viewport()->update();
break;
- }
- case QEvent::MouseMove: {
- foreach (Widget *widget, widgetList) {
- QCoreApplication::postEvent(widget->widget(), new \
QEvent(QEvent::Enter));
- QCoreApplication::postEvent(widget->widget(), new \
QMouseEvent(QEvent::MouseMove, widget->widget()->mapFromGlobal(QCursor::pos()), \
Qt::NoButton, Qt::NoButton, Qt::NoModifier));
- }
- break;
- }
default:
break;
}
--- branches/work/goya/tests/main.cpp #783537:783538
@@ -34,6 +34,11 @@
void paint(QPainter *painter, const QStyleOptionViewItem &option,
const QModelIndex &index) const
{
+ if (option.state & QStyle::State_Selected)
+ {
+ painter->fillRect(option.rect, option.palette.highlight());
+ }
+
painter->drawText(option.rect, index.model()->data(index).toString());
Goya::Canvas::paint(painter, option, index);
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic