mirror of
https://github.com/tomahawk-player/tomahawk.git
synced 2025-03-13 20:39:57 +01:00
Fix DropDownButton in Playlist view
This commit is contained in:
parent
5bd69fe09c
commit
4eee01d8bf
@ -444,14 +444,21 @@ PlayableModel::flags( const QModelIndex& index ) const
|
||||
|
||||
if ( index.isValid() )
|
||||
{
|
||||
Qt::ItemFlags returnFlags = defaultFlags;
|
||||
if ( index.column() == 0 )
|
||||
{
|
||||
return Qt::ItemIsDragEnabled | Qt::ItemIsDropEnabled | defaultFlags;
|
||||
returnFlags |= Qt::ItemIsDragEnabled | Qt::ItemIsDropEnabled;
|
||||
}
|
||||
else if ( index.column() == PlayableModel::Download )
|
||||
{
|
||||
return Qt::ItemIsEditable | defaultFlags;
|
||||
returnFlags |= Qt::ItemIsEditable | defaultFlags;
|
||||
}
|
||||
|
||||
if ( areAllColumnsEditable() ) {
|
||||
returnFlags |= Qt::ItemIsEditable;
|
||||
}
|
||||
|
||||
return returnFlags;
|
||||
}
|
||||
|
||||
return Qt::ItemIsDropEnabled | defaultFlags;
|
||||
@ -1171,6 +1178,22 @@ PlayableModel::setIcon( const QPixmap& pixmap )
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
PlayableModel::setAllColumnsEditable( bool editable )
|
||||
{
|
||||
Q_D( PlayableModel );
|
||||
d->areAllColumnsEditable = editable;
|
||||
}
|
||||
|
||||
|
||||
bool
|
||||
PlayableModel::areAllColumnsEditable() const
|
||||
{
|
||||
Q_D( const PlayableModel );
|
||||
return d->areAllColumnsEditable;
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
PlayableModel::trackCount() const
|
||||
{
|
||||
|
@ -96,6 +96,11 @@ public:
|
||||
virtual QPixmap icon() const;
|
||||
virtual void setIcon( const QPixmap& pixmap );
|
||||
|
||||
|
||||
// HACK: we need to set column 0 editable for DropDownButton in TrackView
|
||||
void setAllColumnsEditable( bool editable );
|
||||
bool areAllColumnsEditable() const;
|
||||
|
||||
virtual int trackCount() const;
|
||||
virtual int itemCount() const;
|
||||
|
||||
|
@ -38,6 +38,7 @@ public:
|
||||
, rootItem( new PlayableItem( 0 ) )
|
||||
, readOnly( true )
|
||||
, loading( _loading )
|
||||
, areAllColumnsEditable( false )
|
||||
{
|
||||
}
|
||||
|
||||
@ -58,6 +59,7 @@ private:
|
||||
QStringList header;
|
||||
|
||||
bool loading;
|
||||
bool areAllColumnsEditable;
|
||||
};
|
||||
|
||||
#endif // PLAYABLEMODEL_P_H
|
||||
|
@ -885,7 +885,9 @@ PlaylistItemDelegate::editorEvent( QEvent* event, QAbstractItemModel* model, con
|
||||
}
|
||||
else if ( m_view->proxyModel()->style() == PlayableProxyModel::Locker && index.column() == PlayableModel::Download )
|
||||
{
|
||||
m_model->sourceModel()->setAllColumnsEditable( true );
|
||||
m_view->edit( index );
|
||||
m_model->sourceModel()->setAllColumnsEditable( false );
|
||||
return true;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user