From: Martin T. H. Sandsmark Date: Sat, 17 Dec 2016 13:23:20 +0000 (+0100) Subject: Fix updating of new item menu when changing tabs X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/commitdiff_plain/6af0dad2eeba82929c2299f66ea81e5d0140a251 Fix updating of new item menu when changing tabs Correctly set the active status of views when changing tabs. Before: Right click in home folder, see create new enabled, open tab, go to /usr, right click and see it is disabled, switch back to first tab and right click, and it is still disabled. After: It is enabled and disabled as appropriate when switching tab. REVIEW: 129664 --- diff --git a/src/dolphintabwidget.cpp b/src/dolphintabwidget.cpp index 22674d1bd..bcd4a49fd 100644 --- a/src/dolphintabwidget.cpp +++ b/src/dolphintabwidget.cpp @@ -32,7 +32,8 @@ DolphinTabWidget::DolphinTabWidget(QWidget* parent) : QTabWidget(parent), - m_placesSelectorVisible(true) + m_placesSelectorVisible(true), + m_previousTab(-1) { connect(this, &DolphinTabWidget::tabCloseRequested, this, static_cast(&DolphinTabWidget::closeTab)); @@ -304,9 +305,15 @@ void DolphinTabWidget::tabUrlChanged(const QUrl& url) void DolphinTabWidget::currentTabChanged(int index) { DolphinViewContainer* viewContainer = tabPageAt(index)->activeViewContainer(); + viewContainer->setActive(true); emit activeViewChanged(viewContainer); emit currentUrlChanged(viewContainer->url()); viewContainer->view()->setFocus(); + + if (tabPageAt(m_previousTab)) { + tabPageAt(m_previousTab)->activeViewContainer()->setActive(false); + } + m_previousTab = index; } void DolphinTabWidget::tabInserted(int index) diff --git a/src/dolphintabwidget.h b/src/dolphintabwidget.h index 7b3a18814..50ebd602a 100644 --- a/src/dolphintabwidget.h +++ b/src/dolphintabwidget.h @@ -186,6 +186,8 @@ private: private: /** Caches the (negated) places panel visibility */ bool m_placesSelectorVisible; + + int m_previousTab; }; #endif