This prevents that the setup of the PlacesItemModel queries Solid for
the available devices, which can take some time.
Places can be added multiple times now using the context menu, but this
has always been possible with drag and drop anyway.
See https://forum.kde.org/viewtopic.php?f=223&t=130617 for a dicsussion
on this topic.
REVIEW: 126904
bool DolphinContextMenu::placeExists(const QUrl& url) const
{
bool DolphinContextMenu::placeExists(const QUrl& url) const
{
- PlacesItemModel model;
-
- const int count = model.count();
- for (int i = 0; i < count; ++i) {
- const QUrl placeUrl = model.placesItem(i)->url();
- if (placeUrl.matches(url, QUrl::StripTrailingSlash)) {
- return true;
- }
- }
-
+ // Creating up a PlacesItemModel to find out if 'url' is one of the Places
+ // can be expensive because the model asks Solid for the devices which are
+ // available, which can take some time.
+ // TODO: Consider restoring this check if the handling of Places and devices
+ // will be decoupled in the future.