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
DolphinTabWidget::DolphinTabWidget(QWidget* parent) :
QTabWidget(parent),
DolphinTabWidget::DolphinTabWidget(QWidget* parent) :
QTabWidget(parent),
- m_placesSelectorVisible(true)
+ m_placesSelectorVisible(true),
+ m_previousTab(-1)
{
connect(this, &DolphinTabWidget::tabCloseRequested,
this, static_cast<void (DolphinTabWidget::*)(int)>(&DolphinTabWidget::closeTab));
{
connect(this, &DolphinTabWidget::tabCloseRequested,
this, static_cast<void (DolphinTabWidget::*)(int)>(&DolphinTabWidget::closeTab));
void DolphinTabWidget::currentTabChanged(int index)
{
DolphinViewContainer* viewContainer = tabPageAt(index)->activeViewContainer();
void DolphinTabWidget::currentTabChanged(int index)
{
DolphinViewContainer* viewContainer = tabPageAt(index)->activeViewContainer();
+ viewContainer->setActive(true);
emit activeViewChanged(viewContainer);
emit currentUrlChanged(viewContainer->url());
viewContainer->view()->setFocus();
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)
}
void DolphinTabWidget::tabInserted(int index)
private:
/** Caches the (negated) places panel visibility */
bool m_placesSelectorVisible;
private:
/** Caches the (negated) places panel visibility */
bool m_placesSelectorVisible;