1 |
/* |
/* |
2 |
Copyright (c) 2014-2016 Christian Schoenebeck |
Copyright (c) 2014-2017 Christian Schoenebeck |
3 |
|
|
4 |
This file is part of "gigedit" and released under the terms of the |
This file is part of "gigedit" and released under the terms of the |
5 |
GNU General Public License version 2. |
GNU General Public License version 2. |
12 |
#include <glibmm/object.h> |
#include <glibmm/object.h> |
13 |
#include <glibmm/property.h> |
#include <glibmm/property.h> |
14 |
#include <vector> |
#include <vector> |
15 |
|
#include "global.h" |
16 |
|
|
17 |
/** |
/** |
18 |
* Reflects, saves and restores all settings for the gigedit application. |
* Reflects, saves and restores all settings for the gigedit application. |
47 |
FILE_PROPS, |
FILE_PROPS, |
48 |
INSTR_PROPS, |
INSTR_PROPS, |
49 |
SAMPLE_REFS, |
SAMPLE_REFS, |
50 |
|
MACRO_EDITOR, |
51 |
|
MACROS_SETUP, |
52 |
|
MACROS, |
53 |
}; |
}; |
54 |
|
|
55 |
/** |
/** |
125 |
Property<bool> warnUserOnExtensions; ///< if enabled, the user shall he be warned if he is trying to use a gig format extension that will not work with Gigasampler/GigaStudio |
Property<bool> warnUserOnExtensions; ///< if enabled, the user shall he be warned if he is trying to use a gig format extension that will not work with Gigasampler/GigaStudio |
126 |
Property<bool> syncSamplerInstrumentSelection; ///< if enabled, the sampler's current instrument will automatically be switched whenever another instrument was selected in gigedit |
Property<bool> syncSamplerInstrumentSelection; ///< if enabled, the sampler's current instrument will automatically be switched whenever another instrument was selected in gigedit |
127 |
Property<bool> moveRootNoteWithRegionMoved; ///< if enabled, the root note(s) of regions are automatically moving when the user drags a region around at the virtual keyboard |
Property<bool> moveRootNoteWithRegionMoved; ///< if enabled, the root note(s) of regions are automatically moving when the user drags a region around at the virtual keyboard |
128 |
|
Property<bool> autoRestoreWindowDimension; |
129 |
|
Property<bool> saveWithTemporaryFile; ///< If enabled and the user selects "Save" from the main menu, then the file is first saved as separate temporary file and after the save operation completed the temporary file is moved over the original file. |
130 |
|
|
131 |
// settings of "MainWindow" group |
// settings of "MainWindow" group |
132 |
Property<int> mainWindowX; |
Property<int> mainWindowX; |
139 |
Property<int> scriptEditorWindowY; |
Property<int> scriptEditorWindowY; |
140 |
Property<int> scriptEditorWindowW; |
Property<int> scriptEditorWindowW; |
141 |
Property<int> scriptEditorWindowH; |
Property<int> scriptEditorWindowH; |
142 |
|
Property<int> scriptEditorFontSize; |
143 |
|
|
144 |
// settings of "DimensionManager" group |
// settings of "DimensionManager" group |
145 |
Property<int> dimensionManagerWindowX; |
Property<int> dimensionManagerWindowX; |
183 |
Property<int> sampleRefsWindowW; |
Property<int> sampleRefsWindowW; |
184 |
Property<int> sampleRefsWindowH; |
Property<int> sampleRefsWindowH; |
185 |
|
|
186 |
|
// settings of "MacroEditor" group |
187 |
|
Property<int> macroEditorWindowX; |
188 |
|
Property<int> macroEditorWindowY; |
189 |
|
Property<int> macroEditorWindowW; |
190 |
|
Property<int> macroEditorWindowH; |
191 |
|
|
192 |
|
// settings of "MacrosSetup" group |
193 |
|
Property<int> macrosSetupWindowX; |
194 |
|
Property<int> macrosSetupWindowY; |
195 |
|
Property<int> macrosSetupWindowW; |
196 |
|
Property<int> macrosSetupWindowH; |
197 |
|
|
198 |
static Settings* singleton(); |
static Settings* singleton(); |
199 |
Settings(); |
Settings(); |
200 |
void load(); |
void load(); |
201 |
|
void loadMacros(std::vector<Serialization::Archive>& macros); |
202 |
|
void saveMacros(const std::vector<Serialization::Archive>& macros); |
203 |
|
|
204 |
protected: |
protected: |
205 |
void onPropertyChanged(Glib::PropertyBase* pProperty, RawValueType_t type, Group_t group); |
void onPropertyChanged(Glib::PropertyBase* pProperty, RawValueType_t type, Group_t group); |