{
qDebug() << __PRETTY_FUNCTION__;
- const double fontSizeLarge = 1.2;
- //const double fontSizeNormal = 1.0;
+ const double fontSize = 1.2;
- webView->setZoomFactor(fontSizeLarge);
+ webView->setZoomFactor(fontSize);
webView->load(facebookLoginPage);
setCentralWidget(webView);
}
bool FacebookAuthentication::updateCredentials(const QUrl &url)
{
qDebug() << __PRETTY_FUNCTION__;
-// setCurrentUrl(url);
bool foundSessionKey = FALSE;
bool foundUserID = FALSE;
bool foundSig = FALSE;
if (url.isValid()){
- //qDebug() << "url is valid" << endl;
+ qDebug() << "url is valid" << endl;
- QString callbackUrl = url.toString(); //tmpUrl.toString();
+ QString callbackUrl = url.toString();
QString urlEdit(callbackUrl);
- //qDebug() << "callbackUrl: " << endl << callbackUrl.toAscii() << endl;
- //qDebug() << "webView zoom factor" << webView->zoomFactor() << endl;
+ qDebug() << "callbackUrl: " << endl << callbackUrl.toAscii() << endl;
if ( callbackUrl.indexOf("http://www.facebook.com/connect/login_success.html") == 0 ){
- //qDebug() << "login success" << endl;
+ qDebug() << "login success" << endl;
// let's find out session key
int indexOfCredential = callbackUrl.indexOf("session_key");
- int index2;
if (indexOfCredential != -1){
foundSessionKey = TRUE;
- indexOfCredential += 14; //lenght of string "session_key"
- index2 = callbackUrl.indexOf("uid");
- index2 -= 4;
+ indexOfCredential += 14; //lenght of string "session_key"%
urlEdit.remove(0,indexOfCredential);
- index2 = urlEdit.indexOf("uid");
- urlEdit.remove(index2, urlEdit.length());
+ indexOfCredential = urlEdit.indexOf("uid");
+ urlEdit.remove(indexOfCredential, urlEdit.length());
urlEdit.remove("\",\"");
- //qDebug() << "session_key" << endl << urlEdit.toAscii() << endl;
+ qDebug() << "session_key" << endl << urlEdit.toAscii() << endl;
loginCredentials.setSessionKey(urlEdit);
}
if (indexOfCredential != -1){
foundUserID = TRUE;
- indexOfCredential += 5; //length of string "uid"
- urlEdit.remove(0,indexOfCredential);
- index2 = urlEdit.indexOf("expires");
- urlEdit.remove(index2, urlEdit.length());
+ indexOfCredential += 5; //length of string "uid":
+ urlEdit.remove(0,indexOfCredential);
+ indexOfCredential = urlEdit.indexOf("expires");
+ urlEdit.remove(indexOfCredential, urlEdit.length());
urlEdit.remove(",\"");
- //qDebug() << "urlEdit" << endl << urlEdit.toStdString() << endl;
- //qDebug() << "userID" << endl << urlEdit.toAscii() << endl;
+ qDebug() << "userID" << endl << urlEdit.toAscii() << endl;
loginCredentials.setUserID(urlEdit);
}
indexOfCredential += 9; //length of string "expires"
urlEdit.remove(0,indexOfCredential);
- index2 = urlEdit.indexOf("secret");
- urlEdit.remove(index2, urlEdit.length());
+ indexOfCredential = urlEdit.indexOf("secret");
+ urlEdit.remove(indexOfCredential, urlEdit.length());
urlEdit.remove(",\"");
- //qDebug() << "expires" << endl << urlEdit.toAscii() << endl;
+ qDebug() << "expires" << endl << urlEdit.toAscii() << endl;
loginCredentials.setExpires(urlEdit);
}
if (indexOfCredential != -1){
foundSessionSecret = TRUE;
- indexOfCredential += 9; //" length of "secret"
+ indexOfCredential += 9; //" length of "secret":
urlEdit.remove(0,indexOfCredential);
- index2 = urlEdit.indexOf("sig");
- urlEdit.remove(index2, urlEdit.length());
+ indexOfCredential = urlEdit.indexOf("sig");
+ urlEdit.remove(indexOfCredential, urlEdit.length());
urlEdit.remove("\",\"");
- //*sessionSecret = urlEdit;
- //qDebug() << "sessionSecret" << endl << urlEdit.toAscii() << endl;
+ qDebug() << "sessionSecret" << endl << urlEdit.toAscii() << endl;
loginCredentials.setSessionSecret(urlEdit);
}
if (indexOfCredential != -1){
foundSig = TRUE;
- indexOfCredential += 6; //" length of sig":"
+ indexOfCredential += 6; //" length of "sig":
urlEdit.remove(0,indexOfCredential);
urlEdit.remove("\"}");
- //qDebug() << "sig" << endl << urlEdit.toAscii() << endl;
+ qDebug() << "sig" << endl << urlEdit.toAscii() << endl;
loginCredentials.setSig(urlEdit);
}
-
- webView->hide(); //let's close the webview after successful login.
+ webView->hide();
emit credentialsReady();
writeCredentials(loginCredentials);
}
}
else if ( callbackUrl.indexOf("http://www.facebook.com/login.php?api_key=") == 0){
- //qDebug() << "correct loginPage";
+ qDebug() << "correct loginPage";
}
- else { // totally wrong webPage. User will be redirected to basic login page...
- //qDebug() << "totally wrong webPage";
+ else {
+ qDebug() << "totally wrong webPage";
emit loginFailure();
start();
}
}
- else { // show error message that page cant be loaded in QWebView
- //qDebug() << " Loading of page failed invalid URL" << endl;
+ else {
+ qDebug() << " Loading of page failed invalid URL" << endl;
emit loginFailure();
return FALSE;
}
bool FacebookAuthentication::verifyCredentials(const FacebookCredentials &credentials) const
{
+ qDebug() << __PRETTY_FUNCTION__;
QString expires = credentials.getExpires();
QDateTime expireTime;
expireTime.setTime_t(expires.toInt());
return currentTime < expireTime;
}
+ void FacebookAuthentication::closeEvent(QCloseEvent *event)
+ {
+ qDebug() << __PRETTY_FUNCTION__;
+ int eventNumber = 0;
+ eventNumber = event->registerEventType();
+ qDebug() << "event number" << eventNumber;
+ emit userExit();
+ event->accept();
+ }
/**
* @brief FacebookAuthentication constructor
*
- * -Composes Loginpage from pieces.
+ * -Composes Loginpage from pieces of strings.
* -Checks if there is valid credentials stored on the file. If there is emits signal. If not it calls start method.
* -Connects signal from webview to UpdateCredentials() method. With this feature it is verified that class tries always update credentials when web page changes.
* -Allocates memory for webView and mainlayout
* @fn getLoginCredentials
* @return FacebookCredentials
*/
- FacebookCredentials getLoginCredentials() const;
-
- friend class TestFacebookAuthentication;
+ FacebookCredentials getLoginCredentials() const;
public slots:
/**
*/
bool updateCredentials(const QUrl & url);
-signals:
+signals:
+
+ /**
+ * @brief this signal is emitted if user exits logging in by pressing X
+ *
+ * @fn userExit
+ */
+ void userExit();
+
/**
* @brief this signal is emitted updateCredentials method finds credentials from URL. signal is also emitted at the beginning of the program if there is valid credentials in the file.
*
void loginFailure();
private:
+
+ /**
+ * @brief Program cames to this method when user closes login screen by pressing X.
+ * method send userExit() signal in this function
+ *
+ * @fn closeEvent
+ * @param event, without parameter programs does not come to this function when user exits by pressing X.
+ */
+ void closeEvent(QCloseEvent *event);
+
/**
* @brief checks expiration time of credentials and compares it to current time.
*