Merge remote-tracking branch 'origin/release/21.04'

remotes/origin/work/irc-switch
Albert Astals Cid 5 years ago
commit 73c3fa57f9
  1. 9
      part/formwidgets.cpp

@ -483,15 +483,20 @@ bool FormLineEdit::event(QEvent *e)
if (text() != fft->text()) if (text() != fft->text())
setText(fft->text()); setText(fft->text());
m_editing = true; m_editing = true;
QFocusEvent *focusEvent = static_cast<QFocusEvent *>(e);
if (focusEvent->reason() != Qt::ActiveWindowFocusReason) {
if (const Okular::Action *action = m_ff->additionalAction(Okular::Annotation::FocusIn)) if (const Okular::Action *action = m_ff->additionalAction(Okular::Annotation::FocusIn))
emit m_controller->focusAction(action, fft); emit m_controller->focusAction(action, fft);
}
setFocus(); setFocus();
} else if (e->type() == QEvent::FocusOut) { } else if (e->type() == QEvent::FocusOut) {
m_editing = false;
// Don't worry about focus events from other sources than the user FocusEvent to edit the field // Don't worry about focus events from other sources than the user FocusEvent to edit the field
QFocusEvent *focusEvent = static_cast<QFocusEvent *>(e); QFocusEvent *focusEvent = static_cast<QFocusEvent *>(e);
if (focusEvent->reason() == Qt::OtherFocusReason) if (focusEvent->reason() == Qt::OtherFocusReason || focusEvent->reason() == Qt::ActiveWindowFocusReason)
return true; return true;
m_editing = false;
if (const Okular::Action *action = m_ff->additionalAction(Okular::Annotation::FocusOut)) { if (const Okular::Action *action = m_ff->additionalAction(Okular::Annotation::FocusOut)) {
bool ok = false; bool ok = false;

Loading…
Cancel
Save