118 Public slot to add a new rule. |
118 Public slot to add a new rule. |
119 |
119 |
120 @param filterRule filter to be added |
120 @param filterRule filter to be added |
121 @type str |
121 @type str |
122 """ |
122 """ |
|
123 from .AdBlockRule import AdBlockRule |
|
124 |
123 if not self.__subscription.canEditRules(): |
125 if not self.__subscription.canEditRules(): |
124 return |
126 return |
125 |
127 |
126 if not filterRule: |
128 if not filterRule: |
127 filterRule, ok = QInputDialog.getText( |
129 filterRule, ok = QInputDialog.getText( |
131 QLineEdit.EchoMode.Normal, |
133 QLineEdit.EchoMode.Normal, |
132 ) |
134 ) |
133 if not ok or filterRule == "": |
135 if not ok or filterRule == "": |
134 return |
136 return |
135 |
137 |
136 from .AdBlockRule import AdBlockRule |
|
137 |
|
138 rule = AdBlockRule(filterRule, self.__subscription) |
138 rule = AdBlockRule(filterRule, self.__subscription) |
139 self.__subscription.addRule(rule) |
139 self.__subscription.addRule(rule) |
140 |
140 |
141 def removeRule(self): |
141 def removeRule(self): |
142 """ |
142 """ |
182 Private slot to handle the change of an item. |
182 Private slot to handle the change of an item. |
183 |
183 |
184 @param itm changed item |
184 @param itm changed item |
185 @type QTreeWidgetItem |
185 @type QTreeWidgetItem |
186 """ |
186 """ |
|
187 from .AdBlockRule import AdBlockRule |
|
188 |
187 if itm is None or self.__itemChangingBlock: |
189 if itm is None or self.__itemChangingBlock: |
188 return |
190 return |
189 |
191 |
190 self.__itemChangingBlock = True |
192 self.__itemChangingBlock = True |
191 |
193 |
199 elif itm.checkState(0) == Qt.CheckState.Checked and not oldRule.isEnabled(): |
201 elif itm.checkState(0) == Qt.CheckState.Checked and not oldRule.isEnabled(): |
200 # Enable rule |
202 # Enable rule |
201 rule = self.__subscription.setRuleEnabled(offset, True) |
203 rule = self.__subscription.setRuleEnabled(offset, True) |
202 self.__adjustItemFeatures(itm, rule) |
204 self.__adjustItemFeatures(itm, rule) |
203 elif self.__subscription.canEditRules(): |
205 elif self.__subscription.canEditRules(): |
204 from .AdBlockRule import AdBlockRule |
|
205 |
|
206 # Custom rule has been changed |
206 # Custom rule has been changed |
207 rule = self.__subscription.replaceRule( |
207 rule = self.__subscription.replaceRule( |
208 AdBlockRule(itm.text(0), self.__subscription), offset |
208 AdBlockRule(itm.text(0), self.__subscription), offset |
209 ) |
209 ) |
210 self.__adjustItemFeatures(itm, rule) |
210 self.__adjustItemFeatures(itm, rule) |