This commit is contained in:
Uwe Rathmann 2023-05-15 12:38:50 +02:00
parent defb193387
commit a0df814121
1 changed files with 16 additions and 6 deletions

View File

@ -207,17 +207,27 @@ QskMenuSkinlet::~QskMenuSkinlet() = default;
QRectF QskMenuSkinlet::cursorRect(
const QskSkinnable* skinnable, const QRectF& contentsRect, int index ) const
{
// TODO
const auto count = sampleCount( skinnable, QskMenu::Segment );
using Q = QskMenu;
auto rect = sampleRect( skinnable, contentsRect,
QskMenu::Segment, qBound( 0, index, count - 1 ) );
const auto menu = static_cast< const QskMenu* >( skinnable );
const auto actions = menu->actions();
QRectF rect;
if ( index < 0 )
{
rect = sampleRect( skinnable, contentsRect, Q::Segment, 0 );
rect.setBottom( rect.top() );
if ( index >= count )
}
else if ( index >= actions.count() )
{
rect = sampleRect( skinnable, contentsRect, Q::Segment, actions.count() - 1 );
rect.setTop( rect.bottom() );
}
else
{
rect = sampleRect( skinnable, contentsRect, Q::Segment, actions[index] );
}
return rect;
}