]> cloud.milkyroute.net Git - dolphin.git/commitdiff
Merge branch 'KDE/4.14'
authorLuca Beltrame <lbeltrame@kde.org>
Sun, 21 Sep 2014 12:36:02 +0000 (14:36 +0200)
committerLuca Beltrame <lbeltrame@kde.org>
Sun, 21 Sep 2014 12:36:02 +0000 (14:36 +0200)
1  2 
src/panels/places/placesitemmodel.cpp

index d906118f2a836cfa787a877af1361383946533b2,2ac2169586a7eaf757bf1c3673a4c113460c60a2..6accdc837070e7f8d350ee85b3588b1756d28de4
@@@ -58,7 -58,7 +58,7 @@@
  
  namespace {
      // As long as KFilePlacesView from kdelibs is available in parallel, the
 -    // system-bookmarks for "Recently Accessed" and "Search For" should be
 +    // system-bookmarks for "Recently Saved" and "Search For" should be
      // shown only inside the Places Panel. This is necessary as the stored
      // URLs needs to get translated to a Baloo-search-URL on-the-fly to
      // be independent from changes in the Baloo-search-URL-syntax.
@@@ -313,8 -313,7 +313,8 @@@ void PlacesItemModel::requestEject(int 
          Solid::OpticalDrive* drive = item->device().parent().as<Solid::OpticalDrive>();
          if (drive) {
              connect(drive, SIGNAL(ejectDone(Solid::ErrorType,QVariant,QString)),
 -                    this, SLOT(slotStorageTeardownDone(Solid::ErrorType,QVariant)));
 +                    this, SLOT(slotStorageTeardownDone(Solid::ErrorType,QVariant)),
 +                    Qt::UniqueConnection);
              drive->eject();
          } else {
              const QString label = item->text();
@@@ -331,8 -330,7 +331,8 @@@ void PlacesItemModel::requestTeardown(i
          Solid::StorageAccess* access = item->device().as<Solid::StorageAccess>();
          if (access) {
              connect(access, SIGNAL(teardownDone(Solid::ErrorType,QVariant,QString)),
 -                    this, SLOT(slotStorageTeardownDone(Solid::ErrorType,QVariant)));
 +                    this, SLOT(slotStorageTeardownDone(Solid::ErrorType,QVariant)),
 +                    Qt::UniqueConnection);
              access->teardown();
          }
      }
@@@ -361,8 -359,7 +361,8 @@@ void PlacesItemModel::requestStorageSet
          m_storageSetupInProgress[access] = index;
  
          connect(access, SIGNAL(setupDone(Solid::ErrorType,QVariant,QString)),
 -                this, SLOT(slotStorageSetupDone(Solid::ErrorType,QVariant,QString)));
 +                this, SLOT(slotStorageSetupDone(Solid::ErrorType,QVariant,QString)),
 +                Qt::UniqueConnection);
  
          access->setup();
      }
@@@ -435,8 -432,9 +435,9 @@@ void PlacesItemModel::dropMimeDataBefor
                  text = url.host();
              }
  
-             if (url.isLocalFile() && !QFileInfo(url.toLocalFile()).isDir()) {
-                 // Only directories are allowed
+             if ((url.isLocalFile() && !QFileInfo(url.toLocalFile()).isDir())
+                     || url.protocol() == "trash") {
+                 // Only directories outside the trash are allowed
                  continue;
              }
  
@@@ -601,7 -599,6 +602,7 @@@ void PlacesItemModel::slotStorageSetupD
  {
      Q_UNUSED(udi);
  
 +    Q_ASSERT(!m_storageSetupInProgress.isEmpty());
      const int index = m_storageSetupInProgress.take(sender());
      const PlacesItem*  item = placesItem(index);
      if (!item) {
@@@ -741,7 -738,7 +742,7 @@@ void PlacesItemModel::loadBookmarks(
      // items should always be collected in one group so the items are collected first
      // in separate lists before inserting them.
      QList<PlacesItem*> placesItems;
 -    QList<PlacesItem*> recentlyAccessedItems;
 +    QList<PlacesItem*> recentlySavedItems;
      QList<PlacesItem*> searchForItems;
      QList<PlacesItem*> devicesItems;
  
                  }
  
                  switch (item->groupType()) {
 -                case PlacesItem::PlacesType:           placesItems.append(item); break;
 -                case PlacesItem::RecentlyAccessedType: recentlyAccessedItems.append(item); break;
 -                case PlacesItem::SearchForType:        searchForItems.append(item); break;
 +                case PlacesItem::PlacesType:        placesItems.append(item); break;
 +                case PlacesItem::RecentlySavedType: recentlySavedItems.append(item); break;
 +                case PlacesItem::SearchForType:     searchForItems.append(item); break;
                  case PlacesItem::DevicesType:
 -                default:                               Q_ASSERT(false); break;
 +                default:                            Q_ASSERT(false); break;
                  }
              }
          }
              if (missingSystemBookmarks.contains(data.url)) {
                  PlacesItem* item = createSystemPlacesItem(data);
                  switch (item->groupType()) {
 -                case PlacesItem::PlacesType:           placesItems.append(item); break;
 -                case PlacesItem::RecentlyAccessedType: recentlyAccessedItems.append(item); break;
 -                case PlacesItem::SearchForType:        searchForItems.append(item); break;
 +                case PlacesItem::PlacesType:        placesItems.append(item); break;
 +                case PlacesItem::RecentlySavedType: recentlySavedItems.append(item); break;
 +                case PlacesItem::SearchForType:     searchForItems.append(item); break;
                  case PlacesItem::DevicesType:
 -                default:                               Q_ASSERT(false); break;
 +                default:                            Q_ASSERT(false); break;
                  }
              }
          }
  
      QList<PlacesItem*> items;
      items.append(placesItems);
 -    items.append(recentlyAccessedItems);
 +    items.append(recentlySavedItems);
      items.append(searchForItems);
      items.append(devicesItems);
  
@@@ -848,7 -845,7 +849,7 @@@ PlacesItem* PlacesItemModel::createSyst
      const QString protocol = data.url.protocol();
      if (protocol == QLatin1String("timeline") || protocol == QLatin1String("search")) {
          // As long as the KFilePlacesView from kdelibs is available, the system-bookmarks
 -        // for "Recently Accessed" and "Search For" should be a setting available only
 +        // for "Recently Saved" and "Search For" should be a setting available only
          // in the Places Panel (see description of AppNamePrefix for more details).
          const QString appName = KGlobal::mainComponent().componentName() + AppNamePrefix;
          bookmark.setMetaDataItem("OnlyInApp", appName);
      PlacesItem* item = new PlacesItem(bookmark);
      item->setSystemItem(true);
  
 -    // Create default view-properties for all "Search For" and "Recently Accessed" bookmarks
 +    // Create default view-properties for all "Search For" and "Recently Saved" bookmarks
      // in case if the user has not already created custom view-properties for a corresponding
      // query yet.
      const bool createDefaultViewProperties = (item->groupType() == PlacesItem::SearchForType ||
 -                                              item->groupType() == PlacesItem::RecentlyAccessedType) &&
 +                                              item->groupType() == PlacesItem::RecentlySavedType) &&
                                                !GeneralSettings::self()->globalViewProps();
      if (createDefaultViewProperties) {
          ViewProperties props(convertedUrl(data.url));