this, &DolphinTabPage::slotViewUrlRedirection);
m_splitter->addWidget(m_primaryViewContainer);
- m_primaryViewContainer->installEventFilter(this);
m_primaryViewContainer->show();
if (secondaryUrl.isValid() || GeneralSettings::splitView()) {
const QUrl& url = secondaryUrl.isValid() ? secondaryUrl : primaryUrl;
m_secondaryViewContainer = createViewContainer(url);
m_splitter->addWidget(m_secondaryViewContainer);
- m_secondaryViewContainer->installEventFilter(this);
m_secondaryViewContainer->show();
}
}
m_secondaryViewContainer->connectUrlNavigator(secondaryNavigator);
m_navigatorsWidget->setSecondaryNavigatorVisible(true);
+ m_navigatorsWidget->followViewContainersGeometry(m_primaryViewContainer,
+ m_secondaryViewContainer);
m_splitter->addWidget(m_secondaryViewContainer);
- m_secondaryViewContainer->installEventFilter(this);
m_secondaryViewContainer->setActive(true);
if (animated == WithAnimation) {
}
}
m_primaryViewContainer->setActive(true);
+ m_navigatorsWidget->followViewContainersGeometry(m_primaryViewContainer, nullptr);
if (animated == WithoutAnimation) {
view->close();
auto secondaryNavigator = navigatorsWidget->secondaryUrlNavigator();
m_secondaryViewContainer->connectUrlNavigator(secondaryNavigator);
}
- resizeNavigators();
+ m_navigatorsWidget->followViewContainersGeometry(m_primaryViewContainer,
+ m_secondaryViewContainer);
}
void DolphinTabPage::disconnectNavigators()
}
}
-bool DolphinTabPage::eventFilter(QObject *watched, QEvent *event)
-{
- if (event->type() == QEvent::Resize && m_navigatorsWidget) {
- resizeNavigators();
- return false;
- }
- return QWidget::eventFilter(watched, event);
-}
-
void DolphinTabPage::insertNavigatorsWidget(DolphinNavigatorsWidgetAction* navigatorsWidget)
{
QGridLayout *gridLayout = static_cast<QGridLayout *>(layout());
}
}
-
-void DolphinTabPage::resizeNavigators() const
-{
- if (!m_secondaryViewContainer) {
- m_navigatorsWidget->followViewContainerGeometry(
- m_primaryViewContainer->mapToGlobal(QPoint(0,0)).x(),
- m_primaryViewContainer->width());
- } else {
- m_navigatorsWidget->followViewContainersGeometry(
- m_primaryViewContainer->mapToGlobal(QPoint(0,0)).x(),
- m_primaryViewContainer->width(),
- m_secondaryViewContainer->mapToGlobal(QPoint(0,0)).x(),
- m_secondaryViewContainer->width());
- }
-}
-
void DolphinTabPage::markUrlsAsSelected(const QList<QUrl>& urls)
{
m_primaryViewContainer->view()->markUrlsAsSelected(urls);
m_splitter->restoreState(splitterState);
}
-void DolphinTabPage::restoreStateV1(const QByteArray& state)
-{
- if (state.isEmpty()) {
- return;
- }
-
- QByteArray sd = state;
- QDataStream stream(&sd, QIODevice::ReadOnly);
-
- bool isSplitViewEnabled = false;
- stream >> isSplitViewEnabled;
- setSplitViewEnabled(isSplitViewEnabled, WithoutAnimation);
-
- QUrl primaryUrl;
- stream >> primaryUrl;
- m_primaryViewContainer->setUrl(primaryUrl);
- bool primaryUrlEditable;
- stream >> primaryUrlEditable;
- m_primaryViewContainer->urlNavigatorInternalWithHistory()->setUrlEditable(primaryUrlEditable);
-
- if (isSplitViewEnabled) {
- QUrl secondaryUrl;
- stream >> secondaryUrl;
- m_secondaryViewContainer->setUrl(secondaryUrl);
- bool secondaryUrlEditable;
- stream >> secondaryUrlEditable;
- m_secondaryViewContainer->urlNavigatorInternalWithHistory()->setUrlEditable(secondaryUrlEditable);
- }
-
- stream >> m_primaryViewActive;
- if (m_primaryViewActive) {
- m_primaryViewContainer->setActive(true);
- } else {
- Q_ASSERT(m_splitViewEnabled);
- m_secondaryViewContainer->setActive(true);
- }
-
- QByteArray splitterState;
- stream >> splitterState;
- m_splitter->restoreState(splitterState);
-}
-
void DolphinTabPage::setActive(bool active)
{
if (active) {