24#include "moc_qgsbrowserguimodel.cpp"
48 if ( !
index.isValid() )
49 return Qt::ItemFlags();
57 return Qt::ItemFlags();
61 const bool legacyAcceptDrop = ptr->acceptDrop();
64 if ( legacyAcceptDrop )
66 flags |= Qt::ItemIsDropEnabled;
74 QVariant cachedProperty = ptr->property(
"_qgs_accept_drop_cached" );
76 bool refreshAcceptDrop =
true;
77 if ( cachedProperty.isValid() )
82 refreshAcceptDrop =
false;
84 flags |= Qt::ItemIsDropEnabled;
88 if ( refreshAcceptDrop )
93 if ( provider->acceptDrop( ptr, createDataItemContext() ) )
95 flags |= Qt::ItemIsDropEnabled;
104 var.setValue( cached );
105 ptr->setProperty(
"_qgs_accept_drop_cached", var );
121 const bool legacyAcceptDrop = destItem->
acceptDrop();
125 if ( legacyAcceptDrop )
137 if ( provider->handleDrop( destItem, createDataItemContext(),
data, action ) )
167 if ( provider->rename( item, value.toString(), createDataItemContext() ) )
174 return item->
rename( value.toString() );
@ Rename
Item can be renamed.
@ ItemRepresentsFile
Item's path() directly represents a file on disk.
QgsBrowserGuiModel(QObject *parent=nullptr)
Constructor for QgsBrowserGuiModel, with the specified parent object.
bool dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) override
void setMapCanvas(QgsMapCanvas *canvas)
Sets the associated map canvas that will be passed in QgsDataItemGuiContext to data items.
bool setData(const QModelIndex &index, const QVariant &value, int role=Qt::EditRole) override
void setMessageBar(QgsMessageBar *bar)
Sets message bar that will be passed in QgsDataItemGuiContext to data items.
Qt::ItemFlags flags(const QModelIndex &index) const override
QgsDataItem * dataItem(const QModelIndex &idx) const
Returns the data item at the specified index, or nullptr if no item exists at the index.
Qt::ItemFlags flags(const QModelIndex &index) const override
QVariant data(const QModelIndex &index, int role=Qt::DisplayRole) const override
QModelIndex parent(const QModelIndex &index) const override
QgsBrowserModel(QObject *parent=nullptr)
Constructor for QgsBrowserModel, with the specified parent object.
QModelIndex index(int row, int column, const QModelIndex &parent=QModelIndex()) const override
Encapsulates the context in which a QgsDataItem is shown within the application GUI.
void setMapCanvas(QgsMapCanvas *canvas)
Sets the map canvas associated with the data item.
void setMessageBar(QgsMessageBar *bar)
Sets the associated message bar.
QList< QgsDataItemGuiProvider * > providers() const
Returns the list of available providers.
Abstract base class for providers which affect how QgsDataItem items behave within the application GU...
Base class for all items in the model.
virtual Q_DECL_DEPRECATED bool handleDrop(const QMimeData *, Qt::DropAction)
Attempts to process the mime data dropped on this item.
virtual Q_DECL_DEPRECATED bool acceptDrop()
Returns whether the item accepts drag and dropped layers - e.g.
virtual Q_DECL_DEPRECATED bool rename(const QString &name)
Sets a new name for the item, and returns true if the item was successfully renamed.
virtual Qgis::BrowserItemCapabilities capabilities2() const
Returns the capabilities for the data item.
static QgsDataItemGuiProviderRegistry * dataItemGuiProviderRegistry()
Returns the global data item GUI provider registry, used for tracking providers which affect the brow...
Map canvas is a class for displaying all GIS data types on a canvas.
A bar for displaying non-blocking messages to the user.
#define Q_NOWARN_DEPRECATED_POP
#define Q_NOWARN_DEPRECATED_PUSH
Q_DECLARE_METATYPE(QgsDatabaseQueryLogEntry)
#define QgsDebugMsgLevel(str, level)