Sayonara Player
Loading...
Searching...
No Matches
SettingKey.h
1/* SettingKey.h */
2
3/* Copyright (C) 2011-2024 Michael Lugmair (Lucio Carreras)
4 *
5 * This file is part of sayonara player
6 *
7 * This program is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
11
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16
17 * You should have received a copy of the GNU General Public License
18 * along with this program. If not, see <http://www.gnu.org/licenses/>.
19 */
20
21// clazy:excludeall=non-pod-global-static
22
23#ifndef SAYONARA_PLAYER_SETTINGKEY_H
24#define SAYONARA_PLAYER_SETTINGKEY_H
25
26#include "Utils/typedefs.h"
27
28enum class SettingKey :
29 unsigned short
30{
31 AlternativeCovers_Size = 0,
32 AudioConvert_NumberThreads,
33 AudioConvert_PreferredConverter,
34 AudioConvert_QualityLameCBR,
35 AudioConvert_QualityLameVBR,
36 AudioConvert_QualityOgg,
37 Broadcast_Active,
38 Broadcast_Port,
39 Broadcast_Prompt,
40 Cover_FetchFromWWW,
41 Cover_SaveToDB,
42 Cover_SaveToLibrary,
43 Cover_SaveToSayonaraDir,
44 Cover_Server,
45 Cover_StartSearch,
46 Cover_TemplatePath,
47 Dir_ShowTracks,
48 Dir_SplitterDirFile,
49 Dir_SplitterTracks,
50 Dir_TagToFilenameExpression,
51 Engine_AlsaDevice,
52 Engine_BufferSizeMS,
53 Engine_CovertTargetPath,
54 Engine_CrossFaderActive,
55 Engine_CrossFaderTime,
56 Engine_CurTrackPos_s,
57 Engine_Mute,
58 Engine_Name,
59 Engine_Pitch,
60 Engine_PreservePitch,
61 Engine_SR_Active,
62 Engine_SR_AutoRecord,
63 Engine_SR_Path,
64 Engine_SR_SessionPath,
65 Engine_SR_SessionPathTemplate,
66 Engine_SR_Warning,
67 Engine_ShowLevel,
68 Engine_ShowSpectrum,
69 Engine_Sink,
70 Engine_SoundFileExtensions,
71 Engine_SpectrumBins,
72 Engine_Speed,
73 Engine_SpeedActive,
74 Engine_Vol,
75 Eq_Gauss,
76 Eq_Last,
77 Icon_ForceInDarkTheme,
78 Icon_Theme,
79 InfoDialog_Size,
80 InhibitIdle,
81 LFM_Active,
82 LFM_Corrections,
83 LFM_Login,
84 LFM_Password,
85 LFM_ScrobbleTimeSec,
86 LFM_SessionKey,
87 LFM_ShowErrors,
88 LFM_Username,
89 Level_Style,
90 Lib_AllLibraries,
91 Lib_AutoUpdate,
92 Lib_ColStateAlbums,
93 Lib_ColStateArtists,
94 Lib_ColStateTracks,
95 Lib_CoverOrigPMCache,
96 Lib_CoverScaledPMCache,
97 Lib_CoverScrollspeed,
98 Lib_CoverShowArtist,
99 Lib_CoverShowUtils,
100 Lib_CoverShowYear,
101 Lib_CoverShowDuration,
102 Lib_CoverZoom,
103 Lib_CurPlugin,
104 Lib_DC_DoNothing,
105 Lib_DC_PlayIfStopped,
106 Lib_DC_PlayImmediately,
107 Lib_DD_DoNothing,
108 Lib_DD_PlayIfStoppedAndEmpty,
109 Lib_FontBold,
110 Lib_GenreTree,
111 Lib_HeaderAutoResizeAlbums,
112 Lib_HeaderAutoResizeArtists,
113 Lib_HeaderAutoResizeTracks,
114 Lib_LastIndex,
115 Lib_LiveSearch,
116 Lib_OldWidth,
117 Lib_Path,
118 Lib_SearchMode,
119 Lib_SearchStringLength,
120 Lib_Show,
121 Lib_ShowAlbumArtists,
122 Lib_ShowAlbumCovers,
123 Lib_ShowFilterExtBar,
124 Lib_SortIgnoreArtistArticle,
125 Lib_SortModeMask,
126 Lib_Sorting,
127 Lib_SplitterStateArtist,
128 Lib_SplitterStateDate,
129 Lib_SplitterStateGenre,
130 Lib_SplitterStateTrack,
131 Lib_UseViewClearButton,
132 Lib_ViewType,
133 Logger_Level,
134 Lyrics_Server,
135 Lyrics_Zoom,
136 MP3enc_found,
137 Notification_Name,
138 Notification_Show,
139 Notification_Timeout,
140 PL_CreateFilesystemPlaylist,
141 PL_CurrentTrackColorStringDark,
142 PL_CurrentTrackColorStringStandard,
143 PL_CurrentTrackCustomColorDark,
144 PL_CurrentTrackCustomColorStandard,
145 PL_EntryLook,
146 PL_FilesystemPlaylistName,
147 PL_JumpToCurrentTrack,
148 PL_LastPlaylist,
149 PL_LastTrack,
150 PL_LastTrackBeforeStop,
151 PL_LoadLastTrack,
152 PL_LoadRecentPlaylists,
153 PL_LoadSavedPlaylists,
154 PL_LoadTemporaryPlaylists,
155 PL_Mode,
156 PL_ModificatorAllowDynamicPlayback,
157 PL_ModificatorAllowRearrangeMethods,
158 PL_PlayTrackAfterSearch,
159 PL_RecentPlaylists,
160 PL_RememberTime,
161 PL_RememberTrackAfterStop,
162 PL_ShowBottomBar,
163 PL_ShowClearButton,
164 PL_ShowCovers,
165 PL_ShowNumbers,
166 PL_ShowRating,
167 PL_SpecifyFileystemPlaylistName,
168 PL_StartPlaying,
169 PL_StartPlayingWorkaround_Issue263,
170 PL_StartAtRandomTrackOnShuffle,
171 PL_ShowConfirmationOnClose,
172 Pitch_found,
173 Player_514Fix,
174 Player_ControlStyle,
175 Player_FadingCover,
176 Player_ForceNativeDirDialog,
177 Player_Fullscreen,
178 Player_Geometry,
179 Player_Language,
180 Player_Maximized,
181 Player_Min2Tray,
182 Player_NotifyNewVersion,
183 Player_OneInstance,
184 Player_PrivId,
185 Player_PublicId,
186 Player_ShowTrayIcon,
187 Player_ShownPlugin,
188 Player_SplitterControls,
189 Player_SplitterState,
190 Player_StartInTray,
191 Player_Style,
192 Player_Version,
193 Proxy_Active,
194 Proxy_Hostname,
195 Proxy_Password,
196 Proxy_Port,
197 Proxy_SavePw,
198 Proxy_Username,
199 Remote_Active,
200 Remote_DiscoverPort,
201 Remote_Discoverable,
202 Remote_Port,
203 Settings_Revision,
204 Soundcloud_AuthToken,
205 Spectrum_Style,
206 Speed_LastTab,
207 Speed_MaxValue,
208 Speed_MinValue,
209 Speed_ShowSteps,
210 Speed_Step,
211 Stream_LockedPlaylistByDefault,
212 Stream_NewTab,
213 Stream_SearchWindowSize,
214 Stream_ShowHistory,
215 Stream_UpdateMetadata,
216 Stream_RadioSearcher,
217 Stream_RadioSearcherType,
218 Tagging_UseSelectiveTagging,
219 Num_Setting_Keys
220};
221
222class QString;
223class QStringList;
224class QPoint;
225class QSize;
226class QByteArray;
227
228class EqualizerSetting;
229struct RawShortcutMap;
230
231namespace Playlist
232{
233 class Mode;
234}
235
236namespace Library
237{
238 struct Sortings;
239 class Info;
240 enum class ViewType :
241 quint8;
242}
243
244template<typename DataType, SettingKey keyIndex>
246{
247 using Data [[maybe_unused]] = DataType;
248 const static SettingKey key = keyIndex;
249
250 SettingIdentifier() = delete;
251 ~SettingIdentifier() = delete;
252};
253
254// NOLINTNEXTLINE(cppcoreguidelines-macro-usage)
255#define CreateSetting(settingkey, type); \
256 using settingkey = SettingIdentifier<type, SettingKey:: settingkey> // NOLINT(bugprone-macro-parentheses)
257
258namespace Set
259{ // persistent settings
260 //@formatter:off
261 CreateSetting(AlternativeCovers_Size, QSize); // Size of Alternative Cover Dialog
262 CreateSetting(AudioConvert_NumberThreads, int); // Number of threads
263 CreateSetting(AudioConvert_PreferredConverter, QString); // Preferred Converter: ogg, lame cbr, lame vbr
264 CreateSetting(AudioConvert_QualityLameCBR, int); // 64 - 320
265 CreateSetting(AudioConvert_QualityLameVBR, int); // Lame Quality for variable bitrate 1-10
266 CreateSetting(AudioConvert_QualityOgg, int); // 1 - 10
267 CreateSetting(Broadcast_Active, bool); // is broadcast active?
268 CreateSetting(Broadcast_Port, int); // broadcast port
269 CreateSetting(Broadcast_Prompt, bool); // prompt when new connection arrives?
270 CreateSetting(Cover_FetchFromWWW, bool); // Fetch covers from www
271 CreateSetting(Cover_SaveToDB, bool); // Save covers to DB
272 CreateSetting(Cover_SaveToLibrary, bool); // Save covers in library
273 CreateSetting(Cover_SaveToSayonaraDir, bool); // Save covers in library
274 CreateSetting(Cover_Server, QStringList); // Cover server
275 CreateSetting(Cover_StartSearch, bool); // start alternative cover search automatically
276 CreateSetting(Cover_TemplatePath, QString); // Name of cover file in library
277 CreateSetting(Dir_ShowTracks, bool); // show tracks panel in directory view
278 CreateSetting(Dir_SplitterDirFile, QByteArray); // Splitter state between dirs and files
279 CreateSetting(Dir_SplitterTracks, QByteArray); // Splitter between upper and track view
280 CreateSetting(Dir_TagToFilenameExpression, QString); // Last used expression when converting tags to filename
281 CreateSetting(Engine_AlsaDevice, QString); // Specific alsa device
282 CreateSetting(Engine_BufferSizeMS, int); // Buffer size for streaming
283 CreateSetting(Engine_CovertTargetPath, QString); // last convert path
284 CreateSetting(Engine_CrossFaderActive, bool); // crossfader, but not gapless active
285 CreateSetting(Engine_CrossFaderTime, int); // crossfader overlap time
286 CreateSetting(Engine_CurTrackPos_s, int); // position of track (used to load old position)
287 CreateSetting(Engine_Mute, bool); // Muted/unmuted
288 CreateSetting(Engine_Name, QString); // Deprecated: Engine name
289 CreateSetting(Engine_Pitch, int); // hertz of a
290 CreateSetting(Engine_PreservePitch, bool); // if yes, should pitch be preserved?
291 CreateSetting(Engine_SR_Active, bool); // Streamripper active
292 CreateSetting(Engine_SR_AutoRecord, bool); // streamripper automatic recording
293 CreateSetting(Engine_SR_Path, QString); // streamripper paths
294 CreateSetting(Engine_SR_SessionPath, bool); // create streamripper session path?
295 CreateSetting(Engine_SR_SessionPathTemplate, QString); // streamripper session path templat
296 CreateSetting(Engine_SR_Warning, bool); // streamripper warnings
297 CreateSetting(Engine_ShowLevel, bool); // show level
298 CreateSetting(Engine_ShowSpectrum, bool); // show spectrum
299 CreateSetting(Engine_Sink, QString); // Alsa, pulseaudio
300 CreateSetting(Engine_SoundFileExtensions, QStringList); // additional file extensions
301 CreateSetting(Engine_SpectrumBins, int); // number of spectrum bins
302 CreateSetting(Engine_Speed, float); // if yes, set speed
303 CreateSetting(Engine_SpeedActive, bool); // is speed control active?
304 CreateSetting(Engine_Vol, int); // Volume
305 CreateSetting(Eq_Gauss, bool); // do curve, when changing eq setting
306 CreateSetting(Eq_Last, int); // last equalizer index
307 CreateSetting(Icon_ForceInDarkTheme, bool); // Current icon theme
308 CreateSetting(Icon_Theme, QString); // Current icon theme
309 CreateSetting(InfoDialog_Size, QSize); // Size of Info Dialog
310 CreateSetting(InhibitIdle, bool); // Avoid suspend/hibernate while playing music
311 CreateSetting(LFM_Active, bool); // is lastFM active?
312 CreateSetting(LFM_Corrections, bool); // propose lfm corrections
313 CreateSetting(LFM_Login, StringPair); // deprecated: 2-Tupel, username, password
314 CreateSetting(LFM_Password, QString); // encrypted password
315 CreateSetting(LFM_ScrobbleTimeSec, int); // time in sec when to scrobble
316 CreateSetting(LFM_SessionKey, QString); // lfm session key
317 CreateSetting(LFM_ShowErrors, bool); // get error message, if there are lfm problems
318 CreateSetting(LFM_Username, QString); // usernam
319 CreateSetting(Level_Style, int); // index of level style
320 CreateSetting(Lib_AllLibraries, QList<Library::Info>); // deprecated
321 CreateSetting(Lib_AutoUpdate, bool); // Automatic update of library
322 CreateSetting(Lib_ColStateAlbums, QByteArray); // Header state of albums
323 CreateSetting(Lib_ColStateArtists, QByteArray); // Header state of artists
324 CreateSetting(Lib_ColStateTracks, QByteArray); // Header state of tracks
325 CreateSetting(Lib_CoverOrigPMCache, int); // Original sized pixmap cache
326 CreateSetting(Lib_CoverScaledPMCache, int); // Scaled sized pixmap cache
327 CreateSetting(Lib_CoverScrollspeed, int); // Scrollspeed of cover view
328 CreateSetting(Lib_CoverShowArtist, bool); // Show artist name in cover view
329 CreateSetting(Lib_CoverShowYear, bool); // Show year in cover view
330 CreateSetting(Lib_CoverShowDuration, bool); // Show duration in cover view
331 CreateSetting(Lib_CoverShowUtils, bool); // Show utils bar in cover view
332 CreateSetting(Lib_CoverZoom, int); // Zoom of album cover view
333 CreateSetting(Lib_CurPlugin, QString); // Current shown library plugin
334 CreateSetting(Lib_DC_DoNothing, bool); // when double clicked, create playlist and do nothin
335 CreateSetting(Lib_DC_PlayIfStopped, bool); // when double clicked, play if stopped
336 CreateSetting(Lib_DC_PlayImmediately, bool); // when double clicked, play immediately
337 CreateSetting(Lib_DD_DoNothing, bool); // when drag dropped, insert tracks and do nothing
338 CreateSetting(Lib_DD_PlayIfStoppedAndEmpty, bool); // when drag dropped, play if playlist is empty and stopped
339 CreateSetting(Lib_FontBold, bool); // bold fonts in library
340 CreateSetting(Lib_GenreTree, bool); // Show tree view of genres
341 CreateSetting(Lib_HeaderAutoResizeAlbums, bool); // resize columns automatically in albums
342 CreateSetting(Lib_HeaderAutoResizeArtists, bool); // resize columns automatically in artists
343 CreateSetting(Lib_HeaderAutoResizeTracks, bool); // resize columns automatically in tracks
344 CreateSetting(Lib_LastIndex, int); // Last selected library
345 CreateSetting(Lib_LiveSearch, bool); // library live search
346 CreateSetting(Lib_OldWidth, int); // Old library width when hiding library
347 CreateSetting(Lib_Path, QString); // deprecated
348 CreateSetting(Lib_SearchMode, int); // Search mode in library. See
349 CreateSetting(Lib_SearchStringLength, int); // minimum length of search string
350 CreateSetting(Lib_Show, bool); // show library
351 CreateSetting(Lib_ShowAlbumArtists, bool); // Show album artists instead of artists
352 CreateSetting(Lib_ShowAlbumCovers, bool); // Show album cover view
353 CreateSetting(Lib_ShowFilterExtBar, bool); // Show the file extension filter bar in track view
354 CreateSetting(Lib_SortIgnoreArtistArticle, bool); // ignore article for artist
355 CreateSetting(Lib_SortModeMask, int); // additional attributes applied to sorting
356 CreateSetting(Lib_Sorting, Library::Sortings); // how to sort in lib
357 CreateSetting(Lib_SplitterStateArtist, QByteArray); // Splitter state between artists and albums
358 CreateSetting(Lib_SplitterStateDate, QByteArray); // Splitter state between tracks and genres
359 CreateSetting(Lib_SplitterStateGenre, QByteArray); // Splitter state between tracks and genres
360 CreateSetting(Lib_SplitterStateTrack, QByteArray); // Splitter state between artists and tracks
361 CreateSetting(Lib_UseViewClearButton, bool); // Show clear button in single view
362 CreateSetting(Lib_ViewType, Library::ViewType); // Standard view, CoverView, LibraryView
363 CreateSetting(Logger_Level, int); // Also log development:
364 CreateSetting(Lyrics_Server, QString); // Lyrics server
365 CreateSetting(Lyrics_Zoom, int); // Zoom factor in lyrics window
366 CreateSetting(Notification_Name, QString); // type of notifications: libnotify or empty for native baloons
367 CreateSetting(Notification_Show, bool); // show notifications
368 CreateSetting(Notification_Timeout, int); // notification timeout
369 CreateSetting(PL_CurrentTrackColorStringDark, QString); // custom color in dark theme
370 CreateSetting(PL_CurrentTrackColorStringStandard, QString); // custom color string in standard theme
371 CreateSetting(PL_CurrentTrackCustomColorDark, bool); // use custom color in dark theme
372 CreateSetting(PL_CurrentTrackCustomColorStandard, bool); // use custom color in standard theme
373 CreateSetting(PL_EntryLook, QString); // formatting of playlist entry
374 CreateSetting(PL_JumpToCurrentTrack, bool); // jump to current track when track changes
375 CreateSetting(PL_LastPlaylist, int); // last Playlist id, where LastTrack has been played
376 CreateSetting(PL_LastTrack, int); // last track idx in playlist
377 CreateSetting(PL_LastTrackBeforeStop, int); // last track before stop
378 CreateSetting(PL_LoadLastTrack, bool); // load last track on startup
379 CreateSetting(PL_LoadSavedPlaylists, bool); // load saved playlists on startup
380 CreateSetting(PL_LoadTemporaryPlaylists, bool); // load temporary playlists on startus
381 CreateSetting(PL_CreateFilesystemPlaylist, bool); // create an extra playlist when loading files from file system
382 CreateSetting(PL_SpecifyFileystemPlaylistName, bool); // when creating playlist from files, choose special name
383 CreateSetting(PL_FilesystemPlaylistName, QString); // name of the file system playlist
384 CreateSetting(PL_LoadRecentPlaylists, bool); // load recent playlists
385 CreateSetting(PL_Mode, Playlist::Mode); // playlist mode: rep1, repAll, shuffle...
386 CreateSetting(PL_ModificatorAllowDynamicPlayback, bool);
387 CreateSetting(PL_ModificatorAllowRearrangeMethods, bool);
388 CreateSetting(PL_PlayTrackAfterSearch, bool); // play track after search is done
389 CreateSetting(PL_RecentPlaylists, QList<int>);
390 CreateSetting(PL_RememberTime, bool); // remember time of last track
391 CreateSetting(PL_RememberTrackAfterStop, bool); // when stop button is pressed, remember last track index
392 CreateSetting(PL_ShowBottomBar, bool); // Show bottom bar in playlist
393 CreateSetting(PL_ShowClearButton, bool); // show clear button in playlist
394 CreateSetting(PL_ShowCovers, bool); // Show covers in Playlist
395 CreateSetting(PL_ShowNumbers, bool); // show numbers in playlist
396 CreateSetting(PL_ShowRating, bool); // Show rating in playlist
397 CreateSetting(PL_StartAtRandomTrackOnShuffle, bool); // start randomly when playlist in shuffle mode
398 CreateSetting(PL_StartPlaying, bool); // start playing immediately when opening Sayonara
399 CreateSetting(PL_StartPlayingWorkaround_Issue263, bool); // issue #263
400 CreateSetting(PL_ShowConfirmationOnClose, bool);
401 CreateSetting(Player_514Fix, bool); // https://bugs.archlinux.org/task/59451
402 CreateSetting(Player_ControlStyle, int); // Big cover or not
403 CreateSetting(Player_FadingCover, bool); // If cover buttons should fade
404 CreateSetting(Player_ForceNativeDirDialog, bool); // Under some environments, native dir dialog is disabled
405 CreateSetting(Player_Fullscreen, bool); // player fullscreen
406 CreateSetting(Player_Geometry, QByteArray); // player geometry
407 CreateSetting(Player_Language, QString); // language of player
408 CreateSetting(Player_Maximized, bool); // player maximized
409 CreateSetting(Player_Min2Tray, bool); // minimize Sayonara to tray
410 CreateSetting(Player_NotifyNewVersion, bool); // check for new version on startup
411 CreateSetting(Player_OneInstance, bool); // only one Sayonara instance is allowed
412 CreateSetting(Player_PrivId, QByteArray); // Unique identifier
413 CreateSetting(Player_PublicId, QByteArray); // Unique identifier
414 CreateSetting(Player_ShowTrayIcon, bool); // Show/hide the tray icon
415 CreateSetting(Player_ShownPlugin, QString); // current shown plugin in player, empty if none
416 CreateSetting(Player_SplitterControls, QByteArray); // Splitter state between controls and playlist
417 CreateSetting(Player_SplitterState, QByteArray); // spliter state between playlist and library
418 CreateSetting(Player_StartInTray, bool); // start in tray
419 CreateSetting(Player_Style, int); // dark or native: native = 0, dark = 1
420 CreateSetting(Player_Version, QString); // Version string of player
421 CreateSetting(Proxy_Active, bool); // Is proxy server active
422 CreateSetting(Proxy_Hostname, QString); // Proxy Hostname/IP Address
423 CreateSetting(Proxy_Password, QString); // Proxy Password
424 CreateSetting(Proxy_Port, int); // Proxy Port 3128
425 CreateSetting(Proxy_SavePw, bool); // Should password be saved
426 CreateSetting(Proxy_Username, QString); // Proxy Username
427 CreateSetting(Remote_Active, bool); // Remote control activated
428 CreateSetting(Remote_DiscoverPort, int); // UDP port for remote discovering
429 CreateSetting(Remote_Discoverable, bool); // broadcast is discoverable via UDP
430 CreateSetting(Remote_Port, int); // Remote control port
431 CreateSetting(Settings_Revision, int); // Version number of settings
432 CreateSetting(Spectrum_Style, int); // index of spectrum style
433 CreateSetting(Speed_LastTab, int); // Last tab selected int he speed/pitch plugin
434 CreateSetting(Speed_MaxValue, int) // Maximum value for speed range slider [101-10000]
435 CreateSetting(Speed_MinValue, int) // Minimum value for speed range slider [1-99]
436 CreateSetting(Speed_ShowSteps, bool); // Show speed step buttons in speed plugin
437 CreateSetting(Speed_Step, int); // [0-100]
438 CreateSetting(Stream_LockedPlaylistByDefault, bool); // should a stream playlist be locked by default?
439 CreateSetting(Stream_NewTab, bool); // Open Streams in new tab
440 CreateSetting(Stream_RadioSearcher, QString); // Last radio searcher service
441 CreateSetting(Stream_RadioSearcherType, int); // 0 = by name, 1 = by genre
442 CreateSetting(Stream_SearchWindowSize, QSize); // Size of the stream search dialog
443 CreateSetting(Stream_ShowHistory, bool); // Show history when playing streams
444 CreateSetting(Stream_UpdateMetadata, bool); // Update metadata (can be changed for each stream individually)
445 CreateSetting(Tagging_UseSelectiveTagging, bool); // Only updated changed fields
446 //@formatter:off
447}
448
449namespace SetNoDB
450{ // non-persistent settings
451 CreateSetting(MP3enc_found, bool); // is mp3 encoder available?
452 CreateSetting(Pitch_found, bool); // is pitch element available?
453 CreateSetting(Soundcloud_AuthToken, QString); // soundcloud authentication token
454}
455#endif // SAYONARA_PLAYER_SETTINGKEY_H
The EQ_Setting class. Container for Equalizer configurations.
Definition EqualizerSetting.h:35
The Mode class.
Definition PlaylistMode.h:42
Definition EngineUtils.h:33
Definition Sorting.h:32
Definition typedefs.h:33
The RawShortcutMap struct consisting of a specifier writable into database and a shortcut....
Definition RawShortcutMap.h:38
Definition SettingKey.h:246