void TwitterDialog::onCheck(int /*state*/) { QString twitterMessage = getTwitterMessage(); int tweetLength = twitterMessage.length(); QString tweetMsgLength = QString(tr("Message Length: %1")).arg(tweetLength); twitterLengthLabel->setText(tweetMsgLength); }
void TwitterDialog::tweetMsgChange(QString) { QString twitterMessage = getTwitterMessage(); int tweetLength = twitterMessage.length(); QString tweetMsgLength = QString(tr("Message Length: %1")).arg(tweetLength); twitterLengthLabel->setText(tweetMsgLength); }
void TwitterDialog::tweetCurrentRide() { QString strToken = appsettings->cvalue(context->athlete->cyclist, GC_TWITTER_TOKEN).toString(); QString strSecret = appsettings->cvalue(context->athlete->cyclist, GC_TWITTER_SECRET).toString(); QString s_token = QString(strToken); QString s_secret = QString(strSecret); if(s_token.isEmpty() || s_secret.isEmpty()) { #ifdef Q_OS_MACX #define GC_PREF tr("Golden Cheetah->Preferences") #else #define GC_PREF tr("Tools->Options") #endif QString advise = QString(tr("Error fetching OAuth credentials. Please make sure to complete the twitter authorization procedure found under %1.")).arg(GC_PREF); QMessageBox oautherr(QMessageBox::Critical, tr("OAuth Error"), advise); oautherr.exec(); return; } char *postarg = NULL; // This is for API 1.0 // QString qurl = "http://api.twitter.com/1/statuses/update.json?status="; // This is for API 1.1 QString qurl = "https://api.twitter.com/1.1/statuses/update.json?status="; QString twitterMsg = getTwitterMessage(); if(twitterMsg.length() > 140) { QMessageBox tweetlengtherr(QMessageBox::Critical, tr("Tweet Length Error"), tr("Tweet must be 140 characters or fewer.")); tweetlengtherr.exec(); return; } const QString strUrl = QUrl::toPercentEncoding(twitterMsg); qurl.append(strUrl); const char *req_url = oauth_sign_url2(qurl.toLatin1(), &postarg, OA_HMAC, NULL, GC_TWITTER_CONSUMER_KEY, GC_TWITTER_CONSUMER_SECRET, s_token.toLatin1(), s_secret.toLatin1()); const char *strreply = oauth_http_post(req_url,postarg); QString post_reply = QString(strreply); if(!post_reply.contains("created_at", Qt::CaseInsensitive)) { QMessageBox oautherr(QMessageBox::Critical, tr("Error Posting Tweet"), tr("There was an error connecting to Twitter. Check your network connection and try again.")); oautherr.setDetailedText(post_reply); oautherr.exec(); return; } if(postarg) free(postarg); accept(); }