/[svn]/gigedit/trunk/src/gigedit/Settings.h
ViewVC logotype

Diff of /gigedit/trunk/src/gigedit/Settings.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2891 by schoenebeck, Tue Apr 26 17:42:26 2016 UTC revision 3711 by schoenebeck, Fri Jan 10 14:22:25 2020 UTC
# Line 1  Line 1 
1  /*  /*
2      Copyright (c) 2014-2016 Christian Schoenebeck      Copyright (c) 2014-2020 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.
6  */  */
# Line 12  Line 12 
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.
# Line 36  public: Line 37  public:
37       * All settings are grouped into these settings groups.       * All settings are grouped into these settings groups.
38       */       */
39      enum Group_t {      enum Group_t {
40          GLOBAL          GLOBAL,
41            MAIN_WINDOW,
42            SCRIPT_EDITOR,
43            DIMENSION_MANAGER,
44            SCRIPT_SLOTS,
45            COMBINE_INSTRUMENTS,
46            MIDI_RULES,
47            FILE_PROPS,
48            INSTR_PROPS,
49            SAMPLE_PROPS,
50            SAMPLE_REFS,
51            MACRO_EDITOR,
52            MACROS_SETUP,
53            MACROS,
54      };      };
55    
56      /**      /**
# Line 59  public: Line 73  public:
73                  sigc::bind(                  sigc::bind(
74                      sigc::bind(                      sigc::bind(
75                          sigc::bind(                          sigc::bind(
76                              sigc::mem_fun(m_settings, &Settings::onPropertyChanged),                              sigc::mem_fun(*m_settings, &Settings::onPropertyChanged),
77                              m_group                              m_group
78                          ),                          ),
79                          type                          type
# Line 79  public: Line 93  public:
93                  sigc::bind(                  sigc::bind(
94                      sigc::bind(                      sigc::bind(
95                          sigc::bind(                          sigc::bind(
96                              sigc::mem_fun(m_settings, &Settings::onPropertyChanged),                              sigc::mem_fun(*m_settings, &Settings::onPropertyChanged),
97                              m_group                              m_group
98                          ),                          ),
99                          type                          type
# Line 108  public: Line 122  public:
122          Group_t m_group;          Group_t m_group;
123      };      };
124    
125        // settings of "Global" group
126      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
127      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
128      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
129        Property<bool> autoRestoreWindowDimension;
130        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.
131        Property<bool> showTooltips; ///< Whether tooltips specifically intended for newbies should be displayed throughout the application (default: yes).
132        Property<bool> instrumentDoubleClickOpensProps; ///< If enabled then double clicking on an instrument of the instruments list view will show the selected instrument's properties dialog.
133    
134        // settings of "MainWindow" group
135        Property<int> mainWindowX;
136        Property<int> mainWindowY;
137        Property<int> mainWindowW;
138        Property<int> mainWindowH;
139    
140        // settings of "ScriptEditor" group
141        Property<int> scriptEditorWindowX;
142        Property<int> scriptEditorWindowY;
143        Property<int> scriptEditorWindowW;
144        Property<int> scriptEditorWindowH;
145        Property<int> scriptEditorFontSize;
146    
147        // settings of "DimensionManager" group
148        Property<int> dimensionManagerWindowX;
149        Property<int> dimensionManagerWindowY;
150        Property<int> dimensionManagerWindowW;
151        Property<int> dimensionManagerWindowH;
152    
153        // settings of "ScriptSlots" group
154        Property<int> scriptSlotsWindowX;
155        Property<int> scriptSlotsWindowY;
156        Property<int> scriptSlotsWindowW;
157        Property<int> scriptSlotsWindowH;
158    
159        // settings of "CombineInstruments" group
160        Property<int> combineInstrumentsWindowX;
161        Property<int> combineInstrumentsWindowY;
162        Property<int> combineInstrumentsWindowW;
163        Property<int> combineInstrumentsWindowH;
164    
165        // settings of "MidiRules" group
166        Property<int> midiRulesWindowX;
167        Property<int> midiRulesWindowY;
168        Property<int> midiRulesWindowW;
169        Property<int> midiRulesWindowH;
170    
171        // settings of "FileProps" group
172        Property<int> filePropsWindowX;
173        Property<int> filePropsWindowY;
174        Property<int> filePropsWindowW;
175        Property<int> filePropsWindowH;
176    
177        // settings of "InstrProps" group
178        Property<int> instrPropsWindowX;
179        Property<int> instrPropsWindowY;
180        Property<int> instrPropsWindowW;
181        Property<int> instrPropsWindowH;
182    
183        // settings of "SampleProps" group
184        Property<int> samplePropsWindowX;
185        Property<int> samplePropsWindowY;
186        Property<int> samplePropsWindowW;
187        Property<int> samplePropsWindowH;
188    
189        // settings of "SampleRefs" group
190        Property<int> sampleRefsWindowX;
191        Property<int> sampleRefsWindowY;
192        Property<int> sampleRefsWindowW;
193        Property<int> sampleRefsWindowH;
194    
195        // settings of "MacroEditor" group
196        Property<int> macroEditorWindowX;
197        Property<int> macroEditorWindowY;
198        Property<int> macroEditorWindowW;
199        Property<int> macroEditorWindowH;
200    
201        // settings of "MacrosSetup" group
202        Property<int> macrosSetupWindowX;
203        Property<int> macrosSetupWindowY;
204        Property<int> macrosSetupWindowW;
205        Property<int> macrosSetupWindowH;
206    
207      static Settings* singleton();      static Settings* singleton();
208      Settings();      Settings();
209      void load();      void load();
210        void loadMacros(std::vector<Serialization::Archive>& macros);
211        void saveMacros(const std::vector<Serialization::Archive>& macros);
212    
213  protected:  protected:
214      void onPropertyChanged(Glib::PropertyBase* pProperty, RawValueType_t type, Group_t group);      void onPropertyChanged(Glib::PropertyBase* pProperty, RawValueType_t type, Group_t group);

Legend:
Removed from v.2891  
changed lines
  Added in v.3711

  ViewVC Help
Powered by ViewVC