diff options
author | Chris Sherlock <chris.sherlock79@gmail.com> | 2014-01-22 18:45:19 +1100 |
---|---|---|
committer | Norbert Thiebaud <nthiebaud@gmail.com> | 2014-01-22 14:19:55 +0000 |
commit | 4959f369d9bdcc2ab50cd4a70ad96a4a4fa17c76 (patch) | |
tree | eac2987b3598fc898af73aa033a1cf0181aa776c /vcl | |
parent | 930202b0b239636532bda471cc51d4750e09536f (diff) |
Improve settings code reability
Application::SetSettings relies on Application::GetSettings to
initialize the application's settings if this hasn't happened.
This means that GetSettings is being used not to get the app's
settings, but to initialize the settings!
I have corrected this by introducing a private static function
InitSettings(). Note that I assert if it attempts to initialize
already initialized settings, because the (Get|Set)Settings
does the check for you.
Also changed a local variable from nGet to nDragMode in
Desktop::SystemSettingsChanging to make it easier to read the
code. Whilst this is minor, a variable name of "nGet" seems
very sloppy.
Change-Id: I04975217c2028b3489179997db4287957578cc93
Reviewed-on: https://gerrit.libreoffice.org/7586
Reviewed-by: Norbert Thiebaud <nthiebaud@gmail.com>
Tested-by: Norbert Thiebaud <nthiebaud@gmail.com>
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/source/app/svapp.cxx | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/vcl/source/app/svapp.cxx b/vcl/source/app/svapp.cxx index a754856c9608..ac13c7360f4d 100644 --- a/vcl/source/app/svapp.cxx +++ b/vcl/source/app/svapp.cxx @@ -519,7 +519,7 @@ void Application::SetSettings( const AllSettings& rSettings ) ImplSVData* pSVData = ImplGetSVData(); if ( !pSVData->maAppData.mpSettings ) { - GetSettings(); + InitSettings(); *pSVData->maAppData.mpSettings = rSettings; ResMgr::SetDefaultLocale( rSettings.GetUILanguageTag() ); } @@ -618,14 +618,23 @@ const AllSettings& Application::GetSettings() ImplSVData* pSVData = ImplGetSVData(); if ( !pSVData->maAppData.mpSettings ) { - pSVData->maAppData.mpCfgListener = new LocaleConfigurationListener; - pSVData->maAppData.mpSettings = new AllSettings(); - pSVData->maAppData.mpSettings->GetSysLocale().GetOptions().AddListener( pSVData->maAppData.mpCfgListener ); + InitSettings(); } return *(pSVData->maAppData.mpSettings); } +void Application::InitSettings() +{ + ImplSVData* pSVData = ImplGetSVData(); + + assert(!pSVData->maAppData.mpSettings); // initialization should not happen twice! + + pSVData->maAppData.mpCfgListener = new LocaleConfigurationListener; + pSVData->maAppData.mpSettings = new AllSettings(); + pSVData->maAppData.mpSettings->GetSysLocale().GetOptions().AddListener( pSVData->maAppData.mpCfgListener ); +} + void Application::NotifyAllWindows( DataChangedEvent& rDCEvt ) { ImplSVData* pSVData = ImplGetSVData(); |