]> gitweb.stoutner.com Git - PrivacyBrowserPC.git/blobdiff - src/dialogs/FilterListsDialog.cpp
Implement opening web pages in other browsers. https://redmine.stoutner.com/issues...
[PrivacyBrowserPC.git] / src / dialogs / FilterListsDialog.cpp
index 2d019d87e22b6814c5077723a3963545cebbfda9..511f820d0885c68088978b64b17ea25f6615b5be 100644 (file)
@@ -77,6 +77,8 @@ std::forward_list<EntryStruct *>* FilterListsDialog::getFilterListForwardList(Fi
     switch (sublistComboBoxPointer->currentIndex())
     {
         case FilterListHelper::MAIN_ALLOWLIST: return filterListStructPointer->mainAllowListPointer;  // The main allow list.
+        case FilterListHelper::INITIAL_DOMAIN_ALLOWLIST: return filterListStructPointer->initialDomainAllowListPointer;  // The initial domain allow list.
+        case FilterListHelper::REGULAR_EXPRESSION_ALLOWLIST: return filterListStructPointer->regularExpressionAllowListPointer;  // The regular expression allow list.
         case FilterListHelper::MAIN_BLOCKLIST: return filterListStructPointer->mainBlockListPointer;  // The main block list.
         case FilterListHelper::INITIAL_DOMAIN_BLOCKLIST: return filterListStructPointer->initialDomainBlockListPointer;  // The initial domain block list.
         case FilterListHelper::REGULAR_EXPRESSION_BLOCKLIST: return filterListStructPointer->regularExpressionBlockListPointer;  // The regular expression block list.
@@ -130,18 +132,24 @@ void FilterListsDialog::populateFilterListTextEdit(int filterListComboBoxIndex)
 
     // Calculate the size of the filter lists.
     int mainAllowListSize = distance(filterListStructPointer->mainAllowListPointer->begin(), filterListStructPointer->mainAllowListPointer->end());
+    int initialDomainAllowListSize = distance(filterListStructPointer->initialDomainAllowListPointer->begin(), filterListStructPointer->initialDomainAllowListPointer->end());
+    int regularExpressionAllowListSize = distance(filterListStructPointer->regularExpressionAllowListPointer->begin(), filterListStructPointer->regularExpressionAllowListPointer->end());
     int mainBlockListSize = distance(filterListStructPointer->mainBlockListPointer->begin(), filterListStructPointer->mainBlockListPointer->end());
     int initialDomainBlockListSize = distance(filterListStructPointer->initialDomainBlockListPointer->begin(), filterListStructPointer->initialDomainBlockListPointer->end());
     int regularExpressionBlockListSize = distance(filterListStructPointer->regularExpressionBlockListPointer->begin(), filterListStructPointer->regularExpressionBlockListPointer->end());
 
     // Get the translated filter list names.
     QString mainAllowListName = globalFilterListHelperPointer->getSublistName(FilterListHelper::MAIN_ALLOWLIST);
+    QString initialDomainAllowListName = globalFilterListHelperPointer->getSublistName(FilterListHelper::INITIAL_DOMAIN_ALLOWLIST);
+    QString regularExpressionAllowListName = globalFilterListHelperPointer->getSublistName(FilterListHelper::REGULAR_EXPRESSION_ALLOWLIST);
     QString mainBlockListName = globalFilterListHelperPointer->getSublistName(FilterListHelper::MAIN_BLOCKLIST);
     QString initialDomainBlockListName = globalFilterListHelperPointer->getSublistName(FilterListHelper::INITIAL_DOMAIN_BLOCKLIST);
     QString regularExpressionBlockListName = globalFilterListHelperPointer->getSublistName(FilterListHelper::REGULAR_EXPRESSION_BLOCKLIST);
 
     // Populate the sublist combo box.
     sublistComboBoxPointer->addItem(i18nc("The main allow list", "%1 - %2", mainAllowListName, mainAllowListSize));
+    sublistComboBoxPointer->addItem(i18nc("The initial domain allow list", "%1 - %2", initialDomainAllowListName, initialDomainAllowListSize));
+    sublistComboBoxPointer->addItem(i18nc("The regular expression allow list", "%1 - %2", regularExpressionAllowListName, regularExpressionAllowListSize));
     sublistComboBoxPointer->addItem(i18nc("The main block list", "%1 - %2", mainBlockListName, mainBlockListSize));
     sublistComboBoxPointer->addItem(i18nc("The initial domain block list", "%1 - %2", initialDomainBlockListName, initialDomainBlockListSize));
     sublistComboBoxPointer->addItem(i18nc("the regular expression block list", "%1 - %2", regularExpressionBlockListName, regularExpressionBlockListSize));
@@ -170,6 +178,14 @@ void FilterListsDialog::populateTableWidget(int sublistComboBoxIndex) const
                 filterListForwardListPointer = filterListStructPointer->mainAllowListPointer;
                 break;
 
+            case FilterListHelper::INITIAL_DOMAIN_ALLOWLIST:  // The initial domain allow list.
+                filterListForwardListPointer = filterListStructPointer->initialDomainAllowListPointer;
+                break;
+
+            case FilterListHelper::REGULAR_EXPRESSION_ALLOWLIST:  // The regular expression allow list.
+                filterListForwardListPointer = filterListStructPointer->regularExpressionAllowListPointer;
+                break;
+
             case FilterListHelper::MAIN_BLOCKLIST:  // The main block list.
                 filterListForwardListPointer = filterListStructPointer->mainBlockListPointer;
                 break;
@@ -309,11 +325,17 @@ void FilterListsDialog::showFilterEntryDialog(int row)
     // Get the filter list struct.
     FilterListStruct *filterListStructPointer = getFilterListStruct(filterListComboBoxPointer->currentIndex());
 
+    // Get the sublist combo box index.
+    int sublistComboBoxIndex = sublistComboBoxPointer->currentIndex();
+
     // Create a sublist title.
-    QString sublistTitle = globalFilterListHelperPointer->getSublistName(sublistComboBoxPointer->currentIndex());
+    QString sublistTitle = globalFilterListHelperPointer->getSublistName(sublistComboBoxIndex);
+
+    // Determine if this is an allow list (which have indexes of 0-2).
+    bool isAllowList = (sublistComboBoxIndex <= 2);
 
     // Instantiate the filter entry dialog.
-    FilterEntryDialog *filterEntryDialogPointer = new FilterEntryDialog(this, sublistTableWidgetPointer, row, filterListStructPointer->title, sublistTitle);
+    FilterEntryDialog *filterEntryDialogPointer = new FilterEntryDialog(this, sublistTableWidgetPointer, row, filterListStructPointer->title, sublistTitle, isAllowList);
 
     // Show the dialog.
     filterEntryDialogPointer->show();