1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-08-18 11:51:44 +02:00

Hopefully prevent sending DMs to yourself

This commit is contained in:
Jeff Mitchell
2011-02-12 20:36:51 -05:00
parent 893dfd038a
commit 7951003cbc
4 changed files with 27 additions and 0 deletions

View File

@@ -426,6 +426,20 @@ TomahawkSettings::setLastFmUsername( const QString& username )
setValue( "lastfm/username", username );
}
QString
TomahawkSettings::twitterScreenName() const
{
QMutexLocker locker( m_safety );
return value( "twitter/ScreenName" ).toString();
}
void
TomahawkSettings::setTwitterScreenName( const QString& screenName )
{
QMutexLocker locker( m_safety );
setValue( "twitter/ScreenName", screenName );
}
QString
TomahawkSettings::twitterOAuthToken() const
{

View File

@@ -97,6 +97,9 @@ public:
void setLastFmSessionKey( const QByteArray& key );
/// Twitter settings
QString twitterScreenName() const;
void setTwitterScreenName( const QString& screenName );
QString twitterOAuthToken() const;
void setTwitterOAuthToken( const QString& oauthtoken );

View File

@@ -345,6 +345,7 @@ SettingsDialog::postGotTomahawkStatusAuthVerifyReply( const QTweetUser &user )
return;
}
TomahawkSettings* s = TomahawkSettings::instance();
s->setTwitterScreenName( user.screenName() );
TomahawkOAuthTwitter *twitAuth = new TomahawkOAuthTwitter( this );
twitAuth->setNetworkAccessManager( TomahawkUtils::nam() );
twitAuth->setOAuthToken( s->twitterOAuthToken().toLatin1() );

View File

@@ -113,6 +113,7 @@ TwitterPlugin::connectAuthVerifyReply( const QTweetUser &user )
m_isAuthed = true;
if ( !m_twitterAuth.isNull() )
{
TomahawkSettings::instance()->setTwitterScreenName( user.screenName() );
m_friendsTimeline = QWeakPointer<QTweetFriendsTimeline>( new QTweetFriendsTimeline( m_twitterAuth.data(), this ) );
m_mentions = QWeakPointer<QTweetMentions>( new QTweetMentions( m_twitterAuth.data(), this ) );
m_directMessages = QWeakPointer<QTweetDirectMessages>( new QTweetDirectMessages( m_twitterAuth.data(), this ) );
@@ -160,11 +161,13 @@ TwitterPlugin::connectTimerFired()
return;
bool peersChanged = false;
QString myScreenName = TomahawkSettings::instance()->twitterScreenName();
QList<QString> peerlist = m_cachedPeers.keys();
qStableSort( peerlist.begin(), peerlist.end() );
foreach( QString screenName, peerlist )
{
QHash< QString, QVariant > peerData = m_cachedPeers[screenName].toHash();
if ( !peerData.contains( "node" ) || !peerData.contains( "host" ) || !peerData.contains( "port" ) || !peerData.contains( "pkey" ) )
continue;
@@ -194,10 +197,13 @@ TwitterPlugin::friendsTimelineStatuses( const QList< QTweetStatus > &statuses )
qDebug() << Q_FUNC_INFO;
QRegExp regex( QString( "^(@[a-zA-Z0-9]+ )?Got Tomahawk\\?(.*)$" ) );
bool peersChanged = false;
QString myScreenName = TomahawkSettings::instance()->twitterScreenName();
foreach( QTweetStatus status, statuses )
{
if ( status.id() > m_cachedFriendsSinceId )
m_cachedFriendsSinceId = status.id();
if ( status.user().screenName() == myScreenName )
continue;
if ( regex.exactMatch( status.text() ) )
{
qDebug() << "TwitterPlugin found an exact tweet from friend " << status.user().screenName();
@@ -230,10 +236,13 @@ TwitterPlugin::mentionsStatuses( const QList< QTweetStatus > &statuses )
qDebug() << Q_FUNC_INFO;
QRegExp regex( QString( "^(@[a-zA-Z0-9]+ )?Got Tomahawk\\?(.*)$" ) );
bool peersChanged = false;
QString myScreenName = TomahawkSettings::instance()->twitterScreenName();
foreach( QTweetStatus status, statuses )
{
if ( status.id() > m_cachedMentionsSinceId )
m_cachedMentionsSinceId = status.id();
if ( status.user().screenName() == myScreenName )
continue;
if ( regex.exactMatch( status.text() ) )
{
qDebug() << "TwitterPlugin found an exact matching mention from user " << status.user().screenName();