ctkDICOMImportWidget.cpp 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. //ctkDICOMCore includes
  2. #include "ctkDICOMDatabase.h"
  3. // ctkDICOMWidgets includes
  4. #include "ctkDICOMImportWidget.h"
  5. #include "ui_ctkDICOMImportWidget.h"
  6. // STD includes
  7. #include <iostream>
  8. //Qt includes
  9. #include <QFileSystemModel>
  10. //----------------------------------------------------------------------------
  11. class ctkDICOMImportWidgetPrivate: public Ui_ctkDICOMImportWidget
  12. {
  13. public:
  14. ctkDICOMImportWidgetPrivate(){}
  15. QFileSystemModel* FileSystemModel;
  16. ctkDICOMDatabase* DICOMDatabase;
  17. };
  18. //----------------------------------------------------------------------------
  19. // ctkDICOMImportWidgetPrivate methods
  20. //----------------------------------------------------------------------------
  21. // ctkDICOMImportWidget methods
  22. //----------------------------------------------------------------------------
  23. ctkDICOMImportWidget::ctkDICOMImportWidget(QWidget* _parent):Superclass(_parent),
  24. d_ptr(new ctkDICOMImportWidgetPrivate)
  25. {
  26. Q_D(ctkDICOMImportWidget);
  27. d->setupUi(this);
  28. d->DirectoryWidget->setDirectory(QDir::homePath());
  29. d->FileSystemModel = new QFileSystemModel(this);
  30. d->FileSystemModel->setRootPath(QDir::homePath());
  31. d->directoryList->setModel(d->FileSystemModel);
  32. d->directoryList->setRootIndex(d->FileSystemModel->index(QDir::homePath()));
  33. //connect signals and slots
  34. connect(d->DirectoryWidget, SIGNAL(directoryChanged(const QString&)), this, SLOT(onTopDirectoryChanged(const QString&)));
  35. }
  36. //----------------------------------------------------------------------------
  37. ctkDICOMImportWidget::~ctkDICOMImportWidget()
  38. {
  39. Q_D(ctkDICOMImportWidget);
  40. d->FileSystemModel->deleteLater();
  41. }
  42. void ctkDICOMImportWidget::onOK(){
  43. this->close();
  44. }
  45. void ctkDICOMImportWidget::onCancel(){
  46. this->close();
  47. }
  48. void ctkDICOMImportWidget::onTopDirectoryChanged(const QString& path){
  49. Q_D(ctkDICOMImportWidget);
  50. d->directoryList->setRootIndex(d->FileSystemModel->index(path));
  51. }
  52. void ctkDICOMImportWidget::setDICOMDatabase(ctkDICOMDatabase* database){
  53. Q_D(ctkDICOMImportWidget);
  54. d->DICOMDatabase = database;
  55. }