diff options
author | Julien Nabet <serval2412@yahoo.fr> | 2020-03-20 23:54:54 +0100 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2020-03-21 14:40:08 +0100 |
commit | 6a39d880cc0d4a7bcfcbf65cd80d0d09d6be241c (patch) | |
tree | cce660ab6b8821cfc10fbdde7d510c0a451bc0aa | |
parent | eb505fdbf8799a7930200d67e8b9f0aef229c3c4 (diff) |
tdf#100706: get blink cursor delay for MacOS
See https://bugs.documentfoundation.org/show_bug.cgi?id=100706#c1
Change-Id: I2e471f093ce18c8716108c4ba793c2124e489295
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90855
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
-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 ); |