From 1e925a3ec0efb342a1044c0b1273704a83ee1144 Mon Sep 17 00:00:00 2001 From: Montel Laurent Date: Tue, 1 Oct 2013 08:04:36 +0200 Subject: Allow to remove multi manual filters. Send hasChanged when necessary --- src/adblock/adblocksettingwidget.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/adblock/adblocksettingwidget.cpp b/src/adblock/adblocksettingwidget.cpp index a55ee506..3f3af557 100644 --- a/src/adblock/adblocksettingwidget.cpp +++ b/src/adblock/adblocksettingwidget.cpp @@ -52,7 +52,7 @@ AdBlockSettingWidget::AdBlockSettingWidget(KSharedConfig::Ptr config, QWidget *p hintLabel->setText(i18n("Filter expression (e.g. http://www.example.com/ad/*, more information):")); connect(hintLabel, SIGNAL(linkActivated(QString)), this, SLOT(slotInfoLinkActivated(QString))); - manualFiltersListWidget->setSelectionMode(QAbstractItemView::SingleSelection); + manualFiltersListWidget->setSelectionMode(QAbstractItemView::MultiSelection); searchLine->setListWidget(manualFiltersListWidget); @@ -68,7 +68,6 @@ AdBlockSettingWidget::AdBlockSettingWidget(KSharedConfig::Ptr config, QWidget *p // emit changed signal connect(insertButton, SIGNAL(clicked()), this, SLOT(hasChanged())); - connect(removeButton, SIGNAL(clicked()), this, SLOT(hasChanged())); connect(checkEnableAdblock, SIGNAL(stateChanged(int)), this, SLOT(hasChanged())); connect(checkHideAds, SIGNAL(stateChanged(int)), this, SLOT(hasChanged())); connect(spinBox, SIGNAL(valueChanged(int)), this, SLOT(hasChanged())); @@ -106,7 +105,14 @@ void AdBlockSettingWidget::insertRule() void AdBlockSettingWidget::removeRule() { - delete manualFiltersListWidget->takeItem(manualFiltersListWidget->currentRow()); + QList select = manualFiltersListWidget->selectedItems(); + if (select.isEmpty()) { + return; + } + Q_FOREACH (QListWidgetItem *item, select) { + delete item; + } + hasChanged(); } -- cgit v1.2.1