diff options
Diffstat (limited to 'src/mainwindow.cpp')
-rw-r--r-- | src/mainwindow.cpp | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 3dbcbdf..4433948 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -44,7 +44,7 @@ MainWindow::MainWindow(std::shared_ptr<Configuration> config, QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow), - tabBar(new WebViewTabBar(config, nullptr, this)), + tabBar(new MainWindowTabBar(config, this)), menuBar(new MainWindowMenuBar(config, this)), m_addressBar(new UrlLineEdit(this)), m_progressBar(new LoadingBar(this)) @@ -88,7 +88,7 @@ MainWindow::MainWindow(std::shared_ptr<Configuration> config, QWidget *parent) : QToolButton *homepageButton = new QToolButton(this); homepageButton->setIcon(style()->standardIcon(QStyle::SP_DirHomeIcon)); connect(homepageButton, &QToolButton::clicked, this, [&]() { - tabBar->currentView()->load(tabBar->profile()->homepage()); + tabBar->currentView()->load(m_profile->homepage()); }); ui->navigationToolBar->addWidget(m_backButton); @@ -181,14 +181,14 @@ void MainWindow::newTab(const QUrl &url) m_tabBarAdded = true; ui->mainToolBar->addWidget(tabBar); } - tabBar->addTab(url); + tabBar->addTab(createWebView(url, m_profile.get())); } void MainWindow::newWindow(const QUrl &url) { Browser *instance = static_cast<Browser*>(qApp->instance()); MainWindow *window = instance->createWindow(); - window->setProfile(tabBar->profile()); + window->setProfile(m_profile); window->newTab(url); } @@ -221,17 +221,18 @@ void MainWindow::showSettingsDialog() dlg->exec(); } -void MainWindow::setProfile(WebEngineProfile *profile) +void MainWindow::setProfile(std::shared_ptr<WebEngineProfile> profile) { - Q_CHECK_PTR(profile); - tabBar->setProfile(profile); + Q_ASSERT(profile); + m_profile = profile; + tabBar->setProfile(profile.get()); menuBar->setProfileName(profile->name()); } WebEngineProfile *MainWindow::profile() { - Q_CHECK_PTR(tabBar->profile()); - return tabBar->profile(); + Q_ASSERT(m_profile); + return m_profile.get(); } void MainWindow::setBookmarksWidget(std::shared_ptr<BookmarksWidget> &widget) @@ -307,7 +308,7 @@ void MainWindow::handleTitleUpdated(const QString &title) { QString t = QString::fromStdString(m_config->value<std::string>("browser.window.title").value()); t.replace("title", title); - t.replace("profile", tabBar->profile()->name()); + t.replace("profile", m_profile->name()); setWindowTitle(t); //setWindowTitle(browser->settings()->value("window.title").toString().replace("title", title).replace("profile", tabBar->profile()->name())); } |