diff options
author | Caolán McNamara <caolanm@redhat.com> | 2016-10-28 11:48:38 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2016-10-28 12:22:52 +0100 |
commit | 94af3da7e11e82c4ed2d59655e246b5201c18709 (patch) | |
tree | a5c07d6b7d0d9420722b4112dc36820fea11a81c | |
parent | 6dc8f25ecf676a2e4d1a1018b729fef4096df8e7 (diff) |
rename and explain the MENUBUTTON_MENUMODE_TIMED stuff
Change-Id: Ifc6ddfb0cc249e537c01f28bab84b42c6b1577d9
-rw-r--r-- | fpicker/source/office/RemoteFilesDialog.cxx | 2 | ||||
-rw-r--r-- | fpicker/source/office/iodlgimp.cxx | 2 | ||||
-rw-r--r-- | include/vcl/menubtn.hxx | 12 | ||||
-rw-r--r-- | sfx2/source/dialog/backingwindow.cxx | 4 | ||||
-rw-r--r-- | vcl/source/control/menubtn.cxx | 6 |
5 files changed, 15 insertions, 11 deletions
diff --git a/fpicker/source/office/RemoteFilesDialog.cxx b/fpicker/source/office/RemoteFilesDialog.cxx index 49b576dcfa31..ef5ca8c3c49d 100644 --- a/fpicker/source/office/RemoteFilesDialog.cxx +++ b/fpicker/source/office/RemoteFilesDialog.cxx @@ -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 ) ); diff --git a/fpicker/source/office/iodlgimp.cxx b/fpicker/source/office/iodlgimp.cxx index cd4542c13612..0f3623fd22d2 100644 --- a/fpicker/source/office/iodlgimp.cxx +++ b/fpicker/source/office/iodlgimp.cxx @@ -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 ); } diff --git a/include/vcl/menubtn.hxx b/include/vcl/menubtn.hxx index 6063c5a61f78..f5056c1a5f9c 100644 --- a/include/vcl/menubtn.hxx +++ b/include/vcl/menubtn.hxx @@ -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; } diff --git a/sfx2/source/dialog/backingwindow.cxx b/sfx2/source/dialog/backingwindow.cxx index 67738f454499..5ba36412e997 100644 --- a/sfx2/source/dialog/backingwindow.cxx +++ b/sfx2/source/dialog/backingwindow.cxx @@ -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)); diff --git a/vcl/source/control/menubtn.cxx b/vcl/source/control/menubtn.cxx index c2c099cf80b9..26241a25e4a3 100644 --- a/vcl/source/control/menubtn.cxx +++ b/vcl/source/control/menubtn.cxx @@ -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(); |