|
|
#include "pagespectra.h"
|
|
|
#include <stdio.h>
|
|
|
|
|
|
PageSpectra::PageSpectra(QWidget *parent) :
|
|
|
QMainWindow(parent)
|
|
|
{
|
|
|
unsigned int i = 0;
|
|
|
|
|
|
for (i = 0; i<6; i++)
|
|
|
{
|
|
|
localIndex[i] = 0;
|
|
|
}
|
|
|
|
|
|
pageTitle = "default";
|
|
|
wfPlot_v = new WFPlot(this, WFDISPLAY_XMAX, WFDISPLAY_YMAX);
|
|
|
wfPlot_e1 = new WFPlot(this, WFDISPLAY_XMAX, WFDISPLAY_YMAX);
|
|
|
wfPlot_e2 = new WFPlot(this, WFDISPLAY_XMAX, WFDISPLAY_YMAX);
|
|
|
wfPlot_b1 = new WFPlot(this, WFDISPLAY_XMAX, WFDISPLAY_YMAX);
|
|
|
wfPlot_b2 = new WFPlot(this, WFDISPLAY_XMAX, WFDISPLAY_YMAX);
|
|
|
//
|
|
|
wfPlot_v->customPlot->setTitle("s11");
|
|
|
wfPlot_e1->customPlot->setTitle("s22");
|
|
|
wfPlot_e2->customPlot->setTitle("s33");
|
|
|
wfPlot_b1->customPlot->setTitle("s44");
|
|
|
wfPlot_b2->customPlot->setTitle("s55");
|
|
|
//
|
|
|
/*mainLayout = new QGridLayout;
|
|
|
mainLayout->addWidget(wfPlot_v, 0, 0, 1, 1);
|
|
|
mainLayout->addWidget(wfPlot_e1, 0, 1, 1, 1);
|
|
|
mainLayout->addWidget(wfPlot_e2, 0, 2, 1, 1);
|
|
|
mainLayout->addWidget(wfPlot_b1, 1, 0, 1, 1);
|
|
|
mainLayout->addWidget(wfPlot_b2, 1, 1, 1, 1);
|
|
|
mainLayout->addWidget(wfPlot_b3, 1, 2, 1, 1);*/
|
|
|
//
|
|
|
dockV = NULL;
|
|
|
dockE1 = NULL;
|
|
|
dockE2 = NULL;
|
|
|
dockB1 = NULL;
|
|
|
dockB2 = NULL;
|
|
|
|
|
|
titleWidgetV = new QWidget();
|
|
|
titleWidgetE1 = new QWidget();
|
|
|
titleWidgetE2 = new QWidget();
|
|
|
titleWidgetB1 = new QWidget();
|
|
|
titleWidgetB2 = new QWidget();
|
|
|
|
|
|
logFileName = new QLabel();
|
|
|
logFile = new QFile();
|
|
|
logFileV = new QFile();
|
|
|
logFileE1 = new QFile();
|
|
|
logFileE2 = new QFile();
|
|
|
logFileB1 = new QFile();
|
|
|
logFileB2 = new QFile();
|
|
|
|
|
|
logFileEn = false;
|
|
|
storageEnabledV = false;
|
|
|
storageEnabledE1 = false;
|
|
|
storageEnabledE2 = false;
|
|
|
storageEnabledB1 = false;
|
|
|
storageEnabledB2 = false;
|
|
|
|
|
|
createToolBar();
|
|
|
readSettings();
|
|
|
}
|
|
|
|
|
|
void PageSpectra::displayOnPlot(short *data, unsigned char num)
|
|
|
{
|
|
|
QByteArray dataByteArray;
|
|
|
unsigned int i;
|
|
|
|
|
|
switch(num){
|
|
|
case 0:
|
|
|
wfPlot_v->displayOnPlot(data, WFDISPLAY_DEFAULT_SPECTRA_SIZE);
|
|
|
if ( (storageEnabledV == true) && (logFileV->isOpen()) )
|
|
|
{
|
|
|
for (i=0; i<DEFAULT_SIZE; i++)
|
|
|
{
|
|
|
dataByteArray.clear();
|
|
|
dataByteArray.append(QByteArray::number(localIndex[0]));
|
|
|
dataByteArray.append(' ');
|
|
|
dataByteArray.append(QByteArray::number(data[i]));
|
|
|
*(this->logFileStrmV) << dataByteArray << endl;
|
|
|
localIndex[0]++;
|
|
|
}
|
|
|
}
|
|
|
break;
|
|
|
case 1:
|
|
|
wfPlot_e1->displayOnPlot(data, WFDISPLAY_DEFAULT_SPECTRA_SIZE);
|
|
|
break;
|
|
|
case 2:
|
|
|
wfPlot_e2->displayOnPlot(data, WFDISPLAY_DEFAULT_SPECTRA_SIZE);
|
|
|
break;
|
|
|
case 3:
|
|
|
wfPlot_b1->displayOnPlot(data, WFDISPLAY_DEFAULT_SPECTRA_SIZE);
|
|
|
break;
|
|
|
case 4:
|
|
|
wfPlot_b2->displayOnPlot(data, WFDISPLAY_DEFAULT_SPECTRA_SIZE);
|
|
|
break;
|
|
|
default:
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
void PageSpectra::displayOnPlotFloat(float *data, unsigned char num)
|
|
|
{
|
|
|
QByteArray dataByteArray;
|
|
|
unsigned int i;
|
|
|
|
|
|
switch(num){
|
|
|
case 0:
|
|
|
wfPlot_v->displayOnPlotFloat(data, WFDISPLAY_DEFAULT_SPECTRA_SIZE);
|
|
|
if ( (storageEnabledV == true) && (logFileV->isOpen()) )
|
|
|
{
|
|
|
for (i=0; i<DEFAULT_SIZE; i++)
|
|
|
{
|
|
|
dataByteArray.clear();
|
|
|
dataByteArray.append(QByteArray::number(localIndex[0]));
|
|
|
dataByteArray.append(' ');
|
|
|
dataByteArray.append(QByteArray::number(data[i]));
|
|
|
*(this->logFileStrmV) << dataByteArray << endl;
|
|
|
localIndex[0]++;
|
|
|
}
|
|
|
}
|
|
|
break;
|
|
|
case 1:
|
|
|
wfPlot_e1->displayOnPlotFloat(data, WFDISPLAY_DEFAULT_SPECTRA_SIZE);
|
|
|
break;
|
|
|
case 2:
|
|
|
wfPlot_e2->displayOnPlotFloat(data, WFDISPLAY_DEFAULT_SPECTRA_SIZE);
|
|
|
break;
|
|
|
case 3:
|
|
|
wfPlot_b1->displayOnPlotFloat(data, WFDISPLAY_DEFAULT_SPECTRA_SIZE);
|
|
|
break;
|
|
|
case 4:
|
|
|
wfPlot_b2->displayOnPlotFloat(data, WFDISPLAY_DEFAULT_SPECTRA_SIZE);
|
|
|
break;
|
|
|
default:
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
void PageSpectra::createToolBar()
|
|
|
{
|
|
|
radio_v = new QRadioButton(tr("s11"));
|
|
|
radio_e1 = new QRadioButton(tr("s22"));
|
|
|
radio_e2 = new QRadioButton(tr("s33"));
|
|
|
radio_b1 = new QRadioButton(tr("s44"));
|
|
|
radio_b2 = new QRadioButton(tr("s55"));
|
|
|
radio_tabify = new QRadioButton(tr("tabify"));
|
|
|
|
|
|
radio_v->setAutoExclusive(false);
|
|
|
radio_e1->setAutoExclusive(false);
|
|
|
radio_e2->setAutoExclusive(false);
|
|
|
radio_b1->setAutoExclusive(false);
|
|
|
radio_b2->setAutoExclusive(false);
|
|
|
radio_tabify->setAutoExclusive(false);
|
|
|
|
|
|
button_selectAll = new QPushButton(tr("select all"));
|
|
|
button_storeWfrm = new QPushButton(tr("REC"));
|
|
|
button_chooseDir = new QPushButton(tr("choose dir"));
|
|
|
|
|
|
myToolBar = new QToolBar("select");
|
|
|
|
|
|
myToolBar->addWidget(radio_v);
|
|
|
myToolBar->addWidget(radio_e1);
|
|
|
myToolBar->addWidget(radio_e2);
|
|
|
myToolBar->addWidget(radio_b1);
|
|
|
myToolBar->addWidget(radio_b2);
|
|
|
myToolBar->addSeparator();
|
|
|
myToolBar->addWidget(button_selectAll);
|
|
|
myToolBar->addWidget(radio_tabify);
|
|
|
myToolBar->addSeparator();
|
|
|
myToolBar->addWidget(button_storeWfrm);
|
|
|
myToolBar->addWidget(button_chooseDir);
|
|
|
|
|
|
addToolBar(Qt::LeftToolBarArea, myToolBar);
|
|
|
|
|
|
radio_tabify->setChecked(true);
|
|
|
|
|
|
connect(this->radio_v, SIGNAL(clicked(bool)), this, SLOT(actionRadioV(bool)));
|
|
|
connect(this->radio_e1, SIGNAL(clicked(bool)), this, SLOT(actionRadioE1(bool)));
|
|
|
connect(this->radio_e2, SIGNAL(clicked(bool)), this, SLOT(actionRadioE2(bool)));
|
|
|
connect(this->radio_b1, SIGNAL(clicked(bool)), this, SLOT(actionRadioB1(bool)));
|
|
|
connect(this->radio_b2, SIGNAL(clicked(bool)), this, SLOT(actionRadioB2(bool)));
|
|
|
connect(this->button_selectAll, SIGNAL(clicked()), this, SLOT(selectAll()));
|
|
|
connect(this->radio_tabify, SIGNAL(clicked(bool)), this, SLOT(organizeDocks()));
|
|
|
connect(this->button_storeWfrm, SIGNAL(clicked()), this, SLOT(storeWfrm()));
|
|
|
connect(this->button_chooseDir, SIGNAL(clicked()), this, SLOT(chooseDir()));
|
|
|
}
|
|
|
|
|
|
void PageSpectra::actionRadioV(bool state)
|
|
|
{
|
|
|
if (state == true)
|
|
|
{
|
|
|
if (dockV == NULL)
|
|
|
{
|
|
|
dockV = new QDockWidget("V", this);
|
|
|
dockV->setWidget(wfPlot_v);
|
|
|
dockV->setTitleBarWidget(titleWidgetV);
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
this->removeDockWidget(dockV);
|
|
|
}
|
|
|
organizeDocks();
|
|
|
}
|
|
|
|
|
|
void PageSpectra::actionRadioE1(bool state)
|
|
|
{
|
|
|
if (state == true)
|
|
|
{
|
|
|
if (dockE1 == NULL)
|
|
|
{
|
|
|
dockE1 = new QDockWidget("E1", this);
|
|
|
dockE1->setWidget(wfPlot_e1);
|
|
|
dockE1->setTitleBarWidget(titleWidgetE1);
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
this->removeDockWidget(dockE1);
|
|
|
}
|
|
|
organizeDocks();
|
|
|
}
|
|
|
|
|
|
void PageSpectra::actionRadioE2(bool state)
|
|
|
{
|
|
|
if (state == true)
|
|
|
{
|
|
|
if (dockE2 == NULL)
|
|
|
{
|
|
|
dockE2 = new QDockWidget("E2", this);
|
|
|
dockE2->setWidget(wfPlot_e2);
|
|
|
dockE2->setTitleBarWidget(titleWidgetE2);
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
this->removeDockWidget(dockE2);
|
|
|
}
|
|
|
organizeDocks();
|
|
|
}
|
|
|
|
|
|
void PageSpectra::actionRadioB1(bool state)
|
|
|
{
|
|
|
if (state == true)
|
|
|
{
|
|
|
if (dockB1 == NULL)
|
|
|
{
|
|
|
dockB1 = new QDockWidget("B1", this);
|
|
|
dockB1->setWidget(wfPlot_b1);
|
|
|
dockB1->setTitleBarWidget(titleWidgetB1);
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
this->removeDockWidget(dockB1);
|
|
|
}
|
|
|
organizeDocks();
|
|
|
}
|
|
|
|
|
|
void PageSpectra::actionRadioB2(bool state)
|
|
|
{
|
|
|
if (state == true)
|
|
|
{
|
|
|
if (dockB2 == NULL)
|
|
|
{
|
|
|
dockB2 = new QDockWidget("B2", this);
|
|
|
dockB2->setWidget(wfPlot_b2);
|
|
|
dockB2->setTitleBarWidget(titleWidgetB2);
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
this->removeDockWidget(dockB2);
|
|
|
}
|
|
|
organizeDocks();
|
|
|
}
|
|
|
|
|
|
void PageSpectra::buildDockList()
|
|
|
{
|
|
|
dockList.clear();
|
|
|
|
|
|
if (radio_v->isChecked())
|
|
|
{
|
|
|
dockList.append(dockV);
|
|
|
removeDockWidget(dockV);
|
|
|
}
|
|
|
if (radio_e1->isChecked())
|
|
|
{
|
|
|
dockList.append(dockE1);
|
|
|
removeDockWidget(dockE1);
|
|
|
}
|
|
|
if (radio_e2->isChecked())
|
|
|
{
|
|
|
dockList.append(dockE2);
|
|
|
removeDockWidget(dockE2);
|
|
|
}
|
|
|
if (radio_b1->isChecked())
|
|
|
{
|
|
|
dockList.append(dockB1);
|
|
|
removeDockWidget(dockB1);
|
|
|
}
|
|
|
if (radio_b2->isChecked())
|
|
|
{
|
|
|
dockList.append(dockB2);
|
|
|
removeDockWidget(dockB2);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
void PageSpectra::organizeDocks()
|
|
|
{
|
|
|
if (radio_tabify->isChecked())
|
|
|
{
|
|
|
tabify();
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
unTabify();
|
|
|
}
|
|
|
wfPlot_v->resize(wfPlot_v->minimumSizeHint());
|
|
|
wfPlot_e1->resize(wfPlot_e1->minimumSizeHint());
|
|
|
wfPlot_e2->resize(wfPlot_e2->minimumSizeHint());
|
|
|
wfPlot_b1->resize(wfPlot_b1->minimumSizeHint());
|
|
|
wfPlot_b2->resize(wfPlot_b2->minimumSizeHint());
|
|
|
this->resize(this->minimumSizeHint());
|
|
|
}
|
|
|
|
|
|
void PageSpectra::unTabify()
|
|
|
{
|
|
|
buildDockList();
|
|
|
|
|
|
switch(dockList.size())
|
|
|
{
|
|
|
case 0:
|
|
|
break;
|
|
|
case 1:
|
|
|
addDockWidget(Qt::TopDockWidgetArea, dockList.at(0));
|
|
|
dockList.at(0)->show();
|
|
|
break;
|
|
|
case 2:
|
|
|
addDockWidget(Qt::TopDockWidgetArea, dockList.at(0));
|
|
|
addDockWidget(Qt::TopDockWidgetArea, dockList.at(1));
|
|
|
dockList.at(0)->show();
|
|
|
dockList.at(1)->show();
|
|
|
break;
|
|
|
case 3:
|
|
|
addDockWidget(Qt::TopDockWidgetArea, dockList.at(0));
|
|
|
addDockWidget(Qt::TopDockWidgetArea, dockList.at(1));
|
|
|
addDockWidget(Qt::BottomDockWidgetArea, dockList.at(2));
|
|
|
dockList.at(0)->show();
|
|
|
dockList.at(1)->show();
|
|
|
dockList.at(2)->show();
|
|
|
break;
|
|
|
case 4:
|
|
|
addDockWidget(Qt::TopDockWidgetArea, dockList.at(0));
|
|
|
addDockWidget(Qt::TopDockWidgetArea, dockList.at(1));
|
|
|
addDockWidget(Qt::BottomDockWidgetArea, dockList.at(2));
|
|
|
addDockWidget(Qt::BottomDockWidgetArea, dockList.at(3));
|
|
|
dockList.at(0)->show();
|
|
|
dockList.at(1)->show();
|
|
|
dockList.at(2)->show();
|
|
|
dockList.at(3)->show();
|
|
|
break;
|
|
|
case 5:
|
|
|
addDockWidget(Qt::TopDockWidgetArea, dockList.at(0));
|
|
|
addDockWidget(Qt::TopDockWidgetArea, dockList.at(1));
|
|
|
addDockWidget(Qt::TopDockWidgetArea, dockList.at(2));
|
|
|
addDockWidget(Qt::BottomDockWidgetArea, dockList.at(3));
|
|
|
addDockWidget(Qt::BottomDockWidgetArea, dockList.at(4));
|
|
|
dockList.at(0)->show();
|
|
|
dockList.at(1)->show();
|
|
|
dockList.at(2)->show();
|
|
|
dockList.at(3)->show();
|
|
|
dockList.at(4)->show();
|
|
|
break;
|
|
|
default:
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
void PageSpectra::tabify()
|
|
|
{
|
|
|
buildDockList();
|
|
|
|
|
|
switch(dockList.size())
|
|
|
{
|
|
|
case 0:
|
|
|
break;
|
|
|
case 1:
|
|
|
addDockWidget(Qt::TopDockWidgetArea, dockList.at(0));
|
|
|
dockList.at(0)->show();
|
|
|
break;
|
|
|
case 2:
|
|
|
addDockWidget(Qt::TopDockWidgetArea, dockList.at(0));
|
|
|
tabifyDockWidget(dockList.at(0), dockList.at(1));
|
|
|
dockList.at(0)->show();
|
|
|
dockList.at(1)->show();
|
|
|
break;
|
|
|
case 3:
|
|
|
addDockWidget(Qt::BottomDockWidgetArea, dockList.at(0));
|
|
|
tabifyDockWidget(dockList.at(0), dockList.at(1));
|
|
|
tabifyDockWidget(dockList.at(1), dockList.at(2));
|
|
|
dockList.at(0)->show();
|
|
|
dockList.at(1)->show();
|
|
|
dockList.at(2)->show();
|
|
|
break;
|
|
|
case 4:
|
|
|
addDockWidget(Qt::BottomDockWidgetArea, dockList.at(0));
|
|
|
tabifyDockWidget(dockList.at(0), dockList.at(1));
|
|
|
tabifyDockWidget(dockList.at(1), dockList.at(2));
|
|
|
tabifyDockWidget(dockList.at(2), dockList.at(3));
|
|
|
dockList.at(0)->show();
|
|
|
dockList.at(1)->show();
|
|
|
dockList.at(2)->show();
|
|
|
dockList.at(3)->show();
|
|
|
break;
|
|
|
case 5:
|
|
|
addDockWidget(Qt::BottomDockWidgetArea, dockList.at(0));
|
|
|
tabifyDockWidget(dockList.at(0), dockList.at(1));
|
|
|
tabifyDockWidget(dockList.at(1), dockList.at(2));
|
|
|
tabifyDockWidget(dockList.at(2), dockList.at(3));
|
|
|
tabifyDockWidget(dockList.at(3), dockList.at(4));
|
|
|
dockList.at(0)->show();
|
|
|
dockList.at(1)->show();
|
|
|
dockList.at(2)->show();
|
|
|
dockList.at(3)->show();
|
|
|
dockList.at(4)->show();
|
|
|
break;
|
|
|
case 6:
|
|
|
addDockWidget(Qt::BottomDockWidgetArea, dockList.at(0));
|
|
|
tabifyDockWidget(dockList.at(0), dockList.at(1));
|
|
|
tabifyDockWidget(dockList.at(1), dockList.at(2));
|
|
|
tabifyDockWidget(dockList.at(2), dockList.at(3));
|
|
|
tabifyDockWidget(dockList.at(3), dockList.at(4));
|
|
|
tabifyDockWidget(dockList.at(4), dockList.at(5));
|
|
|
dockList.at(0)->show();
|
|
|
dockList.at(1)->show();
|
|
|
dockList.at(2)->show();
|
|
|
dockList.at(3)->show();
|
|
|
dockList.at(4)->show();
|
|
|
dockList.at(5)->show();
|
|
|
break;
|
|
|
default:
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
void PageSpectra::selectAll()
|
|
|
{
|
|
|
radio_v->click();
|
|
|
radio_e1->click();
|
|
|
radio_e2->click();
|
|
|
radio_b1->click();
|
|
|
radio_b2->click();
|
|
|
}
|
|
|
|
|
|
void PageSpectra::storeWfrm()
|
|
|
{
|
|
|
if (logFileEn == false)
|
|
|
{
|
|
|
buildFileNames();
|
|
|
button_storeWfrm->setText(tr("STOP"));
|
|
|
logFileEn = true;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if(this->logFileV->isOpen()) this->logFileV->close();
|
|
|
if(this->logFileE1->isOpen()) this->logFileE1->close();
|
|
|
if(this->logFileE2->isOpen()) this->logFileE2->close();
|
|
|
// disable all storage
|
|
|
storageEnabledV = false;
|
|
|
storageEnabledE1 = false;
|
|
|
storageEnabledE2 = false;
|
|
|
storageEnabledB1 = false;
|
|
|
storageEnabledB2 = false;
|
|
|
button_storeWfrm->setText(tr("REC"));
|
|
|
logFileEn = false;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
void PageSpectra::buildFileNames()
|
|
|
{
|
|
|
QString date;
|
|
|
QString time;
|
|
|
QString prefix;
|
|
|
|
|
|
date = QDate::currentDate().toString();
|
|
|
time = QTime::currentTime().toString();
|
|
|
|
|
|
prefix = defaultStorageDirectory + "/" + date + "_" + time + "_" + pageTitle ;
|
|
|
|
|
|
if (radio_v->isChecked())
|
|
|
{
|
|
|
if(this->logFileV->isOpen()) this->logFileV->close();
|
|
|
this->logFileV->setFileName( prefix + "_V.data");
|
|
|
if(this->logFileV->open(QIODevice::WriteOnly)) this->logFileStrmV = new QTextStream(this->logFileV);
|
|
|
storageEnabledV = true;
|
|
|
}
|
|
|
if (radio_e1->isChecked())
|
|
|
{
|
|
|
if(this->logFileE1->isOpen()) this->logFileE1->close();
|
|
|
this->logFileE1->setFileName( prefix + "_E1.data");
|
|
|
if(this->logFileE1->open(QIODevice::WriteOnly)) this->logFileStrmE1 = new QTextStream(this->logFileE1);
|
|
|
storageEnabledE1 = true;
|
|
|
}
|
|
|
if (radio_e2->isChecked())
|
|
|
{
|
|
|
if(this->logFileE2->isOpen()) this->logFileE2->close();
|
|
|
this->logFileE2->setFileName( prefix + "_E2.data");
|
|
|
if(this->logFileE2->open(QIODevice::WriteOnly)) this->logFileStrmE2 = new QTextStream(this->logFileE2);
|
|
|
storageEnabledE2 = true;
|
|
|
}
|
|
|
if (radio_b1->isChecked())
|
|
|
{
|
|
|
|
|
|
}
|
|
|
if (radio_b2->isChecked())
|
|
|
{
|
|
|
|
|
|
}
|
|
|
}
|
|
|
|
|
|
void PageSpectra::logFileEnDisable(bool state)
|
|
|
{
|
|
|
if(state==true)
|
|
|
{
|
|
|
this->logFileEn = true;
|
|
|
}
|
|
|
else if(state==false)
|
|
|
{
|
|
|
this->logFileEn = false;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
bool PageSpectra::islogfileenable()
|
|
|
{
|
|
|
return this->logFileEn;
|
|
|
}
|
|
|
|
|
|
void PageSpectra::appendToLogFile(const QString & text)
|
|
|
{
|
|
|
if(this->logFileEn && this->logFile->isOpen())
|
|
|
{
|
|
|
*(this->logFileStrm) << text << endl;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
void PageSpectra::closeEvent(QCloseEvent *event)
|
|
|
{
|
|
|
if(this->logFile->isOpen())
|
|
|
{
|
|
|
this->logFileStrm->flush();
|
|
|
this->logFile->waitForBytesWritten(3000);
|
|
|
this->logFile->close();
|
|
|
}
|
|
|
writeSettings();
|
|
|
event->accept();
|
|
|
}
|
|
|
|
|
|
void PageSpectra::readSettings()
|
|
|
{
|
|
|
QSettings settings("lpp", "lfrsgse");
|
|
|
defaultStorageDirectory = settings.value("defaultStorageDirectory", QDir::homePath()).toString();
|
|
|
}
|
|
|
|
|
|
void PageSpectra::writeSettings()
|
|
|
{
|
|
|
QSettings settings("lpp", "lfrsgse");
|
|
|
settings.setValue("defaultStorageDirectory", defaultStorageDirectory);
|
|
|
}
|
|
|
|
|
|
void PageSpectra::chooseDir()
|
|
|
{
|
|
|
defaultStorageDirectory = QFileDialog::getExistingDirectory(this,
|
|
|
"choose the directory",
|
|
|
QDir::homePath(),
|
|
|
QFileDialog::ShowDirsOnly);
|
|
|
}
|
|
|
|