fix camera settings response
This commit is contained in:
parent
fc41561bb3
commit
af3d141dba
3 changed files with 16 additions and 10 deletions
|
@ -40,7 +40,7 @@ class DoubleLineEdit;
|
|||
class IntLineEdit;
|
||||
class MeasuredDoubleLineEdit;
|
||||
class CheckBox;
|
||||
}
|
||||
} // namespace DVGui
|
||||
|
||||
//---------------------------------------------------------------
|
||||
|
||||
|
@ -124,8 +124,8 @@ public:
|
|||
// camera => widget fields (i.e. initialize widget)
|
||||
void setFields(const TCamera *camera);
|
||||
|
||||
// widget fields => camera
|
||||
void getFields(TCamera *camera);
|
||||
// widget fields => camera return true if the value is actually changed
|
||||
bool getFields(TCamera *camera);
|
||||
|
||||
QSize sizeHint() const override { return minimumSize(); }
|
||||
|
||||
|
|
|
@ -224,11 +224,12 @@ void CameraSettingsPopup::updateWindowTitle() {
|
|||
void CameraSettingsPopup::onChanged() {
|
||||
TCamera *camera = getCamera();
|
||||
if (!camera) return;
|
||||
m_cameraSettingsWidget->getFields(camera);
|
||||
TApp::instance()->getCurrentScene()->notifySceneChanged();
|
||||
TApp::instance()->getCurrentXsheet()->notifyXsheetChanged();
|
||||
if (m_cameraSettingsWidget->getFields(camera)) {
|
||||
TApp::instance()->getCurrentScene()->notifySceneChanged();
|
||||
TApp::instance()->getCurrentXsheet()->notifyXsheetChanged();
|
||||
|
||||
emit changed();
|
||||
emit changed();
|
||||
}
|
||||
}
|
||||
|
||||
void CameraSettingsPopup::onNameChanged() {
|
||||
|
|
|
@ -591,9 +591,14 @@ void CameraSettingsWidget::setFields(const TCamera *camera) {
|
|||
updatePresetListOm();
|
||||
}
|
||||
|
||||
void CameraSettingsWidget::getFields(TCamera *camera) {
|
||||
bool CameraSettingsWidget::getFields(TCamera *camera) {
|
||||
TDimensionD old_sz = camera->getSize();
|
||||
TDimension old_res = camera->getRes();
|
||||
|
||||
if (old_sz == getSize() && old_res == getRes()) return false;
|
||||
camera->setSize(getSize());
|
||||
camera->setRes(getRes());
|
||||
return true;
|
||||
}
|
||||
|
||||
TDimensionD CameraSettingsWidget::getSize() const {
|
||||
|
@ -954,8 +959,8 @@ double CameraSettingsWidget::aspectRatioStringToValue(const QString &s) {
|
|||
}
|
||||
int i = s.indexOf("/");
|
||||
if (i <= 0 || i + 1 >= s.length()) return s.toDouble();
|
||||
int num = s.left(i).toInt();
|
||||
int den = s.mid(i + 1).toInt();
|
||||
int num = s.left(i).toInt();
|
||||
int den = s.mid(i + 1).toInt();
|
||||
if (den <= 0) den = 1;
|
||||
return (double)num / (double)den;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue