42 #include "babymegprojectdialog.h"
43 #include "ui_babymegprojectdialog.h"
45 #include "../babymeg.h"
53 #include <QFileDialog>
58 #include <QInputDialog>
74 BabyMEGProjectDialog::BabyMEGProjectDialog(
BabyMEG* p_pBabyMEG, QWidget *parent)
75 : m_pBabyMEG(p_pBabyMEG)
84 connect(ui->m_qComboBox_ProjectSelection,static_cast<void (QComboBox::*)(
const QString&)>(&QComboBox::currentIndexChanged),
85 this,&BabyMEGProjectDialog::selectNewProject);
87 connect(ui->m_qComboBox_SubjectSelection,static_cast<void (QComboBox::*)(
const QString&)>(&QComboBox::currentIndexChanged),
88 this,&BabyMEGProjectDialog::selectNewSubject);
90 connect(ui->m_qLineEditParadigm,&QLineEdit::textChanged,
91 this,&BabyMEGProjectDialog::paradigmChanged);
93 connect(ui->m_qPushButtonNewProject,&QPushButton::clicked,
94 this,&BabyMEGProjectDialog::addProject);
96 connect(ui->m_qPushButtonNewSubject,&QPushButton::clicked,
97 this,&BabyMEGProjectDialog::addSubject);
99 ui->m_qLineEditFileName->setReadOnly(
true);
114 BabyMEGProjectDialog::~BabyMEGProjectDialog()
122 void BabyMEGProjectDialog::addProject()
125 QString sProject = QInputDialog::getText(
this, tr(
"Add new Project"),
126 tr(
"Add new Project:"), QLineEdit::Normal,
127 tr(
"NewProject"), &ok);
128 if (ok && !sProject.isEmpty())
130 if(!QDir(m_pBabyMEG->m_sBabyMEGDataPath+
"/" + sProject).exists())
131 QDir().mkdir(m_pBabyMEG->m_sBabyMEGDataPath+
"/"+sProject);
133 m_pBabyMEG->m_sCurrentProject = sProject;
142 void BabyMEGProjectDialog::addSubject()
145 QString sSubject = QInputDialog::getText(
this, tr(
"Add new Subject"),
146 tr(
"Add new Subject:"), QLineEdit::Normal,
147 tr(
"NewSubject"), &ok);
149 if (ok && !sSubject.isEmpty())
151 if(!QDir(m_pBabyMEG->m_sBabyMEGDataPath +
"/" + m_pBabyMEG->m_sCurrentProject +
"/" + sSubject).exists())
152 QDir().mkdir(m_pBabyMEG->m_sBabyMEGDataPath +
"/" + m_pBabyMEG->m_sCurrentProject +
"/" + sSubject);
154 m_pBabyMEG->m_sCurrentSubject = sSubject;
163 void BabyMEGProjectDialog::paradigmChanged(
const QString &newParadigm)
165 m_pBabyMEG->m_sCurrentParadigm = newParadigm;
172 void BabyMEGProjectDialog::scanForProjects()
175 ui->m_qComboBox_ProjectSelection->clear();
176 m_sListProjects.clear();
178 QDir t_qDirData(m_pBabyMEG->m_sBabyMEGDataPath);
180 QFileInfoList t_qFileInfoList = t_qDirData.entryInfoList();
181 QFileInfoList::const_iterator it;
182 for (it = t_qFileInfoList.constBegin(); it != t_qFileInfoList.constEnd(); ++it)
183 if(it->isDir() && it->fileName() !=
"." && it->fileName() !=
"..")
184 m_sListProjects.append(it->fileName());
186 ui->m_qComboBox_ProjectSelection->insertItems(0,m_sListProjects);
187 ui->m_qComboBox_ProjectSelection->setCurrentIndex(ui->m_qComboBox_ProjectSelection->findText(m_pBabyMEG->m_sCurrentProject));
193 void BabyMEGProjectDialog::scanForSubjects()
196 ui->m_qComboBox_SubjectSelection->clear();
197 m_sListSubjects.clear();
199 QDir t_qDirProject(m_pBabyMEG->m_sBabyMEGDataPath+
"/"+m_pBabyMEG->m_sCurrentProject);
201 QFileInfoList t_qFileInfoList = t_qDirProject.entryInfoList();
202 QFileInfoList::const_iterator it;
203 for (it = t_qFileInfoList.constBegin(); it != t_qFileInfoList.constEnd(); ++it)
204 if(it->isDir() && it->fileName() !=
"." && it->fileName() !=
"..")
205 m_sListSubjects.append(it->fileName());
207 ui->m_qComboBox_SubjectSelection->insertItems(0,m_sListSubjects);
209 qint32 idx = ui->m_qComboBox_SubjectSelection->findText(m_pBabyMEG->m_sCurrentSubject);
211 ui->m_qComboBox_SubjectSelection->setCurrentIndex(idx);
214 ui->m_qComboBox_SubjectSelection->setCurrentIndex(0);
215 selectNewSubject(ui->m_qComboBox_SubjectSelection->itemText(0));
222 void BabyMEGProjectDialog::selectNewProject(
const QString &newProject)
224 m_pBabyMEG->m_sCurrentProject = newProject;
233 void BabyMEGProjectDialog::selectNewSubject(
const QString &newSubject)
235 m_pBabyMEG->m_sCurrentSubject = newSubject;
243 void BabyMEGProjectDialog::updateFileName()
245 ui->m_qLineEditFileName->setText(m_pBabyMEG->
getFilePath());
The BabyMEG class provides a Fiff data simulator.
QString getFilePath(bool currentTime=false) const