mirror of
https://github.com/martinrotter/rssguard.git
synced 2025-02-04 03:08:04 +01:00
add -w option to force nowebengine even in webengine version
This commit is contained in:
parent
0976ddb7b1
commit
cd1f44ba77
@ -431,79 +431,77 @@ list(APPEND SOURCES
|
||||
)
|
||||
|
||||
# Add QLiteHtml.
|
||||
if(NOT USE_WEBENGINE)
|
||||
# Gumbo.
|
||||
list(APPEND SOURCES
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/gumbo/attribute.c
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/gumbo/char_ref.c
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/gumbo/error.c
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/gumbo/parser.c
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/gumbo/string_buffer.c
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/gumbo/string_piece.c
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/gumbo/tag.c
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/gumbo/tokenizer.c
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/gumbo/utf8.c
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/gumbo/util.c
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/gumbo/vector.c
|
||||
)
|
||||
# Gumbo.
|
||||
list(APPEND SOURCES
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/gumbo/attribute.c
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/gumbo/char_ref.c
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/gumbo/error.c
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/gumbo/parser.c
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/gumbo/string_buffer.c
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/gumbo/string_piece.c
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/gumbo/tag.c
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/gumbo/tokenizer.c
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/gumbo/utf8.c
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/gumbo/util.c
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/gumbo/vector.c
|
||||
)
|
||||
|
||||
# LiteHtml.
|
||||
list(APPEND SOURCES
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/background.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/box.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/codepoint.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/context.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/css_length.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/css_selector.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/document.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/el_anchor.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/el_base.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/el_before_after.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/el_body.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/el_break.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/el_cdata.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/el_comment.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/el_div.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/element.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/el_font.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/el_image.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/el_link.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/el_li.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/el_para.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/el_script.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/el_space.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/el_style.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/el_table.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/el_td.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/el_text.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/el_title.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/el_tr.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/html.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/html_tag.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/iterators.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/media_query.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/style.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/stylesheet.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/table.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/tstring_view.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/url.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/url_path.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/utf8_strings.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/web_color.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/num_cvt.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/strtod.cpp
|
||||
)
|
||||
# LiteHtml.
|
||||
list(APPEND SOURCES
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/background.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/box.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/codepoint.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/context.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/css_length.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/css_selector.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/document.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/el_anchor.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/el_base.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/el_before_after.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/el_body.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/el_break.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/el_cdata.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/el_comment.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/el_div.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/element.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/el_font.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/el_image.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/el_link.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/el_li.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/el_para.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/el_script.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/el_space.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/el_style.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/el_table.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/el_td.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/el_text.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/el_title.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/el_tr.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/html.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/html_tag.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/iterators.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/media_query.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/style.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/stylesheet.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/table.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/tstring_view.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/url.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/url_path.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/utf8_strings.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/web_color.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/num_cvt.cpp
|
||||
3rd-party/qlitehtml/3rdparty/litehtml/src/strtod.cpp
|
||||
)
|
||||
|
||||
# QLiteHtml.
|
||||
list(APPEND SOURCES
|
||||
3rd-party/qlitehtml/container_qpainter.h
|
||||
3rd-party/qlitehtml/container_qpainter_p.h
|
||||
3rd-party/qlitehtml/qlitehtml_global.h
|
||||
3rd-party/qlitehtml/qlitehtmlwidget.h
|
||||
3rd-party/qlitehtml/container_qpainter.cpp
|
||||
3rd-party/qlitehtml/qlitehtmlwidget.cpp
|
||||
)
|
||||
endif()
|
||||
# QLiteHtml.
|
||||
list(APPEND SOURCES
|
||||
3rd-party/qlitehtml/container_qpainter.h
|
||||
3rd-party/qlitehtml/container_qpainter_p.h
|
||||
3rd-party/qlitehtml/qlitehtml_global.h
|
||||
3rd-party/qlitehtml/qlitehtmlwidget.h
|
||||
3rd-party/qlitehtml/container_qpainter.cpp
|
||||
3rd-party/qlitehtml/qlitehtmlwidget.cpp
|
||||
)
|
||||
|
||||
set(UI_FILES
|
||||
gui/dialogs/formabout.ui
|
||||
@ -566,14 +564,14 @@ if(USE_WEBENGINE)
|
||||
network-web/adblock/adblockurlinterceptor.cpp
|
||||
network-web/adblock/adblockurlinterceptor.h
|
||||
)
|
||||
else()
|
||||
list(APPEND SOURCES
|
||||
# Lite non-WebEngine message browser.
|
||||
gui/litehtml/litehtmlviewer.h
|
||||
gui/litehtml/litehtmlviewer.cpp
|
||||
)
|
||||
endif()
|
||||
|
||||
list(APPEND SOURCES
|
||||
# Lite non-WebEngine message browser.
|
||||
gui/litehtml/litehtmlviewer.h
|
||||
gui/litehtml/litehtmlviewer.cpp
|
||||
)
|
||||
|
||||
# Deal with .ui files.
|
||||
qt_wrap_ui(SOURCES ${UI_FILES})
|
||||
|
||||
@ -678,32 +676,28 @@ target_include_directories(rssguard
|
||||
)
|
||||
|
||||
# QLiteHtml.
|
||||
if(NOT USE_WEBENGINE)
|
||||
# Gumbo.
|
||||
target_include_directories(rssguard PRIVATE 3rd-party/qlitehtml/3rdparty/litehtml/src/gumbo/include)
|
||||
target_include_directories(rssguard PRIVATE 3rd-party/qlitehtml/3rdparty/litehtml/src/gumbo/include/gumbo)
|
||||
# Gumbo.
|
||||
target_include_directories(rssguard PRIVATE 3rd-party/qlitehtml/3rdparty/litehtml/src/gumbo/include)
|
||||
target_include_directories(rssguard PRIVATE 3rd-party/qlitehtml/3rdparty/litehtml/src/gumbo/include/gumbo)
|
||||
|
||||
if(MSVC)
|
||||
target_include_directories(rssguard PRIVATE 3rd-party/qlitehtml/3rdparty/litehtml/src/gumbo/visualc/include)
|
||||
endif()
|
||||
|
||||
# LiteHtml.
|
||||
target_include_directories(rssguard PRIVATE 3rd-party/qlitehtml/3rdparty/litehtml/src)
|
||||
target_include_directories(rssguard PRIVATE 3rd-party/qlitehtml/3rdparty/litehtml/include)
|
||||
target_include_directories(rssguard PRIVATE 3rd-party/qlitehtml/3rdparty/litehtml/include/litehtml)
|
||||
|
||||
if(WIN32)
|
||||
target_compile_definitions(rssguard PUBLIC LITEHTML_UTF8)
|
||||
endif()
|
||||
|
||||
# QLiteHtml.
|
||||
target_include_directories(rssguard PRIVATE 3rd-party/qlitehtml)
|
||||
|
||||
target_compile_definitions(rssguard
|
||||
PRIVATE
|
||||
QLITEHTML_LIBRARY)
|
||||
if(MSVC)
|
||||
target_include_directories(rssguard PRIVATE 3rd-party/qlitehtml/3rdparty/litehtml/src/gumbo/visualc/include)
|
||||
endif()
|
||||
|
||||
# LiteHtml.
|
||||
target_include_directories(rssguard PRIVATE 3rd-party/qlitehtml/3rdparty/litehtml/src)
|
||||
target_include_directories(rssguard PRIVATE 3rd-party/qlitehtml/3rdparty/litehtml/include)
|
||||
target_include_directories(rssguard PRIVATE 3rd-party/qlitehtml/3rdparty/litehtml/include/litehtml)
|
||||
|
||||
if(WIN32)
|
||||
target_compile_definitions(rssguard PUBLIC LITEHTML_UTF8)
|
||||
endif()
|
||||
|
||||
# QLiteHtml.
|
||||
target_include_directories(rssguard PRIVATE 3rd-party/qlitehtml)
|
||||
target_compile_definitions(rssguard PRIVATE QLITEHTML_LIBRARY)
|
||||
|
||||
# Qt.
|
||||
target_link_libraries(rssguard PUBLIC
|
||||
Qt${QT_VERSION_MAJOR}::Core
|
||||
Qt${QT_VERSION_MAJOR}::Gui
|
||||
|
@ -125,6 +125,9 @@
|
||||
#define CLI_NDEBUG_SHORT "g"
|
||||
#define CLI_NDEBUG_LONG "no-debug-output"
|
||||
|
||||
#define CLI_FORCE_NOWEBENGINE_SHORT "w"
|
||||
#define CLI_FORCE_NOWEBENGINE_LONG "no-web-engine"
|
||||
|
||||
#define CLI_QUIT_INSTANCE "q"
|
||||
#define CLI_IS_RUNNING "a"
|
||||
|
||||
|
@ -3,6 +3,7 @@
|
||||
#include "gui/webbrowser.h"
|
||||
|
||||
#include "database/databasequeries.h"
|
||||
#include "gui/litehtml/litehtmlviewer.h" // QLiteHtml-based web browsing.
|
||||
#include "gui/messagebox.h"
|
||||
#include "gui/reusable/discoverfeedsbutton.h"
|
||||
#include "gui/reusable/locationlineedit.h"
|
||||
@ -15,6 +16,10 @@
|
||||
#include "network-web/webfactory.h"
|
||||
#include "services/abstract/serviceroot.h"
|
||||
|
||||
#if defined(USE_WEBENGINE)
|
||||
#include "gui/webengine/webengineviewer.h" // WebEngine-based web browsing.
|
||||
#endif
|
||||
|
||||
#include <QKeyEvent>
|
||||
#include <QScrollBar>
|
||||
#include <QTimer>
|
||||
@ -22,20 +27,9 @@
|
||||
#include <QToolTip>
|
||||
#include <QWidgetAction>
|
||||
|
||||
#if defined(USE_WEBENGINE)
|
||||
#include "gui/webengine/webengineviewer.h" // WebEngine-based web browsing.
|
||||
#else
|
||||
#include "gui/litehtml/litehtmlviewer.h" // QLiteHtml-based web browsing.
|
||||
#endif
|
||||
|
||||
WebBrowser::WebBrowser(QWidget* parent) : TabContent(parent),
|
||||
m_layout(new QVBoxLayout(this)),
|
||||
m_toolBar(new QToolBar(tr("Navigation panel"), this)),
|
||||
#if defined(USE_WEBENGINE)
|
||||
m_webView(new WebEngineViewer(this)),
|
||||
#else
|
||||
m_webView(new LiteHtmlViewer(this)),
|
||||
#endif
|
||||
m_searchWidget(new SearchTextWidget(this)),
|
||||
m_txtLocation(new LocationLineEdit(this)),
|
||||
m_btnDiscoverFeeds(new DiscoverFeedsButton(this)),
|
||||
@ -45,6 +39,18 @@ WebBrowser::WebBrowser(QWidget* parent) : TabContent(parent),
|
||||
m_actionReadabilePage(new QAction(qApp->icons()->fromTheme(QSL("text-html")),
|
||||
tr("View website in reader mode"),
|
||||
this)) {
|
||||
|
||||
#if !defined(USE_WEBENGINE)
|
||||
m_webView = new LiteHtmlViewer(this),
|
||||
#else
|
||||
if (qApp->forcedNoWebEngine()) {
|
||||
m_webView = new LiteHtmlViewer(this);
|
||||
}
|
||||
else {
|
||||
m_webView = new WebEngineViewer(this);
|
||||
}
|
||||
#endif
|
||||
|
||||
// Initialize the components and layout.
|
||||
m_webView->bindToBrowser(this);
|
||||
m_webView->setZoomFactor(qApp->settings()->value(GROUP(Messages), SETTING(Messages::Zoom)).toDouble());
|
||||
|
@ -349,6 +349,13 @@ void Application::eliminateFirstRuns() {
|
||||
settings()->setValue(GROUP(General), QString(General::FirstRun) + QL1C('_') + APP_VERSION, false);
|
||||
}
|
||||
|
||||
#if defined(USE_WEBENGINE)
|
||||
bool Application::forcedNoWebEngine() const {
|
||||
return m_forcedNoWebEngine;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
NodeJs* Application::nodejs() const {
|
||||
return m_nodejs;
|
||||
}
|
||||
@ -961,6 +968,12 @@ void Application::parseCmdArgumentsFromMyInstance(const QStringList& raw_cli_arg
|
||||
QSL("user-data-folder"));
|
||||
QCommandLineOption disable_singleinstance({ QSL(CLI_SIN_SHORT), QSL(CLI_SIN_LONG) },
|
||||
QSL("Allow running of multiple application instances."));
|
||||
|
||||
#if defined(USE_WEBENGINE)
|
||||
QCommandLineOption force_nowebengine({ QSL(CLI_FORCE_NOWEBENGINE_SHORT), QSL(CLI_FORCE_NOWEBENGINE_LONG) },
|
||||
QSL("Force usage of simpler text-based embedded web browser."));
|
||||
#endif
|
||||
|
||||
QCommandLineOption disable_only_debug({ QSL(CLI_NDEBUG_SHORT), QSL(CLI_NDEBUG_LONG) },
|
||||
QSL("Disable just \"debug\" output."));
|
||||
QCommandLineOption disable_debug({ QSL(CLI_NSTDOUTERR_SHORT), QSL(CLI_NSTDOUTERR_LONG) },
|
||||
@ -969,8 +982,15 @@ void Application::parseCmdArgumentsFromMyInstance(const QStringList& raw_cli_arg
|
||||
QSL("Force some application style."),
|
||||
QSL("style-name"));
|
||||
|
||||
m_cmdParser.addOptions({ help, version, log_file, custom_data_folder,
|
||||
disable_singleinstance, disable_only_debug, disable_debug,
|
||||
m_cmdParser.addOptions({ help, version,
|
||||
log_file,
|
||||
custom_data_folder,
|
||||
disable_singleinstance,
|
||||
disable_only_debug,
|
||||
disable_debug,
|
||||
#if defined(USE_WEBENGINE)
|
||||
force_nowebengine,
|
||||
#endif
|
||||
forced_style });
|
||||
m_cmdParser.addPositionalArgument(QSL("urls"),
|
||||
QSL("List of URL addresses pointing to individual online feeds which should be added."),
|
||||
@ -1016,6 +1036,14 @@ void Application::parseCmdArgumentsFromMyInstance(const QStringList& raw_cli_arg
|
||||
m_cmdParser.showVersion();
|
||||
}
|
||||
|
||||
#if defined(USE_WEBENGINE)
|
||||
m_forcedNoWebEngine = m_cmdParser.isSet(QSL(CLI_FORCE_NOWEBENGINE_SHORT));
|
||||
|
||||
if (m_forcedNoWebEngine) {
|
||||
qDebugNN << LOGSEC_CORE << "Forcing no-web-engine.";
|
||||
}
|
||||
#endif
|
||||
|
||||
if (m_cmdParser.isSet(QSL(CLI_SIN_SHORT))) {
|
||||
m_allowMultipleInstances = true;
|
||||
qDebugNN << LOGSEC_CORE << "Explicitly allowing this instance to run.";
|
||||
|
@ -160,6 +160,10 @@ class RSSGUARD_DLLSPEC Application : public SingleApplication {
|
||||
const GuiAction& action = {},
|
||||
QWidget* parent = nullptr);
|
||||
|
||||
#if defined(USE_WEBENGINE)
|
||||
bool forcedNoWebEngine() const;
|
||||
#endif
|
||||
|
||||
// Returns pointer to "GOD" application singleton.
|
||||
static Application* instance();
|
||||
|
||||
@ -244,6 +248,10 @@ class RSSGUARD_DLLSPEC Application : public SingleApplication {
|
||||
QString m_customDataFolder;
|
||||
bool m_allowMultipleInstances;
|
||||
|
||||
#if defined(USE_WEBENGINE)
|
||||
bool m_forcedNoWebEngine;
|
||||
#endif
|
||||
|
||||
#if defined(Q_OS_WIN)
|
||||
ITaskbarList4* m_windowsTaskBar;
|
||||
#endif
|
||||
|
@ -74,10 +74,7 @@ class DownloadItem : public QWidget {
|
||||
bool m_canceledFileSelect;
|
||||
};
|
||||
|
||||
#if defined(USE_WEBENGINE)
|
||||
class WebBrowser;
|
||||
#endif
|
||||
|
||||
class SilentNetworkAccessManager;
|
||||
|
||||
class DownloadManager : public TabContent {
|
||||
|
Loading…
x
Reference in New Issue
Block a user