diff options
-rw-r--r-- | vcl/inc/osx/salframe.h | 2 | ||||
-rw-r--r-- | vcl/osx/salframe.cxx | 18 |
2 files changed, 18 insertions, 2 deletions
diff --git a/vcl/inc/osx/salframe.h b/vcl/inc/osx/salframe.h index 2fcdef3609e9..3d0f19f418a0 100644 --- a/vcl/inc/osx/salframe.h +++ b/vcl/inc/osx/salframe.h @@ -95,6 +95,8 @@ public: bool mbGeometryDidChange; + int mnBlinkCursorDelay; + public: /** Constructor diff --git a/vcl/osx/salframe.cxx b/vcl/osx/salframe.cxx index 1bd88a810bc0..9065a3de2ff5 100644 --- a/vcl/osx/salframe.cxx +++ b/vcl/osx/salframe.cxx @@ -82,7 +82,8 @@ AquaSalFrame::AquaSalFrame( SalFrame* pParent, SalFrameStyleFlags salFrameStyle mePointerStyle( PointerStyle::Arrow ), mnTrackingRectTag( 0 ), mrClippingPath( nullptr ), - mnICOptions( InputContextFlags::NONE ) + mnICOptions( InputContextFlags::NONE ), + mnBlinkCursorDelay ( 500 ) { mpParent = dynamic_cast<AquaSalFrame*>(pParent); @@ -90,6 +91,19 @@ AquaSalFrame::AquaSalFrame( SalFrame* pParent, SalFrameStyleFlags salFrameStyle SalData* pSalData = GetSalData(); pSalData->mpInstance->insertFrame( this ); + NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults]; + if (userDefaults != nil) + { + id setting = [userDefaults objectForKey: @"NSTextInsertionPointBlinkPeriodOn"]; + if (setting) + mnBlinkCursorDelay = [setting intValue]; + else + { + setting = [userDefaults objectForKey: @"NSTextInsertionPointBlinkPeriodOff"]; + if (setting) + mnBlinkCursorDelay = [setting intValue]; + } + } } AquaSalFrame::~AquaSalFrame() @@ -1279,7 +1293,7 @@ SAL_WNODEPRECATED_DECLARATIONS_POP aStyleSettings.SetMenuBarRolloverTextColor( aMenuTextColor ); aStyleSettings.SetMenuBarHighlightTextColor(aStyleSettings.GetMenuHighlightTextColor()); - aStyleSettings.SetCursorBlinkTime( 500 ); + aStyleSettings.SetCursorBlinkTime( mnBlinkCursorDelay ); // no mnemonics on macOS aStyleSettings.SetOptions( aStyleSettings.GetOptions() | StyleSettingsOptions::NoMnemonics ); |