gesture also used for closing
This commit is contained in:
parent
930cb321a1
commit
79924aeebe
|
@ -196,13 +196,17 @@ namespace
|
|||
bool isAcceptedPos( const QPointF& pos ) const override
|
||||
{
|
||||
auto drawer = qobject_cast< const QskDrawer* >( targetItem() );
|
||||
|
||||
const auto dragMargin = drawer->dragMargin();
|
||||
if ( dragMargin <= 0.0 )
|
||||
if ( drawer->isFading() )
|
||||
return false;
|
||||
|
||||
auto rect = qskItemRect( watchedItem() );
|
||||
|
||||
if ( !drawer->isOpen() )
|
||||
{
|
||||
const auto dragMargin = drawer->dragMargin();
|
||||
if ( dragMargin <= 0.0 )
|
||||
return false;
|
||||
|
||||
switch( drawer->edge() )
|
||||
{
|
||||
case Qt::LeftEdge:
|
||||
|
@ -221,6 +225,7 @@ namespace
|
|||
rect.setTop( rect.bottom() - dragMargin );
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return rect.contains( pos );
|
||||
}
|
||||
|
@ -324,8 +329,9 @@ void QskDrawer::gestureEvent( QskGestureEvent* event )
|
|||
const auto gesture = static_cast< const QskPanGesture* >( event->gesture().get() );
|
||||
if ( gesture->state() == QskGesture::Finished )
|
||||
{
|
||||
if ( qskCheckDirection( m_data->edge, gesture ) )
|
||||
open();
|
||||
const auto forwards = qskCheckDirection( m_data->edge, gesture );
|
||||
if ( forwards != isOpen() )
|
||||
setOpen( forwards );
|
||||
}
|
||||
|
||||
return;
|
||||
|
|
Loading…
Reference in New Issue