handle window loss in pressed state

This commit is contained in:
Uwe Rathmann 2018-05-09 08:20:32 +02:00
parent 1a9a08636b
commit f9ef60e2d5

View File

@ -5,6 +5,8 @@
#include "QskAbstractButton.h"
#include "QskAspect.h"
#include "QskEvent.h"
#include "QskQuick.h"
#include <QBasicTimer>
@ -239,10 +241,28 @@ bool QskAbstractButton::exclusive() const
bool QskAbstractButton::event( QEvent* event )
{
if ( event->type() == QEvent::Shortcut )
const auto eventType = static_cast< int >( event->type() );
switch( eventType )
{
// TODO
// setFocus( true, Qt::ShortcutFocusReason );
case QEvent::Shortcut:
{
// TODO
// setFocus( true, Qt::ShortcutFocusReason );
break;
}
case QskEvent::WindowChange:
{
if ( qskIsItemComplete( this ) && isPressed() )
{
/*
When the window change happens on pressed() we won't get
the corrsponding release.
*/
setPressed( false );
}
break;
}
}
return Inherited::event( event );