rename and explain the MENUBUTTON_MENUMODE_TIMED stuff

Change-Id: Ifc6ddfb0cc249e537c01f28bab84b42c6b1577d9
This commit is contained in:
Caolán McNamara
2016-10-28 11:48:38 +01:00
parent 6dc8f25ecf
commit 94af3da7e1
5 changed files with 15 additions and 11 deletions

View File

@@ -279,7 +279,7 @@ RemoteFilesDialog::RemoteFilesDialog( vcl::Window* pParent, PickerFlags nBits )
m_pName_ed->SetGetFocusHdl( LINK( this, RemoteFilesDialog, FileNameGetFocusHdl ) );
m_pName_ed->SetModifyHdl( LINK( this, RemoteFilesDialog, FileNameModifyHdl ) );
m_pAddService_btn->SetMenuMode( MENUBUTTON_MENUMODE_TIMED );
m_pAddService_btn->SetDelayMenu( true );
m_pAddMenu = m_pAddService_btn->GetPopupMenu();
m_pAddService_btn->SetClickHdl( LINK( this, RemoteFilesDialog, AddServiceHdl ) );
m_pAddService_btn->SetSelectHdl( LINK( this, RemoteFilesDialog, EditServiceMenuHdl ) );

View File

@@ -95,7 +95,7 @@ SvtFileDialogURLSelector::SvtFileDialogURLSelector( vcl::Window* _pParent, SvtFi
{
SetStyle( GetStyle() | WB_NOPOINTERFOCUS | WB_RECTSTYLE | WB_SMALLSTYLE );
SetModeImage( _pDlg->GetButtonImage( _nButtonId ) );
SetMenuMode( MENUBUTTON_MENUMODE_TIMED );
SetDelayMenu( true );
SetDropDown( PushButtonDropdownStyle::Toolbox );
}

View File

@@ -28,8 +28,6 @@ class PopupMenu;
class VclBuilder;
class VclSimpleEvent;
#define MENUBUTTON_MENUMODE_TIMED ((sal_uInt16)0x0001)
class VCL_DLLPUBLIC MenuButton : public PushButton
{
private:
@@ -38,7 +36,7 @@ private:
Timer* mpMenuTimer;
VclPtr<PopupMenu> mpMenu;
sal_uInt16 mnCurItemId;
sal_uInt16 mnMenuMode;
bool mbDelayMenu;
Link<MenuButton*,void> maActivateHdl;
Link<MenuButton*,void> maSelectHdl;
@@ -65,7 +63,13 @@ public:
void ExecuteMenu();
void SetMenuMode(sal_uInt16 nMode) { mnMenuMode = nMode; }
//if false then the whole button launches the menu
//if true, then the button has a separator
//where the right portion launches the menu immediately
//where the left portion activates the underlying Button handlers
//before launching the menu in an idle, allowing it to be cancelled
//before being shown
void SetDelayMenu(bool bDelay) { mbDelayMenu = bDelay; }
void SetPopupMenu( PopupMenu* pNewMenu );
PopupMenu* GetPopupMenu() const { return mpMenu; }

View File

@@ -262,8 +262,8 @@ void BackingWindow::initControls()
mpLocalView->SetStyle( mpLocalView->GetStyle() | WB_VSCROLL);
mpLocalView->Hide();
mpTemplateButton->SetMenuMode( MENUBUTTON_MENUMODE_TIMED );
mpRecentButton->SetMenuMode( MENUBUTTON_MENUMODE_TIMED );
mpTemplateButton->SetDelayMenu(true);
mpRecentButton->SetDelayMenu(true);
//set handlers
mpLocalView->setCreateContextMenuHdl(LINK(this, BackingWindow, CreateContextMenuHdl));

View File

@@ -33,7 +33,7 @@ void MenuButton::ImplInitMenuButtonData()
mpMenuTimer = nullptr;
mpMenu = nullptr;
mnCurItemId = 0;
mnMenuMode = 0;
mbDelayMenu = false;
}
void MenuButton::ImplInit( vcl::Window* pParent, WinBits nStyle )
@@ -105,7 +105,7 @@ IMPL_LINK_NOARG(MenuButton, ImplMenuTimeoutHdl, Timer *, void)
void MenuButton::MouseButtonDown( const MouseEvent& rMEvt )
{
bool bExecute = true;
if ( mnMenuMode & MENUBUTTON_MENUMODE_TIMED )
if (mbDelayMenu)
{
// If the separated dropdown symbol is not hit, delay the popup execution
if( mnDDStyle != PushButtonDropdownStyle::MenuButton || // no separator at all
@@ -141,7 +141,7 @@ void MenuButton::KeyInput( const KeyEvent& rKEvt )
sal_uInt16 nCode = aKeyCode.GetCode();
if ( (nCode == KEY_DOWN) && aKeyCode.IsMod2() )
ExecuteMenu();
else if ( !(mnMenuMode & MENUBUTTON_MENUMODE_TIMED) &&
else if ( !mbDelayMenu &&
!aKeyCode.GetModifier() &&
((nCode == KEY_RETURN) || (nCode == KEY_SPACE)) )
ExecuteMenu();