18 auto lay =
new QVBoxLayout;
19 lay->setContentsMargins (0, 0, 0, 0);
21 setSizePolicy (QSizePolicy::Expanding, QSizePolicy::Expanding);
28 std::unique_ptr<IWebWidget> external;
34 external->SetNavBarVisible (NavBarVisible_);
35 external->SetEverythingElseVisible (EverythingElseVisible_);
36 layout ()->addWidget (external->GetQWidget ());
37 Browser_ = std::move (external);
46 [&] (IWebWidget_ptr& browser) { browser->
SetHtml (html, base); },
47 [&] (QTextBrowser_ptr& browser) { browser->setHtml (html); });
52 NavBarVisible_ = visible;
55 [&] (QTextBrowser_ptr&) {});
60 EverythingElseVisible_ = visible;
63 [&] (QTextBrowser_ptr&) {});
66 void SelectableBrowser::PrepareInternal ()
68 auto browser = std::make_unique<QTextBrowser> ();
69 browser->setOpenExternalLinks (
true);
70 browser->setSizePolicy (QSizePolicy::Expanding, QSizePolicy::Expanding);
71 layout ()->addWidget (browser.get ());
73 Browser_ = std::move (browser);
Base class for plugins that provide a web browser.
virtual std::unique_ptr< IWebWidget > CreateWidget() const =0
Returns the IWebWidget for use in another modules of LeechCraft.
void SetHtml(const QString &html, const QUrl &base=QUrl())
Sets the HTML content to display.
void SetEverythingElseVisible(bool visible)
Sets whether other UI elements should be visible.
void SetNavBarVisible(bool visible)
Sets whether navigation bar should be visible.
SelectableBrowser(QWidget *parent=nullptr)
Constructs the browser with the given parent.
void Construct(IWebBrowser *browser)
Initialize the widget with the browser plugin.
auto Visit(const Either< Left, Right > &either, Args &&... args)