{
qDebug() << __PRETTY_FUNCTION__;
m_ui = new MainWindow;
- m_ui->showPanels(m_loggedIn);
+ m_ui->updateItemVisibility(m_loggedIn);
// build MapEngine
m_mapEngine = new MapEngine(this);
qDebug() << __PRETTY_FUNCTION__;
m_ui->toggleProgressIndicator(false);
- m_ui->showPanels(m_loggedIn);
+ m_ui->updateItemVisibility(m_loggedIn);
}
void SituareEngine::logout()
settings.remove(COOKIES);
}
-QUrl FacebookAuthentication::formLoginPageUrl(const QStringList &urlParts) const
-{
- qDebug() << __PRETTY_FUNCTION__;
-
- return QUrl(urlParts.join(EMPTY));
-}
-
const QString FacebookAuthentication::loadUsername()
{
qDebug() << __PRETTY_FUNCTION__;
{
qDebug() << __PRETTY_FUNCTION__;
- QStringList list;
- list.append(FACEBOOK_LOGINBASE);
- list.append(SITUARE_PUBLIC_FACEBOOKAPI_KEY);
- list.append(INTERVAL1);
- list.append(SITUARE_LOGIN_SUCCESS);
- list.append(INTERVAL2);
- list.append(SITUARE_LOGIN_FAILURE);
- list.append(FACEBOOK_LOGIN_ENDING);
-
QSettings settings(DIRECTORY_NAME, FILE_NAME);
- QString cookies = settings.value(COOKIES, EMPTY).toString();
+ QStringList cookies = settings.value(COOKIES).toStringList();
if(!cookies.isEmpty()) {
emit loginUsingCookies();
}
else {
- emit newLoginRequest(formLoginPageUrl(list));
+ QStringList list;
+ list.append(FACEBOOK_LOGINBASE);
+ list.append(SITUARE_PUBLIC_FACEBOOKAPI_KEY);
+ list.append(INTERVAL1);
+ list.append(SITUARE_LOGIN_SUCCESS);
+ list.append(INTERVAL2);
+ list.append(SITUARE_LOGIN_FAILURE);
+ list.append(FACEBOOK_LOGIN_ENDING);
+
+ emit newLoginRequest(list.join(EMPTY));
}
}
*/
void start();
-private:
-
- /**
- * @brief Creates login url with given parameters
- *
- * @param urlParts Url parts
- * @return QUrl Login page url
- */
- QUrl formLoginPageUrl(const QStringList & urlParts) const;
-
private slots:
/**
gridLayout->addWidget(buttonBox, 0, 1, 1, 1);
connect(connectButton, SIGNAL(clicked()),
- this, SLOT(connectPressed()));
+ this, SLOT(accept()));
connect(cancelButton, SIGNAL(clicked()),
this, SLOT(reject()));
setLayout(gridLayout);
}
-void LoginDialog::connectPressed()
-{
- qDebug() << __PRETTY_FUNCTION__;
-
- emit loginDialogDone(m_emailEdit->text(), m_passwordEdit->text());
- accept();
-}
-
void LoginDialog::setEmailField(const QString &email)
{
qDebug() << __PRETTY_FUNCTION__;
m_passwordEdit->setText("");
}
+
+void LoginDialog::userInput(QString &email, QString &password)
+{
+ qDebug() << __PRETTY_FUNCTION__;
+
+ email = m_emailEdit->text();
+ password = m_passwordEdit->text();
+}
*/
LoginDialog(QWidget *parent = 0);
+ /**
+ * @brief Gets email and password
+ *
+ * @param email Email address
+ * @param password Password
+ */
+ void userInput(QString &email, QString &password);
+
/*******************************************************************************
* MEMBER FUNCTIONS AND SLOTS
******************************************************************************/
*/
void clearTextFields();
-private slots:
-
- /**
- * @brief Private slot for connect button
- *
- */
- void connectPressed();
-
-signals:
-
- /**
- * @brief Signal for sending email and password to facebookauthentication class
- *
- * @param email E-mail
- * @param password Password
- */
- void loginDialogDone(const QString &email, const QString &password);
-
/*******************************************************************************
* DATA MEMBERS
******************************************************************************/
m_email(),
m_password(),
m_webView(0),
- m_loginDialog(0),
m_cookieJar(0)
{
qDebug() << __PRETTY_FUNCTION__;
m_friendsListPanelSidebar, SLOT(reDrawSidebar(int, int)));
}
-void MainWindow::buildLoginDialog()
-{
- qDebug() << __PRETTY_FUNCTION__;
-
- if(!m_loginDialog) {
- m_loginDialog = new LoginDialog(this);
-
- connect(m_loginDialog, SIGNAL(loginDialogDone(QString,QString)),
- this, SLOT(loginDialogDone(QString,QString)));
- }
-}
-
void MainWindow::buildManualLocationCrosshair()
{
qDebug() << __PRETTY_FUNCTION__;
QSettings settings(DIRECTORY_NAME, FILE_NAME);
- QString cookies = settings.value(COOKIES, EMPTY).toString();
- if(!cookies.isEmpty()) {
- QStringList list = cookies.split("|");
- list.removeDuplicates();
- QList<QNetworkCookie> cookieList;
+ QStringList list = settings.value(COOKIES, EMPTY).toStringList();
+ if(!list.isEmpty()) {
+ QList<QNetworkCookie> cookieList;
for(int i=0;i<list.count();i++) {
- QNetworkCookie tmpCookie;
- cookieList.append(tmpCookie.parseCookies(list.at(i).toAscii()));
+ cookieList.append(QNetworkCookie::parseCookies(list.at(i).toAscii()));
}
+
if(!m_cookieJar)
- m_cookieJar = new NetworkCookieJar(new QNetworkCookieJar(this));
+ m_cookieJar = new NetworkCookieJar(new QNetworkCookieJar(this));
m_cookieJar->setAllCookies(cookieList);
m_webView->page()->networkAccessManager()->setCookieJar(m_cookieJar);
+
}
}
m_email.clear();
m_password.clear();
- if(m_loginDialog)
- m_loginDialog->clearTextFields();
-
m_loginAct->setText(tr("Login"));
}
- showPanels(m_loggedIn);
-}
-
-void MainWindow::loginDialogDone(const QString &email, const QString &password)
-{
- qDebug() << __PRETTY_FUNCTION__;
-
- m_email = email;
- m_password = password;
+ updateItemVisibility(m_loggedIn);
}
void MainWindow::loginFailed()
list.removeDuplicates();
QSettings settings(DIRECTORY_NAME, FILE_NAME);
- settings.setValue(COOKIES, list.join("|"));
+ settings.setValue(COOKIES, list);
}
void MainWindow::setAutoCenteringButtonEnabled(bool enabled)
QMaemo5InformationBox::information(this, message, QMaemo5InformationBox::DefaultTimeout);
}
#else
- Q_UNUSED(message);
Q_UNUSED(modal);
+ QMessageBox::information(this, tr("Situare"), message, QMessageBox::Ok);
#endif
}
-void MainWindow::showPanels(bool show)
+void MainWindow::updateItemVisibility(bool show)
{
qDebug() << __PRETTY_FUNCTION__;
if(show) {
m_friendsListPanelSidebar->show();
m_userPanel->show();
m_userPanelSidebar->show();
+
+ if(m_drawOwnLocationCrosshair)
+ m_ownLocationCrosshair->show();
}
else {
m_friendsListPanel->closePanel();
m_userPanel->closePanel();
m_userPanel->hide();
m_userPanelSidebar->hide();
+
+ m_ownLocationCrosshair->hide();
}
}
qDebug() << __PRETTY_FUNCTION__;
buildWebView();
- buildLoginDialog();
+
+ LoginDialog loginDialog;
emit fetchUsernameFromSettings();
m_webView->page()->networkAccessManager()->setCookieJar(m_cookieJar);
- m_loginDialog->clearTextFields();
+ loginDialog.clearTextFields();
- if(!m_email.isEmpty()) {
- m_loginDialog->setEmailField(m_email);
- }
+ if(!m_email.isEmpty())
+ loginDialog.setEmailField(m_email);
- if(m_loginDialog->exec() != QDialog::Accepted) {
+ if(loginDialog.exec() != QDialog::Accepted) {
// if login dialog was canceled we need to stop processing webview
m_webView->stop();
emit cancelLoginProcess();
}
else {
+ loginDialog.userInput(m_email, m_password);
m_webView->load(url);
toggleProgressIndicator(true);
m_refresh = true;
class FacebookAuthentication;
class FriendListPanel;
-class LoginDialog;
class MapScene;
class MapView;
class SituareService;
const QString username();
public slots:
- /**
- * @brief Slot to intercept signal when user has pressed connect button from loginDialog
- *
- * @param email E-mail
- * @param password Password
- */
- void loginDialogDone(const QString &email, const QString &password);
/**
* @brief Slot to intercept signal when login has failed (loginFailure signal)
void setUsername(const QString &username);
/**
- * @brief
+ * @brief Shows / hides Situare related UI items
*
* @param show
*/
- void showPanels(bool show);
+ void updateItemVisibility(bool show);
/**
* @brief Public slot to intercept signal when old cerdentials are invalid or credentials
void buildFriendListPanel();
/**
- * @brief Build login dialog and connect slots
- *
- */
- void buildLoginDialog();
-
- /**
* @brief Build manual location setting cross hair and connect slots
*/
void buildManualLocationCrosshair();
QWebView *m_webView; ///< Shows facebook login page
FriendListPanel *m_friendsListPanel; ///< Instance of friends list panel
- LoginDialog *m_loginDialog; ///< Login dialog
MapView *m_mapView; ///< Instance of the map view
NetworkCookieJar *m_cookieJar; ///< Placeholder for QNetworkCookies
PanelSideBar *m_userPanelSidebar; ///< User panel side bar