commit b2c5f95b842aa0d602723a95983841615b0e4bc1
Author: Nathan Ho <nathan@snappizz.com>
Date:   Sun Jun 2 01:43:44 2019 -0700

    scide: Fix build with SC_USE_WEBENGINE

Index: supercollider-3.10.0+repack/editors/sc-ide/CMakeLists.txt
===================================================================
--- supercollider-3.10.0+repack.orig/editors/sc-ide/CMakeLists.txt
+++ supercollider-3.10.0+repack/editors/sc-ide/CMakeLists.txt
@@ -88,7 +88,6 @@ set ( ide_moc_hdr
     widgets/session_switch_dialog.hpp
     widgets/sessions_dialog.hpp
     widgets/tool_box.hpp
-    widgets/help_browser.hpp
     widgets/audio_status_box.hpp
     widgets/lang_status_box.hpp
     widgets/code_editor/editor.hpp
@@ -110,9 +109,6 @@ set ( ide_moc_hdr
     widgets/util/color_widget.hpp
     widgets/util/docklet.hpp
     widgets/util/volume_widget.hpp
-    widgets/util/WebSocketTransport.hpp
-    widgets/util/WebSocketClientWrapper.hpp
-    widgets/util/IDEWebChannelWrapper.hpp
 )
 
 file (GLOB_RECURSE all_hdr *hpp)
@@ -164,7 +160,6 @@ set ( ide_src
     widgets/util/docklet.cpp
     widgets/util/volume_widget.cpp
     widgets/util/status_box.cpp
-    widgets/util/WebSocketTransport.cpp
     widgets/style/style.cpp
 
     ${CMAKE_SOURCE_DIR}/common/SC_TextUtils.cpp
@@ -183,10 +178,14 @@ set ( ide_src
 
 set(ide_webengine_moc_hdrs
     widgets/help_browser.hpp
+    widgets/util/WebSocketTransport.hpp
+    widgets/util/WebSocketClientWrapper.hpp
+    widgets/util/IDEWebChannelWrapper.hpp
     ${CMAKE_SOURCE_DIR}/QtCollider/widgets/web_page.hpp
 )
 set(ide_webengine_src
     widgets/help_browser.cpp
+    widgets/util/WebSocketTransport.cpp
     ${CMAKE_SOURCE_DIR}/QtCollider/widgets/web_page.cpp
 )
 
Index: supercollider-3.10.0+repack/editors/sc-ide/core/main.cpp
===================================================================
--- supercollider-3.10.0+repack.orig/editors/sc-ide/core/main.cpp
+++ supercollider-3.10.0+repack/editors/sc-ide/core/main.cpp
@@ -131,6 +131,7 @@ int main(int argc, char* argv[]) {
     if (startInterpreter)
         main->scProcess()->startLanguage();
 
+#ifdef SC_USE_WEBENGINE
     // setup HelpBrowser server
     QWebSocketServer server("SCIDE HelpBrowser Server", QWebSocketServer::NonSecureMode);
     if (!server.listen(QHostAddress::LocalHost, 12344)) {
@@ -146,6 +147,7 @@ int main(int argc, char* argv[]) {
     // publish IDE interface
     IDEWebChannelWrapper ideWrapper { win->helpBrowserDocklet()->browser() };
     channel.registerObject("IDE", &ideWrapper);
+#endif // SC_USE_WEBENGINE
 
     return app.exec();
 }
@@ -294,6 +296,7 @@ bool Main::nativeEventFilter(const QByte
 }
 
 bool Main::openDocumentation(const QString& string) {
+#ifdef SC_USE_WEBENGINE
     QString symbol = string.trimmed();
     if (symbol.isEmpty())
         return false;
@@ -302,13 +305,20 @@ bool Main::openDocumentation(const QStri
     helpDock->browser()->gotoHelpFor(symbol);
     helpDock->focus();
     return true;
+#else // SC_USE_WEBENGINE
+    return false;
+#endif // SC_USE_WEBENGINE
 }
 
 bool Main::openDocumentationForMethod(const QString& className, const QString& methodName) {
+#ifdef SC_USE_WEBENGINE
     HelpBrowserDocklet* helpDock = MainWindow::instance()->helpBrowserDocklet();
     helpDock->browser()->gotoHelpForMethod(className, methodName);
     helpDock->focus();
     return true;
+#else // SC_USE_WEBENGINE
+    return false;
+#endif // SC_USE_WEBENGINE
 }
 
 void Main::openDefinition(const QString& string, QWidget* parent) {
Index: supercollider-3.10.0+repack/editors/sc-ide/widgets/code_editor/autocompleter.cpp
===================================================================
--- supercollider-3.10.0+repack.orig/editors/sc-ide/widgets/code_editor/autocompleter.cpp
+++ supercollider-3.10.0+repack/editors/sc-ide/widgets/code_editor/autocompleter.cpp
@@ -1213,9 +1213,11 @@ void AutoCompleter::parseClassNode(DocNo
 }
 
 void AutoCompleter::gotoHelp(QString symbol) {
+#ifdef SC_USE_WEBENGINE
     HelpBrowserDocklet* helpDock = MainWindow::instance()->helpBrowserDocklet();
     helpDock->browser()->gotoHelpFor(symbol);
     helpDock->focus();
+#endif // SC_USE_WEBENGINE
 }
 
 } // namespace ScIDE
Index: supercollider-3.10.0+repack/editors/sc-ide/widgets/code_editor/sc_editor.cpp
===================================================================
--- supercollider-3.10.0+repack.orig/editors/sc-ide/widgets/code_editor/sc_editor.cpp
+++ supercollider-3.10.0+repack/editors/sc-ide/widgets/code_editor/sc_editor.cpp
@@ -1317,11 +1317,13 @@ void ScCodeEditor::evaluateLine()
 {
     QString text;
 
+#ifdef SC_USE_WEBENGINE
     HelpBrowserDocklet* help = MainWindow::instance()->helpBrowserDocklet();
     if (help && help->browser()->helpBrowserHasFocus()) {
         help->browser()->evaluateSelection(false);
         return; // early return
     }
+#endif // SC_USE_WEBENGINE
 
     // Try current selection
     QTextCursor cursor = textCursor();
@@ -1356,11 +1358,13 @@ void ScCodeEditor::evaluateRegion()
 {
     QString text;
 
+#ifdef SC_USE_WEBENGINE
     HelpBrowserDocklet* help = MainWindow::instance()->helpBrowserDocklet();
     if (help && help->browser()->helpBrowserHasFocus()) {
         help->browser()->evaluateSelection(true);
         return; // early return
     }
+#endif // SC_USE_WEBENGINE
 
     // Try current selection
     QTextCursor cursor = textCursor();
Index: supercollider-3.10.0+repack/editors/sc-ide/widgets/main_window.cpp
===================================================================
--- supercollider-3.10.0+repack.orig/editors/sc-ide/widgets/main_window.cpp
+++ supercollider-3.10.0+repack/editors/sc-ide/widgets/main_window.cpp
@@ -134,10 +134,12 @@ MainWindow::MainWindow(Main* main): mMai
     addDockWidget(Qt::LeftDockWidgetArea, mDocumentsDocklet->dockWidget());
     mDocumentsDocklet->hide();
 
+#ifdef SC_USE_WEBENGINE
     mHelpBrowserDocklet = new HelpBrowserDocklet(this);
     mHelpBrowserDocklet->setObjectName("help-dock");
     addDockWidget(Qt::RightDockWidgetArea, mHelpBrowserDocklet->dockWidget());
     // mHelpBrowserDockable->hide();
+#endif // SC_USE_WEBENGINE
 
     mPostDocklet = new PostDocklet(this);
     mPostDocklet->setObjectName("post-dock");
@@ -455,10 +457,12 @@ void MainWindow::createActions() {
     action->setStatusTip(tr("Show/hide Documents docklet"));
     settings->addAction(mDocumentsDocklet->toggleViewAction(), "ide-docklet-documents", ideCategory);
 
+#ifdef SC_USE_WEBENGINE
     action = mHelpBrowserDocklet->toggleViewAction();
     action->setIcon(QIcon::fromTheme("system-help"));
     action->setStatusTip(tr("Show/hide Help browser docklet"));
     settings->addAction(mHelpBrowserDocklet->toggleViewAction(), "ide-docklet-help", ideCategory);
+#endif // SC_USE_WEBENGINE
 
     // In Mac OS, all menu item shortcuts need a modifier, so add the action with
     // the "Escape" default shortcut to the main window widget.
@@ -475,12 +479,14 @@ void MainWindow::createActions() {
     mPostDocklet->widget()->addAction(mActions[LookupReferences]);
     mPostDocklet->widget()->addAction(mActions[LookupReferencesForCursor]);
 
+#ifdef SC_USE_WEBENGINE
     mHelpBrowserDocklet->widget()->addAction(mActions[LookupDocumentation]);
     mHelpBrowserDocklet->widget()->addAction(mActions[LookupDocumentationForCursor]);
     mHelpBrowserDocklet->widget()->addAction(mActions[LookupImplementation]);
     mHelpBrowserDocklet->widget()->addAction(mActions[LookupImplementationForCursor]);
     mHelpBrowserDocklet->widget()->addAction(mActions[LookupReferences]);
     mHelpBrowserDocklet->widget()->addAction(mActions[LookupReferencesForCursor]);
+#endif // SC_USE_WEBENGINE
 }
 
 void MainWindow::createMenus() {
@@ -558,7 +564,9 @@ void MainWindow::createMenus() {
     submenu = new QMenu(tr("&Docklets"), this);
     submenu->addAction(mPostDocklet->toggleViewAction());
     submenu->addAction(mDocumentsDocklet->toggleViewAction());
+#ifdef SC_USE_WEBENGINE
     submenu->addAction(mHelpBrowserDocklet->toggleViewAction());
+#endif // SC_USE_WEBENGINE
     menu->addMenu(submenu);
     menu->addSeparator();
     submenu = menu->addMenu(tr("&Tool Panels"));
@@ -635,10 +643,12 @@ void MainWindow::createMenus() {
     menu = new QMenu(tr("&Help"), this);
     menu->addAction(mActions[HelpAboutIDE]);
     menu->addAction(mActions[ReportABug]);
+#ifdef SC_USE_WEBENGINE
     menu->addSeparator();
     menu->addAction(mActions[Help]);
     menu->addAction(mActions[LookupDocumentationForCursor]);
     menu->addAction(mActions[LookupDocumentation]);
+#endif // SC_USE_WEBENGINE
     menu->addSeparator();
     menu->addAction(mActions[ShowAbout]);
     menu->addAction(mActions[ShowAboutQT]);
@@ -654,7 +664,9 @@ template <class T> void MainWindow::save
     QVariantMap detachedData;
     saveDetachedState(mPostDocklet, detachedData);
     saveDetachedState(mDocumentsDocklet, detachedData);
+#ifdef SC_USE_WEBENGINE
     saveDetachedState(mHelpBrowserDocklet, detachedData);
+#endif // SC_USE_WEBENGINE
 
     settings->beginGroup("mainWindow");
     settings->setValue("geometry", this->saveGeometry().toBase64());
@@ -697,7 +709,9 @@ template <class T> void MainWindow::rest
 
     restoreDetachedState(mPostDocklet, detachedData);
     restoreDetachedState(mDocumentsDocklet, detachedData);
+#ifdef SC_USE_WEBENGINE
     restoreDetachedState(mHelpBrowserDocklet, detachedData);
+#endif // SC_USE_WEBENGINE
 
     qDebug("restoring state");
 
@@ -1287,7 +1301,9 @@ void MainWindow::applySettings(Settings:
     applyCursorBlinkingSettings(settings);
 
     mPostDocklet->mPostWindow->applySettings(settings);
+#ifdef SC_USE_WEBENGINE
     mHelpBrowserDocklet->browser()->applySettings(settings);
+#endif // SC_USE_WEBENGINE
     mCmdLine->applySettings(settings);
 }
 
@@ -1446,14 +1462,18 @@ void MainWindow::lookupDocumentationForC
 }
 
 void MainWindow::openHelp() {
+#ifdef SC_USE_WEBENGINE
     if (mHelpBrowserDocklet->browser()->url().isEmpty())
         mHelpBrowserDocklet->browser()->goHome();
     mHelpBrowserDocklet->focus();
+#endif // SC_USE_WEBENGINE
 }
 
 void MainWindow::openHelpAboutIDE() {
+#ifdef SC_USE_WEBENGINE
     mHelpBrowserDocklet->browser()->gotoHelpFor("Guides/SCIde");
     mHelpBrowserDocklet->focus();
+#endif // SC_USE_WEBENGINE
 }
 
 void MainWindow::doBugReport() {
Index: supercollider-3.10.0+repack/editors/sc-ide/widgets/main_window.hpp
===================================================================
--- supercollider-3.10.0+repack.orig/editors/sc-ide/widgets/main_window.hpp
+++ supercollider-3.10.0+repack/editors/sc-ide/widgets/main_window.hpp
@@ -120,7 +120,9 @@ public:
     void focusCodeEditor();
     bool promptSaveDocs();
 
+#ifdef SC_USE_WEBENGINE
     HelpBrowserDocklet* helpBrowserDocklet() { return mHelpBrowserDocklet; }
+#endif
     PostDocklet* postDocklet() { return mPostDocklet; }
 
     static MainWindow* instance() { return mInstance; }
@@ -237,7 +239,9 @@ private:
     // Docks
     PostDocklet* mPostDocklet;
     DocumentsDocklet* mDocumentsDocklet;
+#ifdef SC_USE_WEBENGINE
     HelpBrowserDocklet* mHelpBrowserDocklet;
+#endif
 
     QSignalMapper mCodeEvalMapper;
     DocumentsDialog* mDocDialog;
