javaScriptLabelPointer = domainSettingsDialogUi.javaScriptLabel;
userAgentComboBoxPointer = domainSettingsDialogUi.userAgentComboBox;
userAgentLabelPointer = domainSettingsDialogUi.userAgentLabel;
+ zoomFactorComboBoxPointer = domainSettingsDialogUi.zoomFactorComboBox;
+ customZoomFactorSpinBoxPointer = domainSettingsDialogUi.customZoomFactorSpinBox;
QPushButton *addDomainButtonPointer = domainSettingsDialogUi.addDomainButton;
deleteDomainButtonPointer = domainSettingsDialogUi.deleteDomainButton;
QDialogButtonBox *dialogButtonBoxPointer = domainSettingsDialogUi.dialogButtonBox;
connect(domainNameLineEditPointer, SIGNAL(textEdited(QString)), this, SLOT(domainNameChanged(QString)));
connect(javaScriptComboBoxPointer, SIGNAL(currentIndexChanged(int)), this, SLOT(javaScriptChanged(int)));
connect(userAgentComboBoxPointer, SIGNAL(currentTextChanged(QString)), this, SLOT(userAgentChanged(QString)));
+ connect(zoomFactorComboBoxPointer, SIGNAL(currentIndexChanged(int)), this, SLOT(zoomFactorComboBoxChanged(int)));
+ connect(customZoomFactorSpinBoxPointer, SIGNAL(valueChanged(double)), this, SLOT(customZoomFactorChanged(double)));
// Connect the buttons.
connect(addDomainButtonPointer, SIGNAL(released()), this, SLOT(showAddMessageBox()));
reject();
}
-void DomainSettingsDialog::domainNameChanged(QString updatedDomainName) const
+void DomainSettingsDialog::customZoomFactorChanged(const double &newValue) const
+{
+ // Update the domains table model.
+ domainsTableModelPointer->setData(domainsListViewPointer->selectionModel()->currentIndex().siblingAtColumn(domainsTableModelPointer->fieldIndex(DomainsDatabaseHelper::CUSTOM_ZOOM_FACTOR)),
+ newValue);
+
+ // Update the UI.
+ updateUi();
+}
+
+
+void DomainSettingsDialog::domainNameChanged(const QString &updatedDomainName) const
{
// Update the domains table model.
domainsTableModelPointer->setData(domainsListViewPointer->selectionModel()->currentIndex(), updatedDomainName);
}
-void DomainSettingsDialog::domainSelected(QModelIndex modelIndex) const
+void DomainSettingsDialog::domainSelected(const QModelIndex &modelIndex) const
{
// Populate the domain name line edit pointer.
domainNameLineEditPointer->setText(modelIndex.data().toString());
// Set the custom user agent if specified.
if (userAgentIndex == -1) userAgentComboBoxPointer->setCurrentText(userAgent);
+ // Get the zoom factor combo box index.
+ int zoomFactorComboBoxIndex = modelIndex.siblingAtColumn(domainsTableModelPointer->fieldIndex(DomainsDatabaseHelper::ZOOM_FACTOR)).data().toInt();
+
+ // 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());
+
+ // Set the initial visibility of the custom zoom factor spin box.
+ customZoomFactorSpinBoxPointer->setVisible(zoomFactorComboBoxIndex);
+
// Populate the labels.
populateJavaScriptLabel();
populateUserAgentLabel(userAgentComboBoxPointer->currentText());
updateUi();
}
-void DomainSettingsDialog::javaScriptChanged(int newIndex) const
+void DomainSettingsDialog::javaScriptChanged(const int &newIndex) const
{
// Update the domains table model.
domainsTableModelPointer->setData(domainsListViewPointer->selectionModel()->currentIndex().siblingAtColumn(domainsTableModelPointer->fieldIndex(DomainsDatabaseHelper::JAVASCRIPT)),
// Create a new domain record.
QSqlRecord newDomainRecord = QSqlDatabase::database(DomainsDatabaseHelper::CONNECTION_NAME).record(DomainsDatabaseHelper::DOMAINS_TABLE);
- // Add the new domain name.
+ // Set the values for the new domain.
newDomainRecord.setValue(domainsTableModelPointer->fieldIndex(DomainsDatabaseHelper::DOMAIN_NAME), newDomainName);
-
- // Set the default value of `0` for JavaScript.
- newDomainRecord.setValue(domainsTableModelPointer->fieldIndex(DomainsDatabaseHelper::JAVASCRIPT), 0);
-
- // Set the default value for the user agent.
+ newDomainRecord.setValue(domainsTableModelPointer->fieldIndex(DomainsDatabaseHelper::JAVASCRIPT), DomainsDatabaseHelper::SYSTEM_DEFAULT);
newDomainRecord.setValue(domainsTableModelPointer->fieldIndex(DomainsDatabaseHelper::USER_AGENT), UserAgentHelper::SYSTEM_DEFAULT_DATABASE);
+ newDomainRecord.setValue(domainsTableModelPointer->fieldIndex(DomainsDatabaseHelper::ZOOM_FACTOR), DomainsDatabaseHelper::SYSTEM_DEFAULT);
+ newDomainRecord.setValue(domainsTableModelPointer->fieldIndex(DomainsDatabaseHelper::CUSTOM_ZOOM_FACTOR), 1.0);
// Insert the new domain. `-1` appends it to the end.
domainsTableModelPointer->insertRecord(-1, newDomainRecord);
domainSettingsWidgetPointer->setVisible(domainsTableModelPointer->rowCount() > 0);
}
-void DomainSettingsDialog::userAgentChanged(const QString updatedUserAgent) const
+void DomainSettingsDialog::userAgentChanged(const QString &updatedUserAgent) const
{
// Update the domains table model.
domainsTableModelPointer->setData(domainsListViewPointer->selectionModel()->currentIndex().siblingAtColumn(domainsTableModelPointer->fieldIndex(DomainsDatabaseHelper::USER_AGENT)),
updateUi();
}
+void DomainSettingsDialog::zoomFactorComboBoxChanged(const int &newIndex) const
+{
+ // Update the domains table model.
+ domainsTableModelPointer->setData(domainsListViewPointer->selectionModel()->currentIndex().siblingAtColumn(domainsTableModelPointer->fieldIndex(DomainsDatabaseHelper::ZOOM_FACTOR)),
+ newIndex);
+
+ // Update the visibility of the custom zoom factor spin box.
+ customZoomFactorSpinBoxPointer->setVisible(newIndex);
+ // Update the UI.
+ updateUi();
+}