[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [digikam/development/6.0.0] utilities/assistants/webservices/mediawiki: fix broken signal/slot
From:       Gilles Caulier <null () kde ! org>
Date:       2018-01-31 20:43:07
Message-ID: E1egzDn-0005wK-3n () code ! kde ! org
[Download RAW message or body]

Git commit ab69d7ba754fc1268659f3a24dee154f8b8cfc86 by Gilles Caulier.
Committed on 31/01/2018 at 20:42.
Pushed by cgilles into branch 'development/6.0.0'.

fix broken signal/slot

M  +18   -5    utilities/assistants/webservices/mediawiki/mediawikiwidget.cpp
M  +1    -1    utilities/assistants/webservices/mediawiki/mediawikiwidget.h

https://commits.kde.org/digikam/ab69d7ba754fc1268659f3a24dee154f8b8cfc86

diff --git a/utilities/assistants/webservices/mediawiki/mediawikiwidget.cpp \
b/utilities/assistants/webservices/mediawiki/mediawikiwidget.cpp index \
                26fadd39f3..d2e8b4fb75 100644
--- a/utilities/assistants/webservices/mediawiki/mediawikiwidget.cpp
+++ b/utilities/assistants/webservices/mediawiki/mediawikiwidget.cpp
@@ -582,8 +582,8 @@ MediaWikiWidget::MediaWikiWidget(DInfoInterface* const iface, \
QWidget* const par  connect(d->imgList, SIGNAL(signalItemClicked(QTreeWidgetItem*)),
             this, SLOT(slotLoadImagesDesc(QTreeWidgetItem*)));
 
-    connect(d->imgList, SIGNAL(signalRemovedItems(QList<QUrl>)),
-            this, SLOT(slotRemoveImagesDesc(QList<QUrl>)));
+    connect(d->imgList, SIGNAL(signalImageListChanged()),
+            this, SLOT(slotRemoveImagesDesc()));
 }
 
 MediaWikiWidget::~MediaWikiWidget()
@@ -833,11 +833,24 @@ void MediaWikiWidget::slotLoadImagesDesc(QTreeWidgetItem* item)
     }
 }
 
-void MediaWikiWidget::slotRemoveImagesDesc(const QList<QUrl> urls)
+void MediaWikiWidget::slotRemoveImagesDesc()
 {
-    for (QList<QUrl>::const_iterator it = urls.begin(); it != urls.end(); ++it)
+    QList<QUrl> items = d->imgList->imageUrls();
+    QStringList toRemove;
+
+    for (QMap <QString, QMap <QString, QString> >::const_iterator it = \
d->imagesDescInfo.constBegin(); +         it != d->imagesDescInfo.constEnd(); ++it)
+    {
+        QString path = it.key();
+
+        if (!items.contains(QUrl::fromLocalFile(path)))
+        {
+            toRemove << path;
+        }
+    }
+
+    foreach(QString path, toRemove)
     {
-        QString path = (*it).toLocalFile();
         d->imagesDescInfo.remove(path);
         qCDebug(DIGIKAM_GENERAL_LOG) << "Remove" << path << "; new length:" << \
d->imagesDescInfo.size();  }
diff --git a/utilities/assistants/webservices/mediawiki/mediawikiwidget.h \
b/utilities/assistants/webservices/mediawiki/mediawikiwidget.h index \
                51d1758f88..1b947d7e72 100644
--- a/utilities/assistants/webservices/mediawiki/mediawikiwidget.h
+++ b/utilities/assistants/webservices/mediawiki/mediawikiwidget.h
@@ -111,7 +111,7 @@ private Q_SLOTS:
     void slotNewWikiClicked();
     void slotAddWikiClicked();
     void slotLoadImagesDesc(QTreeWidgetItem* item);
-    void slotRemoveImagesDesc(const QList<QUrl> urls);
+    void slotRemoveImagesDesc();
     void slotRestoreExtension();
     void slotApplyTitle();
     void slotApplyDate();


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic