[Digikam-devel] [Bug 199975] Issues in Album view on Windows

Michael G. Hansen mike at mghansen.de
Mon Nov 30 22:15:31 GMT 2009


https://bugs.kde.org/show_bug.cgi?id=199975





--- Comment #6 from Michael G. Hansen <mike mghansen de>  2009-11-30 23:15:25 ---
Created an attachment (id=38728)
 --> (http://bugs.kde.org/attachment.cgi?id=38728)
Screenshot of border debugging

Ok, this is how far I got:

if (option.state & QStyle::State_MouseOver)
{
    kDebug()<<"mouseover!!!";
    r = d->rect;
    p->setPen(QPen(option.palette.color(QPalette::Highlight), 3,
Qt::SolidLine));
    p->drawRect(1, 1, r.width()-3, r.height()-3);
} else
{
    kDebug()<<"NOT mouseover!!!";
    r = d->rect;
    p->setBrush(QBrush(Qt::black));
    p->setPen(QPen(Qt::green, 3, Qt::SolidLine));
    p->drawRect(1, 1, r.width()-3, r.height()-3);
}

With this code, all items are black with a green border by default (middle
icon). Mouse over the icon on the left and over the one on the right in the
screenshot -> it gets a blue border, debug output "mouseover". Move mouse away
-> debug output "NOT mouseover", but the blue border stays, and you can see
that the black brush is clipped to where the overlays are located, therefore
the border was not erased...

The black artefacts around the green border are drawn at the beginning of the
function with a width of 5, and also don't erase the background of the blue
border...

Now execute the same code under a user account where the staying-border-problem
does not occur, and there is no clipping, the black brush covers the entire
inside of the green border when the mouse is moved away.

So, how do we proceed?

Marcel: The State_HasFocus branch is executed when an item has been selected
with the mouse.

Michael

-- 
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the Digikam-devel mailing list