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
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)
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
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
)
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)) {
// publish IDE interface
IDEWebChannelWrapper ideWrapper { win->helpBrowserDocklet()->browser() };
channel.registerObject("IDE", &ideWrapper);
+#endif // SC_USE_WEBENGINE
return app.exec();
}
}
bool Main::openDocumentation(const QString& string) {
+#ifdef SC_USE_WEBENGINE
QString symbol = string.trimmed();
if (symbol.isEmpty())
return false;
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) {
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");
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.
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() {
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"));
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]);
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());
restoreDetachedState(mPostDocklet, detachedData);
restoreDetachedState(mDocumentsDocklet, detachedData);
+#ifdef SC_USE_WEBENGINE
restoreDetachedState(mHelpBrowserDocklet, detachedData);
+#endif // SC_USE_WEBENGINE
qDebug("restoring state");
applyCursorBlinkingSettings(settings);
mPostDocklet->mPostWindow->applySettings(settings);
+#ifdef SC_USE_WEBENGINE
mHelpBrowserDocklet->browser()->applySettings(settings);
+#endif // SC_USE_WEBENGINE
mCmdLine->applySettings(settings);
}
}
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() {