#include <KMountPoint>
#include <KPropertiesDialog>
+#include <QActionGroup>
#include <QGraphicsSceneDragDropEvent>
#include <QIcon>
#include <QMenu>
}
if (m_controller) {
- selectClosestItem();
+ selectItem();
}
return true;
layout->setContentsMargins(0, 0, 0, 0);
layout->addWidget(container);
- selectClosestItem();
+ selectItem();
}
Panel::showEvent(event);
}
}
- selectClosestItem();
+ selectItem();
}
void PlacesPanel::slotViewContextMenuRequested(const QPointF& pos)
}
}
- selectClosestItem();
+ selectItem();
}
QAction *PlacesPanel::buildGroupContextMenu(QMenu *menu, int index)
void PlacesPanel::slotShowTooltip()
{
const QUrl url = m_model->data(m_hoveredIndex).value("url").value<QUrl>();
- const QString text = url.isLocalFile() ? url.path() : url.toString();
+ const QString text = url.toDisplayString(QUrl::PreferLocalFile);
QToolTip::showText(m_hoverPos, text);
}
delete dialog;
}
-void PlacesPanel::selectClosestItem()
+void PlacesPanel::selectItem()
{
const int index = m_model->closestItem(url());
KItemListSelectionManager* selectionManager = m_controller->selectionManager();
selectionManager->setCurrentItem(index);
selectionManager->clearSelection();
- selectionManager->setSelected(index);
+
+ const QUrl closestUrl = m_model->url(index);
+ if (!closestUrl.path().isEmpty() && url() == closestUrl) {
+ selectionManager->setSelected(index);
+ }
}
void PlacesPanel::triggerItem(int index, Qt::MouseButton button)