From 39e68c795c79a02135467f5ebd39c534ab2d43f3 Mon Sep 17 00:00:00 2001 From: Dirk Hohndel Date: Fri, 30 Jan 2015 22:10:21 -0800 Subject: Try to make the Facebook interaction be more pleasant Show either the login screen or the disconnect button, plus some text that explains what the user is expected to do. Signed-off-by: Dirk Hohndel --- qt-ui/preferences.cpp | 33 ++++++++++++++--------- qt-ui/preferences.ui | 72 ++++++++++++++++++++++----------------------------- 2 files changed, 52 insertions(+), 53 deletions(-) (limited to 'qt-ui') diff --git a/qt-ui/preferences.cpp b/qt-ui/preferences.cpp index 632251d18..6509975f8 100644 --- a/qt-ui/preferences.cpp +++ b/qt-ui/preferences.cpp @@ -32,12 +32,6 @@ PreferencesDialog::PreferencesDialog(QWidget *parent, Qt::WindowFlags f) : QDial if (ui.listWidget->item(i)->text() == "Facebook") delete ui.listWidget->item(i); } -#else - facebookWebView = new QWebView(this); - QVBoxLayout fbLayout(ui.facebook_page); - fbLayout.addWidget(facebookWebView); - fbLayout.addWidget(ui.fbConnected); - ui.facebook_page->setLayout(&fbLayout); #endif ui.proxyType->clear(); @@ -50,10 +44,11 @@ PreferencesDialog::PreferencesDialog(QWidget *parent, Qt::WindowFlags f) : QDial // Facebook stuff: #if !defined(Q_OS_ANDROID) && defined(FBSUPPORT) FacebookManager *fb = FacebookManager::instance(); - if(fb->loggedIn()){ - facebookWebView->setHtml("You are connected on Facebook, yey."); + facebookWebView = new QWebView(this); + if (fb->loggedIn()) { + facebookLoggedIn(); } else { - facebookWebView->setUrl(fb->connectUrl()); + facebookDisconnect(); } connect(facebookWebView, &QWebView::urlChanged, fb, &FacebookManager::tryLogin); connect(fb, &FacebookManager::justLoggedIn, this, &PreferencesDialog::facebookLoggedIn); @@ -78,17 +73,31 @@ PreferencesDialog::PreferencesDialog(QWidget *parent, Qt::WindowFlags f) : QDial void PreferencesDialog::facebookLoggedIn() { #ifndef Q_OS_ANDROID - facebookWebView->setHtml("We need a better 'you re connected' page. but, YEY. "); + // remove the login view and add the disconnect button + ui.fbLayout->removeItem(ui.fbLayout->itemAt(1)); + ui.fbLayout->addWidget(ui.fbConnected); ui.fbConnected->show(); + ui.FBLabel->setText(tr("To disconnect Subsurface from your Facebook account, use the button below")); + if (facebookWebView) + facebookWebView->hide(); #endif } void PreferencesDialog::facebookDisconnect() { #if !defined(Q_OS_ANDROID) && defined(FBSUPPORT) - facebookWebView->page()->networkAccessManager()->setCookieJar(new QNetworkCookieJar()); - facebookWebView->setUrl(FacebookManager::instance()->connectUrl()); + // remove the disconnect button + // and instead add the login view + ui.fbLayout->removeItem(ui.fbLayout->itemAt(1)); + ui.fbLayout->addWidget(facebookWebView); ui.fbConnected->hide(); + ui.FBLabel->setText(tr("To connect to Facebook, please log in. This enables Subsurface to publish dives to your timeline")); + if (facebookWebView) { + facebookWebView->setUrl(FacebookManager::instance()->connectUrl()); + facebookWebView->page()->networkAccessManager()->setCookieJar(new QNetworkCookieJar()); + facebookWebView->setUrl(FacebookManager::instance()->connectUrl()); + facebookWebView->show(); + } #endif } diff --git a/qt-ui/preferences.ui b/qt-ui/preferences.ui index 2072e4eef..e67925f56 100644 --- a/qt-ui/preferences.ui +++ b/qt-ui/preferences.ui @@ -151,7 +151,7 @@ - 2 + 0 @@ -788,7 +788,7 @@ GFLow at max depth - + @@ -796,7 +796,7 @@ - + CCR: show individual O₂ sensor values when viewing pO₂ @@ -1048,42 +1048,32 @@ - - - - 9 - 355 - 265 - 47 - - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Disconnect from Facebook - - - - - - - + + + + + true + + + + + + + + + 0 + 0 + 229 + 28 + + + + Disconnect from Facebook + + + + + @@ -1441,12 +1431,12 @@ - + - + -- cgit v1.2.3-70-g09d2