X-Git-Url: https://gitweb.stoutner.com/?a=blobdiff_plain;f=src%2Fdialogs%2FDomainSettingsDialog.cpp;h=82f0f64b890af85781c3187a5f3ecf7902d04f2a;hb=425fed98271cd951cddef9904e5e271f0fb76fc1;hp=ea5558c1fd267491dd8bfd3617bff89642611b86;hpb=06a69a2d38bf73c0c5219f94c345b19142bb1646;p=PrivacyBrowserPC.git diff --git a/src/dialogs/DomainSettingsDialog.cpp b/src/dialogs/DomainSettingsDialog.cpp index ea5558c..82f0f64 100644 --- a/src/dialogs/DomainSettingsDialog.cpp +++ b/src/dialogs/DomainSettingsDialog.cpp @@ -1,5 +1,5 @@ /* - * Copyright © 2022 Soren Stoutner . + * Copyright 2022-2023 Soren Stoutner . * * This file is part of Privacy Browser PC . * @@ -15,7 +15,7 @@ * * You should have received a copy of the GNU General Public License * along with Privacy Browser PC. If not, see . - */ + // */ // Application headers. #include "DomainSettingsDialog.h" @@ -27,6 +27,7 @@ #include #include #include +#include // Define the public static int constants. const int DomainSettingsDialog::SHOW_ALL_DOMAINS = 0; @@ -137,6 +138,9 @@ DomainSettingsDialog::DomainSettingsDialog(const int &startType, const QString & // Add the new domain. addDomain(domainName); + // Emit the domain settings updated signal after 100 milliseconds. This is necessary because the browser window takes time to process the connect command to receive the signal. + QTimer::singleShot(100, [this] () { emit domainSettingsUpdated();}); + break; } @@ -188,6 +192,7 @@ void DomainSettingsDialog::addDomain(const QString &domainName) const // Set the values for the new domain. newDomainRecord.setValue(domainsTableModelPointer->fieldIndex(DomainsDatabase::DOMAIN_NAME), domainName); newDomainRecord.setValue(domainsTableModelPointer->fieldIndex(DomainsDatabase::JAVASCRIPT), DomainsDatabase::SYSTEM_DEFAULT); + newDomainRecord.setValue(domainsTableModelPointer->fieldIndex(DomainsDatabase::LOCAL_STORAGE), DomainsDatabase::SYSTEM_DEFAULT); newDomainRecord.setValue(domainsTableModelPointer->fieldIndex(DomainsDatabase::DOM_STORAGE), DomainsDatabase::SYSTEM_DEFAULT); newDomainRecord.setValue(domainsTableModelPointer->fieldIndex(DomainsDatabase::USER_AGENT), UserAgentHelper::SYSTEM_DEFAULT_DATABASE); newDomainRecord.setValue(domainsTableModelPointer->fieldIndex(DomainsDatabase::ZOOM_FACTOR), DomainsDatabase::SYSTEM_DEFAULT); @@ -211,6 +216,9 @@ void DomainSettingsDialog::addDomain(const QString &domainName) const // Update the UI. updateUi(); + + // Emit the domain settings updated signal. + emit domainSettingsUpdated(); } void DomainSettingsDialog::apply() const @@ -219,13 +227,13 @@ void DomainSettingsDialog::apply() const QModelIndex currentIndex = domainsListViewPointer->currentIndex(); // Get the ID of the current index row. - QVariant currentId = currentIndex.siblingAtColumn(domainsTableModelPointer->fieldIndex(DomainsDatabase::_ID)).data(); + QVariant currentId = currentIndex.siblingAtColumn(domainsTableModelPointer->fieldIndex(DomainsDatabase::ID)).data(); // Submit all pending changes. domainsTableModelPointer->submitAll(); // Find the new index for the selected id. The `1` keeps searching after the first match. - QModelIndexList newIndexList = domainsTableModelPointer->match(currentIndex.siblingAtColumn(domainsTableModelPointer->fieldIndex(DomainsDatabase::_ID)), Qt::DisplayRole, currentId, + QModelIndexList newIndexList = domainsTableModelPointer->match(currentIndex.siblingAtColumn(domainsTableModelPointer->fieldIndex(DomainsDatabase::ID)), Qt::DisplayRole, currentId, 1, Qt::MatchWrap); // Select the new index. @@ -314,11 +322,17 @@ void DomainSettingsDialog::domainSelected(const QModelIndex &modelIndex) const { // Display the default zoom factor. customZoomFactorSpinBoxPointer->setValue(Settings::zoomFactor()); + + // Use the default palette. + zoomFactorWidgetPointer->setPalette(defaultPalette); } else // Custom zoom factor is selected. { // Display the custom zoom factor from the domain settings. customZoomFactorSpinBoxPointer->setValue(modelIndex.siblingAtColumn(domainsTableModelPointer->fieldIndex(DomainsDatabase::CUSTOM_ZOOM_FACTOR)).data().toDouble()); + + // Use the highlighted palette. + zoomFactorWidgetPointer->setPalette(highlightedPalette); } // Set the initial status of the custom zoom factor spin box. @@ -351,7 +365,7 @@ void DomainSettingsDialog::localStorageChanged(const int &newIndex) const // Update the domains table model. domainsTableModelPointer->setData(domainsSelectionModelPointer->currentIndex().siblingAtColumn(domainsTableModelPointer->fieldIndex(DomainsDatabase::LOCAL_STORAGE)), newIndex); - // Poplate the local storage label. + // Populate the local storage label. populateLocalStorageLabel(); // Update the UI. @@ -364,7 +378,7 @@ void DomainSettingsDialog::ok() domainsTableModelPointer->submitAll(); // Emit the domain settings updated signal. - domainSettingsUpdated(); + emit domainSettingsUpdated(); // Close the dialog. accept(); @@ -389,10 +403,10 @@ void DomainSettingsDialog::populateDomStorageLabel() const break; } - case (DomainsDatabase::DISABLED): + case (DomainsDatabase::ENABLED): { - // Set the disabled text in bold. - domStorageLabelPointer->setText(i18nc("Domain settings DOM storage label. The tags should be retained.", "DOM storage disabled")); + // Set the enabled text in bold. + domStorageLabelPointer->setText(i18nc("Domain settings DOM storage label. The tags should be retained.", "DOM storage enabled")); // Set the palette. domStorageWidgetPointer->setPalette(highlightedPalette); @@ -400,10 +414,10 @@ void DomainSettingsDialog::populateDomStorageLabel() const break; } - case (DomainsDatabase::ENABLED): + case (DomainsDatabase::DISABLED): { - // Set the enabled text in bold. - domStorageLabelPointer->setText(i18nc("Domain settings DOM storage label. The tags should be retained.", "DOM storage enabled")); + // Set the disabled text in bold. + domStorageLabelPointer->setText(i18nc("Domain settings DOM storage label. The tags should be retained.", "DOM storage disabled")); // Set the palette. domStorageWidgetPointer->setPalette(highlightedPalette); @@ -432,10 +446,10 @@ void DomainSettingsDialog::populateJavaScriptLabel() const break; } - case (DomainsDatabase::DISABLED): + case (DomainsDatabase::ENABLED): { - // Set the disabled text in bold. - javaScriptLabelPointer->setText(i18nc("Domain settings JavaScript label. The tags should be retained.", "JavaScript disabled")); + // Set the enabled text in bold. + javaScriptLabelPointer->setText(i18nc("Domain settings JavaScript label. The tags should be retained.", "JavaScript enabled")); // Set the palette. javaScriptWidgetPointer->setPalette(highlightedPalette); @@ -443,10 +457,10 @@ void DomainSettingsDialog::populateJavaScriptLabel() const break; } - case (DomainsDatabase::ENABLED): + case (DomainsDatabase::DISABLED): { - // Set the enabled text in bold. - javaScriptLabelPointer->setText(i18nc("Domain settings JavaScript label. The tags should be retained.", "JavaScript enabled")); + // Set the disabled text in bold. + javaScriptLabelPointer->setText(i18nc("Domain settings JavaScript label. The tags should be retained.", "JavaScript disabled")); // Set the palette. javaScriptWidgetPointer->setPalette(highlightedPalette); @@ -475,10 +489,10 @@ void DomainSettingsDialog::populateLocalStorageLabel() const break; } - case (DomainsDatabase::DISABLED): + case (DomainsDatabase::ENABLED): { - // Set the disabled text in bold. - localStorageLabelPointer->setText(i18nc("Domain settings local storage label. The tags should be retained.", "Local storage disabled")); + // Set the enabled text in bold. + localStorageLabelPointer->setText(i18nc("Domain settings local storage label. The tabs should be retained.", "Local storage enabled")); // Set the palette. localStorageWidgetPointer->setPalette(highlightedPalette); @@ -486,10 +500,10 @@ void DomainSettingsDialog::populateLocalStorageLabel() const break; } - case (DomainsDatabase::ENABLED): + case (DomainsDatabase::DISABLED): { - // Set the enabled text in bold. - localStorageLabelPointer->setText(i18nc("Domain settings local storage label. The tabs should be retained.", "Local storage enabled")); + // Set the disabled text in bold. + localStorageLabelPointer->setText(i18nc("Domain settings local storage label. The tags should be retained.", "Local storage disabled")); // Set the palette. localStorageWidgetPointer->setPalette(highlightedPalette); @@ -608,6 +622,9 @@ void DomainSettingsDialog::showDeleteMessageBox() const // Update the Ui. updateUi(); + + // Emit the domain settings updated signal. + emit domainSettingsUpdated(); } } @@ -661,7 +678,7 @@ void DomainSettingsDialog::zoomFactorComboBoxChanged(const int &newIndex) const // Display the custom zoom factor from the domain settings. customZoomFactorSpinBoxPointer->setValue(modelIndex.siblingAtColumn(domainsTableModelPointer->fieldIndex(DomainsDatabase::CUSTOM_ZOOM_FACTOR)).data().toDouble()); - // Set the palette. + // Use the highlighted palette. zoomFactorWidgetPointer->setPalette(highlightedPalette); }