mirror of
https://github.com/tomahawk-player/tomahawk.git
synced 2025-08-03 20:57:52 +02:00
Notify sender of track that an inbox entry has been sent.
This commit is contained in:
@@ -70,11 +70,19 @@ DatabaseCommand_ShareTrack::postCommitHook()
|
|||||||
if ( source()->isLocal() )
|
if ( source()->isLocal() )
|
||||||
Servent::instance()->triggerDBSync();
|
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 )
|
if ( m_track )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
QString myDbid = SourceList::instance()->getLocal()->nodeId();
|
|
||||||
QString sourceDbid = source()->nodeId();
|
|
||||||
if ( myDbid != m_recipient || sourceDbid == m_recipient )
|
if ( myDbid != m_recipient || sourceDbid == m_recipient )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@@ -101,7 +109,9 @@ DatabaseCommand_ShareTrack::postCommitHook()
|
|||||||
|
|
||||||
QString friendlyName = source()->friendlyName();
|
QString friendlyName = source()->friendlyName();
|
||||||
if ( ViewManager::instance()->currentPage() != ViewManager::instance()->inboxWidget() )
|
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>
|
#include <QTimer>
|
||||||
|
|
||||||
|
|
||||||
InboxJobItem::InboxJobItem( const QString& sender,
|
InboxJobItem::InboxJobItem( Side side,
|
||||||
|
const QString& prettyName,
|
||||||
const Tomahawk::trackdata_ptr& track,
|
const Tomahawk::trackdata_ptr& track,
|
||||||
QObject* parent )
|
QObject* parent )
|
||||||
: JobStatusItem()
|
: JobStatusItem()
|
||||||
, m_track( track )
|
, m_track( track )
|
||||||
, m_sender( sender )
|
, m_prettyName( prettyName )
|
||||||
|
, m_side( side )
|
||||||
{
|
{
|
||||||
m_timer = new QTimer( this );
|
m_timer = new QTimer( this );
|
||||||
m_timer->setInterval( 8000 );
|
m_timer->setInterval( 8000 );
|
||||||
@@ -51,10 +53,20 @@ InboxJobItem::~InboxJobItem()
|
|||||||
QString
|
QString
|
||||||
InboxJobItem::mainText() const
|
InboxJobItem::mainText() const
|
||||||
{
|
{
|
||||||
return tr( "%1 sent you %2 by %3." )
|
switch ( m_side )
|
||||||
.arg( m_sender )
|
{
|
||||||
.arg( m_track->track() )
|
case Sending:
|
||||||
.arg( m_track->artist() );
|
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
|
Q_OBJECT
|
||||||
public:
|
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 ~InboxJobItem();
|
||||||
|
|
||||||
virtual QString rightColumnText() const { return QString(); }
|
virtual QString rightColumnText() const { return QString(); }
|
||||||
@@ -42,10 +51,11 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
Tomahawk::trackdata_ptr m_track;
|
Tomahawk::trackdata_ptr m_track;
|
||||||
QString m_sender;
|
QString m_prettyName;
|
||||||
|
|
||||||
QTimer* m_timer;
|
QTimer* m_timer;
|
||||||
static QPixmap* s_pixmap;
|
static QPixmap* s_pixmap;
|
||||||
|
Side m_side;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // INBOXJOBITEM_H
|
#endif // INBOXJOBITEM_H
|
||||||
|
Reference in New Issue
Block a user