RenderWidget: watch for activation/deactivation, not focus in/out
"Focus" refers mainly to keyboard focus. "Window focus" is exposed through the window activation and deactivation events.
This commit is contained in:
parent
8d5fe1f1c4
commit
8e55374662
|
@ -14,7 +14,6 @@ RenderWidget::RenderWidget(QWidget* parent) : QWidget(parent)
|
||||||
setAttribute(Qt::WA_NoSystemBackground, true);
|
setAttribute(Qt::WA_NoSystemBackground, true);
|
||||||
|
|
||||||
connect(Host::GetInstance(), &Host::RequestTitle, this, &RenderWidget::setWindowTitle);
|
connect(Host::GetInstance(), &Host::RequestTitle, this, &RenderWidget::setWindowTitle);
|
||||||
connect(this, &RenderWidget::FocusChanged, Host::GetInstance(), &Host::SetRenderFocus);
|
|
||||||
connect(this, &RenderWidget::StateChanged, Host::GetInstance(), &Host::SetRenderFullscreen);
|
connect(this, &RenderWidget::StateChanged, Host::GetInstance(), &Host::SetRenderFullscreen);
|
||||||
connect(this, &RenderWidget::HandleChanged, Host::GetInstance(), &Host::SetRenderHandle);
|
connect(this, &RenderWidget::HandleChanged, Host::GetInstance(), &Host::SetRenderHandle);
|
||||||
emit HandleChanged((void*)winId());
|
emit HandleChanged((void*)winId());
|
||||||
|
@ -43,9 +42,11 @@ bool RenderWidget::event(QEvent* event)
|
||||||
case QEvent::WinIdChange:
|
case QEvent::WinIdChange:
|
||||||
emit HandleChanged((void*)winId());
|
emit HandleChanged((void*)winId());
|
||||||
break;
|
break;
|
||||||
case QEvent::FocusIn:
|
case QEvent::WindowActivate:
|
||||||
case QEvent::FocusOut:
|
Host::GetInstance()->SetRenderFocus(true);
|
||||||
emit FocusChanged(hasFocus());
|
break;
|
||||||
|
case QEvent::WindowDeactivate:
|
||||||
|
Host::GetInstance()->SetRenderFocus(false);
|
||||||
break;
|
break;
|
||||||
case QEvent::WindowStateChange:
|
case QEvent::WindowStateChange:
|
||||||
emit StateChanged(isFullScreen());
|
emit StateChanged(isFullScreen());
|
||||||
|
|
|
@ -20,7 +20,6 @@ signals:
|
||||||
void EscapePressed();
|
void EscapePressed();
|
||||||
void Closed();
|
void Closed();
|
||||||
void HandleChanged(void* handle);
|
void HandleChanged(void* handle);
|
||||||
void FocusChanged(bool focus);
|
|
||||||
void StateChanged(bool fullscreen);
|
void StateChanged(bool fullscreen);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
Loading…
Reference in New Issue