LeechCraft  0.6.70-15082-g543737046d
Modular cross-platform feature rich live environment.
selectablebrowser.h
Go to the documentation of this file.
1 /**********************************************************************
2  * LeechCraft - modular cross-platform feature rich internet client.
3  * Copyright (C) 2006-2014 Georg Rudoy
4  *
5  * Distributed under the Boost Software License, Version 1.0.
6  * (See accompanying file LICENSE or copy at https://www.boost.org/LICENSE_1_0.txt)
7  **********************************************************************/
8 
9 #pragma once
10 
11 #include <memory>
12 #include <QWidget>
13 #include <QTextBrowser>
14 #include <interfaces/iwebbrowser.h>
15 #include "guiconfig.h"
16 
17 namespace LC::Util
18 {
32  class UTIL_GUI_API SelectableBrowser : public QWidget
33  {
34  bool Internal_ = true;
35  std::unique_ptr<QTextBrowser> InternalBrowser_;
36  std::unique_ptr<IWebWidget> ExternalBrowser_;
37  public:
49  explicit SelectableBrowser (QWidget *parent = nullptr);
50 
64  void Construct (IWebBrowser *browser);
65 
72  void SetHtml (const QString& html, const QUrl& base = QUrl ());
73 
85  void SetNavBarVisible (bool visible);
86 
98  void SetEverythingElseVisible (bool visible);
99  private:
100  void PrepareInternal ();
101  };
102 }
LC::Util
Definition: icoreproxy.h:33
UTIL_GUI_API
#define UTIL_GUI_API
Definition: guiconfig.h:16
iwebbrowser.h
IWebBrowser
Base class for plugins that provide a web browser.
Definition: iwebbrowser.h:83
guiconfig.h