[QGIS Commit] r13492 - trunk/qgis/src/core/composer
svn_qgis at osgeo.org
svn_qgis at osgeo.org
Sat May 15 11:04:56 EDT 2010
Author: mhugent
Date: 2010-05-15 11:04:56 -0400 (Sat, 15 May 2010)
New Revision: 13492
Modified:
trunk/qgis/src/core/composer/qgslegendmodel.cpp
trunk/qgis/src/core/composer/qgslegendmodel.h
Log:
Fix drag drop behaviour of composer legend items
Modified: trunk/qgis/src/core/composer/qgslegendmodel.cpp
===================================================================
--- trunk/qgis/src/core/composer/qgslegendmodel.cpp 2010-05-15 14:15:47 UTC (rev 13491)
+++ trunk/qgis/src/core/composer/qgslegendmodel.cpp 2010-05-15 15:04:56 UTC (rev 13492)
@@ -694,18 +694,25 @@
Qt::ItemFlags QgsLegendModel::flags( const QModelIndex &index ) const
{
- Qt::ItemFlags flags = QStandardItemModel::flags( index );
+ Qt::ItemFlags flags = Qt::ItemIsEnabled | Qt::ItemIsSelectable;
+ if ( !index.isValid() )
+ {
+ flags |= Qt::ItemIsDropEnabled;
+ return flags;
+ }
QStandardItem* item = itemFromIndex( index );
- if ( item )
+ QgsComposerLegendItem* cItem = dynamic_cast<QgsComposerLegendItem*>( item );
+
+ if ( cItem )
{
- ItemType type = itemType( *item );
- if ( type == QgsLegendModel::GroupItem )
+ QgsComposerLegendItem::ItemType type = cItem->itemType();
+ if ( type == QgsComposerLegendItem::GroupItem )
{
flags |= Qt::ItemIsDragEnabled;
flags |= Qt::ItemIsDropEnabled;
}
- else if ( type == QgsLegendModel::LayerItem )
+ else if ( type == QgsComposerLegendItem::LayerItem )
{
flags |= Qt::ItemIsDragEnabled;
}
@@ -741,11 +748,6 @@
return true;
}
-QgsLegendModel::ItemType QgsLegendModel::itemType( const QStandardItem& item ) const
-{
- return ( QgsLegendModel::ItemType )item.data( Qt::UserRole + 1 ).toInt();
-}
-
QMimeData* QgsLegendModel::mimeData( const QModelIndexList &indexes ) const
{
QMimeData* mimeData = new QMimeData();
Modified: trunk/qgis/src/core/composer/qgslegendmodel.h
===================================================================
--- trunk/qgis/src/core/composer/qgslegendmodel.h 2010-05-15 14:15:47 UTC (rev 13491)
+++ trunk/qgis/src/core/composer/qgslegendmodel.h 2010-05-15 15:04:56 UTC (rev 13492)
@@ -77,8 +77,6 @@
/**Implemented to support drag operations*/
virtual bool removeRows( int row, int count, const QModelIndex & parent = QModelIndex() );
- QgsLegendModel::ItemType itemType( const QStandardItem& item ) const;
-
/**For the drag operation*/
QMimeData* mimeData( const QModelIndexList &indexes ) const;
QStringList mimeTypes() const;
More information about the QGIS-commit
mailing list