QXRD  0.11.16
qxrdexposuretimespinner.cpp
Go to the documentation of this file.
2 
4  : QDoubleSpinBox(parent)
5 {
6  m_PreferredExposures << 0.06666667 << 0.1 << 0.2 << 0.5 << 1.0 << 2.0 << 5.0 << 8.0;
7 }
8 
10 {
11  double oldVal = value();
12 
13  int n = m_PreferredExposures.size();
14  int foundAt = 0;
15 
16  for (int i=0; i<n; i++) {
17  if (m_PreferredExposures[i] <= oldVal) {
18  foundAt = i;
19  }
20  }
21 
22  int newFound = foundAt + steps;
23 
24  if (newFound < 0) {
25  newFound = 0;
26  } else if (newFound >= n) {
27  newFound = n-1;
28  }
29 
30  double newVal = m_PreferredExposures[newFound];
31 
32  setValue(newVal);
33 
34  emit valueChanged(newVal);
35 }
virtual void stepBy(int steps)
QVector< double > m_PreferredExposures
QxrdExposureTimeSpinner(QWidget *parent=0)