mirror of
https://invent.kde.org/system/dolphin
synced 2024-10-03 23:29:06 +00:00
DolphinView: get rid of writeStateChanged signal in setActive()
The signal writeStateChanged() was not working because it is not connected to slotWriteStateChanged() slots when the active view changes. Replace the signal with direct calls to the slots. Also, do not delay openRequest signal in DolphinSearchBox::slotSearchTextChanged. It's no longer required. BUG: 440366
This commit is contained in:
parent
9e6891deaa
commit
2f39eb51b6
|
@ -2387,6 +2387,7 @@ void DolphinMainWindow::connectViewSignals(DolphinViewContainer *container)
|
|||
{
|
||||
connect(container, &DolphinViewContainer::showFilterBarChanged, this, &DolphinMainWindow::updateFilterBarAction);
|
||||
connect(container, &DolphinViewContainer::writeStateChanged, this, &DolphinMainWindow::slotWriteStateChanged);
|
||||
slotWriteStateChanged(container->view()->isFolderWritable());
|
||||
connect(container, &DolphinViewContainer::searchModeEnabledChanged, this, &DolphinMainWindow::updateSearchAction);
|
||||
connect(container, &DolphinViewContainer::captionChanged, this, &DolphinMainWindow::updateWindowTitle);
|
||||
connect(container, &DolphinViewContainer::tabRequested, this, &DolphinMainWindow::openNewTab);
|
||||
|
|
|
@ -265,9 +265,7 @@ void DolphinSearchBox::slotSearchTextChanged(const QString &text)
|
|||
if (text.isEmpty()) {
|
||||
// Restore URL when search box is cleared by closing and reopening the box.
|
||||
emitCloseRequest();
|
||||
QTimer::singleShot(0, this, [this] {
|
||||
Q_EMIT openRequest();
|
||||
});
|
||||
Q_EMIT openRequest();
|
||||
} else {
|
||||
m_startSearchTimer->start();
|
||||
}
|
||||
|
|
|
@ -270,7 +270,6 @@ void DolphinView::setActive(bool active)
|
|||
if (active) {
|
||||
m_container->setFocus();
|
||||
Q_EMIT activated();
|
||||
Q_EMIT writeStateChanged(m_isFolderWritable);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2246,6 +2245,11 @@ void DolphinView::updateWritableState()
|
|||
}
|
||||
}
|
||||
|
||||
bool DolphinView::isFolderWritable() const
|
||||
{
|
||||
return m_isFolderWritable;
|
||||
}
|
||||
|
||||
QUrl DolphinView::viewPropertiesUrl() const
|
||||
{
|
||||
if (m_viewPropertiesContext.isEmpty()) {
|
||||
|
|
|
@ -344,6 +344,11 @@ public:
|
|||
/** Activates the view if the item list container gets focus. */
|
||||
bool eventFilter(QObject *watched, QEvent *event) override;
|
||||
|
||||
/**
|
||||
* Returns whether the folder represented by the current URL is writable.
|
||||
*/
|
||||
bool isFolderWritable() const;
|
||||
|
||||
public Q_SLOTS:
|
||||
|
||||
void reload();
|
||||
|
@ -880,7 +885,7 @@ private:
|
|||
/**
|
||||
* Updates m_isFolderWritable dependent on whether the folder represented by
|
||||
* the current URL is writable. If the state has changed, the signal
|
||||
* writeableStateChanged() will be emitted.
|
||||
* writeStateChanged() will be emitted.
|
||||
*/
|
||||
void updateWritableState();
|
||||
|
||||
|
|
|
@ -60,6 +60,7 @@ void DolphinViewActionHandler::setCurrentView(DolphinView *view)
|
|||
connect(view, &DolphinView::sortRoleChanged, this, &DolphinViewActionHandler::slotSortRoleChanged);
|
||||
connect(view, &DolphinView::zoomLevelChanged, this, &DolphinViewActionHandler::slotZoomLevelChanged);
|
||||
connect(view, &DolphinView::writeStateChanged, this, &DolphinViewActionHandler::slotWriteStateChanged);
|
||||
slotWriteStateChanged(view->isFolderWritable());
|
||||
connect(view, &DolphinView::selectionModeChangeRequested, this, [this](bool enabled) {
|
||||
Q_EMIT selectionModeChangeTriggered(enabled);
|
||||
});
|
||||
|
|
Loading…
Reference in a new issue