1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-07-31 19:30:21 +02:00

TWK-736: Tooltip for currently playing song for peers

This commit is contained in:
Leo Franchi
2012-06-08 16:37:33 +02:00
parent ce19d8c70b
commit 53dd69e2f3
4 changed files with 29 additions and 10 deletions

View File

@@ -101,41 +101,48 @@ SourcesModel::data( const QModelIndex& index, int role ) const
if ( !index.isValid() ) if ( !index.isValid() )
return QVariant(); return QVariant();
SourceTreeItem* item = itemFromIndex( index );
if ( !item )
return QVariant();
switch ( role ) switch ( role )
{ {
case Qt::SizeHintRole: case Qt::SizeHintRole:
return QSize( 0, 18 ); return QSize( 0, 18 );
case SourceTreeItemRole: case SourceTreeItemRole:
return QVariant::fromValue< SourceTreeItem* >( itemFromIndex( index ) ); return QVariant::fromValue< SourceTreeItem* >( item );
case SourceTreeItemTypeRole: case SourceTreeItemTypeRole:
return itemFromIndex( index )->type(); return item->type();
case Qt::DisplayRole: case Qt::DisplayRole:
case Qt::EditRole: case Qt::EditRole:
return itemFromIndex( index )->text(); return item->text();
case Qt::DecorationRole: case Qt::DecorationRole:
return itemFromIndex( index )->icon(); return item->icon();
case SourcesModel::SortRole: case SourcesModel::SortRole:
return itemFromIndex( index )->peerSortValue(); return item->peerSortValue();
case SourcesModel::IDRole: case SourcesModel::IDRole:
return itemFromIndex( index )->IDValue(); return item->IDValue();
case SourcesModel::LatchedOnRole: case SourcesModel::LatchedOnRole:
{ {
if ( itemFromIndex( index )->type() == Collection ) if ( item->type() == Collection )
{ {
SourceItem* cItem = qobject_cast< SourceItem* >( itemFromIndex( index ) ); SourceItem* cItem = qobject_cast< SourceItem* >( item );
return cItem->localLatchedOn(); return cItem->localLatchedOn();
} }
return false; return false;
} }
case SourcesModel::LatchedRealtimeRole: case SourcesModel::LatchedRealtimeRole:
{ {
if ( itemFromIndex( index )->type() == Collection ) if ( item->type() == Collection )
{ {
SourceItem* cItem = qobject_cast< SourceItem* >( itemFromIndex( index ) ); SourceItem* cItem = qobject_cast< SourceItem* >( item );
return cItem->localLatchMode() == Tomahawk::PlaylistModes::RealTime; return cItem->localLatchMode() == Tomahawk::PlaylistModes::RealTime;
} }
return false; return false;
} }
case Qt::ToolTipRole:
if ( !item->tooltip().isEmpty() )
return item->tooltip();
} }
return QVariant(); return QVariant();
} }

View File

@@ -145,6 +145,16 @@ SourceItem::text() const
} }
QString
SourceItem::tooltip() const
{
if ( !m_source.isNull() && !m_source->currentTrack().isNull() )
return m_source->textStatus();
return QString();
}
int int
SourceItem::IDValue() const SourceItem::IDValue() const
{ {

View File

@@ -38,6 +38,7 @@ public:
SourceItem( SourcesModel* model, SourceTreeItem* parent, const Tomahawk::source_ptr& source ); SourceItem( SourcesModel* model, SourceTreeItem* parent, const Tomahawk::source_ptr& source );
virtual QString text() const; virtual QString text() const;
virtual QString tooltip() const;
virtual QIcon icon() const; virtual QIcon icon() const;
virtual int peerSortValue() const; virtual int peerSortValue() const;
virtual int IDValue() const; virtual int IDValue() const;

View File

@@ -58,6 +58,7 @@ public:
// varies depending on the type of the item // varies depending on the type of the item
virtual QString text() const { return QString(); } virtual QString text() const { return QString(); }
virtual QString tooltip() const { return QString(); }
virtual Qt::ItemFlags flags() const { return Qt::ItemIsSelectable | Qt::ItemIsEnabled; } virtual Qt::ItemFlags flags() const { return Qt::ItemIsSelectable | Qt::ItemIsEnabled; }
virtual QIcon icon() const { return QIcon(); } virtual QIcon icon() const { return QIcon(); }
virtual bool willAcceptDrag( const QMimeData* ) const { return false; } virtual bool willAcceptDrag( const QMimeData* ) const { return false; }