/*
* Copyright 2022-2024 Soren Stoutner <soren@stoutner.com>.
*
- * This file is part of Privacy Browser PC <https://www.stoutner.com/privacy-browser-pc>.
+ * This file is part of Privacy Browser PC <https://www.stoutner.com/privacy-browser-pc/>.
*
* Privacy Browser PC is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
*
* You should have received a copy of the GNU General Public License
* along with Privacy Browser PC. If not, see <http://www.gnu.org/licenses/>.
- // */
+ */
// Application headers.
#include "DomainSettingsDialog.h"
const int DomainSettingsDialog::EDIT_DOMAIN = 1;
// Construct the class.
-DomainSettingsDialog::DomainSettingsDialog(const int &startType, const QString &domainName) : QDialog(nullptr)
+DomainSettingsDialog::DomainSettingsDialog(QWidget *parentWidgetPointer, const int &startType, const QString &domainName) : QDialog(parentWidgetPointer)
{
// Set the window title.
setWindowTitle(i18nc("The domain settings dialog window title", "Domain Settings"));
userAgentWidgetPointer = domainSettingsDialogUi.userAgentWidget;
userAgentComboBoxPointer = domainSettingsDialogUi.userAgentComboBox;
userAgentLabelPointer = domainSettingsDialogUi.userAgentLabel;
+ ultraPrivacyWidgetPointer = domainSettingsDialogUi.ultraPrivacyWidget;
+ ultraPrivacyComboBoxPointer = domainSettingsDialogUi.ultraPrivacyComboBox;
+ ultraPrivacyLabelPointer = domainSettingsDialogUi.ultraPrivacyLabel;
+ ultraListWidgetPointer = domainSettingsDialogUi.ultraListWidget;
+ ultraListComboBoxPointer = domainSettingsDialogUi.ultraListComboBox;
+ ultraListLabelPointer = domainSettingsDialogUi.ultraListLabel;
+ easyPrivacyWidgetPointer = domainSettingsDialogUi.easyPrivacyWidget;
+ easyPrivacyComboBoxPointer = domainSettingsDialogUi.easyPrivacyComboBox;
+ easyPrivacyLabelPointer = domainSettingsDialogUi.easyPrivacyLabel;
+ easyListWidgetPointer = domainSettingsDialogUi.easyListWidget;
+ easyListComboBoxPointer = domainSettingsDialogUi.easyListComboBox;
+ easyListLabelPointer = domainSettingsDialogUi.easyListLabel;
+ fanboysAnnoyanceListWidgetPointer = domainSettingsDialogUi.fanboysAnnoyanceListWidget;
+ fanboysAnnoyanceListComboBoxPointer = domainSettingsDialogUi.fanboysAnnoyanceListComboBox;
+ fanboysAnnoyanceListLabelPointer = domainSettingsDialogUi.fanboysAnnoyanceListLabel;
zoomFactorWidgetPointer = domainSettingsDialogUi.zoomFactorWidget;
zoomFactorComboBoxPointer = domainSettingsDialogUi.zoomFactorComboBox;
customZoomFactorSpinBoxPointer = domainSettingsDialogUi.customZoomFactorSpinBox;
// Select the first entry in the list view.
domainsListViewPointer->setCurrentIndex(domainsTableModelPointer->index(0, domainsTableModelPointer->fieldIndex(DomainsDatabase::DOMAIN_NAME)));
- // Populate the domain settings.
- domainSelected(domainsSelectionModelPointer->currentIndex());
-
break;
}
// Move to the new domain.
domainsListViewPointer->setCurrentIndex(newDomainIndex[0]);
- // Populate the domain settings.
- domainSelected(domainsSelectionModelPointer->currentIndex());
-
break;
}
}
+ // Populate the domain settings.
+ domainSelected(domainsSelectionModelPointer->currentIndex());
+
// Handle clicks on the domains.
connect(domainsListViewPointer, SIGNAL(activated(QModelIndex)), this, SLOT(domainSelected(QModelIndex)));
connect(localStorageComboBoxPointer, SIGNAL(currentIndexChanged(int)), this, SLOT(localStorageChanged(int)));
connect(domStorageComboBoxPointer, SIGNAL(currentIndexChanged(int)), this, SLOT(domStorageChanged(int)));
connect(userAgentComboBoxPointer, SIGNAL(currentTextChanged(QString)), this, SLOT(userAgentChanged(QString)));
+ connect(ultraPrivacyComboBoxPointer, SIGNAL(currentIndexChanged(int)), this, SLOT(ultraPrivacyChanged(int)));
+ connect(ultraListComboBoxPointer, SIGNAL(currentIndexChanged(int)), this, SLOT(ultraListChanged(int)));
+ connect(easyPrivacyComboBoxPointer, SIGNAL(currentIndexChanged(int)), this, SLOT(easyPrivacyChanged(int)));
+ connect(easyListComboBoxPointer, SIGNAL(currentIndexChanged(int)), this, SLOT(easyListChanged(int)));
+ connect(fanboysAnnoyanceListComboBoxPointer, SIGNAL(currentIndexChanged(int)), this, SLOT(fanboysAnnoyanceListChanged(int)));
connect(zoomFactorComboBoxPointer, SIGNAL(currentIndexChanged(int)), this, SLOT(zoomFactorComboBoxChanged(int)));
connect(customZoomFactorSpinBoxPointer, SIGNAL(valueChanged(double)), this, SLOT(customZoomFactorChanged(double)));
connect(applyButtonPointer, SIGNAL(clicked()), this, SLOT(apply()));
connect(dialogButtonBoxPointer, SIGNAL(rejected()), this, SLOT(cancel()));
- // Update the UI.
- updateUi();
+ // Update the DOM storage status.
+ updateDomStorageStatus();
+
+ // Update the buttons.
+ updateButtons();
}
void DomainSettingsDialog::apply() const
// Select the new index.
domainsListViewPointer->setCurrentIndex(newIndexList[0].siblingAtColumn(domainsTableModelPointer->fieldIndex(DomainsDatabase::DOMAIN_NAME)));
- // Update the UI.
- updateUi();
+ // Update the buttons.
+ updateButtons();
// Emit the domain settings updated signal.
emit domainSettingsUpdated();
reject();
}
-void DomainSettingsDialog::customZoomFactorChanged(const double &newValue) const
+void DomainSettingsDialog::customZoomFactorChanged(const double newValue) const
{
// Update the domains table model.
domainsTableModelPointer->setData(domainsSelectionModelPointer->currentIndex().siblingAtColumn(domainsTableModelPointer->fieldIndex(DomainsDatabase::CUSTOM_ZOOM_FACTOR)), newValue);
- // Update the UI.
- updateUi();
+ // Update the buttons.
+ updateButtons();
}
-void DomainSettingsDialog::domStorageChanged(const int &newIndex) const
+void DomainSettingsDialog::domStorageChanged(const int newIndex) const
{
// Update the domains table model.
domainsTableModelPointer->setData(domainsSelectionModelPointer->currentIndex().siblingAtColumn(domainsTableModelPointer->fieldIndex(DomainsDatabase::DOM_STORAGE)), newIndex);
// Populate the DOM storage label.
- populateDomStorageLabel();
+ populateLabel(DOM_STORAGE);
- // Update the UI.
- updateUi();
+ // Update the buttons.
+ updateButtons();
}
void DomainSettingsDialog::domainNameChanged(const QString &updatedDomainName) const
// Update the domains table model.
domainsTableModelPointer->setData(domainsSelectionModelPointer->currentIndex(), updatedDomainName);
- // Update the UI.
- updateUi();
+ // Update the buttons.
+ updateButtons();
}
void DomainSettingsDialog::domainSelected(const QModelIndex &modelIndex) const
// Set the custom user agent if specified.
if (userAgentIndex == -1) userAgentComboBoxPointer->setCurrentText(userAgent);
+ // Populate the filter lists combo boxes.
+ ultraPrivacyComboBoxPointer->setCurrentIndex(modelIndex.siblingAtColumn(domainsTableModelPointer->fieldIndex(DomainsDatabase::ULTRAPRIVACY)).data().toInt());
+ ultraListComboBoxPointer->setCurrentIndex(modelIndex.siblingAtColumn(domainsTableModelPointer->fieldIndex(DomainsDatabase::ULTRALIST)).data().toInt());
+ easyPrivacyComboBoxPointer->setCurrentIndex(modelIndex.siblingAtColumn(domainsTableModelPointer->fieldIndex(DomainsDatabase::EASYPRIVACY)).data().toInt());
+ easyListComboBoxPointer->setCurrentIndex(modelIndex.siblingAtColumn(domainsTableModelPointer->fieldIndex(DomainsDatabase::EASYLIST)).data().toInt());
+ fanboysAnnoyanceListComboBoxPointer->setCurrentIndex(modelIndex.siblingAtColumn(domainsTableModelPointer->fieldIndex(DomainsDatabase::FANBOYS_ANNOYANCE_LIST)).data().toInt());
+
// Get the zoom factor combo box index.
int zoomFactorComboBoxIndex = modelIndex.siblingAtColumn(domainsTableModelPointer->fieldIndex(DomainsDatabase::ZOOM_FACTOR)).data().toInt();
customZoomFactorSpinBoxPointer->setEnabled(zoomFactorComboBoxIndex);
// Populate the labels.
- populateJavaScriptLabel();
- populateLocalStorageLabel();
- populateDomStorageLabel();
+ populateLabel(JAVASCRIPT);
+ populateLabel(LOCAL_STORAGE);
+ populateLabel(DOM_STORAGE);
+ populateLabel(ULTRAPRIVACY);
+ populateLabel(ULTRALIST);
+ populateLabel(EASYPRIVACY);
+ populateLabel(EASYLIST);
+ populateLabel(FANBOYS_ANNOYANCE_LIST);
populateUserAgentLabel(userAgentComboBoxPointer->currentText());
- // Update the UI.
- updateUi();
+ // Update the buttons.
+ updateButtons();
+}
+
+void DomainSettingsDialog::easyListChanged(const int newIndex) const
+{
+ // Update the domains table model.
+ domainsTableModelPointer->setData(domainsSelectionModelPointer->currentIndex().siblingAtColumn(domainsTableModelPointer->fieldIndex(DomainsDatabase::EASYLIST)), newIndex);
+
+ // Populate the EasyList label.
+ populateLabel(EASYLIST);
+
+ // Update the buttons.
+ updateButtons();
+}
+
+void DomainSettingsDialog::easyPrivacyChanged(const int newIndex) const
+{
+ // Update the domains table model.
+ domainsTableModelPointer->setData(domainsSelectionModelPointer->currentIndex().siblingAtColumn(domainsTableModelPointer->fieldIndex(DomainsDatabase::EASYPRIVACY)), newIndex);
+
+ // Populate the EasyPrivacy label.
+ populateLabel(EASYPRIVACY);
+
+ // Update the buttons.
+ updateButtons();
}
-void DomainSettingsDialog::javaScriptChanged(const int &newIndex) const
+void DomainSettingsDialog::fanboysAnnoyanceListChanged(const int newIndex) const
+{
+ // Update the domains table model.
+ domainsTableModelPointer->setData(domainsSelectionModelPointer->currentIndex().siblingAtColumn(domainsTableModelPointer->fieldIndex(DomainsDatabase::FANBOYS_ANNOYANCE_LIST)), newIndex);
+
+ // Populate the Fanboy's Annoyance List label.
+ populateLabel(FANBOYS_ANNOYANCE_LIST);
+
+ // Update the buttons.
+ updateButtons();
+}
+
+void DomainSettingsDialog::javaScriptChanged(const int newIndex) const
{
// Update the domains table model.
domainsTableModelPointer->setData(domainsSelectionModelPointer->currentIndex().siblingAtColumn(domainsTableModelPointer->fieldIndex(DomainsDatabase::JAVASCRIPT)), newIndex);
// Populate the JavaScript label.
- populateJavaScriptLabel();
+ populateLabel(JAVASCRIPT);
+
+ // Update the DOM storage status.
+ updateDomStorageStatus();
- // Update the UI.
- updateUi();
+ // Update the buttons.
+ updateButtons();
}
-void DomainSettingsDialog::localStorageChanged(const int &newIndex) const
+void DomainSettingsDialog::localStorageChanged(const int newIndex) const
{
// Update the domains table model.
domainsTableModelPointer->setData(domainsSelectionModelPointer->currentIndex().siblingAtColumn(domainsTableModelPointer->fieldIndex(DomainsDatabase::LOCAL_STORAGE)), newIndex);
// Populate the local storage label.
- populateLocalStorageLabel();
+ populateLabel(LOCAL_STORAGE);
- // Update the UI.
- updateUi();
+ // Update the DOM storage status.
+ updateDomStorageStatus();
+
+ // Update the buttons.
+ updateButtons();
}
void DomainSettingsDialog::ok()
accept();
}
-void DomainSettingsDialog::populateDomStorageLabel() const
+void DomainSettingsDialog::populateLabel(const int label) const
{
- // Populate the label according to the currently selected index.
- switch (domStorageComboBoxPointer->currentIndex())
+ // Create the label strings.
+ QString enabledString;
+ QString enabledBoldString;
+ QString disabledString;
+ QString disabledBoldString;
+
+ // Create the system default bool.
+ bool systemDefaultEnabled;
+
+ // Create the widget pointers.
+ QWidget *widgetPointer;
+ QComboBox *comboBoxPointer;
+ QLabel *labelPointer;
+
+ // Populate the local variables.
+ switch (label)
{
- case (DomainsDatabase::SYSTEM_DEFAULT):
+ case (JAVASCRIPT):
{
- // Set the text according to the system default.
- if (Settings::domStorageEnabled())
- domStorageLabelPointer->setText(i18nc("Domain settings DOM storage label.", "DOM storage enabled"));
- else
- domStorageLabelPointer->setText(i18nc("Domain settings DOM storage label.", "DOM storage disabled"));
+ // Populate the label strings.
+ enabledString = i18nc("Domain settings JavaScript label.", "JavaScript enabled");
+ enabledBoldString = i18nc("Domain settings JavaScript label. The <b> tags should be retained.", "<b>JavaScript enabled</b>");
+ disabledString = i18nc("Domain settings JavaScript label.", "JavaScript disabled");
+ disabledBoldString = i18nc("Domain settings JavaScript label. The <b> tags should be retained.", "<b>JavaScript disabled</b>");
- // Reset the palette.
- domStorageWidgetPointer->setPalette(defaultPalette);
+ // Populate the system default bool.
+ systemDefaultEnabled = Settings::javaScriptEnabled();
+
+ // Populate the widget pointers.
+ widgetPointer = javaScriptWidgetPointer;
+ comboBoxPointer = javaScriptComboBoxPointer;
+ labelPointer = javaScriptLabelPointer;
break;
}
- case (DomainsDatabase::ENABLED):
+ case (LOCAL_STORAGE):
{
- // Set the enabled text in bold.
- domStorageLabelPointer->setText(i18nc("Domain settings DOM storage label. The <b> tags should be retained.", "<b>DOM storage enabled</b>"));
+ // Populate the label strings.
+ enabledString = i18nc("Domain settings local storage label.", "Local storage enabled");
+ enabledBoldString = i18nc("Domain settings local storage label. The <b> tags should be retained.", "<b>Local storage enabled</b>");
+ disabledString = i18nc("Domain settings local storage label.", "Local storage disabled");
+ disabledBoldString = i18nc("Domain settings local storage label. The <b> tags should be retained.", "<b>Local storage disabled</b>");
- // Set the palette.
- domStorageWidgetPointer->setPalette(highlightedPalette);
+ // Populate the system default bool.
+ systemDefaultEnabled = Settings::localStorageEnabled();
+
+ // Populate the widget pointers.
+ widgetPointer = localStorageWidgetPointer;
+ comboBoxPointer = localStorageComboBoxPointer;
+ labelPointer = localStorageLabelPointer;
break;
}
- case (DomainsDatabase::DISABLED):
+ case (DOM_STORAGE):
{
- // Set the disabled text in bold.
- domStorageLabelPointer->setText(i18nc("Domain settings DOM storage label. The <b> tags should be retained.", "<b>DOM storage disabled</b>"));
+ // Populate the label strings.
+ enabledString = i18nc("Domain settings DOM storage label.", "DOM storage enabled");
+ enabledBoldString = i18nc("Domain settings DOM storage label. The <b> tags should be retained.", "<b>DOM storage enabled</b>");
+ disabledString = i18nc("Domain settings DOM storage label.", "DOM storage disabled");
+ disabledBoldString = i18nc("Domain settings DOM storage label. The <b> tags should be retained.", "<b>DOM storage disabled</b>");
- // Set the palette.
- domStorageWidgetPointer->setPalette(highlightedPalette);
+ // Populate the system default bool.
+ systemDefaultEnabled = Settings::domStorageEnabled();
+
+ // Populate the widget pointers.
+ widgetPointer = domStorageWidgetPointer;
+ comboBoxPointer = domStorageComboBoxPointer;
+ labelPointer = domStorageLabelPointer;
break;
}
- }
-}
-void DomainSettingsDialog::populateJavaScriptLabel() const
-{
- // Populate the label according to the currently selected index.
- switch (javaScriptComboBoxPointer->currentIndex())
- {
- case (DomainsDatabase::SYSTEM_DEFAULT):
+ case (ULTRAPRIVACY):
{
- // Set the text according to the system default.
- if (Settings::javaScriptEnabled())
- javaScriptLabelPointer->setText(i18nc("Domain settings JavaScript label.", "JavaScript enabled"));
- else
- javaScriptLabelPointer->setText(i18nc("Domain settings JavaScript label.", "JavaScript disabled"));
+ // Populate the label strings.
+ enabledString = i18nc("Domain settings UltraPrivacy enabled label.", "UltraPrivacy enabled");
+ enabledBoldString = i18nc("Domain settings UltraPrivacy enabled bold label. The <b> tags should be retained.", "<b>UltraPrivacy enabled</b>");
+ disabledString = i18nc("Domain settings UltraPrivacy disabled label.", "UltraPrivacy disabled");
+ disabledBoldString = i18nc("Domain settings UltraPrivacy disabled bold label. The <b> tags should be retained.", "<b>UltraPrivacy disabled</b>");
- // Reset the palette.
- javaScriptWidgetPointer->setPalette(defaultPalette);
+ // Populate the system default bool.
+ systemDefaultEnabled = Settings::ultraPrivacyEnabled();
+
+ // Populate the widget pointers.
+ widgetPointer = ultraPrivacyWidgetPointer;
+ comboBoxPointer = ultraPrivacyComboBoxPointer;
+ labelPointer = ultraPrivacyLabelPointer;
break;
}
- case (DomainsDatabase::ENABLED):
+ case (ULTRALIST):
{
- // Set the enabled text in bold.
- javaScriptLabelPointer->setText(i18nc("Domain settings JavaScript label. The <b> tags should be retained.", "<b>JavaScript enabled</b>"));
+ // Populate the label strings.
+ enabledString = i18nc("Domain settings UltraList enabled label.", "UltraList enabled");
+ enabledBoldString = i18nc("Domain settings UltraList enabled bold label. The <b> tags should be retained.", "<b>UltraList enabled</b>");
+ disabledString = i18nc("Domain settings UltraList disabled label.", "UltraList disabled");
+ disabledBoldString = i18nc("Domain settings UltraList disabled bold label. The <b> tags should be retained.", "<b>UltraList disabled</b>");
- // Set the palette.
- javaScriptWidgetPointer->setPalette(highlightedPalette);
+ // Populate the system default bool.
+ systemDefaultEnabled = Settings::ultraListEnabled();
+
+ // Populate the widget pointers.
+ widgetPointer = ultraListWidgetPointer;
+ comboBoxPointer = ultraListComboBoxPointer;
+ labelPointer = ultraListLabelPointer;
break;
}
- case (DomainsDatabase::DISABLED):
+ case (EASYPRIVACY):
{
- // Set the disabled text in bold.
- javaScriptLabelPointer->setText(i18nc("Domain settings JavaScript label. The <b> tags should be retained.", "<b>JavaScript disabled</b>"));
+ // Populate the label strings.
+ enabledString = i18nc("Domain settings EasyPrivacy enabled label.", "EasyPrivacy enabled");
+ enabledBoldString = i18nc("Domain settings EasyPrivacy enabled bold label. The <b> tags should be retained.", "<b>EasyPrivacy enabled</b>");
+ disabledString = i18nc("Domain settings EasyPrivacy disabled label.", "EasyPrivacy disabled");
+ disabledBoldString = i18nc("Domain settings EasyPrivacy disabled bold label. The <b> tags should be retained.", "<b>EasyPrivacy disabled</b>");
- // Set the palette.
- javaScriptWidgetPointer->setPalette(highlightedPalette);
+ // Populate the system default bool.
+ systemDefaultEnabled = Settings::easyPrivacyEnabled();
+
+ // Populate the widget pointers.
+ widgetPointer = easyPrivacyWidgetPointer;
+ comboBoxPointer = easyPrivacyComboBoxPointer;
+ labelPointer = easyPrivacyLabelPointer;
+
+ break;
+ }
+
+ case (EASYLIST):
+ {
+ // Populate the label strings.
+ enabledString = i18nc("Domain settings EasyList enabled label.", "EasyList enabled");
+ enabledBoldString = i18nc("Domain settings EasyList enabled bold label. The <b> tags should be retained.", "<b>EasyList enabled</b>");
+ disabledString = i18nc("Domain settings EasyList disabled label.", "EasyList disabled");
+ disabledBoldString = i18nc("Domain settings EasyList disabled bold label. The <b> tags should be retained.", "<b>EasyList disabled</b>");
+
+ // Populate the system default bool.
+ systemDefaultEnabled = Settings::easyListEnabled();
+
+ // Populate the widget pointers.
+ widgetPointer = easyListWidgetPointer;
+ comboBoxPointer = easyListComboBoxPointer;
+ labelPointer = easyListLabelPointer;
+
+ break;
+ }
+
+ case (FANBOYS_ANNOYANCE_LIST):
+ {
+ // Populate the label strings.
+ enabledString = i18nc("Domain settings Fanboy’s Annoyance List enabled label.", "Fanboy’s Annoyance List enabled");
+ enabledBoldString = i18nc("Domain settings Fanboy’s Annoyance List enabled bold label. The <b> tags should be retained.", "<b>Fanboy’s Annoyance List enabled</b>");
+ disabledString = i18nc("Domain settings Fanboy’s Annoyance List disabled label.", "Fanboy’s Annoyance List disabled");
+ disabledBoldString = i18nc("Domain settings Fanboy’s Annoyance List disabled bold label. The <b> tags should be retained.", "<b>Fanboy’s Annoyance List disabled</b>");
+
+ // Populate the system default bool.
+ systemDefaultEnabled = Settings::fanboysAnnoyanceListEnabled();
+
+ // Populate the widget pointers.
+ widgetPointer = fanboysAnnoyanceListWidgetPointer;
+ comboBoxPointer = fanboysAnnoyanceListComboBoxPointer;
+ labelPointer = fanboysAnnoyanceListLabelPointer;
break;
}
}
-}
-void DomainSettingsDialog::populateLocalStorageLabel() const
-{
- // Populate the label according to the currently selected index.
- switch (localStorageComboBoxPointer->currentIndex())
+ // Populate the label and widget palette according to the currently selected combo box index.
+ switch (comboBoxPointer->currentIndex())
{
case (DomainsDatabase::SYSTEM_DEFAULT):
{
// Set the text according to the system default.
- if (Settings::localStorageEnabled())
- localStorageLabelPointer->setText(i18nc("Domain settings local storage label.", "Local storage enabled"));
+ if (systemDefaultEnabled)
+ labelPointer->setText(enabledString);
else
- localStorageLabelPointer->setText(i18nc("Domain settings local storage label.", "Local storage disabled"));
+ labelPointer->setText(disabledString);
// Reset the palette.
- localStorageWidgetPointer->setPalette(defaultPalette);
+ widgetPointer->setPalette(defaultPalette);
break;
}
case (DomainsDatabase::ENABLED):
{
- // Set the enabled text in bold.
- localStorageLabelPointer->setText(i18nc("Domain settings local storage label. The <b> tabs should be retained.", "<b>Local storage enabled</b>"));
+ // Set the enabled bold text.
+ labelPointer->setText(enabledBoldString);
// Set the palette.
- localStorageWidgetPointer->setPalette(highlightedPalette);
+ widgetPointer->setPalette(highlightedPalette);
break;
}
case (DomainsDatabase::DISABLED):
{
- // Set the disabled text in bold.
- localStorageLabelPointer->setText(i18nc("Domain settings local storage label. The <b> tags should be retained.", "<b>Local storage disabled</b>"));
+ // Set the disabled bold text.
+ labelPointer->setText(disabledBoldString);
// Set the palette.
- localStorageWidgetPointer->setPalette(highlightedPalette);
+ widgetPointer->setPalette(highlightedPalette);
break;
}
}
}
-
void DomainSettingsDialog::populateUserAgentLabel(const QString &userAgentName) const
{
// Populate the label according to the type.
// Repopulate the domain settings.
domainSelected(domainsListViewPointer->currentIndex());
- // Update the UI.
- updateUi();
+ // Update the buttons.
+ updateButtons();
}
void DomainSettingsDialog::showAddMessageBox()
// Populate the domain settings.
domainSelected(domainsSelectionModelPointer->currentIndex());
- // Update the UI.
- updateUi();
+ // Update the buttons.
+ updateButtons();
// Emit the domain settings updated signal.
emit domainSettingsUpdated();
domainSelected(domainsListViewPointer->currentIndex());
}
- // Update the Ui.
- updateUi();
+ // Update the buttons.
+ updateButtons();
// Emit the domain settings updated signal.
emit domainSettingsUpdated();
}
}
-void DomainSettingsDialog::updateUi() const
+void DomainSettingsDialog::ultraListChanged(const int newIndex) const
+{
+ // Update the domains table model.
+ domainsTableModelPointer->setData(domainsSelectionModelPointer->currentIndex().siblingAtColumn(domainsTableModelPointer->fieldIndex(DomainsDatabase::ULTRALIST)), newIndex);
+
+ // Populate the UltraList label.
+ populateLabel(ULTRALIST);
+
+ // Update the buttons.
+ updateButtons();
+}
+
+void DomainSettingsDialog::ultraPrivacyChanged(const int newIndex) const
+{
+ // Update the domains table model.
+ domainsTableModelPointer->setData(domainsSelectionModelPointer->currentIndex().siblingAtColumn(domainsTableModelPointer->fieldIndex(DomainsDatabase::ULTRAPRIVACY)), newIndex);
+
+ // Populate the UltraPrivacy label.
+ populateLabel(ULTRAPRIVACY);
+
+ // Update the buttons.
+ updateButtons();
+}
+
+void DomainSettingsDialog::updateButtons() const
{
// Update the delete button status.
deleteDomainButtonPointer->setEnabled(domainsSelectionModelPointer->hasSelection());
domainSettingsWidgetPointer->setVisible(domainsTableModelPointer->rowCount() > 0);
}
+void DomainSettingsDialog::updateDomStorageStatus() const
+{
+ // Instantiate tracking variables.
+ bool javaScriptEnabled;
+ bool localStorageEnabled;
+
+ // Populate the JavaScript tracker.
+ switch (javaScriptComboBoxPointer->currentIndex())
+ {
+ case (DomainsDatabase::SYSTEM_DEFAULT):
+ {
+ // Update the tracker according to the system default.
+ if (Settings::javaScriptEnabled())
+ javaScriptEnabled = true;
+ else
+ javaScriptEnabled = false;
+
+ break;
+ }
+
+ case (DomainsDatabase::ENABLED):
+ {
+ // Update the tracker.
+ javaScriptEnabled = true;
+
+ break;
+ }
+
+ case (DomainsDatabase::DISABLED):
+ {
+ // Update the tracker.
+ javaScriptEnabled = false;
+
+ break;
+ }
+ }
+
+ // Populate the local storage tracker.
+ switch (localStorageComboBoxPointer->currentIndex())
+ {
+ case (DomainsDatabase::SYSTEM_DEFAULT):
+ {
+ // Update the tracker according to the system default.
+ if (Settings::localStorageEnabled())
+ localStorageEnabled = true;
+ else
+ localStorageEnabled = false;
+
+ break;
+ }
+
+ case (DomainsDatabase::ENABLED):
+ {
+ // Update the tracker.
+ localStorageEnabled = true;
+
+ break;
+ }
+
+ case (DomainsDatabase::DISABLED):
+ {
+ // Update the tracker.
+ localStorageEnabled = false;
+
+ break;
+ }
+ }
+
+ // Only enable DOM storage if both JavaScript and local storage are enabled.
+ domStorageComboBoxPointer->setEnabled(javaScriptEnabled && localStorageEnabled);
+}
+
void DomainSettingsDialog::userAgentChanged(const QString &updatedUserAgent) const
{
// Update the domains table model.
// Populate the user agent label.
populateUserAgentLabel(updatedUserAgent);
- // Update the UI.
- updateUi();
+ // Update the buttons.
+ updateButtons();
}
-void DomainSettingsDialog::zoomFactorComboBoxChanged(const int &newIndex) const
+void DomainSettingsDialog::zoomFactorComboBoxChanged(const int newIndex) const
{
// Get the current model index.
QModelIndex modelIndex = domainsSelectionModelPointer->currentIndex();
// Update the status of the custom zoom factor spin box.
customZoomFactorSpinBoxPointer->setEnabled(newIndex);
- // Update the UI.
- updateUi();
+ // Update the buttons.
+ updateButtons();
}