<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -45,6 +45,18 @@ namespace Avogadro {
 
     m_dialog = parent;
 
+    // Setup signals/slots
+    connect(this, SIGNAL(plotDataChanged()),
+            m_dialog, SLOT(regenerateCalculatedSpectra()));
+    connect(ui.cb_labelPeaks, SIGNAL(toggled(bool)),
+            m_dialog, SLOT(regenerateCalculatedSpectra()));
+    connect(ui.spin_scale, SIGNAL(valueChanged(double)),
+            this, SLOT(setScale(double)));
+    connect(ui.spin_FWHM, SIGNAL(valueChanged(double)),
+            m_dialog, SLOT(regenerateCalculatedSpectra()));
+    connect(ui.combo_yaxis, SIGNAL(currentIndexChanged(QString)),
+            this, SLOT(updateYAxis(QString)));
+
     readSettings();
   }
 
@@ -69,10 +81,11 @@ namespace Avogadro {
 
   void IRSpectra::readSettings() {
     QSettings settings; // Already set up in avogadro/src/main.cpp
-    setScale(settings.value(&quot;spectra/IR/scale&quot;, 1.0).toDouble());
+    ui.spin_scale-&gt;setValue(settings.value(&quot;spectra/IR/scale&quot;, 1.0).toDouble());
     ui.spin_FWHM-&gt;setValue(settings.value(&quot;spectra/IR/gaussianWidth&quot;,0.0).toDouble());
     ui.cb_labelPeaks-&gt;setChecked(settings.value(&quot;spectra/IR/labelPeaks&quot;,false).toBool());
     updateYAxis(settings.value(&quot;spectra/IR/yAxisUnits&quot;,&quot;Absorbance (%)&quot;).toString());
+    emit plotDataChanged();
   }
 
   bool IRSpectra::checkForData(Molecule * mol) {
@@ -80,18 +93,6 @@ namespace Avogadro {
     OpenBabel::OBVibrationData *vibrations = static_cast&lt;OpenBabel::OBVibrationData*&gt;(obmol.GetData(OpenBabel::OBGenericDataType::VibrationData));
     if (!vibrations) return false;
 
-    // Setup signals/slots
-    connect(this, SIGNAL(plotDataChanged()),
-            m_dialog, SLOT(regenerateCalculatedSpectra()));
-    connect(ui.cb_labelPeaks, SIGNAL(toggled(bool)),
-            m_dialog, SLOT(regenerateCalculatedSpectra()));
-    connect(ui.spin_scale, SIGNAL(valueChanged(double)),
-            this, SLOT(setScale(double)));
-    connect(ui.spin_FWHM, SIGNAL(valueChanged(double)),
-            m_dialog, SLOT(regenerateCalculatedSpectra()));
-    connect(ui.combo_yaxis, SIGNAL(currentIndexChanged(QString)),
-            this, SLOT(updateYAxis(QString)));
-
     // OK, we have valid vibrations, so store them for later
     vector&lt;double&gt; wavenumbers = vibrations-&gt;GetFrequencies();
     vector&lt;double&gt; intensities = vibrations-&gt;GetIntensities();
@@ -261,9 +262,9 @@ namespace Avogadro {
   }
 
   void IRSpectra::setScale(double scale) {
+    qDebug() &lt;&lt; scale &lt;&lt; &quot; &quot; &lt;&lt; m_scale;
     if (scale == m_scale) return;
     m_scale = scale;
-    ui.spin_scale-&gt;setValue(scale);
     emit plotDataChanged();
   }
 </diff>
      <filename>libavogadro/src/extensions/spectratype_ir.cpp</filename>
    </modified>
    <modified>
      <diff>@@ -47,6 +47,20 @@ namespace Avogadro {
     m_NMRdata = new QHash&lt;QString, QList&lt;double&gt;* &gt;;
     m_dialog = parent;
 
+    // Setup signals/slots
+    connect(this, SIGNAL(plotDataChanged()),
+            m_dialog, SLOT(regenerateCalculatedSpectra()));
+    connect(ui.combo_type, SIGNAL(currentIndexChanged(QString)),
+            this, SLOT(setAtom(QString)));
+    connect(ui.spin_ref, SIGNAL(valueChanged(double)),
+            this, SLOT(setReference(double)));
+    connect(ui.push_resetAxes, SIGNAL(clicked()),
+            this, SLOT(updatePlotAxes()));
+    connect(ui.spin_FWHM, SIGNAL(valueChanged(double)),
+            m_dialog, SLOT(regenerateCalculatedSpectra()));
+    connect(ui.cb_labelPeaks, SIGNAL(toggled(bool)),
+            m_dialog, SLOT(regenerateCalculatedSpectra()));
+
     readSettings();
   }
 
@@ -203,19 +217,6 @@ namespace Avogadro {
         hasNMR = true;
 
     if (!hasNMR) return false;
-    // Setup signals/slots
-    connect(this, SIGNAL(plotDataChanged()),
-            m_dialog, SLOT(regenerateCalculatedSpectra()));
-    connect(ui.combo_type, SIGNAL(currentIndexChanged(QString)),
-            this, SLOT(setAtom(QString)));
-    connect(ui.spin_ref, SIGNAL(valueChanged(double)),
-            this, SLOT(setReference(double)));
-    connect(ui.push_resetAxes, SIGNAL(clicked()),
-            this, SLOT(updatePlotAxes()));
-    connect(ui.spin_FWHM, SIGNAL(valueChanged(double)),
-            m_dialog, SLOT(regenerateCalculatedSpectra()));
-    connect(ui.cb_labelPeaks, SIGNAL(toggled(bool)),
-            m_dialog, SLOT(regenerateCalculatedSpectra()));
 
     // Extract data from obmol
     FOR_ATOMS_OF_MOL(atom,obmol) {</diff>
      <filename>libavogadro/src/extensions/spectratype_nmr.cpp</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>5e465b0414d2c35337769288763544b3344ba9bc</id>
    </parent>
  </parents>
  <author>
    <name>David Lonie</name>
    <email>loniedavid@gmail.com</email>
  </author>
  <url>http://github.com/cryos/avogadro/commit/3d23dbbd5249f64402c4e26f2ac86c64629f8176</url>
  <id>3d23dbbd5249f64402c4e26f2ac86c64629f8176</id>
  <committed-date>2009-11-07T05:19:50-08:00</committed-date>
  <authored-date>2009-11-07T05:18:21-08:00</authored-date>
  <message>Move connections to constructors for spectra tabs.</message>
  <tree>3e0bb56e32e20cbaf7522c1d634c8fa03bf3266f</tree>
  <committer>
    <name>David Lonie</name>
    <email>loniedavid@gmail.com</email>
  </committer>
</commit>
