From acc389a96d073a166b89c7779a9bcd35725cc65c Mon Sep 17 00:00:00 2001 From: nemu Date: Mon, 28 Jun 2010 06:31:35 +0000 Subject: [PATCH] msr2data global option handling completed. --- src/musredit/PMsr2DataDialog.cpp | 15 --- src/musredit/PMsr2DataDialog.h | 1 - src/musredit/PTextEdit.cpp | 140 +++++++++++++++++--------- src/musredit/forms/PMsr2DataDialog.ui | 20 +--- 4 files changed, 94 insertions(+), 82 deletions(-) diff --git a/src/musredit/PMsr2DataDialog.cpp b/src/musredit/PMsr2DataDialog.cpp index 3db719dc..9fc4e08b 100644 --- a/src/musredit/PMsr2DataDialog.cpp +++ b/src/musredit/PMsr2DataDialog.cpp @@ -276,21 +276,6 @@ void PMsr2DataDialog::fitOnlyChanged(int buttonState) } } -//---------------------------------------------------------------------------------------------------- -/** - *

SLOT: called when the 'Global' QCheckBox under 'Options' is activated. - * Sets at the same time the fit-only flag to false. - * - * \param buttonState state of the button. - */ -void PMsr2DataDialog::globalChanged(int buttonState) -{ - if (buttonState == Qt::Checked) { - fFitOnly_checkBox->setChecked(false); - fOpenFilesAfterFitting_checkBox->setChecked(false); - } -} - //---------------------------------------------------------------------------------------------------- /** *

Generates a help content window showing the description for msr2data. diff --git a/src/musredit/PMsr2DataDialog.h b/src/musredit/PMsr2DataDialog.h index 25d6e2f6..12fae817 100644 --- a/src/musredit/PMsr2DataDialog.h +++ b/src/musredit/PMsr2DataDialog.h @@ -60,7 +60,6 @@ class PMsr2DataDialog : public QDialog, private Ui::PMsr2DataDialog void templateRunEntered(const QString&); void createMsrFileOnlyChanged(int); void fitOnlyChanged(int); - void globalChanged(int); void helpContent(); private: diff --git a/src/musredit/PTextEdit.cpp b/src/musredit/PTextEdit.cpp index 7f7c0b46..ded1e7fb 100644 --- a/src/musredit/PTextEdit.cpp +++ b/src/musredit/PTextEdit.cpp @@ -1904,48 +1904,28 @@ void PTextEdit::musrMsr2Data() QFile *file; QTextStream *stream; - switch(dlg->getRunTag()) { - case 0: // first run / last run list - if (fMsr2DataParam->firstRun != -1) { - for (int i=fMsr2DataParam->firstRun; i<=fMsr2DataParam->lastRun; i++) { - if (fMsr2DataParam->msrFileExtension.isEmpty()) - fln = QString("%1").arg(i) + ".msr"; - else - fln = QString("%1").arg(i) + fMsr2DataParam->msrFileExtension + ".msr"; + if (!fMsr2DataParam->global) { // standard fits - load(fln); + switch(dlg->getRunTag()) { + case 0: // first run / last run list + if (fMsr2DataParam->firstRun != -1) { + for (int i=fMsr2DataParam->firstRun; i<=fMsr2DataParam->lastRun; i++) { + if (fMsr2DataParam->msrFileExtension.isEmpty()) + fln = QString("%1").arg(i) + ".msr"; + else + fln = QString("%1").arg(i) + fMsr2DataParam->msrFileExtension + ".msr"; + + load(fln); + } } - } - break; - case 1: // run list - end = 0; - while (!runList.section(' ', end, end).isEmpty()) { - end++; - } - for (int i=0; imsrFileExtension.isEmpty()) - fln += ".msr"; - else - fln += fMsr2DataParam->msrFileExtension + ".msr"; - - load(fln); - } - break; - case 2: // run list file - file = new QFile(fMsr2DataParam->runListFileName); - if (!file->open(QIODevice::ReadOnly)) { - str = QString("Couldn't open run list file %1, sorry.").arg(fMsr2DataParam->runListFileName); - QMessageBox::critical(this, "**ERROR**", str.toLatin1(), QMessageBox::Ok, QMessageBox::NoButton); - return; - } - - stream = new QTextStream(file); - while ( !stream->atEnd() ) { - str = stream->readLine(); // line of text excluding '\n' - str.trimmed(); - if (!str.isEmpty() && !str.startsWith("#")) { - fln = str.section(' ', 0, 0); + break; + case 1: // run list + end = 0; + while (!runList.section(' ', end, end).isEmpty()) { + end++; + } + for (int i=0; imsrFileExtension.isEmpty()) fln += ".msr"; else @@ -1953,16 +1933,80 @@ void PTextEdit::musrMsr2Data() load(fln); } - } + break; + case 2: // run list file + file = new QFile(fMsr2DataParam->runListFileName); + if (!file->open(QIODevice::ReadOnly)) { + str = QString("Couldn't open run list file %1, sorry.").arg(fMsr2DataParam->runListFileName); + QMessageBox::critical(this, "**ERROR**", str.toLatin1(), QMessageBox::Ok, QMessageBox::NoButton); + return; + } - file->close(); + stream = new QTextStream(file); + while ( !stream->atEnd() ) { + str = stream->readLine(); // line of text excluding '\n' + str.trimmed(); + if (!str.isEmpty() && !str.startsWith("#") && !str.startsWith("run", Qt::CaseInsensitive)) { + fln = str.section(' ', 0, 0); + if (fMsr2DataParam->msrFileExtension.isEmpty()) + fln += ".msr"; + else + fln += fMsr2DataParam->msrFileExtension + ".msr"; - // clean up - delete stream; - delete file; - break; - default: - break; + load(fln); + } + } + + file->close(); + + // clean up + delete stream; + delete file; + break; + default: + break; + } + } else { // global tag set + // get the first run number needed to build the global fit file name + fln = QString(""); + switch(dlg->getRunTag()) { + case 0: // first/last run + fln = QString("%1").arg(fMsr2DataParam->firstRun) + QString("+global") + fMsr2DataParam->msrFileExtension + QString(".msr"); + break; + case 1: // run list + fln = runList.section(" ", 0, 0) + QString("+global") + fMsr2DataParam->msrFileExtension + QString(".msr"); + break; + case 2: // run list file name + file = new QFile(fMsr2DataParam->runListFileName); + if (!file->open(QIODevice::ReadOnly)) { + str = QString("Couldn't open run list file %1, sorry.").arg(fMsr2DataParam->runListFileName); + QMessageBox::critical(this, "**ERROR**", str.toLatin1(), QMessageBox::Ok, QMessageBox::NoButton); + return; + } + + stream = new QTextStream(file); + while ( !stream->atEnd() ) { + str = stream->readLine(); // line of text excluding '\n' + str.trimmed(); + if (!str.isEmpty() && !str.startsWith("#") && !str.startsWith("run", Qt::CaseInsensitive)) { + fln = str.section(' ', 0, 0); + break; + } + } + + file->close(); + + fln += QString("+global") + fMsr2DataParam->msrFileExtension + QString(".msr"); + + // clean up + delete stream; + delete file; + break; + default: + break; + } + + load(fln); } } } diff --git a/src/musredit/forms/PMsr2DataDialog.ui b/src/musredit/forms/PMsr2DataDialog.ui index 7b8dabfa..60dd0ae2 100644 --- a/src/musredit/forms/PMsr2DataDialog.ui +++ b/src/musredit/forms/PMsr2DataDialog.ui @@ -369,7 +369,7 @@ Options - + 10 @@ -700,7 +700,7 @@ 547 - 442 + 440 150 @@ -708,22 +708,6 @@ - - fGlobal_checkBox - stateChanged(int) - PMsr2DataDialog - globalChanged(int) - - - 398 - 479 - - - 372 - 520 - - - helpContent()