소스 검색

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 년 전
부모
커밋
b3b35f105d
1개의 변경된 파일12개의 추가작업 그리고 2개의 파일을 삭제
  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