void TwitterConfigWidget::authenticateVerifyReply( const QTweetUser &user ) { qDebug() << Q_FUNC_INFO; if ( user.id() == 0 ) { QMessageBox::critical( this, tr("Tweetin' Error"), tr("The credentials could not be verified.\nYou may wish to try re-authenticating.") ); emit twitterAuthed( false ); return; } TomahawkSettings* s = TomahawkSettings::instance(); s->setTwitterScreenName( user.screenName() ); s->setTwitterCachedFriendsSinceId( 0 ); s->setTwitterCachedMentionsSinceId( 0 ); ui->twitterStatusLabel->setText( tr( "Status: Credentials saved for %1" ).arg( s->twitterScreenName() ) ); ui->twitterAuthenticateButton->setText( tr( "De-authenticate" ) ); ui->twitterInstructionsInfoLabel->setVisible( true ); ui->twitterGlobalTweetLabel->setVisible( true ); ui->twitterTweetGotTomahawkButton->setVisible( true ); ui->twitterUserTweetLineEdit->setVisible( true ); ui->twitterTweetComboBox->setVisible( true ); m_plugin->connectPlugin( false ); emit twitterAuthed( true ); }
void TwitterConfigWidget::startPostGotTomahawkStatus() { qDebug() << Q_FUNC_INFO; m_postGTtype = m_ui->twitterTweetComboBox->currentText(); if ( m_postGTtype != "Global Tweet" && ( m_ui->twitterUserTweetLineEdit->text().isEmpty() || m_ui->twitterUserTweetLineEdit->text() == "@" ) ) { QMessageBox::critical( this, tr("Tweetin' Error"), tr("You must enter a user name for this type of tweet.") ); return; } qDebug() << "Posting Got Tomahawk status"; QVariantHash credentials = m_account->credentials(); if ( credentials[ "oauthtoken" ].toString().isEmpty() || credentials[ "oauthtokensecret" ].toString().isEmpty() || credentials[ "username" ].toString().isEmpty() ) { QMessageBox::critical( this, tr("Tweetin' Error"), tr("Your saved credentials could not be loaded.\nYou may wish to try re-authenticating.") ); emit twitterAuthed( false ); return; } TomahawkOAuthTwitter *twitAuth = new TomahawkOAuthTwitter( TomahawkUtils::nam(), this ); twitAuth->setOAuthToken( credentials[ "oauthtoken" ].toString().toLatin1() ); twitAuth->setOAuthTokenSecret( credentials[ "oauthtokensecret" ].toString().toLatin1() ); QTweetAccountVerifyCredentials *credVerifier = new QTweetAccountVerifyCredentials( twitAuth, this ); connect( credVerifier, SIGNAL( parsedUser(const QTweetUser &) ), SLOT( postGotTomahawkStatusAuthVerifyReply(const QTweetUser &) ) ); credVerifier->verify(); }
void TwitterConfigWidget::startPostGotTomahawkStatus() { m_postGTtype = ui->twitterTweetComboBox->currentText(); if ( m_postGTtype != "Global Tweet" && ( ui->twitterUserTweetLineEdit->text().isEmpty() || ui->twitterUserTweetLineEdit->text() == "@" ) ) { QMessageBox::critical( this, tr("Tweetin' Error"), tr("You must enter a user name for this type of tweet.") ); return; } qDebug() << "Posting Got Tomahawk status"; TomahawkSettings* s = TomahawkSettings::instance(); if ( s->twitterOAuthToken().isEmpty() || s->twitterOAuthTokenSecret().isEmpty() || s->twitterScreenName().isEmpty() ) { QMessageBox::critical( this, tr("Tweetin' Error"), tr("Your saved credentials could not be loaded.\nYou may wish to try re-authenticating.") ); emit twitterAuthed( false ); return; } TomahawkOAuthTwitter *twitAuth = new TomahawkOAuthTwitter( this ); twitAuth->setNetworkAccessManager( TomahawkUtils::nam() ); twitAuth->setOAuthToken( s->twitterOAuthToken().toLatin1() ); twitAuth->setOAuthTokenSecret( s->twitterOAuthTokenSecret().toLatin1() ); QTweetAccountVerifyCredentials *credVerifier = new QTweetAccountVerifyCredentials( twitAuth, this ); connect( credVerifier, SIGNAL( parsedUser(const QTweetUser &) ), SLOT( postGotTomahawkStatusAuthVerifyReply(const QTweetUser &) ) ); credVerifier->verify(); }
TwitterConfigWidget::TwitterConfigWidget( SipPlugin* plugin, QWidget *parent ) : QWidget( parent ), ui( new Ui::TwitterConfigWidget ), m_plugin( plugin ) { ui->setupUi( this ); connect( ui->twitterAuthenticateButton, SIGNAL( pressed() ), this, SLOT( authDeauthTwitter() ) ); connect( ui->twitterTweetGotTomahawkButton, SIGNAL( pressed() ), this, SLOT( startPostGotTomahawkStatus() ) ); connect( ui->twitterTweetComboBox, SIGNAL( currentIndexChanged( int ) ), this, SLOT( tweetComboBoxIndexChanged( int ) ) ); ui->twitterTweetComboBox->setCurrentIndex( 0 ); ui->twitterUserTweetLineEdit->setReadOnly( true ); ui->twitterUserTweetLineEdit->setEnabled( false ); TomahawkSettings* s = TomahawkSettings::instance(); if ( s->twitterOAuthToken().isEmpty() || s->twitterOAuthTokenSecret().isEmpty() || s->twitterScreenName().isEmpty() ) { ui->twitterStatusLabel->setText( tr( "Status: No saved credentials" ) ); ui->twitterAuthenticateButton->setText( tr( "Authenticate" ) ); ui->twitterInstructionsInfoLabel->setVisible( false ); ui->twitterGlobalTweetLabel->setVisible( false ); ui->twitterTweetGotTomahawkButton->setVisible( false ); ui->twitterUserTweetLineEdit->setVisible( false ); ui->twitterTweetComboBox->setVisible( false ); emit twitterAuthed( false ); } else { ui->twitterStatusLabel->setText( tr( "Status: Credentials saved for %1" ).arg( s->twitterScreenName() ) ); ui->twitterAuthenticateButton->setText( tr( "De-authenticate" ) ); ui->twitterInstructionsInfoLabel->setVisible( true ); ui->twitterGlobalTweetLabel->setVisible( true ); ui->twitterTweetGotTomahawkButton->setVisible( true ); ui->twitterUserTweetLineEdit->setVisible( true ); ui->twitterTweetComboBox->setVisible( true ); emit twitterAuthed( true ); } }
void TwitterConfigWidget::authenticateVerifyError( QTweetNetBase::ErrorCode code, const QString &errorMsg ) { qDebug() << Q_FUNC_INFO; qDebug() << "Error validating credentials, error code is " << code << ", error message is " << errorMsg; m_ui->twitterStatusLabel->setText(tr("Status: Error validating credentials")); emit twitterAuthed( false ); return; }
TwitterConfigWidget::TwitterConfigWidget( TwitterPlugin* plugin, QWidget *parent ) : QWidget( parent ), ui( new Ui::TwitterConfigWidget ), m_plugin( plugin ) { ui->setupUi( this ); connect( ui->twitterAuthenticateButton, SIGNAL( pressed() ), this, SLOT( authDeauthTwitter() ) ); connect( ui->twitterTweetGotTomahawkButton, SIGNAL( pressed() ), this, SLOT( startPostGotTomahawkStatus() ) ); connect( ui->twitterTweetComboBox, SIGNAL( currentIndexChanged( int ) ), this, SLOT( tweetComboBoxIndexChanged( int ) ) ); ui->twitterTweetComboBox->setCurrentIndex( 0 ); ui->twitterTweetGotTomahawkButton->setText( tr( "Tweet!" ) ); if ( m_plugin->twitterOAuthToken().isEmpty() || m_plugin->twitterOAuthTokenSecret().isEmpty() || m_plugin->twitterScreenName().isEmpty() ) { ui->twitterStatusLabel->setText( tr( "Status: No saved credentials" ) ); ui->twitterAuthenticateButton->setText( tr( "Authenticate" ) ); ui->twitterSyncGroupBox->setVisible( false ); emit twitterAuthed( false ); } else { ui->twitterStatusLabel->setText( tr( "Status: Credentials saved for %1" ).arg( m_plugin->twitterScreenName() ) ); ui->twitterAuthenticateButton->setText( tr( "De-authenticate" ) ); ui->twitterSyncGroupBox->setVisible( true ); ui->twitterUserTweetLineEdit->setVisible( false ); emit twitterAuthed( true ); } }
void TwitterConfigWidget::deauthenticateTwitter() { qDebug() << Q_FUNC_INFO; m_plugin->setTwitterOAuthToken( QString() ); m_plugin->setTwitterOAuthTokenSecret( QString() ); m_plugin->setTwitterScreenName( QString() ); ui->twitterStatusLabel->setText(tr("Status: No saved credentials")); ui->twitterAuthenticateButton->setText( tr( "Authenticate" ) ); ui->twitterSyncGroupBox->setVisible( false ); emit twitterAuthed( false ); emit sizeHintChanged(); }
void TwitterConfigWidget::deauthenticateTwitter() { qDebug() << Q_FUNC_INFO; QVariantHash credentials = m_account->credentials(); credentials[ "oauthtoken" ] = QString(); credentials[ "oauthtokensecret" ] = QString(); credentials[ "username" ] = QString(); m_account->setCredentials( credentials ); m_ui->twitterStatusLabel->setText(tr("Status: No saved credentials")); m_ui->twitterAuthenticateButton->setText( tr( "Authenticate" ) ); m_ui->twitterSyncGroupBox->setVisible( false ); emit twitterAuthed( false ); emit sizeHintChanged(); }
void TwitterConfigWidget::postGotTomahawkStatusAuthVerifyReply( const QTweetUser &user ) { if ( user.id() == 0 ) { QMessageBox::critical( this, tr("Tweetin' Error"), tr("Your saved credentials could not be verified.\nYou may wish to try re-authenticating.") ); emit twitterAuthed( false ); return; } TomahawkSettings* s = TomahawkSettings::instance(); s->setTwitterScreenName( user.screenName() ); TomahawkOAuthTwitter *twitAuth = new TomahawkOAuthTwitter( this ); twitAuth->setNetworkAccessManager( TomahawkUtils::nam() ); twitAuth->setOAuthToken( s->twitterOAuthToken().toLatin1() ); twitAuth->setOAuthTokenSecret( s->twitterOAuthTokenSecret().toLatin1() ); if ( m_postGTtype != "Direct Message" ) { QTweetStatusUpdate *statUpdate = new QTweetStatusUpdate( twitAuth, this ); connect( statUpdate, SIGNAL( postedStatus(const QTweetStatus &) ), SLOT( postGotTomahawkStatusUpdateReply(const QTweetStatus &) ) ); connect( statUpdate, SIGNAL( error(QTweetNetBase::ErrorCode, const QString&) ), SLOT( postGotTomahawkStatusUpdateError(QTweetNetBase::ErrorCode, const QString &) ) ); QString uuid = QUuid::createUuid(); QString message = QString( "Got Tomahawk? {" ) + Database::instance()->dbid() + QString( "} (" ) + uuid.mid( 1, 8 ) + QString( ")" ) + QString( " http://gettomahawk.com" ); if ( m_postGTtype == "@Mention" ) { QString user = ui->twitterUserTweetLineEdit->text(); if ( user.startsWith( "@" ) ) user.remove( 0, 1 ); message = QString( "@" ) + user + QString( " " ) + message; } statUpdate->post( message ); } else { QTweetDirectMessageNew *statUpdate = new QTweetDirectMessageNew( twitAuth, this ); connect( statUpdate, SIGNAL( parsedDirectMessage(const QTweetDMStatus &)), SLOT( postGotTomahawkDirectMessageReply(const QTweetDMStatus &) ) ); connect( statUpdate, SIGNAL( error(QTweetNetBase::ErrorCode, const QString&) ), SLOT( postGotTomahawkStatusUpdateError(QTweetNetBase::ErrorCode, const QString &) ) ); QString uuid = QUuid::createUuid(); QString message = QString( "Got Tomahawk? {" ) + Database::instance()->dbid() + QString( "} (" ) + uuid.mid( 1, 8 ) + QString( ")" ) + QString( " http://gettomahawk.com" ); QString user = ui->twitterUserTweetLineEdit->text(); if ( user.startsWith( "@" ) ) user.remove( 0, 1 ); statUpdate->post( user, message ); } }
void TwitterConfigWidget::deauthenticateTwitter() { qDebug() << Q_FUNC_INFO; TomahawkSettings* s = TomahawkSettings::instance(); s->setTwitterOAuthToken( QString() ); s->setTwitterOAuthTokenSecret( QString() ); s->setTwitterScreenName( QString() ); ui->twitterStatusLabel->setText(tr("Status: No saved credentials")); ui->twitterAuthenticateButton->setText( tr( "Authenticate" ) ); ui->twitterInstructionsInfoLabel->setVisible( false ); ui->twitterGlobalTweetLabel->setVisible( false ); ui->twitterTweetGotTomahawkButton->setVisible( false ); ui->twitterUserTweetLineEdit->setVisible( false ); ui->twitterTweetComboBox->setVisible( false ); emit twitterAuthed( false ); }