Entropy Piano Tuner  1.1.3 (documentation not yet complete)
An open-source experimental software for piano tuning by entropy minimization
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
settings.cpp
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright 2015 Haye Hinrichsen, Christoph Wick
3  *
4  * This file is part of Entropy Piano Tuner.
5  *
6  * Entropy Piano Tuner is free software: you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by the
8  * Free Software Foundation, either version 3 of the License, or (at your
9  * option) any later version.
10  *
11  * Entropy Piano Tuner is distributed in the hope that it will be useful, but
12  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13  * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
14  * more details.
15  *
16  * You should have received a copy of the GNU General Public License along with
17  * Entropy Piano Tuner. If not, see http://www.gnu.org/licenses/.
18  *****************************************************************************/
19 
20 #include "settings.h"
21 #include <assert.h>
22 #include <locale>
24 
25 std::unique_ptr<Settings> Settings::mSingleton;
26 
27 //----------------------------------------------------------------------------
28 // Constructor
29 //----------------------------------------------------------------------------
30 
32 {
33  mSingleton.reset(this);
34 }
35 
36 
37 //----------------------------------------------------------------------------
38 // Get a pointer to the singleton instance
39 //----------------------------------------------------------------------------
40 
45 
47 {
48  assert(mSingleton);
49  return *mSingleton;
50 }
51 
52 
53 //----------------------------------------------------------------------------
54 // Get language ID, system language if none
55 //----------------------------------------------------------------------------
56 
61 
62 std::string Settings::getUserLanguageId() const
63 {
64  if (not mLanguageId.empty()) return mLanguageId;
65  else return std::locale("").name().substr(0, 2);
66 }
static Settings & getSingleton()
Get a pointer to the singleton instance.
Definition: settings.cpp:46
std::string mLanguageId
Language Id.
Definition: settings.h:88
The Settings class.
Definition: settings.h:41
static std::unique_ptr< Settings > mSingleton
Singleton pointer.
Definition: settings.h:97
virtual std::string getUserLanguageId() const
Settings::getUserLanguageId.
Definition: settings.cpp:62
Settings()
Constructor.
Definition: settings.cpp:31