settingsproviderqt.h
1 //------------------------------------------------------------------------------
2 // settingproviderqt.h
3 //------------------------------------------------------------------------------
4 // Copyright 2011 - 2013 Zalewa <zalewapl@gmail.com>. All rights reserved.
5 //
6 // Redistribution and use in source and binary forms, with or without
7 // modification, are permitted provided that the following conditions are met:
8 //
9 // 1. Redistributions of source code must retain the above copyright notice,
10 // this list of conditions and the following disclaimer.
11 //
12 // 2. Redistributions in binary form must reproduce the above copyright
13 // notice, this list of conditions and the following disclaimer in
14 // the documentation and/or other materials provided with
15 // the distribution.
16 //
17 // THIS SOFTWARE IS PROVIDED BY ZALEWA ``AS IS'' AND ANY EXPRESS OR IMPLIED
18 // WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
19 // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
20 // EVENT SHALL ZALEWA OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
21 // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
22 // BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
23 // SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
25 // STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
26 // WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
27 // OF SUCH DAMAGE.
28 //
29 // The views and conclusions contained in the software and documentation are
30 // those of the authors and should not be interpreted as representing official
31 // policies, either expressed or implied, of Zalewa.
32 //------------------------------------------------------------------------------
33 // Copyright (C) 2013 "Zalewa" <zalewapl@gmail.com>
34 //------------------------------------------------------------------------------
35 #ifndef idB4E0ED4E_CB13_4106_84A03E8713EF4A09
36 #define idB4E0ED4E_CB13_4106_84A03E8713EF4A09
37 
38 #include "ini/settingsprovider.h"
39 #include "dptr.h"
40 #include <QSettings>
41 
45 class MAIN_EXPORT SettingsProviderQt : public SettingsProvider
46 {
47  public:
48  SettingsProviderQt(QSettings* target);
49  virtual ~SettingsProviderQt();
50 
51  QStringList allKeys() const;
52  QStringList allSections() const;
53  bool hasKey(const QString& key) const;
54  void remove(const QString& key);
55  void setValue(const QString& key, const QVariant& value);
56  QVariant value(const QString& key, QVariant defValue = QVariant()) const;
57 
58  private:
60 };
61 
62 #endif // header