updated facebook classes
authorVille Tiensuu <ville.tiensuu@ixonos.com>
Fri, 16 Apr 2010 11:29:00 +0000 (14:29 +0300)
committerVille Tiensuu <ville.tiensuu@ixonos.com>
Fri, 16 Apr 2010 11:29:00 +0000 (14:29 +0300)
src/facebookservice/facebookauthentication.cpp
src/facebookservice/facebookauthentication.h

index e02391e..88a4218 100644 (file)
@@ -72,10 +72,9 @@ void FacebookAuthentication::start()
 {
     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);    
 }
@@ -84,7 +83,6 @@ void FacebookAuthentication::start()
 bool FacebookAuthentication::updateCredentials(const QUrl &url)
 {    
     qDebug() << __PRETTY_FUNCTION__;
-//    setCurrentUrl(url);
 
     bool foundSessionKey = FALSE;
     bool foundUserID = FALSE;
@@ -93,32 +91,28 @@ bool FacebookAuthentication::updateCredentials(const QUrl &url)
     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);
             }
 
@@ -128,15 +122,14 @@ bool FacebookAuthentication::updateCredentials(const QUrl &url)
 
             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);
             }
 
@@ -149,11 +142,11 @@ bool FacebookAuthentication::updateCredentials(const QUrl &url)
 
                 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);
             }
 
@@ -164,14 +157,13 @@ bool FacebookAuthentication::updateCredentials(const QUrl &url)
             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);
             }
 
@@ -182,16 +174,15 @@ bool FacebookAuthentication::updateCredentials(const QUrl &url)
             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);
         }
@@ -202,19 +193,19 @@ bool FacebookAuthentication::updateCredentials(const QUrl &url)
         }
 
         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;
     }
@@ -256,6 +247,7 @@ void FacebookAuthentication::readCredentials(FacebookCredentials &credentialsFro
 
  bool FacebookAuthentication::verifyCredentials(const FacebookCredentials &credentials) const
  {
+     qDebug() << __PRETTY_FUNCTION__;
      QString expires = credentials.getExpires();
      QDateTime expireTime;
      expireTime.setTime_t(expires.toInt());
@@ -270,3 +262,12 @@ void FacebookAuthentication::readCredentials(FacebookCredentials &credentialsFro
      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();
+ }
index 18169b3..9ad879f 100644 (file)
@@ -43,7 +43,7 @@ public:
     /**
     * @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
@@ -66,9 +66,7 @@ public:
     * @fn getLoginCredentials
     * @return FacebookCredentials
     */
-    FacebookCredentials getLoginCredentials() const;
-
-    friend class TestFacebookAuthentication;
+    FacebookCredentials getLoginCredentials() const;   
 
 public slots:
     /**
@@ -88,7 +86,15 @@ private 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.
     *
@@ -104,6 +110,16 @@ signals:
     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.
     *