ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
ecvOptions.cpp
Go to the documentation of this file.
1 // ----------------------------------------------------------------------------
2 // - CloudViewer: www.cloudViewer.org -
3 // ----------------------------------------------------------------------------
4 // Copyright (c) 2018-2024 www.cloudViewer.org
5 // SPDX-License-Identifier: MIT
6 // ----------------------------------------------------------------------------
7 
8 #include "ecvOptions.h"
9 
10 #include "ecvSettingManager.h"
11 
12 // CV_CORE_LIB
13 #include <CVLog.h>
14 
15 // CV_db
16 #include <ecvSingleton.h>
17 
20 
22  if (!s_options.instance) {
23  s_options.instance = new ecvOptions();
24  s_options.instance->fromPersistentSettings();
25  }
26 
27  return *s_options.instance;
28 }
29 
31 
32 void ecvOptions::Set(const ecvOptions& params) { InstanceNonConst() = params; }
33 
35 
38  useNativeDialogs = true;
41 }
42 
45  ecvSettingManager::getValue("Options", "normalsDisplayedByDefault",
46  false)
47  .toBool();
49  ecvSettingManager::getValue("Options", "useNativeDialogs", true)
50  .toBool();
52  ecvSettingManager::getValue("Options", "logVerbosityLevel",
53  static_cast<int>(CVLog::LOG_STANDARD))
54  .toInt());
57  "Options", "askForConfirmationBeforeQuitting", true)
58  .toBool();
59 }
60 
62  ecvSettingManager::setValue("Options", "normalsDisplayedByDefault",
64  ecvSettingManager::setValue("Options", "useNativeDialogs",
66  ecvSettingManager::setValue("Options", "logVerbosityLevel",
67  static_cast<int>(logVerbosityLevel));
68  ecvSettingManager::setValue("Options", "askForConfirmationBeforeQuitting",
70 }
MessageLevelFlags
Message level.
Definition: CVLog.h:42
@ LOG_STANDARD
Definition: CVLog.h:44
Main application options.
Definition: ecvOptions.h:19
bool useNativeDialogs
Use native load/save dialogs.
Definition: ecvOptions.h:25
ecvOptions()
Default constructor.
Definition: ecvOptions.cpp:34
static void Set(const ecvOptions &options)
Sets parameters.
Definition: ecvOptions.cpp:32
void reset()
Resets parameters to default values.
Definition: ecvOptions.cpp:36
bool normalsDisplayedByDefault
Whether to display the normals by default or not.
Definition: ecvOptions.h:22
bool askForConfirmationBeforeQuitting
Ask for confirmation before quitting.
Definition: ecvOptions.h:31
void fromPersistentSettings()
Loads from persistent DB.
Definition: ecvOptions.cpp:43
static void ReleaseInstance()
Release unique instance (if any)
Definition: ecvOptions.cpp:30
void toPersistentSettings() const
Saves to persistent DB.
Definition: ecvOptions.cpp:61
CVLog::MessageLevelFlags logVerbosityLevel
Log/console verbosity level (reuses CVLog::MessageLevelFlags)
Definition: ecvOptions.h:28
static ecvOptions & InstanceNonConst()
Returns the stored values of each parameter.
Definition: ecvOptions.cpp:21
static void setValue(const QString &section, const QString &key, const QVariant &value)
static QVariant getValue(const QString &section, const QString &key, const QVariant &defaultValue=QVariant())
static ecvSingleton< ecvOptions > s_options
Unique instance of ecvOptions.
Definition: ecvOptions.cpp:19
Generic singleton encapsulation structure.
Definition: ecvSingleton.h:12