浏览代码

Merge branch 'ctksettings'

* ctksettings:
  ctkSettings now supports all QSettings constructors
Julien Finet 14 年之前
父节点
当前提交
4e93ee8257
共有 3 个文件被更改,包括 66 次插入8 次删除
  1. 12 2
      Libs/Widgets/Testing/Cpp/ctkSettingsTest1.cpp
  2. 35 5
      Libs/Widgets/ctkSettings.cpp
  3. 19 1
      Libs/Widgets/ctkSettings.h

+ 12 - 2
Libs/Widgets/Testing/Cpp/ctkSettingsTest1.cpp

@@ -35,13 +35,23 @@
 int ctkSettingsTest1(int argc, char * argv [] )
 {
   QApplication app(argc, argv);
+  app.setOrganizationName("CommonToolkit");
+  app.setOrganizationDomain("www.commontk.org");
+  app.setApplicationName("CTK");
+  QSettings::setDefaultFormat(QSettings::IniFormat);
+  // Test all the settings constructors
+  ctkSettings settings("CommonToolkit", "CTK", 0);
+  ctkSettings settings2(QSettings::UserScope, "CommonToolkit", "CTK", 0);
+  ctkSettings settings3(QSettings::IniFormat, QSettings::UserScope, "CommonToolkit", "CTK", 0);
+  ctkSettings settings4("foo", QSettings::IniFormat, 0);
+  ctkSettings settings5(0);
   
   QMainWindow mainWindow(0);
   mainWindow.show();
   
   mainWindow.move(123, 123);
   mainWindow.resize(640, 470);
-  ctkSettings settings("CTK", "CTK", 0);
+  
   settings.saveState(mainWindow,"");
   mainWindow.move(100, 100);
   mainWindow.resize(300, 200);
@@ -87,7 +97,7 @@ int ctkSettingsTest1(int argc, char * argv [] )
     return EXIT_FAILURE;
     }
     
-    if (argc < 2 || QString(argv[1]) != "-I" )
+  if (argc < 2 || QString(argv[1]) != "-I" )
     {
     QTimer::singleShot(200, &app, SLOT(quit()));
     }

+ 35 - 5
Libs/Widgets/ctkSettings.cpp

@@ -56,11 +56,41 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #include <QDesktopWidget>
 
 //-----------------------------------------------------------------------------
-ctkSettings::ctkSettings(
-    const QString& organization, 
-    const QString& application,
-    QObject* p) :
-  QSettings(QSettings::IniFormat, QSettings::UserScope, organization, application, p)
+ctkSettings::ctkSettings(const QString& organization,
+                         const QString& application,
+                         QObject* parentObject)
+  : QSettings(organization, application, parentObject)
+{
+}
+
+//-----------------------------------------------------------------------------
+ctkSettings::ctkSettings(QSettings::Scope scope,
+                         const QString& organization,
+                         const QString& application,
+                         QObject* parentObject)
+  : QSettings(scope, organization,application, parentObject)
+{
+}
+
+//-----------------------------------------------------------------------------
+ctkSettings::ctkSettings(QSettings::Format format,
+                         QSettings::Scope scope,
+                         const QString& organization,
+                         const QString& application,
+                         QObject* parentObject)
+  : QSettings(format, scope, organization, application, parentObject)
+{
+}
+
+//-----------------------------------------------------------------------------
+ctkSettings::ctkSettings(const QString& fileName, QSettings::Format format, QObject* parentObject)
+  : QSettings(fileName, format, parentObject)
+{
+}
+
+//-----------------------------------------------------------------------------
+ctkSettings::ctkSettings(QObject* parentObject)
+  : QSettings(parentObject)
 {
 }
 

+ 19 - 1
Libs/Widgets/ctkSettings.h

@@ -72,10 +72,28 @@ class CTK_WIDGETS_EXPORT ctkSettings : public QSettings
   Q_OBJECT
 
 public:
+  /// See \QSettings::QSettings(const QString& ,const QString& , QObject* )
   ctkSettings(
     const QString& organization,
     const QString& application,
-    QObject* p);
+    QObject* parent = 0);
+  /// See \QSettings::QSettings(QSettings::Scope ,const QString& ,const QString& , QObject* )
+  ctkSettings(
+    QSettings::Scope scope,
+    const QString& organization,
+    const QString& application = QString(),
+    QObject* parent = 0);
+  /// See \QSettings::QSettings(QSettings::Format ,QSettings::Scope ,const QString& ,const QString& , QObject* )
+  ctkSettings(
+    QSettings::Format format,
+    QSettings::Scope scope,
+    const QString& organization,
+    const QString& application = QString(),
+    QObject* parent = 0);
+  /// See \QSettings::QSettings(const QString& , QSettings::Format , QObject* )
+  ctkSettings(const QString& fileName, QSettings::Format format, QObject* parent = 0);
+  /// See \QSettings::QSettings(QObject*)
+  ctkSettings(QObject* parent = 0);
 
   /// Saves the position, size and layout of the QMainWindow
   void saveState(const QMainWindow& window, const QString& key);