Unverified Commit 12e4c4b0 authored by Tyler Wilson's avatar Tyler Wilson Committed by GitHub
Browse files

Merge pull request #333 from twilson271828/ipceBundleWindow

Changed the behavior of BundleSettings::observationSolveSettings(...)
parents 7644650d 8810c331
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -450,14 +450,17 @@ namespace Isis {
  BundleObservationSolveSettings
      BundleSettings::observationSolveSettings(QString observationNumber) const {

    BundleObservationSolveSettings defaultSolveSettings;

    for (int i = 0; i < numberSolveSettings(); i++) {
      if (m_observationSolveSettings[i].observationNumbers().contains(observationNumber)) {
        return m_observationSolveSettings[i];
      }
    }
    QString msg = "Unable to find BundleObservationSolveSettings for observation number ["
                  + observationNumber + "].";
    throw IException(IException::Unknown, msg, _FILEINFO_);
    return defaultSolveSettings;
    //QString msg = "Unable to find BundleObservationSolveSettings for observation number ["
    //              + observationNumber + "].";
   // throw IException(IException::Unknown, msg, _FILEINFO_);
  }


+20 −1
Original line number Diff line number Diff line
@@ -485,7 +485,26 @@ namespace Isis {

    }

    m_bundleSettings->setObservationSolveOptions(settings->observationSolveSettings());
    // If we click setup after changing image selection in the project tree, not all images will
    // have solve settings. Here we add those images and their default settings to the list
    QList<BundleObservationSolveSettings> defaultSettings = m_bundleSettings->observationSolveSettings();
    QList<BundleObservationSolveSettings> fillSettings = settings->observationSolveSettings();

    for (auto &solveSettings : defaultSettings) {      
      // Remove any images from defaultSettings that exist in fillSettings
      foreach (QString observationNumber, solveSettings.observationNumbers()) {
        // The method will return a default with no obs numbers if none are found
        if (settings->observationSolveSettings(observationNumber).observationNumbers().isEmpty()) {
          solveSettings.removeObservationNumber(observationNumber);
        }
      }
      // Append leftover defaultSettings
      if (!solveSettings.observationNumbers().isEmpty()) {
        fillSettings.append(solveSettings);
      }
    }

    m_bundleSettings->setObservationSolveOptions(fillSettings);
    
    update();