From: David Faure Date: Thu, 8 Jan 2009 18:00:56 +0000 (+0000) Subject: don't complain about X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/commitdiff_plain/72f99574b407ff05bccd7069ec32c030623dc835?ds=inline don't complain about KDirModel::indexForUrl: KUrl("") not found every time the selection changes svn path=/trunk/KDE/kdebase/apps/; revision=907756 --- diff --git a/src/selectionmanager.cpp b/src/selectionmanager.cpp index 26ea3626a..1722bc3c5 100644 --- a/src/selectionmanager.cpp +++ b/src/selectionmanager.cpp @@ -106,15 +106,17 @@ void SelectionManager::setItemSelected(bool selected) { emit selectionChanged(); - const QModelIndex index = indexForUrl(m_toggle->url()); - if (index.isValid()) { - QItemSelectionModel* selModel = m_view->selectionModel(); - if (selected) { - selModel->select(index, QItemSelectionModel::Select); - } else { - selModel->select(index, QItemSelectionModel::Deselect); + if (!m_toggle->url().isEmpty()) { + const QModelIndex index = indexForUrl(m_toggle->url()); + if (index.isValid()) { + QItemSelectionModel* selModel = m_view->selectionModel(); + if (selected) { + selModel->select(index, QItemSelectionModel::Select); + } else { + selModel->select(index, QItemSelectionModel::Deselect); + } + selModel->setCurrentIndex(index, QItemSelectionModel::Current); } - selModel->setCurrentIndex(index, QItemSelectionModel::Current); } } @@ -132,14 +134,16 @@ void SelectionManager::slotSelectionChanged(const QItemSelection& selected, // The selection has been changed outside the scope of the selection manager // (e. g. by the rubberband or the "Select All" action). Take care updating // the state of the toggle button. - const QModelIndex index = indexForUrl(m_toggle->url()); - if (index.isValid()) { - if (selected.contains(index)) { - m_toggle->setChecked(true); - } - - if (deselected.contains(index)) { - m_toggle->setChecked(false); + if (!m_toggle->url().isEmpty()) { + const QModelIndex index = indexForUrl(m_toggle->url()); + if (index.isValid()) { + if (selected.contains(index)) { + m_toggle->setChecked(true); + } + + if (deselected.contains(index)) { + m_toggle->setChecked(false); + } } } }