From 1f8ecb6d05976e6dc8be01ba1a6f3068ed351971 Mon Sep 17 00:00:00 2001 From: Mike Skec Date: Wed, 17 Mar 2021 16:01:52 +1100 Subject: sessions: add 'lazyloading' for restored tabs --- src/mainwindow.cpp | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'src/mainwindow.cpp') diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 42b7831..9f7eb21 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -160,13 +160,23 @@ BrowserTab * MainWindow::addEmptyTab(bool focus_new, bool load_default) return tab; } -BrowserTab * MainWindow::addNewTab(bool focus_new, QUrl const & url, QString defaultTitle) +BrowserTab * MainWindow::addNewTab(bool focus_new, QUrl const & url, bool lazyload, QString defaultTitle) { auto tab = addEmptyTab(focus_new, false); - tab->navigateTo(url, BrowserTab::PushImmediate); + + if (lazyload) + { + tab->current_location = url; + tab->lazy_loading = true; + } + else + { + tab->navigateTo(url, BrowserTab::PushImmediate); + } if (!defaultTitle.isEmpty()) { + tab->page_title = defaultTitle; emit tab->titleChanged(defaultTitle); } @@ -374,6 +384,11 @@ void MainWindow::on_browser_tabs_currentChanged(int index) tab->refreshFavButton(); } + if (tab->lazy_loading) + { + tab->reloadPage(); + } + this->setRequestState(tab->request_state); } else { this->ui->outline_view->setModel(nullptr); -- cgit v1.2.3