optional-qtwebengine-10-b2c5f95b842aa0d602723a95983841615b0e4bc1
authorDebian Multimedia Maintainers <debian-multimedia@lists.debian.org>
Sat, 29 Jun 2019 01:02:25 +0000 (02:02 +0100)
committerPeter Michael Green <plugwash@raspbian.org>
Sat, 29 Jun 2019 01:02:25 +0000 (02:02 +0100)
commit b2c5f95b842aa0d602723a95983841615b0e4bc1
Author: Nathan Ho <nathan@snappizz.com>
Date:   Sun Jun 2 01:43:44 2019 -0700

    scide: Fix build with SC_USE_WEBENGINE

Gbp-Pq: Name optional-qtwebengine-10-b2c5f95b842aa0d602723a95983841615b0e4bc1

editors/sc-ide/CMakeLists.txt
editors/sc-ide/core/main.cpp
editors/sc-ide/widgets/code_editor/autocompleter.cpp
editors/sc-ide/widgets/code_editor/sc_editor.cpp
editors/sc-ide/widgets/main_window.cpp
editors/sc-ide/widgets/main_window.hpp

index 77d84e79e9aca5508ce2dac3bd85090a1c7713b6..29b964c89e34b1b0d3655d59cb558d0e87eaef55 100644 (file)
@@ -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 41852b03f0268f71ee7e3ea096f4ecf7f9f057f8..e8833dbcc21ffa42263ff7e55ec36d1f96257132 100644 (file)
@@ -135,6 +135,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)) {
@@ -150,6 +151,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();
 }
@@ -310,6 +312,7 @@ bool Main::nativeEventFilter(const QByteArray &, void * message, long *)
 }
 
 bool Main::openDocumentation(const QString& string) {
+#ifdef SC_USE_WEBENGINE
     QString symbol = string.trimmed();
     if (symbol.isEmpty())
         return false;
@@ -318,13 +321,20 @@ bool Main::openDocumentation(const QString& string) {
     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 d2d9ff20cd1e2a9fdb09bb28d2a007df47b1c2ba..4e9b35bba9ce65d498070397b8ae20913937454e 100644 (file)
@@ -1307,9 +1307,11 @@ void AutoCompleter::parseClassNode(DocNode *node, QString *str)
 }
 
 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 eae7e2e7e475622df67ef70242a8033c603d18f6..88afeeb91d7dc38849a08402da41c05b997775c6 100644 (file)
@@ -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 240341d799298df4c25e52b5df35a4d0527747b3..faf2d8c783da26ef118577f31f432018a794599b 100644 (file)
@@ -143,10 +143,12 @@ MainWindow::MainWindow(Main * main) :
     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");
@@ -481,10 +483,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.
@@ -501,12 +505,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() {
@@ -584,7 +590,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"));
@@ -661,10 +669,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]);
@@ -680,7 +690,9 @@ template <class T> void MainWindow::saveWindowState(T* settings) {
     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());
@@ -727,7 +739,9 @@ void MainWindow::restoreWindowState( T * settings )
 
     restoreDetachedState(mPostDocklet, detachedData);
     restoreDetachedState(mDocumentsDocklet, detachedData);
+#ifdef SC_USE_WEBENGINE
     restoreDetachedState(mHelpBrowserDocklet, detachedData);
+#endif // SC_USE_WEBENGINE
 
     qDebug("restoring state");
 
@@ -1380,7 +1394,9 @@ void MainWindow::applySettings(Settings::Manager* settings) {
     applyCursorBlinkingSettings(settings);
 
     mPostDocklet->mPostWindow->applySettings(settings);
+#ifdef SC_USE_WEBENGINE
     mHelpBrowserDocklet->browser()->applySettings(settings);
+#endif // SC_USE_WEBENGINE
     mCmdLine->applySettings(settings);
 }
 
@@ -1556,14 +1572,18 @@ void MainWindow::lookupDocumentationForCursor() {
 }
 
 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 de1dcfb367df2dc5166bac10b0cfcb939d99a016..c95af11a5d5ec00681476d8df417974c2adb9215 100644 (file)
@@ -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;