Browse Source

Manage database settings inside ctkDICOMAppWidget

the ctkDICOM application still takes command line arguments
to set a directory, but this way the app widget can be used
on its own to save/restore the directory and to initialize
to a default if nothing is set.
Steve Pieper 14 years ago
parent
commit
b3b35f105d
1 changed files with 12 additions and 2 deletions
  1. 12 2
      Libs/DICOM/Widgets/ctkDICOMAppWidget.cpp

+ 12 - 2
Libs/DICOM/Widgets/ctkDICOMAppWidget.cpp

@@ -77,8 +77,18 @@ ctkDICOMAppWidget::ctkDICOMAppWidget(QWidget* _parent):Superclass(_parent),
   d->QueryRetrieveWidget = new ctkDICOMQueryRetrieveWidget();
   d->QueryRetrieveWidget->setWindowModality ( Qt::ApplicationModal );
 
-  //initialize default directory, then listen for changes
-  this->setDatabaseDirectory(d->directoryButton->directory());
+  //initialize directory from settings, then listen for changes
+  QSettings settings;
+  if ( settings.value("DatabaseDirectory", "") == "" )
+    {
+    QString directory = QString("./ctkDICOM-Database");
+    settings.setValue("DatabaseDirectory", directory);
+    settings.sync();
+    }
+  QString databaseDirectory = settings.value("DatabaseDirectory").toString();
+  this->setDatabaseDirectory(databaseDirectory);
+  d->directoryButton->setDirectory(databaseDirectory);
+
   connect(d->directoryButton, SIGNAL(directoryChanged(const QString&)), this, SLOT(setDatabaseDirectory(const QString&)));
 
   //Initialize import widget