Additionally remove some redundant code concerning UrlNavigator visuals.
auto emptyTrashButton = newEmptyTrashButton(urlNavigator, navigatorWidget);
layout->addWidget(emptyTrashButton);
- connect(urlNavigator, &KUrlNavigator::urlChanged, [this]() {
+ connect(urlNavigator, &KUrlNavigator::urlChanged, this, [this]() {
// We have to wait for DolphinUrlNavigator::sizeHint() to update which
// happens a little bit later than when urlChanged is emitted.
this->m_adjustSpacingTimer->start();
connect(&Trash::instance(), &Trash::emptinessChanged,
emptyTrashButton, &QPushButton::setDisabled);
emptyTrashButton->hide();
- connect(urlNavigator, &KUrlNavigator::urlChanged, [emptyTrashButton, urlNavigator]() {
+ connect(urlNavigator, &KUrlNavigator::urlChanged, this, [emptyTrashButton, urlNavigator]() {
emptyTrashButton->setVisible(urlNavigator->locationUrl().scheme() == QLatin1String("trash"));
});
emptyTrashButton->setDisabled(Trash::isEmpty());
{
m_navigatorsWidget = navigatorsWidget;
auto primaryNavigator = navigatorsWidget->primaryUrlNavigator();
- primaryNavigator->setActive(m_primaryViewActive);
m_primaryViewContainer->connectUrlNavigator(primaryNavigator);
if (m_splitViewEnabled) {
auto secondaryNavigator = navigatorsWidget->secondaryUrlNavigator();
- secondaryNavigator->setActive(!m_primaryViewActive);
m_secondaryViewContainer->connectUrlNavigator(secondaryNavigator);
}
resizeNavigators();
}
}
-bool DolphinTabPage::eventFilter(QObject */* watched */, QEvent *event)
+bool DolphinTabPage::eventFilter(QObject *watched, QEvent *event)
{
if (event->type() == QEvent::Resize && m_navigatorsWidget) {
resizeNavigators();
+ return false;
}
- return false;
+ return QWidget::eventFilter(watched, event);
}
void DolphinTabPage::resizeNavigators() const
stream >> m_primaryViewActive;
if (m_primaryViewActive) {
m_primaryViewContainer->setActive(true);
- m_navigatorsWidget->primaryUrlNavigator()->setActive(true);
} else {
Q_ASSERT(m_splitViewEnabled);
m_secondaryViewContainer->setActive(true);
- m_navigatorsWidget->primaryUrlNavigator()->setActive(false);
}
QByteArray splitterState;
/**
* Calls resizeNavigators() when a watched object is resized.
*/
- bool eventFilter(QObject */* watched */, QEvent *event) override;
+ bool eventFilter(QObject *watched, QEvent *event) override;
/**
* Notify the connected DolphinNavigatorsWidgetAction of geometry changes which it
tabPage->setActive(true);
tabPage->connectNavigators(m_navigatorsWidget);
m_navigatorsWidget->setSecondaryNavigatorVisible(tabPage->splitViewEnabled());
- m_lastViewedTab = tabPageAt(index);
+ m_lastViewedTab = tabPage;
}
void DolphinTabWidget::tabInserted(int index)
DolphinUrlNavigatorsController::registerDolphinUrlNavigator(this);
- connect(this, &DolphinUrlNavigator::returnPressed,
+ connect(this, &KUrlNavigator::returnPressed,
this, &DolphinUrlNavigator::slotReturnPressed);
- connect(editor(), &KUrlComboBox::completionModeChanged,
- DolphinUrlNavigatorsController::setCompletionMode);
}
DolphinUrlNavigator::~DolphinUrlNavigator()
*
* Makes sure that Dolphin preferences and settings are
* applied to all constructed DolphinUrlNavigators.
- *
* @see KUrlNavigator
+ *
+ * To apply changes to all instances of this class @see DolphinUrlNavigatorsController.
*/
class DolphinUrlNavigator : public KUrlNavigator
{
/**
* Retrieve the visual state of this DolphinUrlNavigator.
* If two DolphinUrlNavigators have the same visual state they should look identical.
+ *
+ * @return a copy of the visualState of this object. Ownership of this copy is transferred
+ * to the caller via std::unique_ptr.
*/
std::unique_ptr<VisualState> visualState() const;
/**
void DolphinUrlNavigatorsController::registerDolphinUrlNavigator(DolphinUrlNavigator *dolphinUrlNavigator)
{
s_instances.push_front(dolphinUrlNavigator);
+ connect(dolphinUrlNavigator->editor(), &KUrlComboBox::completionModeChanged,
+ DolphinUrlNavigatorsController::setCompletionMode);
}
void DolphinUrlNavigatorsController::unregisterDolphinUrlNavigator(DolphinUrlNavigator *dolphinUrlNavigator)
Q_CHECK_PTR(m_view);
urlNavigator->setLocationUrl(m_view->url());
- urlNavigator->setActive(isActive());
if (m_urlNavigatorVisualState) {
urlNavigator->setVisualState(*m_urlNavigatorVisualState.get());
m_urlNavigatorVisualState.reset();
}
+ urlNavigator->setActive(isActive());
connect(m_view, &DolphinView::urlChanged,
urlNavigator, &DolphinUrlNavigator::setLocationUrl);
this, &DolphinViewContainer::slotUrlNavigatorLocationAboutToBeChanged);
connect(urlNavigator, &DolphinUrlNavigator::urlSelectionRequested,
this, &DolphinViewContainer::slotUrlSelectionRequested);
- connect(urlNavigator, &DolphinUrlNavigator::urlsDropped, this, [=](const QUrl &destination, QDropEvent *event) {
+ connect(urlNavigator, &DolphinUrlNavigator::urlsDropped,
+ this, [=](const QUrl &destination, QDropEvent *event) {
m_view->dropUrls(destination, event, urlNavigator->dropWidget());
});