aboutsummaryrefslogtreecommitdiff
path: root/src/widgets
diff options
context:
space:
mode:
Diffstat (limited to 'src/widgets')
-rw-r--r--src/widgets/webviewtabbar.cpp17
-rw-r--r--src/widgets/webviewtabbar.h4
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: