diff options
Diffstat (limited to 'xfa/fwl/cfwl_notedriver.cpp')
-rw-r--r-- | xfa/fwl/cfwl_notedriver.cpp | 51 |
1 files changed, 6 insertions, 45 deletions
diff --git a/xfa/fwl/cfwl_notedriver.cpp b/xfa/fwl/cfwl_notedriver.cpp index 9a19f4b8a7..f585625882 100644 --- a/xfa/fwl/cfwl_notedriver.cpp +++ b/xfa/fwl/cfwl_notedriver.cpp @@ -185,11 +185,7 @@ CFWL_NoteLoop* CFWL_NoteDriver::GetTopLoop() const { } void CFWL_NoteDriver::ProcessMessage(std::unique_ptr<CFWL_Message> pMessage) { - CFWL_WidgetMgr* pWidgetMgr = - pMessage->m_pDstTarget->GetOwnerApp()->GetWidgetMgr(); - CFWL_Widget* pMessageForm = pWidgetMgr->IsFormDisabled() - ? pMessage->m_pDstTarget - : GetMessageForm(pMessage->m_pDstTarget); + CFWL_Widget* pMessageForm = pMessage->m_pDstTarget; if (!pMessageForm) return; @@ -239,50 +235,15 @@ bool CFWL_NoteDriver::DispatchMessage(CFWL_Message* pMessage, bool CFWL_NoteDriver::DoSetFocus(CFWL_Message* pMessage, CFWL_Widget* pMessageForm) { - CFWL_WidgetMgr* pWidgetMgr = pMessageForm->GetOwnerApp()->GetWidgetMgr(); - if (pWidgetMgr->IsFormDisabled()) { - m_pFocus = pMessage->m_pDstTarget; - return true; - } - - CFWL_Widget* pWidget = pMessage->m_pDstTarget; - if (!pWidget) - return false; - - CFWL_Form* pForm = static_cast<CFWL_Form*>(pWidget); - CFWL_Widget* pSubFocus = pForm->GetSubFocus(); - if (pSubFocus && ((pSubFocus->GetStates() & FWL_WGTSTATE_Focused) == 0)) { - pMessage->m_pDstTarget = pSubFocus; - if (m_pFocus != pMessage->m_pDstTarget) { - m_pFocus = pMessage->m_pDstTarget; - return true; - } - } - return false; + m_pFocus = pMessage->m_pDstTarget; + return true; } bool CFWL_NoteDriver::DoKillFocus(CFWL_Message* pMessage, CFWL_Widget* pMessageForm) { - CFWL_WidgetMgr* pWidgetMgr = pMessageForm->GetOwnerApp()->GetWidgetMgr(); - if (pWidgetMgr->IsFormDisabled()) { - if (m_pFocus == pMessage->m_pDstTarget) - m_pFocus = nullptr; - return true; - } - - CFWL_Form* pForm = static_cast<CFWL_Form*>(pMessage->m_pDstTarget); - if (!pForm) - return false; - - CFWL_Widget* pSubFocus = pForm->GetSubFocus(); - if (pSubFocus && (pSubFocus->GetStates() & FWL_WGTSTATE_Focused)) { - pMessage->m_pDstTarget = pSubFocus; - if (m_pFocus == pMessage->m_pDstTarget) { - m_pFocus = nullptr; - return true; - } - } - return false; + if (m_pFocus == pMessage->m_pDstTarget) + m_pFocus = nullptr; + return true; } bool CFWL_NoteDriver::DoKey(CFWL_Message* pMessage, CFWL_Widget* pMessageForm) { |