Skip to content

Commit

Permalink
Ensure file based items can always be renamed, regardless of which pr…
Browse files Browse the repository at this point in the history
…ovider makes them
  • Loading branch information
nyalldawson committed Aug 12, 2021
1 parent 9a61634 commit b968ab3
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 5 deletions.
6 changes: 4 additions & 2 deletions src/core/browser/qgsbrowsermodel.cpp
Expand Up @@ -279,7 +279,8 @@ Qt::ItemFlags QgsBrowserModel::flags( const QModelIndex &index ) const
flags |= Qt::ItemIsDropEnabled;
Q_NOWARN_DEPRECATED_POP

if ( ptr->capabilities2() & Qgis::BrowserItemCapability::Rename )
if ( ( ptr->capabilities2() & Qgis::BrowserItemCapability::Rename )
|| ( ptr->capabilities2() & Qgis::BrowserItemCapability::ItemRepresentsFile ) )
flags |= Qt::ItemIsEditable;

return flags;
Expand Down Expand Up @@ -347,7 +348,8 @@ bool QgsBrowserModel::setData( const QModelIndex &index, const QVariant &value,
return false;
}

if ( !( item->capabilities2() & Qgis::BrowserItemCapability::Rename ) )
if ( !( item->capabilities2() & Qgis::BrowserItemCapability::Rename )
&& !( item->capabilities2() & Qgis::BrowserItemCapability::ItemRepresentsFile ) )
return false;

switch ( role )
Expand Down
4 changes: 2 additions & 2 deletions src/core/browser/qgsfilebaseddataitemprovider.cpp
Expand Up @@ -342,13 +342,13 @@ QgsDataItem *QgsFileBasedDataItemProvider::createDataItem( const QString &path,
{
QgsProviderSublayerItem *item = new QgsProviderSublayerItem( parentItem, name, sublayers.at( 0 ) );
if ( item->path() == path )
item->setCapabilities( item->capabilities2() | Qgis::BrowserItemCapability::ItemRepresentsFile | Qgis::BrowserItemCapability::Rename );
item->setCapabilities( item->capabilities2() | Qgis::BrowserItemCapability::ItemRepresentsFile );
return item;
}
else if ( !sublayers.empty() )
{
QgsFileDataCollectionItem *item = new QgsFileDataCollectionItem( parentItem, name, path, sublayers );
item->setCapabilities( item->capabilities2() | Qgis::BrowserItemCapability::ItemRepresentsFile | Qgis::BrowserItemCapability::Rename );
item->setCapabilities( item->capabilities2() | Qgis::BrowserItemCapability::ItemRepresentsFile );
return item;
}
else
Expand Down
3 changes: 2 additions & 1 deletion src/gui/qgsbrowserguimodel.cpp
Expand Up @@ -113,7 +113,8 @@ bool QgsBrowserGuiModel::setData( const QModelIndex &index, const QVariant &valu
return false;
}

if ( !( item->capabilities2() & Qgis::BrowserItemCapability::Rename ) )
if ( !( item->capabilities2() & Qgis::BrowserItemCapability::Rename )
&& !( item->capabilities2() & Qgis::BrowserItemCapability::ItemRepresentsFile ) )
return false;

switch ( role )
Expand Down

0 comments on commit b968ab3

Please sign in to comment.