Commit 32566527 authored by acpaquette's avatar acpaquette
Browse files

Exposed error formatting and file line reporting flags on preference class

parent 2e2f070a
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -71,6 +71,9 @@ namespace Isis {
        return p_unitTest;
      }

      bool outputErrorAsPvl();
      bool reportFileLine();

      static Preference &Preferences(bool unitTest = false);

    private:
+29 −0
Original line number Diff line number Diff line
@@ -124,6 +124,35 @@ namespace Isis {
    return *p_preference;
  }

  bool Preference::outputErrorAsPvl() {
    bool usePvlFormat = false;
    try {
      PvlGroup &errorFacility = this->findGroup("ErrorFacility");
      if (errorFacility.hasKeyword("Format")) {
        QString format = errorFacility["Format"][0];
        usePvlFormat = (format.toUpper() == "PVL");
      }
    }
    catch (IException &e) {
      // If we failed we likely don't have an ErrorFacility group
    }
    return usePvlFormat;
  }

  bool Preference::reportFileLine() {
    bool reportFileLine = true;

    if (this->hasGroup("ErrorFacility")) {
      PvlGroup &errorFacility = this->findGroup("ErrorFacility");
      if (errorFacility.hasKeyword("FileLine")) {
        QString fileLine = errorFacility["FileLine"][0];
        reportFileLine = (fileLine.toUpper() == "ON");
      }
    }

    return reportFileLine;
  }

  void Preference::Shutdown() {
    if(p_preference) {
      delete p_preference;