[PATCH] Ignore QWebView in Android

Joseph W. Joshua joejoshw at gmail.com
Tue Jan 13 09:08:42 PST 2015


Ignore QWebView instances in the preferences dialog when compiling under
Android, as QWebView is not yet supported under Android.

Signed-off-by: Joseph W. Joshua <joejoshw at gmail.com>
---
 qt-ui/preferences.cpp | 33 ++++++++++++++++-----
 qt-ui/preferences.h   |  7 +++++
 qt-ui/preferences.ui  | 82 ++++++++++++++++++++++-----------------------------
 3 files changed, 68 insertions(+), 54 deletions(-)

diff --git a/qt-ui/preferences.cpp b/qt-ui/preferences.cpp
index 7e71865..3dae0ef 100644
--- a/qt-ui/preferences.cpp
+++ b/qt-ui/preferences.cpp
@@ -9,6 +9,10 @@
 #include <QNetworkCookieJar>
 #include "socialnetworks.h"
 
+#ifndef Q_OS_ANDROID
+#include <QWebView>
+#endif
+
 PreferencesDialog *PreferencesDialog::instance()
 {
 	static PreferencesDialog *dialog = new PreferencesDialog(MainWindow::instance());
@@ -20,6 +24,15 @@ PreferencesDialog *PreferencesDialog::instance()
 PreferencesDialog::PreferencesDialog(QWidget *parent, Qt::WindowFlags f) : QDialog(parent, f)
 {
 	ui.setupUi(this);
+#ifndef Q_OS_ANDROID
+	facebookWebView = new QWebView(this);
+	QVBoxLayout fbLayout(ui.page_6);
+	fbLayout.addWidget(facebookWebView);
+	fbLayout.addWidget(ui.fbConnected);
+	ui.page_6->setLayout(&fbLayout);
+#else
+	delete ui.listWidget->item(5);
+#endif
 	ui.proxyType->clear();
 	ui.proxyType->addItem(tr("No proxy"), QNetworkProxy::NoProxy);
 	ui.proxyType->addItem(tr("System proxy"), QNetworkProxy::DefaultProxy);
@@ -28,22 +41,24 @@ PreferencesDialog::PreferencesDialog(QWidget *parent, Qt::WindowFlags f) : QDial
 	ui.proxyType->setCurrentIndex(-1);
 
 	// Facebook stuff:
+#ifndef Q_OS_ANDROID
 	FacebookManager *fb = FacebookManager::instance();
 	if(fb->loggedIn()){
-		ui.facebookWebView->setHtml("You are connected on Facebook, yey.");
+		facebookWebView->setHtml("You are connected on Facebook, yey.");
 	} else {
-		ui.facebookWebView->setUrl(fb->connectUrl());
+		facebookWebView->setUrl(fb->connectUrl());
 	}
-	connect(ui.facebookWebView, &QWebView::urlChanged, fb, &FacebookManager::tryLogin);
+	connect(facebookWebView, &QWebView::urlChanged, fb, &FacebookManager::tryLogin);
 	connect(fb, &FacebookManager::justLoggedIn, this, &PreferencesDialog::facebookLoggedIn);
 	connect(ui.btnDisconnectFacebook, &QPushButton::clicked, fb, &FacebookManager::logout);
 	connect(fb, &FacebookManager::justLoggedOut, this, &PreferencesDialog::facebookDisconnect);
+#endif
 
 	connect(ui.proxyType, SIGNAL(currentIndexChanged(int)), this, SLOT(proxyType_changed(int)));
 	connect(ui.buttonBox, SIGNAL(clicked(QAbstractButton *)), this, SLOT(buttonClicked(QAbstractButton *)));
 	connect(ui.gflow, SIGNAL(valueChanged(int)), this, SLOT(gflowChanged(int)));
 	connect(ui.gfhigh, SIGNAL(valueChanged(int)), this, SLOT(gfhighChanged(int)));
-//	connect(ui.defaultSetpoint, SIGNAL(valueChanged(double)), this, SLOT(defaultSetpointChanged(double)));
+	//	connect(ui.defaultSetpoint, SIGNAL(valueChanged(double)), this, SLOT(defaultSetpointChanged(double)));
 	QShortcut *close = new QShortcut(QKeySequence(Qt::CTRL + Qt::Key_W), this);
 	connect(close, SIGNAL(activated()), this, SLOT(close()));
 	QShortcut *quit = new QShortcut(QKeySequence(Qt::CTRL + Qt::Key_Q), this);
@@ -55,15 +70,19 @@ PreferencesDialog::PreferencesDialog(QWidget *parent, Qt::WindowFlags f) : QDial
 
 void PreferencesDialog::facebookLoggedIn()
 {
-	ui.facebookWebView->setHtml("We need a better 'you re connected' page. but, YEY. ");
+#ifndef Q_OS_ANDROID
+	facebookWebView->setHtml("We need a better 'you re connected' page. but, YEY. ");
 	ui.fbConnected->show();
+#endif
 }
 
 void PreferencesDialog::facebookDisconnect()
 {
-	ui.facebookWebView->page()->networkAccessManager()->setCookieJar(new QNetworkCookieJar());
-	ui.facebookWebView->setUrl(FacebookManager::instance()->connectUrl());
+#ifndef Q_OS_ANDROID
+	facebookWebView->page()->networkAccessManager()->setCookieJar(new QNetworkCookieJar());
+	facebookWebView->setUrl(FacebookManager::instance()->connectUrl());
 	ui.fbConnected->hide();
+#endif
 }
 
 #define DANGER_GF (gf > 100) ? "* { color: red; }" : ""
diff --git a/qt-ui/preferences.h b/qt-ui/preferences.h
index 72c3791..8425977 100644
--- a/qt-ui/preferences.h
+++ b/qt-ui/preferences.h
@@ -6,6 +6,10 @@
 
 #include "ui_preferences.h"
 
+#ifndef Q_OS_ANDROID
+	class QWebView;
+#endif
+
 class QAbstractButton;
 
 class PreferencesDialog : public QDialog {
@@ -37,6 +41,9 @@ private:
 	void setUiFromPrefs();
 	Ui::PreferencesDialog ui;
 	struct preferences oldPrefs;
+    #ifndef Q_OS_ANDROID
+	QWebView *facebookWebView;
+    #endif
 };
 
 #endif // PREFERENCES_H
diff --git a/qt-ui/preferences.ui b/qt-ui/preferences.ui
index 2572990..4ed1dbb 100644
--- a/qt-ui/preferences.ui
+++ b/qt-ui/preferences.ui
@@ -151,7 +151,7 @@
         </sizepolicy>
        </property>
        <property name="currentIndex">
-        <number>2</number>
+        <number>5</number>
        </property>
        <widget class="QWidget" name="page_2">
         <layout class="QVBoxLayout" name="verticalLayout_3">
@@ -1007,47 +1007,42 @@
         </layout>
        </widget>
        <widget class="QWidget" name="page_6">
-        <layout class="QVBoxLayout" name="verticalLayout_8">
-         <item>
-          <widget class="QWebView" name="facebookWebView">
-           <property name="url">
-            <url>
-             <string>about:blank</string>
-            </url>
-           </property>
-          </widget>
-         </item>
-         <item>
-          <widget class="QWidget" name="fbConnected" native="true">
-           <layout class="QVBoxLayout" name="verticalLayout_9">
+        <widget class="QWidget" name="fbConnected" native="true">
+         <property name="geometry">
+          <rect>
+           <x>9</x>
+           <y>355</y>
+           <width>265</width>
+           <height>47</height>
+          </rect>
+         </property>
+         <layout class="QVBoxLayout" name="verticalLayout_9">
+          <item>
+           <layout class="QHBoxLayout" name="connectedLayout">
             <item>
-             <layout class="QHBoxLayout" name="connectedLayout">
-              <item>
-               <spacer name="horizontalSpacer_2">
-                <property name="orientation">
-                 <enum>Qt::Horizontal</enum>
-                </property>
-                <property name="sizeHint" stdset="0">
-                 <size>
-                  <width>40</width>
-                  <height>20</height>
-                 </size>
-                </property>
-               </spacer>
-              </item>
-              <item>
-               <widget class="QPushButton" name="btnDisconnectFacebook">
-                <property name="text">
-                 <string>Disconnect from Facebook</string>
-                </property>
-               </widget>
-              </item>
-             </layout>
+             <spacer name="horizontalSpacer_2">
+              <property name="orientation">
+               <enum>Qt::Horizontal</enum>
+              </property>
+              <property name="sizeHint" stdset="0">
+               <size>
+                <width>40</width>
+                <height>20</height>
+               </size>
+              </property>
+             </spacer>
+            </item>
+            <item>
+             <widget class="QPushButton" name="btnDisconnectFacebook">
+              <property name="text">
+               <string>Disconnect from Facebook</string>
+              </property>
+             </widget>
             </item>
            </layout>
-          </widget>
-         </item>
-        </layout>
+          </item>
+         </layout>
+        </widget>
        </widget>
       </widget>
      </item>
@@ -1065,13 +1060,6 @@
    </item>
   </layout>
  </widget>
- <customwidgets>
-  <customwidget>
-   <class>QWebView</class>
-   <extends>QWidget</extends>
-   <header>QtWebKitWidgets/QWebView</header>
-  </customwidget>
- </customwidgets>
  <resources/>
  <connections>
   <connection>
@@ -1412,8 +1400,8 @@
   </connection>
  </connections>
  <buttongroups>
-  <buttongroup name="verticalSpeed"/>
   <buttongroup name="buttonGroup"/>
+  <buttongroup name="verticalSpeed"/>
   <buttongroup name="buttonGroup_2"/>
   <buttongroup name="buttonGroup_3"/>
   <buttongroup name="buttonGroup_4"/>
-- 
1.9.1



More information about the subsurface mailing list