drumstick 2.9.0
C++ MIDI libraries using Qt objects, idioms, and style.
settingsfactory.h
Go to the documentation of this file.
1/*
2 Drumstick Widgets
3 Copyright (C) 2018-2023 Pedro Lopez-Cabanillas <plcl@users.sf.net>
4
5 This program is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation, either version 3 of the License, or
8 (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program. If not, see <http://www.gnu.org/licenses/>.
17*/
18
19#ifndef SETTINGS_H
20#define SETTINGS_H
21
22#include <QSettings>
23#include <QScopedPointer>
24#include "macros.h"
25
31#if defined(DRUMSTICK_STATIC)
32#define DRUMSTICK_WIDGETS_EXPORT
33#else
34#if defined(drumstick_widgets_EXPORTS)
35#define DRUMSTICK_WIDGETS_EXPORT Q_DECL_EXPORT
36#else
37#define DRUMSTICK_WIDGETS_EXPORT Q_DECL_IMPORT
38#endif
39#endif
40
47namespace drumstick { namespace widgets {
48
58class DRUMSTICK_WIDGETS_EXPORT SettingsFactory
59{
60public:
61 QSettings *getQSettings();
62 QSettings *operator->();
63 static void setFileName(const QString name);
64 static QString fileName();
65 static QSettings::Format format();
66
67private:
68 QScopedPointer<QSettings> m_settings{nullptr};
69 static QString s_fileName;
70};
71
73}} // namespace drumstick::widgets
74
75#endif // SETTINGS_H
The QSettings class provides persistent platform-independent application settings.
The SettingsFactory class holds a global QSettings object.
Drumstick common.
Definition: alsaclient.cpp:68