]> Devoid-pointer.net GitWeb - anyanka.git/commitdiff
- Store last patch in ExportRawDataDialog
authorMichal Malý <madcatxster@devoid-pointer.net>
Fri, 1 Aug 2014 19:26:00 +0000 (21:26 +0200)
committerMichal Malý <madcatxster@devoid-pointer.net>
Fri, 1 Aug 2014 19:26:00 +0000 (21:26 +0200)
- Fix some warnings

12 files changed:
Anyanka.pro
datafilesloader.cpp
datamanager.cpp
datamanager.h
gui/exportrawdatadialog.cpp
gui/exportrawdatadialog.h
gui/failedfilesdialog.cpp
gui/failedfilesdialog.h
signal.cpp
signalcontroller.cpp
signaldrawer.cpp
singlerundata.cpp

index 3c9ee5d3499b32c0eeb7951fcfc53316b55749c8..07ede8ea6f803e70bb7111b7aa4229c18147bd1f 100644 (file)
@@ -102,3 +102,8 @@ RESOURCES += \
     imgresources.qrc
 
 DEFINES += _HPCS_LITTLE_ENDIAN
+
+CONFIG(release)
+{
+    DEFINES += NDEBUG
+}
index f116e1690c006c98b2f9c0aff1af09070f5a9f4c..0ae0181a24b32eb6d2284a11fa11aab531749fc6 100644 (file)
@@ -46,7 +46,6 @@ DataFilesLoader::ReturnCode DataFilesLoader::loadSingleRun(const QDir& path, std
     }
 
     QString absPath = path.absoluteFilePath(s);
-    qDebug() << absPath << absPath.toStdString().c_str();
 
     HPCS_RetCode iret = hpcs_read_file(absPath.toStdString().c_str(), mdata);
     if (iret == HPCS_OK)
index aa955883059ed8234282b4a6e715ad3a07e03a46..b364b22d04fd304b10997cfedef61a8c0a12fff9 100644 (file)
@@ -44,6 +44,7 @@ const QString DataManager::S_RES_IMGEXPORT("Error while exporting graph to image
 DataManager::DataManager(QObject* parent) :
   QObject(parent),
   m_sequenceRejected(false),
+  m_exportRawDataDialog(DataFileExporter::supportedFormats()),
   m_graphToImageExportDialog(ImageDrawer::supportedImageFormats())
 {
   m_sequences.push_back(std::make_pair<const QString, std::shared_ptr<Sequence>>("Single runs", std::shared_ptr<Sequence>(new Sequence())));
@@ -191,30 +192,31 @@ Signal::Equipment DataManager::equipmentFromFiletype(HPCS_FileType filetype)
 
 void DataManager::processDataExport(GeneratorFunc genfunc)
 {
+  QMetaObject::Connection c1, c2;
   DataFileExporter exporter(this);
-  ExportRawDataDialog dlg(DataFileExporter::supportedFormats());
   DataFileExporter::WriteList writeList;
   std::shared_ptr<SingleRunData> sr = m_activeSequence->selectedRun();
   int ret = 1;
 
-  connect(&dlg, SIGNAL(fileNameChanged(QString)), &exporter, SLOT(guessFormatFromSuffix(QString)));
-  connect(&exporter, SIGNAL(formatChanged(int)), &dlg, SLOT(onFormatChanged(int)));
+  m_exportRawDataDialog.removeAllSignals();
+  c1 = connect(&m_exportRawDataDialog, SIGNAL(fileNameChanged(QString)), &exporter, SLOT(guessFormatFromSuffix(QString)));
+  c2 = connect(&exporter, SIGNAL(formatChanged(int)), &m_exportRawDataDialog, SLOT(onFormatChanged(int)));
   for (const std::string& s : sr->allKeys())
-    dlg.addAvailableSignal(QString::fromStdString(s));
+    m_exportRawDataDialog.addAvailableSignal(QString::fromStdString(s));
 
   do {
-    int dret = dlg.exec();
+    int dret = m_exportRawDataDialog.exec();
     if (dret == QDialog::Rejected)
       ret = 0;
-    else if (dret == QDialog::Accepted && !dlg.isSignalSelected()) {
+    else if (dret == QDialog::Accepted && !m_exportRawDataDialog.isSignalSelected()) {
       QMessageBox::information(nullptr, S_RES_DATAEXPORT, "No signals selected");
-    } else if (dret == QDialog::Accepted && dlg.isSignalSelected()) {
-      std::vector<std::string> selKeys = dlg.selectedSignalKeys();
+    } else if (dret == QDialog::Accepted && m_exportRawDataDialog.isSignalSelected()) {
+      std::vector<std::string> selKeys = m_exportRawDataDialog.selectedSignalKeys();
       DataFileExporter::ReturnCode exRet;
       /* Generate data to export */
       genfunc(writeList, sr, selKeys);
 
-      exRet = exporter.exportData(writeList, dlg.destination(), dlg.format());
+      exRet = exporter.exportData(writeList, m_exportRawDataDialog.destination(), m_exportRawDataDialog.format());
       switch (exRet) {
       case DataFileExporter::ReturnCode::SUCCESS:
         ret = 0;
@@ -236,6 +238,9 @@ void DataManager::processDataExport(GeneratorFunc genfunc)
       }
     }
    } while (ret == 1);
+
+  disconnect(c1);
+  disconnect(c2);
 }
 
 Signal::Resource DataManager::resourceFromFiletype(HPCS_FileType filetype)
index 250acea2d9efe3d0e76e61e0bf98f65eda5f1dc5..847960f1d81c4c5178a62596b9191ce653c0b31b 100644 (file)
@@ -74,6 +74,7 @@ private:
   std::vector<NameSequencePair> m_sequences;
   DataFilesLoader m_dfl;
 
+  ExportRawDataDialog m_exportRawDataDialog;
   ExportGraphToImageDialog m_graphToImageExportDialog;
 
   static const QString ME_SENDER_STR;
index bb7230a3d638885604a603a129ad3618dab8f497..1396720a2eaf2c15579f9fa3410345d9b3502723 100644 (file)
@@ -27,6 +27,7 @@
 
 ExportRawDataDialog::ExportRawDataDialog(const QStringList& supportedFormats, QWidget* parent) :
   QDialog(parent),
+  m_lastPath(""),
   m_supportedFormats(supportedFormats),
   ui(new Ui::ExportRawDataDialog)
 {
@@ -46,7 +47,7 @@ void ExportRawDataDialog::addAvailableSignal(const QString& name)
 {
   QCheckBox* cbox = new QCheckBox(name, this);
   m_signalCheckboxes.push_back(cbox);
-  ui->form_availSigs->addWidget(cbox);
+  ui->form_availSigs->addRow(cbox);
 }
 
 QString ExportRawDataDialog::destination() const
@@ -67,6 +68,16 @@ bool ExportRawDataDialog::isSignalSelected() const
   return false;
 }
 
+void ExportRawDataDialog::removeAllSignals()
+{
+  QLayoutItem* item;
+  while ((item = ui->form_availSigs->takeAt(0)) != nullptr) {
+    delete item->widget();
+    delete item;
+  }
+  m_signalCheckboxes.clear();
+}
+
 std::vector<std::string> ExportRawDataDialog::selectedSignalKeys() const
 {
   std::vector<std::string> kl;
index b232c41d1d628e60c2d5df7db81bec95b89e07f1..c3115e347bbeb4ba4905c157e0a7f31b2dd79a76 100644 (file)
@@ -43,10 +43,12 @@ public:
   QString destination() const;
   int format() const;
   bool isSignalSelected() const;
+  void removeAllSignals();
   std::vector<std::string> selectedSignalKeys() const;
   int signalsCount() const { return m_signalCheckboxes.size(); }
 
 private:
+  QString m_lastPath;
   std::vector<QCheckBox*> m_signalCheckboxes;
   QStringList m_supportedFormats;
   Ui::ExportRawDataDialog* ui;
index 9b01f288b5dfd7b00894da8ae226f772186234c8..863dcedb7ae61a85280fd6c4f236bf9079a6ae52 100644 (file)
@@ -1,3 +1,25 @@
+/*
+  Copyright (c) 2013 Michal Malý <madcatxster@prifuk.cz>
+
+  Permission is hereby granted, free of charge, to any person obtaining a copy
+  of this software and associated documentation files (the "Software"), to deal
+  in the Software without restriction, including without limitation the rights
+  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+  copies of the Software, and to permit persons to whom the Software is
+  furnished to do so, subject to the following conditions:
+
+  The above copyright notice and this permission notice shall be included in
+  all copies or substantial portions of the Software.
+
+  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+  THE SOFTWARE.
+*/
+
 #include "failedfilesdialog.h"
 #include "ui_failedfilesdialog.h"
 #include <QIcon>
index 0e8984826adf49db8cc1a04e560e2db604dbd366..749eac96e03b37152a20bdd7799010093d942156 100644 (file)
@@ -1,3 +1,25 @@
+/*
+  Copyright (c) 2013 Michal Malý <madcatxster@prifuk.cz>
+
+  Permission is hereby granted, free of charge, to any person obtaining a copy
+  of this software and associated documentation files (the "Software"), to deal
+  in the Software without restriction, including without limitation the rights
+  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+  copies of the Software, and to permit persons to whom the Software is
+  furnished to do so, subject to the following conditions:
+
+  The above copyright notice and this permission notice shall be included in
+  all copies or substantial portions of the Software.
+
+  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+  THE SOFTWARE.
+*/
+
 #ifndef FAILEDFILESDIALOG_H
 #define FAILEDFILESDIALOG_H
 
index 61afd2003c2dca01c159c5532ce026c31dbfbce4..8fee612b1cb589f43ded05a7b950b718e9536543 100644 (file)
@@ -114,11 +114,6 @@ double Signal::timeAt(const size_t idx) const
     return m_values.at(idx).first;
 }
 
-/*QString Signal::uidString() const
-{
-  return resourceToString() + QString::number(m_wavelengthAbs) + QString::number(m_wavelengthRef);
-}*/
-
 double Signal::valueAt(const size_t idx) const
 {
   if (idx >= m_values.size())
index c2a19424ca42aea839c828cc4fed6e70e3e1fff2..f93c0e23f6863511d8b805537264cb1427ef0d03 100644 (file)
@@ -224,7 +224,7 @@ PeakDrawData SignalController::integratePeak(const double fromX, const double fr
   Integrator::ReturnCode ret;
   std::shared_ptr<IntegratedPeak> peak;
 
-  qDebug() << __QFUNC__ << fromX << fromY << toX << toY;
+  //qDebug() << __QFUNC__ << fromX << fromY << toX << toY;
 
   fromIdx = relToIdx(fromX);
   toIdx = relToIdx(toX);
@@ -292,6 +292,8 @@ PeakDrawData SignalController::genPeakDrawData(const std::shared_ptr<const Integ
     fromY = peak->fromY();
     toY = peak->toY();
     break;
+  default:
+    return PeakDrawData();
   }
 
   //qDebug() << __QFUNC__ << beforeFromY << fromY
index 24863092dce8624676c2116c31cbf9071bd5da49..12be1072d10499e1c0683929f4c15e12859355ea 100644 (file)
@@ -221,18 +221,20 @@ bool SignalDrawer::drawScale(const SignalController::Axis axis, QPixmap* const t
 
   p.begin(target);
   switch (axis) {
-    case SignalController::Axis::TIME:
-      relMin = m_relXMin; relMax = m_relXMax;
-      tickDrawFunc = std::bind(&SignalDrawer::renderTimeScaleTick, this, &p, std::placeholders::_1, std::placeholders::_2);
-      textDrawFunc = std::bind(&SignalDrawer::renderTimeScaleText, this, &p, std::placeholders::_1, std::placeholders::_2);
-      p.drawLine(SCALE_MARGIN_VALUE, m_gHeight + 1, m_gWidth + SCALE_MARGIN_VALUE, m_gHeight + 1);
-      break;
-    case SignalController::Axis::VALUE:
-      relMin = m_relYMin; relMax = m_relYMax;
-      tickDrawFunc = std::bind(&SignalDrawer::renderValueScaleTick, this, &p, std::placeholders::_1, std::placeholders::_2);
-      textDrawFunc = std::bind(&SignalDrawer::renderValueScaleText, this, &p, std::placeholders::_1, std::placeholders::_2);
-      p.drawLine(SCALE_MARGIN_VALUE - 1, 0, SCALE_MARGIN_VALUE - 1, m_gHeight);
-      break;
+  case SignalController::Axis::TIME:
+    relMin = m_relXMin; relMax = m_relXMax;
+    tickDrawFunc = std::bind(&SignalDrawer::renderTimeScaleTick, this, &p, std::placeholders::_1, std::placeholders::_2);
+    textDrawFunc = std::bind(&SignalDrawer::renderTimeScaleText, this, &p, std::placeholders::_1, std::placeholders::_2);
+    p.drawLine(SCALE_MARGIN_VALUE, m_gHeight + 1, m_gWidth + SCALE_MARGIN_VALUE, m_gHeight + 1);
+    break;
+  case SignalController::Axis::VALUE:
+    relMin = m_relYMin; relMax = m_relYMax;
+    tickDrawFunc = std::bind(&SignalDrawer::renderValueScaleTick, this, &p, std::placeholders::_1, std::placeholders::_2);
+    textDrawFunc = std::bind(&SignalDrawer::renderValueScaleText, this, &p, std::placeholders::_1, std::placeholders::_2);
+    p.drawLine(SCALE_MARGIN_VALUE - 1, 0, SCALE_MARGIN_VALUE - 1, m_gHeight);
+    break;
+  default:
+    return false;
   }
 
   RulerDrawData rd = m_controller->getRulerDrawData(relMin, relMax, axis);
@@ -485,12 +487,12 @@ QRegion SignalDrawer::renderPeak(const PeakDrawData& pd, QPixmap* const target)
   p.end();
 
   if (peakReg.intersects(m_xAxisLabelRect)) {
-    qDebug() << "x inters";
+    //qDebug() << "x inters";
     drawAxisLabel(SignalController::Axis::TIME, target);
     peakReg += m_xAxisLabelRect;
   }
   if (peakReg.intersects(m_yAxisLabelRect)) {
-    qDebug() << "y inters";
+    //qDebug() << "y inters";
     drawAxisLabel(SignalController::Axis::VALUE, target);
     peakReg += m_yAxisLabelRect;
   }
@@ -503,7 +505,6 @@ QRegion SignalDrawer::renderPeak(const PeakDrawData& pd, QPixmap* const target)
 double SignalDrawer::linesIntersection(const double k1, const double q1, const double k2, const double q2)
 {
   double ret = (q1 - q2) / (k2 - k1);
-  qDebug() << __QFUNC__ << ret;
 
   return ret;
 }
@@ -511,14 +512,12 @@ double SignalDrawer::linesIntersection(const double k1, const double q1, const d
 int SignalDrawer::relToXPix(const double rel)
 {
   const double ret = m_gWidth / (m_relXMax - m_relXMin) * (rel - m_relXMin) + SCALE_MARGIN_VALUE;
-  //qDebug() << __QFUNC__ << ret;
   return ret;
 }
 
 int SignalDrawer::relToYPix(const double rel)
 {
   const double ret = m_gHeight - (m_gHeight / (m_relYMax - m_relYMin) * (rel - m_relYMin));
-  //qDebug() << __QFUNC__ << ret;
   return ret;
 }
 
@@ -528,7 +527,6 @@ double SignalDrawer::xPixToRel(const int pix)
   if (pix < SCALE_MARGIN_VALUE)
     return m_relXMin;
   ret = ((pix - SCALE_MARGIN_VALUE) * (m_relXMax - m_relXMin) / m_gWidth) + m_relXMin;
-  //qDebug() << __QFUNC__ << ret;
   return ret;
 }
 
index 6cee8191b7068df792fe4111444f8b588efa5490..6b6887e1a6dd1dc6b9451996f2c32223df7bd60c 100644 (file)
@@ -144,7 +144,7 @@ bool SingleRunData::saveUserDataToJSON()
     }
     f.write(bytes.data(), bytes.size());
 
-    qDebug() << val;
+    //qDebug() << val;
     f.close();
     cit->second->userDataSaved();
     ++cit;