Kaydet (Commit) 3cbaff79 authored tarafından Vasily Melenchuk's avatar Vasily Melenchuk Kaydeden (comit) Thorsten Behrens

menu bar behavior consistency: remove checkbox from disabled menu item

If menu item which can have checkbox is disabled, checkbox is not drawn
near it. After matching to enabled criteria this checkbox can appear and
after disabling menu item again it still remain, so initial and final
state of menu are different.

Change-Id: I31be02da892212e12276aa56bae15e6fa453a5bf
Reviewed-on: https://gerrit.libreoffice.org/50506Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarKatarina Behrens <Katarina.Behrens@cib.de>
(cherry picked from commit af1f91ae)
Reviewed-on: https://gerrit.libreoffice.org/50604Reviewed-by: 's avatarThorsten Behrens <Thorsten.Behrens@CIB.de>
Tested-by: 's avatarThorsten Behrens <Thorsten.Behrens@CIB.de>
üst 88b6b1a8
......@@ -418,8 +418,19 @@ throw ( RuntimeException, std::exception )
// Enable/disable item
if ( bEnabledItem != bMenuItemEnabled )
{
m_pVCLMenu->EnableItem( pMenuItemHandler->nItemId, bEnabledItem );
// Remove "checked" mark for disabled menu items.
// Initially disabled but checkable menu items do not receive
// checked/unchecked state, so can appear inconsistently after
// enabling/disabling. Since we can not pass checked state for disabled
// items, we will just reset checked state for them, anyway correct state
// will be transferred from controller once item enabled.
if ( !bEnabledItem && m_pVCLMenu->IsItemChecked( pMenuItemHandler->nItemId ) )
m_pVCLMenu->CheckItem( pMenuItemHandler->nItemId, false );
}
if ( Event.State >>= bCheckmark )
{
// Checkmark or RadioButton
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment