KDirLister does not emit a completed() signal when deleting files,
only when files are listed.
m_minimumUpdateIntervalTimer(0),
m_maximumUpdateIntervalTimer(0),
m_pendingItemsToInsert(),
m_minimumUpdateIntervalTimer(0),
m_maximumUpdateIntervalTimer(0),
m_pendingItemsToInsert(),
- m_pendingItemsToDelete(),
m_rootExpansionLevel(-1)
{
resetRoles();
m_rootExpansionLevel(-1)
{
resetRoles();
m_minimumUpdateIntervalTimer = new QTimer(this);
m_minimumUpdateIntervalTimer->setInterval(1000);
m_minimumUpdateIntervalTimer->setSingleShot(true);
m_minimumUpdateIntervalTimer = new QTimer(this);
m_minimumUpdateIntervalTimer->setInterval(1000);
m_minimumUpdateIntervalTimer->setSingleShot(true);
- connect(m_minimumUpdateIntervalTimer, SIGNAL(timeout()), this, SLOT(dispatchPendingItems()));
+ connect(m_minimumUpdateIntervalTimer, SIGNAL(timeout()), this, SLOT(dispatchPendingItemsToInsert()));
// For slow KIO-slaves like used for searching it makes sense to show results periodically even
// before the completed() or canceled() signal has been emitted.
m_maximumUpdateIntervalTimer = new QTimer(this);
m_maximumUpdateIntervalTimer->setInterval(2000);
m_maximumUpdateIntervalTimer->setSingleShot(true);
// For slow KIO-slaves like used for searching it makes sense to show results periodically even
// before the completed() or canceled() signal has been emitted.
m_maximumUpdateIntervalTimer = new QTimer(this);
m_maximumUpdateIntervalTimer->setInterval(2000);
m_maximumUpdateIntervalTimer->setSingleShot(true);
- connect(m_maximumUpdateIntervalTimer, SIGNAL(timeout()), this, SLOT(dispatchPendingItems()));
+ connect(m_maximumUpdateIntervalTimer, SIGNAL(timeout()), this, SLOT(dispatchPendingItemsToInsert()));
Q_ASSERT(m_minimumUpdateIntervalTimer->interval() <= m_maximumUpdateIntervalTimer->interval());
}
Q_ASSERT(m_minimumUpdateIntervalTimer->interval() <= m_maximumUpdateIntervalTimer->interval());
}
- dispatchPendingItems();
+ dispatchPendingItemsToInsert();
m_minimumUpdateIntervalTimer->start();
}
m_minimumUpdateIntervalTimer->start();
}
{
m_minimumUpdateIntervalTimer->stop();
m_maximumUpdateIntervalTimer->stop();
{
m_minimumUpdateIntervalTimer->stop();
m_maximumUpdateIntervalTimer->stop();
- dispatchPendingItems();
+ dispatchPendingItemsToInsert();
}
void KFileItemModel::slotNewItems(const KFileItemList& items)
{
}
void KFileItemModel::slotNewItems(const KFileItemList& items)
{
- if (!m_pendingItemsToDelete.isEmpty()) {
- removeItems(m_pendingItemsToDelete);
- m_pendingItemsToDelete.clear();
- }
m_pendingItemsToInsert.append(items);
if (useMaximumUpdateInterval() && !m_maximumUpdateIntervalTimer->isActive()) {
m_pendingItemsToInsert.append(items);
if (useMaximumUpdateInterval() && !m_maximumUpdateIntervalTimer->isActive()) {
insertItems(m_pendingItemsToInsert);
m_pendingItemsToInsert.clear();
}
insertItems(m_pendingItemsToInsert);
m_pendingItemsToInsert.clear();
}
- m_pendingItemsToDelete.append(items);
}
void KFileItemModel::slotClear()
}
void KFileItemModel::slotClear()
m_minimumUpdateIntervalTimer->stop();
m_maximumUpdateIntervalTimer->stop();
m_pendingItemsToInsert.clear();
m_minimumUpdateIntervalTimer->stop();
m_maximumUpdateIntervalTimer->stop();
m_pendingItemsToInsert.clear();
- m_pendingItemsToDelete.clear();
m_rootExpansionLevel = -1;
m_rootExpansionLevel = -1;
-void KFileItemModel::dispatchPendingItems()
+void KFileItemModel::dispatchPendingItemsToInsert()
{
if (!m_pendingItemsToInsert.isEmpty()) {
{
if (!m_pendingItemsToInsert.isEmpty()) {
- Q_ASSERT(m_pendingItemsToDelete.isEmpty());
insertItems(m_pendingItemsToInsert);
m_pendingItemsToInsert.clear();
insertItems(m_pendingItemsToInsert);
m_pendingItemsToInsert.clear();
- } else if (!m_pendingItemsToDelete.isEmpty()) {
- Q_ASSERT(m_pendingItemsToInsert.isEmpty());
- removeItems(m_pendingItemsToDelete);
- m_pendingItemsToDelete.clear();
void slotClear();
void slotClear(const KUrl& url);
void slotClear();
void slotClear(const KUrl& url);
- void dispatchPendingItems();
+ void dispatchPendingItemsToInsert();
private:
void insertItems(const KFileItemList& items);
private:
void insertItems(const KFileItemList& items);
QTimer* m_minimumUpdateIntervalTimer;
QTimer* m_maximumUpdateIntervalTimer;
KFileItemList m_pendingItemsToInsert;
QTimer* m_minimumUpdateIntervalTimer;
QTimer* m_maximumUpdateIntervalTimer;
KFileItemList m_pendingItemsToInsert;
- KFileItemList m_pendingItemsToDelete;
// Stores the smallest expansion level of the root-URL. Is required to calculate
// the "expansionLevel" role in an efficient way. A value < 0 indicates that
// Stores the smallest expansion level of the root-URL. Is required to calculate
// the "expansionLevel" role in an efficient way. A value < 0 indicates that