void TabWidget::clear() { // clear the recently closed tabs m_recentlyClosedTabs.clear(); m_recentlyClosedTabsAction->setEnabled(false); // clear the line edit history for (int i = 0; i < m_locationBars->count(); ++i) { QLineEdit *qLineEdit = locationBar(i); qLineEdit->setText(qLineEdit->text()); webViewSearch(i)->clear(); } }
void BrowserWindow::postLaunch() { loadSettings(); Settings settings; int afterLaunch = settings.value("Web-URL-Settings/afterLaunch", 3).toInt(); bool addTab = true; QUrl startUrl; switch (afterLaunch) { case 0: startUrl = QUrl(); break; case 2: startUrl = QUrl("qupzilla:speeddial"); break; case 1: case 3: startUrl = m_homepage; break; default: break; } switch (m_windowType) { case Qz::BW_FirstAppWindow: #if QTWEBENGINE_DISABLED if (mApp->isStartingAfterCrash()) { addTab = true; startUrl = QUrl("qupzilla:restore"); } else if (afterLaunch == 3 && mApp->restoreManager()) { addTab = !mApp->restoreSession(this, mApp->restoreManager()->restoreData()); } #else if (afterLaunch == 3 && mApp->restoreManager()) { addTab = !mApp->restoreSession(this, mApp->restoreManager()->restoreData()); } #endif else { // Pinned tabs are restored in MainApplication::restoreStateSlot // Make sure they will be restored also when not restoring session m_tabWidget->restorePinnedTabs(); } break; case Qz::BW_MacFirstWindow: m_tabWidget->restorePinnedTabs(); // fallthrough case Qz::BW_NewWindow: addTab = true; break; case Qz::BW_OtherRestoredWindow: addTab = false; break; } show(); if (!m_startUrl.isEmpty()) { startUrl = m_startUrl; addTab = true; } if (m_startTab) { addTab = false; m_tabWidget->addView(m_startTab); } if (addTab) { QNetworkRequest request(startUrl); request.setRawHeader("X-QupZilla-UserLoadAction", QByteArray("1")); m_tabWidget->addView(request, Qz::NT_CleanSelectedTabAtTheEnd); if (startUrl.isEmpty() || startUrl.toString() == QLatin1String("qupzilla:speeddial")) { locationBar()->setFocus(); } } // Something went really wrong .. add one tab if (m_tabWidget->tabBar()->normalTabsCount() <= 0) { QNetworkRequest request(m_homepage); request.setRawHeader("X-QupZilla-UserLoadAction", QByteArray("1")); m_tabWidget->addView(request, Qz::NT_SelectedTabAtTheEnd); } mApp->plugins()->emitMainWindowCreated(this); emit startingCompleted(); raise(); activateWindow(); QTimer::singleShot(0, tabWidget()->tabBar(), SLOT(ensureVisible())); }
QLineEdit *TabWidget::currentLocationBar() const { return locationBar(m_locationBars->currentIndex()); }
void BrowserWindow::postLaunch() { loadSettings(); bool addTab = true; QUrl startUrl; switch (mApp->afterLaunch()) { case MainApplication::OpenBlankPage: startUrl = QUrl(); break; case MainApplication::OpenSpeedDial: startUrl = QUrl("qupzilla:speeddial"); break; case MainApplication::OpenHomePage: case MainApplication::RestoreSession: startUrl = m_homepage; break; default: break; } switch (m_windowType) { case Qz::BW_FirstAppWindow: if (mApp->isStartingAfterCrash()) { addTab = false; startUrl.clear(); m_tabWidget->addView(QUrl("qupzilla:restore"), Qz::NT_CleanSelectedTabAtTheEnd); } else if (mApp->afterLaunch() == MainApplication::RestoreSession && mApp->restoreManager()) { addTab = !mApp->restoreSession(this, mApp->restoreManager()->restoreData()); } else { // Restore pinned tabs also when not restoring session m_tabWidget->restorePinnedTabs(); } break; case Qz::BW_MacFirstWindow: m_tabWidget->restorePinnedTabs(); // fallthrough case Qz::BW_NewWindow: addTab = true; break; case Qz::BW_OtherRestoredWindow: addTab = false; break; } show(); if (!m_startUrl.isEmpty()) { startUrl = m_startUrl; addTab = true; } if (m_startTab) { addTab = false; m_tabWidget->addView(m_startTab); } if (m_startPage) { addTab = false; m_tabWidget->addView(QUrl()); weView()->setPage(m_startPage); } if (addTab) { m_tabWidget->addView(startUrl, Qz::NT_CleanSelectedTabAtTheEnd); if (startUrl.isEmpty() || startUrl.toString() == QLatin1String("qupzilla:speeddial")) { locationBar()->setFocus(); } } // Something went really wrong .. add one tab if (m_tabWidget->tabBar()->normalTabsCount() <= 0) { m_tabWidget->addView(m_homepage, Qz::NT_SelectedTabAtTheEnd); } mApp->plugins()->emitMainWindowCreated(this); emit startingCompleted(); raise(); activateWindow(); QTimer::singleShot(0, this, [this]() { // Scroll to current tab tabWidget()->tabBar()->ensureVisible(); // Update focus if (LocationBar::convertUrlToText(weView()->page()->requestedUrl()).isEmpty()) locationBar()->setFocus(); else weView()->setFocus(); }); }