diff options
Diffstat (limited to 'src/widgets')
-rw-r--r-- | src/widgets/webviewtabbar.cpp | 17 | ||||
-rw-r--r-- | src/widgets/webviewtabbar.h | 4 |
2 files changed, 19 insertions, 2 deletions
diff --git a/src/widgets/webviewtabbar.cpp b/src/widgets/webviewtabbar.cpp index efc8fef..666c610 100644 --- a/src/widgets/webviewtabbar.cpp +++ b/src/widgets/webviewtabbar.cpp @@ -15,9 +15,14 @@ WebViewTabBar::~WebViewTabBar() m_views.clear(); } -int WebViewTabBar::addTab(QWebEngineView *view) +int WebViewTabBar::addTab(QWebEngineProfile *profile, const QUrl &url) { + QWebEngineView *view = new QWebEngineView(0); + QWebEnginePage *page = new QWebEnginePage(profile); + view->setPage(page); + page->load(url); m_views.append(view); + //connect(view, SIGNAL(titleChanged()), this, SLOT(updateTabText())); connect(view, &QWebEngineView::titleChanged, [this, view](const QString &title) { int index = m_views.indexOf(view); @@ -27,9 +32,19 @@ int WebViewTabBar::addTab(QWebEngineView *view) int index = m_views.indexOf(view); setTabIcon(index, icon); }); + return QTabBar::addTab("New Tab"); } +void WebViewTabBar::setProfile(QWebEngineProfile *profile) +{ + for(QWebEngineView *view : m_views) { + QWebEnginePage *page = new QWebEnginePage(profile); + page->load(view->url()); + view->setPage(page); + } +} + QWebEngineView *WebViewTabBar::currentView() { return m_views.at(currentIndex()); diff --git a/src/widgets/webviewtabbar.h b/src/widgets/webviewtabbar.h index 28a9a18..f4fc6e4 100644 --- a/src/widgets/webviewtabbar.h +++ b/src/widgets/webviewtabbar.h @@ -12,7 +12,9 @@ public: WebViewTabBar(QWidget *parent = 0); ~WebViewTabBar(); - int addTab(QWebEngineView *view); + int addTab(QWebEngineProfile *profile, const QUrl &url); + void setProfile(QWebEngineProfile *profile); + QWebEngineView *currentView(); signals: |