mirror of
https://github.com/tomahawk-player/tomahawk.git
synced 2025-04-22 08:52:12 +02:00
Notify sender of track that an inbox entry has been sent.
This commit is contained in:
parent
2bab13789a
commit
0295ce5c38
src/libtomahawk
@ -70,11 +70,19 @@ DatabaseCommand_ShareTrack::postCommitHook()
|
||||
if ( source()->isLocal() )
|
||||
Servent::instance()->triggerDBSync();
|
||||
|
||||
QString myDbid = SourceList::instance()->getLocal()->nodeId();
|
||||
QString sourceDbid = source()->nodeId();
|
||||
|
||||
if ( source()->isLocal() || sourceDbid != m_recipient ) //if I just sent a track
|
||||
{
|
||||
JobStatusView::instance()->model()->addJob( new InboxJobItem( InboxJobItem::Sending,
|
||||
SourceList::instance()->get( m_recipient )->friendlyName(),
|
||||
m_track ) );
|
||||
}
|
||||
|
||||
if ( m_track )
|
||||
return;
|
||||
|
||||
QString myDbid = SourceList::instance()->getLocal()->nodeId();
|
||||
QString sourceDbid = source()->nodeId();
|
||||
if ( myDbid != m_recipient || sourceDbid == m_recipient )
|
||||
return;
|
||||
|
||||
@ -101,7 +109,9 @@ DatabaseCommand_ShareTrack::postCommitHook()
|
||||
|
||||
QString friendlyName = source()->friendlyName();
|
||||
if ( ViewManager::instance()->currentPage() != ViewManager::instance()->inboxWidget() )
|
||||
JobStatusView::instance()->model()->addJob( new InboxJobItem( friendlyName, m_track ) );
|
||||
JobStatusView::instance()->model()->addJob( new InboxJobItem( InboxJobItem::Receiving,
|
||||
friendlyName,
|
||||
m_track ) );
|
||||
}
|
||||
|
||||
|
||||
|
@ -28,12 +28,14 @@
|
||||
#include <QTimer>
|
||||
|
||||
|
||||
InboxJobItem::InboxJobItem( const QString& sender,
|
||||
InboxJobItem::InboxJobItem( Side side,
|
||||
const QString& prettyName,
|
||||
const Tomahawk::trackdata_ptr& track,
|
||||
QObject* parent )
|
||||
: JobStatusItem()
|
||||
, m_track( track )
|
||||
, m_sender( sender )
|
||||
, m_prettyName( prettyName )
|
||||
, m_side( side )
|
||||
{
|
||||
m_timer = new QTimer( this );
|
||||
m_timer->setInterval( 8000 );
|
||||
@ -51,10 +53,20 @@ InboxJobItem::~InboxJobItem()
|
||||
QString
|
||||
InboxJobItem::mainText() const
|
||||
{
|
||||
return tr( "%1 sent you %2 by %3." )
|
||||
.arg( m_sender )
|
||||
.arg( m_track->track() )
|
||||
.arg( m_track->artist() );
|
||||
switch ( m_side )
|
||||
{
|
||||
case Sending:
|
||||
return tr( "Sent %1 by %2 to %3." )
|
||||
.arg( m_track->track() )
|
||||
.arg( m_track->artist() )
|
||||
.arg( m_prettyName );
|
||||
case Receiving:
|
||||
return tr( "%1 sent you %2 by %3." )
|
||||
.arg( m_prettyName )
|
||||
.arg( m_track->track() )
|
||||
.arg( m_track->artist() );
|
||||
}
|
||||
return QString();
|
||||
}
|
||||
|
||||
|
||||
|
@ -30,7 +30,16 @@ class DLLEXPORT InboxJobItem : public JobStatusItem
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit InboxJobItem( const QString& sender, const Tomahawk::trackdata_ptr& track, QObject* parent = 0 );
|
||||
enum Side
|
||||
{
|
||||
Sending = 0,
|
||||
Receiving
|
||||
};
|
||||
|
||||
explicit InboxJobItem( Side side,
|
||||
const QString& prettyName,
|
||||
const Tomahawk::trackdata_ptr& track,
|
||||
QObject* parent = 0 );
|
||||
virtual ~InboxJobItem();
|
||||
|
||||
virtual QString rightColumnText() const { return QString(); }
|
||||
@ -42,10 +51,11 @@ public:
|
||||
|
||||
private:
|
||||
Tomahawk::trackdata_ptr m_track;
|
||||
QString m_sender;
|
||||
QString m_prettyName;
|
||||
|
||||
QTimer* m_timer;
|
||||
static QPixmap* s_pixmap;
|
||||
Side m_side;
|
||||
};
|
||||
|
||||
#endif // INBOXJOBITEM_H
|
||||
|
Loading…
x
Reference in New Issue
Block a user