m_splitViewEnabled = true;
const QUrl &url = secondaryUrl.isValid() ? secondaryUrl : primaryUrl;
m_secondaryViewContainer = createViewContainer(url);
+ connect(m_secondaryViewContainer->view(), &DolphinView::redirection, this, &DolphinTabPage::slotViewUrlRedirection);
m_splitter->addWidget(m_secondaryViewContainer);
m_secondaryViewContainer->show();
}
secondaryNavigator = m_navigatorsWidget->secondaryUrlNavigator();
}
m_secondaryViewContainer->connectUrlNavigator(secondaryNavigator);
+ connect(m_secondaryViewContainer->view(), &DolphinView::redirection, this, &DolphinTabPage::slotViewUrlRedirection);
m_navigatorsWidget->setSecondaryNavigatorVisible(true);
m_navigatorsWidget->followViewContainersGeometry(m_primaryViewContainer, m_secondaryViewContainer);
} else {
m_navigatorsWidget->setSecondaryNavigatorVisible(false);
m_secondaryViewContainer->disconnectUrlNavigator();
+ disconnect(m_secondaryViewContainer->view(), &DolphinView::redirection, this, &DolphinTabPage::slotViewUrlRedirection);
DolphinViewContainer *view;
if (GeneralSettings::closeActiveSplitView()) {
stream << m_primaryViewActive;
stream << m_splitter->saveState();
+ if (!m_customLabel.isEmpty()) {
+ stream << m_customLabel;
+ }
+
return state;
}
QByteArray splitterState;
stream >> splitterState;
m_splitter->restoreState(splitterState);
+
+ if (!stream.atEnd()) {
+ QString tabTitle;
+ stream >> tabTitle;
+ setCustomLabel(tabTitle);
+ }
}
void DolphinTabPage::setActive(bool active)
activeViewContainer()->setActive(active);
}
+void DolphinTabPage::setCustomLabel(const QString &label)
+{
+ m_customLabel = label;
+}
+
+QString DolphinTabPage::customLabel() const
+{
+ return m_customLabel;
+}
+
void DolphinTabPage::slotAnimationFinished()
{
for (int i = 0; i < m_splitter->count(); ++i) {
}
disconnect(oldActiveView, &DolphinView::urlChanged, this, &DolphinTabPage::activeViewUrlChanged);
- disconnect(oldActiveView, &DolphinView::redirection, this, &DolphinTabPage::slotViewUrlRedirection);
connect(newActiveView, &DolphinView::urlChanged, this, &DolphinTabPage::activeViewUrlChanged);
- connect(newActiveView, &DolphinView::redirection, this, &DolphinTabPage::slotViewUrlRedirection);
Q_EMIT activeViewChanged(activeViewContainer());
Q_EMIT activeViewUrlChanged(activeViewContainer()->url());
}
void DolphinTabPage::slotViewUrlRedirection(const QUrl &oldUrl, const QUrl &newUrl)
{
- Q_UNUSED(oldUrl)
-
+ // Make sure the url of the view is updated. BUG:496414
+ if (splitViewEnabled()) {
+ if (primaryViewContainer()->view()->url() == oldUrl) {
+ primaryViewContainer()->view()->setUrl(newUrl);
+ }
+ if (secondaryViewContainer()->view()->url() == oldUrl) {
+ secondaryViewContainer()->view()->setUrl(newUrl);
+ }
+ } else {
+ activeViewContainer()->view()->setUrl(newUrl);
+ }
Q_EMIT activeViewUrlChanged(newUrl);
}
{
return new DolphinTabPageSplitterHandle(orientation(), this);
}
+
+#include "moc_dolphintabpage.cpp"