┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/dolphintabpage.cpp
diff options
context:
space:
mode:
authorAnthony Fieroni <[email protected]>2017-05-22 20:35:29 +0300
committerAnthony Fieroni <[email protected]>2017-05-22 20:35:29 +0300
commit43da84eefc7d68ce86cda2d353216dbe7552fc2c (patch)
tree024e21f52dbb2b1cfa5b16672b58c7aba082d789 /src/dolphintabpage.cpp
parent73f885f9d3513bdfed2d22b21d0d1a88fe4f6a7a (diff)
Correct searchbox, split view transitions between tabs
Differential Revision: https://phabricator.kde.org/D5864 BUG: 379135 BUG: 380032 FIXED-IN: 17.04.2 Signed-off-by: Anthony Fieroni <[email protected]>
Diffstat (limited to 'src/dolphintabpage.cpp')
-rw-r--r--src/dolphintabpage.cpp29
1 files changed, 22 insertions, 7 deletions
diff --git a/src/dolphintabpage.cpp b/src/dolphintabpage.cpp
index 5c42d41ec..1d3a6f08c 100644
--- a/src/dolphintabpage.cpp
+++ b/src/dolphintabpage.cpp
@@ -28,7 +28,8 @@
DolphinTabPage::DolphinTabPage(const QUrl &primaryUrl, const QUrl &secondaryUrl, QWidget* parent) :
QWidget(parent),
m_primaryViewActive(true),
- m_splitViewEnabled(false)
+ m_splitViewEnabled(false),
+ m_active(true)
{
QVBoxLayout* layout = new QVBoxLayout(this);
layout->setSpacing(0);
@@ -286,17 +287,31 @@ void DolphinTabPage::restoreStateV1(const QByteArray& state)
m_splitter->restoreState(splitterState);
}
+void DolphinTabPage::setActive(bool active)
+{
+ if (active) {
+ m_active = active;
+ } else {
+ // we should bypass changing active view in split mode
+ m_active = !m_splitViewEnabled;
+ }
+ // we want view to fire activated when goes from false to true
+ activeViewContainer()->setActive(active);
+}
+
void DolphinTabPage::slotViewActivated()
{
const DolphinView* oldActiveView = activeViewContainer()->view();
// Set the view, which was active before, to inactive
- // and update the active view type.
- if (m_splitViewEnabled) {
- activeViewContainer()->setActive(false);
- m_primaryViewActive = !m_primaryViewActive;
- } else {
- m_primaryViewActive = true;
+ // and update the active view type, if tab is active
+ if (m_active) {
+ if (m_splitViewEnabled) {
+ activeViewContainer()->setActive(false);
+ m_primaryViewActive = !m_primaryViewActive;
+ } else {
+ m_primaryViewActive = true;
+ }
}
const DolphinView* newActiveView = activeViewContainer()->view();