void MainWindow::dialogFinished(int status)
{
qDebug() << __PRETTY_FUNCTION__;
- qDebug() << status;
+
QDialog *dialog = m_queue.takeFirst();
if(!dialog->objectName().isEmpty()) {
buildWebView();
m_cookieJar = new NetworkCookieJar(new QNetworkCookieJar(this));
m_webView->page()->networkAccessManager()->setCookieJar(m_cookieJar);
+ connect(m_webView->page()->networkAccessManager(), SIGNAL(finished(QNetworkReply*)),
+ this, SLOT(webViewRequestFinished(QNetworkReply*)));
QStringList urlParts;
urlParts.append(FACEBOOK_LOGINBASE);
{
qDebug() << __PRETTY_FUNCTION__;
- if(dialog->isModal()) {
- m_queue.insert(0, dialog);
- } else {
+// if(dialog->isModal()) {
+// m_modal_queue.append(dialog);
+// } else {
m_queue.append(dialog);
- }
+// }
+
+// if(m_modal_queue.count() == 1)
+// showErrorNote();
if(m_queue.count() == 1)
- this->showInformationBox();
+ showInformationBox();
}
void MainWindow::saveCookies()
return m_email;
}
+
+void MainWindow::showErrorNote()
+{
+ qDebug() << __PRETTY_FUNCTION__;
+
+ QDialog *dialog = m_modal_queue.takeFirst();
+ connect(dialog, SIGNAL(finished(int)),
+ this, SLOT(errorNoteFinished()));
+ dialog->show();
+ m_queue.insert(0, dialog);
+}
+
+void MainWindow::webViewRequestFinished(QNetworkReply *reply)
+{
+ qDebug() << __PRETTY_FUNCTION__;
+
+ if(reply->error()) {
+ // todo: emit error to engine
+ qDebug() << reply->errorString();
+ m_webView->stop();
+ toggleProgressIndicator(false);
+ }
+}
+
+void MainWindow::errorNoteFinished()
+{
+ qDebug() << __PRETTY_FUNCTION__;
+
+ QDialog *dialog = m_queue.takeFirst();
+ dialog->deleteLater();
+
+ if(!m_modal_queue.isEmpty())
+ showErrorNote();
+}
class QGraphicsScene;
class QLabel;
class QWebView;
+class QNetworkReply;
class FacebookAuthentication;
class FriendListPanel;
*/
void setOwnLocationCrosshairVisibility(bool visible);
+ void showErrorNote();
+
/**
* @brief Shows queued information box
*
*/
void toggleFullScreen();
+ void webViewRequestFinished(QNetworkReply* reply);
+
+ void errorNoteFinished();
+
/*******************************************************************************
* SIGNALS
******************************************************************************/
SettingsDialog *m_settingsDialog; ///< Settings dialog
QList<QDialog *> m_queue;
+ QList<QDialog *> m_modal_queue;
};
#endif // MAINWINDOW_H