change outdir for all receivers in gui

git-svn-id: file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorGui@208 af1100a4-978c-4157-bff7-07162d2ba061
This commit is contained in:
l_maliakal_d 2013-07-24 09:38:55 +00:00
parent 27a21cc258
commit 68f360e395
2 changed files with 25 additions and 13 deletions

View File

@ -218,9 +218,10 @@ static const int64_t GUI_VERSION=0x20121213;
/**gets error mask and displays the message if it exists /**gets error mask and displays the message if it exists
* @param myDet is the slsdetector object * @param myDet is the slsdetector object
* @param show to display the error message
/returns error message else an empty string /returns error message else an empty string
* */ * */
static string checkErrorMessage(slsDetector*& myDet){ static string checkErrorMessage(slsDetector*& myDet,bool show = true){
int errorLevel= (int)WARNING; int errorLevel= (int)WARNING;
@ -244,7 +245,8 @@ static const int64_t GUI_VERSION=0x20121213;
retval.append("</font></nobr>"); retval.append("</font></nobr>");
//display message //display message
qDefs::Message((MessageIndex)errorLevel,retval,"Main"); if(show)
qDefs::Message((MessageIndex)errorLevel,retval,"Main");
} }
myDet->clearErrorMask(); myDet->clearErrorMask();

View File

@ -670,30 +670,33 @@ int qTabDataOutput::VerifyOutputDirectory(){
#endif #endif
bool error = false; bool error = false;
QString errTip = outDirTip; QString errTip = outDirTip;
bool receiver = (!comboDetector->itemText(0).compare("All")); bool receiver = (comboDetector->itemText(0).compare("All"));
string path = string(dispReadOutputDir->text().toAscii().constData()); string path = string(dispReadOutputDir->text().toAscii().constData());
string detName = ""; string detName = "";
string mess = "";
//for each detector //for each detector
for(int i=0;i<myDet->getNumberOfDetectors();i++){ for(int i=0;i<myDet->getNumberOfDetectors();i++){
slsDetector *det = myDet->getSlsDetector(i); slsDetector *det = myDet->getSlsDetector(i);
qDefs::checkErrorMessage(myDet); qDefs::checkErrorMessage(myDet);
if(receiver){ if(receiver){
detName = string(" for ") + string(comboDetector->itemText(i).toAscii().constData()) + string(" readout"); detName = string("\n - ") + string(comboDetector->itemText(i).toAscii().constData()) ;
path = det->getFilePath(); path = det->getFilePath();
} }
if(det->setFilePath(path).empty()){ if(det->setFilePath(path).empty()){
qDefs::Message(qDefs::WARNING,string("Enter a valid output directory ") + detName,"Data Output"); mess. append(detName);
error = true; error = true;
}else if(!qDefs::checkErrorMessage(det).empty()){ }else if(!qDefs::checkErrorMessage(det,false).empty()){
mess. append(detName);
error = true; error = true;
} }
/*
//verify all paths are the same for no receiver //verify all paths are the same for no receiver
if ((!receiver) && (path != det->getFilePath())){ if ((!receiver) && (path != det->getFilePath())){
error = true; error = true;
qDefs::Message(qDefs::WARNING,string("Enter a valid output directory ") + detName,"Data Output"); qDefs::Message(qDefs::WARNING,string("Enter a valid output directory ") + detName,"Data Output Verify");
} }*/
myDet->setFilePath(det->getFilePath()); myDet->setFilePath(det->getFilePath());
} }
@ -711,12 +714,19 @@ int qTabDataOutput::VerifyOutputDirectory(){
#ifdef VERBOSE #ifdef VERBOSE
cout << "The output path doesnt exist anymore" << endl; cout << "The output path doesnt exist anymore" << endl;
#endif #endif
//replace all \n with <br>
pos = 0;
while((pos = mess.find("\n", pos)) != string::npos){
mess.replace(pos, 1, "<br>");
pos += 1;
}
qDefs::Message(qDefs::WARNING,string("Invalid Output Directory ")+ mess,"Data Output");
dispReadOutputDir->setPalette(*red1); dispReadOutputDir->setPalette(*red1);
boxOutDir->setPalette(red); boxOutDir->setPalette(red);
errTip = errTip + errTip = errTip +
QString("<br><nobr><font color=\"red\">" QString("<br><nobr><font color=\"red\">"
"Enter a valid path for ") + QString(detName.c_str()) + "Invalid <b>Output Directory</b>") + QString(mess.c_str()) +
QString( " readout to change <b>Output Directory</b>.</font></nobr>"); QString( ".</font></nobr>");
boxOutDir->setToolTip(errTip); boxOutDir->setToolTip(errTip);
if(receiver) if(receiver)
@ -757,7 +767,7 @@ void qTabDataOutput::SetOutputDir(){
#endif #endif
bool error = false; bool error = false;
bool receiver = (!comboDetector->itemText(0).compare("All")); bool receiver = (comboDetector->itemText(0).compare("All"));
QString path = dispOutputDir->text(); QString path = dispOutputDir->text();
if(path.isEmpty()) if(path.isEmpty())
@ -793,9 +803,8 @@ void qTabDataOutput::SetOutputDir(){
slsDetector *det = myDet->getSlsDetector(i); slsDetector *det = myDet->getSlsDetector(i);
qDefs::checkErrorMessage(myDet); qDefs::checkErrorMessage(myDet);
if(det->setFilePath(string(path.toAscii().constData())).empty()){ if(det->setFilePath(string(path.toAscii().constData())).empty()){
qDefs::Message(qDefs::WARNING,string("Enter a valid output directory "),"Data Output");
error = true; error = true;
}else if(!qDefs::checkErrorMessage(det).empty()){ }else if(!qDefs::checkErrorMessage(det,false).empty()){
error = true; error = true;
} }
myDet->setFilePath(det->getFilePath()); myDet->setFilePath(det->getFilePath());
@ -803,6 +812,7 @@ void qTabDataOutput::SetOutputDir(){
if(error){ if(error){
qDefs::Message(qDefs::WARNING,string("Invalid output directory "),"Data Output set");
for(int i=0;i<myDet->getNumberOfDetectors();i++){ for(int i=0;i<myDet->getNumberOfDetectors();i++){
slsDetector *det = myDet->getSlsDetector(i); slsDetector *det = myDet->getSlsDetector(i);
qDefs::checkErrorMessage(myDet); qDefs::checkErrorMessage(myDet);