33 m_nativeTouchpadGestureAvailable(
37 for( wxSizerItem* child : m_zoomSizer->GetChildren() )
39 if( child->GetWindow() == m_zoomSpeed )
40 child->SetBorder( 14 );
43 for( wxSizerItem* child : m_panSizer->GetChildren() )
45 if( child->GetWindow() == m_autoPanSpeed )
46 child->SetBorder( 14 );
49 m_lblCtrl->SetLabel(
_(
"Cmd" ) );
50 m_lblAlt->SetLabel(
_(
"Option" ) );
54 m_scrollWarning->Hide();
56 if( !m_nativeTouchpadGestureAvailable )
58 m_touchpadModeLabel->Hide();
59 m_choiceTouchpadMode->Hide();
62 m_checkAutoZoomSpeed->Bind( wxEVT_COMMAND_CHECKBOX_CLICKED,
63 [&]( wxCommandEvent& aEvt )
65 m_zoomSpeed->Enable( !m_checkAutoZoomSpeed->GetValue() );
96 "vertical scroll setting" ),
227 wxRadioButton* btn =
dynamic_cast<wxRadioButton*
>(
event.GetEventObject() );
239 modifier = WXK_CONTROL;
241 modifier = WXK_SHIFT;
254 default:
return false;
258 auto assign_first_available =
259 [&]( wxRadioButton* noneBtn, wxRadioButton* ctrlBtn, wxRadioButton* shiftBtn, wxRadioButton* altBtn )
261 int candidates[] = { 0, WXK_CONTROL, WXK_SHIFT, WXK_ALT };
263 for(
int candidate : candidates )
265 if( candidate == modifier )
268 if( !column_taken( candidate ) )
272 case 0: noneBtn->SetValue(
true );
break;
273 case WXK_CONTROL: ctrlBtn->SetValue(
true );
break;
274 case WXK_SHIFT: shiftBtn->SetValue(
true );
break;
275 case WXK_ALT: altBtn->SetValue(
true );
break;
283 if( modifier == WXK_CONTROL )
292 else if( modifier == WXK_SHIFT )
301 else if( modifier == WXK_ALT )
324 ret.
zoom = WXK_SHIFT;
326 ret.
zoom = WXK_CONTROL;
331 ret.
panh = WXK_SHIFT;
333 ret.
panh = WXK_CONTROL;
338 ret.
panv = WXK_SHIFT;
340 ret.
panv = WXK_CONTROL;
356 auto set_wheel_buttons =
357 [](
int aModifier, wxRadioButton* aNoneBtn, wxRadioButton* aCtrlBtn,
358 wxRadioButton* aShiftBtn, wxRadioButton* aAltBtn )
362 case 0: aNoneBtn->SetValue(
true );
break;
363 case WXK_CONTROL: aCtrlBtn->SetValue(
true );
break;
364 case WXK_SHIFT: aShiftBtn->SetValue(
true );
break;
365 case WXK_ALT: aAltBtn->SetValue(
true );
break;
wxBitmapBundle KiBitmapBundle(BITMAPS aBitmap, int aMinHeight)
void ResetToDefaults()
Resets all parameters to default values.
static PAGED_DIALOG * GetDialog(wxWindow *aWindow)
void SetError(const wxString &aMessage, const wxString &aPageName, int aCtrlId, int aRow=-1, int aCol=-1)
wxChoice * m_choiceTouchpadMode
wxSlider * m_autoPanSpeed
wxChoice * m_choiceLeftButtonDrag
wxRadioButton * m_rbPanVAlt
wxCheckBox * m_checkZoomAcceleration
wxCheckBox * m_checkZoomCenter
wxRadioButton * m_rbPanHNone
wxRadioButton * m_rbPanVCtrl
wxRadioButton * m_rbPanHAlt
wxCheckBox * m_checkAutoPan
PANEL_MOUSE_SETTINGS_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(-1,-1), long style=wxTAB_TRAVERSAL, const wxString &name=wxEmptyString)
wxChoice * m_choiceMiddleButtonDrag
wxCheckBox * m_checkZoomReverse
wxChoice * m_choiceRightButtonDrag
wxCheckBox * m_checkAutoZoomSpeed
wxRadioButton * m_rbZoomShift
wxRadioButton * m_rbPanVNone
wxRadioButton * m_rbZoomAlt
wxRadioButton * m_rbZoomNone
wxRadioButton * m_rbPanHShift
wxRadioButton * m_rbZoomCtrl
wxChoice * m_choicePanMoveKey
wxStaticBitmap * m_scrollWarning
wxRadioButton * m_rbPanHCtrl
wxCheckBox * m_checkPanHReverse
wxCheckBox * m_checkEnablePanH
wxRadioButton * m_rbPanVShift
void onMouseDefaults(wxCommandEvent &event) override
bool m_nativeTouchpadGestureAvailable
bool TransferDataFromWindow() override
void ResetPanel() override
Reset the contents of this panel.
void applySettingsToPanel(const COMMON_SETTINGS &aSettings)
TOUCHPAD_MODE getTouchpadMode() const
SCROLL_MOD_SET getScrollModSet()
SCROLL_MOD_SET m_currentScrollMod
bool isScrollModSetValid(const SCROLL_MOD_SET &aSet)
bool TransferDataToWindow() override
void onTrackpadDefaults(wxCommandEvent &event) override
void OnScrollRadioButton(wxCommandEvent &event) override
PANEL_MOUSE_SETTINGS(wxWindow *aParent)
void updateScrollModButtons()
virtual COMMON_SETTINGS * GetCommonSettings() const
PGM_BASE & Pgm()
The global program "get" accessor.