// Populate the zoom factor combo box.
zoomFactorComboBoxPointer->setCurrentIndex(zoomFactorComboBoxIndex);
- // Populate the custom zoom factor spin box.
- customZoomFactorSpinBoxPointer->setValue(modelIndex.siblingAtColumn(domainsTableModelPointer->fieldIndex(DomainsDatabaseHelper::CUSTOM_ZOOM_FACTOR)).data().toDouble());
+ // Populate the custom zoom factor spin box according to the zoom factor combo box.
+ if (zoomFactorComboBoxIndex == 0) // System default zoom factor is selected.
+ {
+ // Display the default zoom factor.
+ customZoomFactorSpinBoxPointer->setValue(Settings::zoomFactor());
+ }
+ else // Custom zoom factor is selected.
+ {
+ // Display the custom zoom factor from the domain settings.
+ customZoomFactorSpinBoxPointer->setValue(modelIndex.siblingAtColumn(domainsTableModelPointer->fieldIndex(DomainsDatabaseHelper::CUSTOM_ZOOM_FACTOR)).data().toDouble());
+ }
- // Set the initial visibility of the custom zoom factor spin box.
- customZoomFactorSpinBoxPointer->setVisible(zoomFactorComboBoxIndex);
+ // Set the initial status of the custom zoom factor spin box.
+ customZoomFactorSpinBoxPointer->setEnabled(zoomFactorComboBoxIndex);
// Populate the labels.
populateJavaScriptLabel();
void DomainSettingsDialog::zoomFactorComboBoxChanged(const int &newIndex) const
{
+ // Get the current model index.
+ QModelIndex modelIndex = domainsListViewPointer->selectionModel()->currentIndex();
+
// Update the domains table model.
- domainsTableModelPointer->setData(domainsListViewPointer->selectionModel()->currentIndex().siblingAtColumn(domainsTableModelPointer->fieldIndex(DomainsDatabaseHelper::ZOOM_FACTOR)),
- newIndex);
+ domainsTableModelPointer->setData(modelIndex.siblingAtColumn(domainsTableModelPointer->fieldIndex(DomainsDatabaseHelper::ZOOM_FACTOR)), newIndex);
+
+ // Populate the custom zoom factor spin box according to the zoom factor combo box.
+ if (newIndex == 0) // System default zoom factor is selected.
+ {
+ // Display the default zoom factor.
+ customZoomFactorSpinBoxPointer->setValue(Settings::zoomFactor());
+ }
+ else // Custom zoom factor is selected.
+ {
+ // Display the custom zoom factor from the domain settings.
+ customZoomFactorSpinBoxPointer->setValue(modelIndex.siblingAtColumn(domainsTableModelPointer->fieldIndex(DomainsDatabaseHelper::CUSTOM_ZOOM_FACTOR)).data().toDouble());
+ }
- // Update the visibility of the custom zoom factor spin box.
- customZoomFactorSpinBoxPointer->setVisible(newIndex);
+ // Update the status of the custom zoom factor spin box.
+ customZoomFactorSpinBoxPointer->setEnabled(newIndex);
// Update the UI.
updateUi();