ElementAction::ElementAction( const Element & e, QWidget * parent ) : QAction( parent ) , element( e ) { setText( e.displayName() ); QPixmap p = ElementUi(e).image(); if( !p.isNull() ) setIcon( QIcon(p) ); }
void AssetTemplateItem::setup( const Record & rec, const QModelIndex & self ) { r = rec; Element e(r); _flags = Qt::ItemFlags(0); isRecurseTemplate = false; isGhostItem = false; QModelIndex parent = self.parent(); QModelIndex par(parent); while( par.isValid() ) { Element p(AssetTemplateTranslator::getRecordStatic(par)); if( p.assetTemplate().isRecord() ) { isGhostItem = true; break; } par = par.parent(); } // Set it if we are a recurse template ourselves isRecurseTemplate = e.assetTemplate().isRecord(); if( e.isRecord() ) { col1 = e.displayName(); icon = ElementUi(e).image(); // If we have an asset template, then overlay the icon if( isRecurseTemplate ) { QImage over( ":/images/plus_overlay.png" ); QPainter p( &icon ); p.drawImage( QPoint(6,6), over ); } if( isGhostItem ) { QPixmap cur(icon.size()); cur.fill( QColor( 180, 180, 180, 200 ) ); QPainter p( &icon ); p.setCompositionMode( QPainter::CompositionMode_SourceAtop ); p.drawPixmap(QPoint(),cur); } if( isRecurseTemplate ) _flags = Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsDragEnabled; else if( isGhostItem ) _flags = 0; else _flags = Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsDragEnabled | Qt::ItemIsDropEnabled; } FileTracker ft(r); if( ft.isRecord() ) { col1 = ft.name(); icon = QPixmap( ":/images/tracker.png" ); _flags = Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsDragEnabled; } }