Changeset View
Changeset View
Standalone View
Standalone View
src/ViewManager.cpp
Show First 20 Lines • Show All 51 Lines • ▼ Show 20 Line(s) | |||||
52 | 52 | | |||
53 | ViewManager::ViewManager(QObject *parent, KActionCollection *collection) : | 53 | ViewManager::ViewManager(QObject *parent, KActionCollection *collection) : | ||
54 | QObject(parent), | 54 | QObject(parent), | ||
55 | _viewSplitter(nullptr), | 55 | _viewSplitter(nullptr), | ||
56 | _pluggedController(nullptr), | 56 | _pluggedController(nullptr), | ||
57 | _sessionMap(QHash<TerminalDisplay *, Session *>()), | 57 | _sessionMap(QHash<TerminalDisplay *, Session *>()), | ||
58 | _actionCollection(collection), | 58 | _actionCollection(collection), | ||
59 | _navigationVisibility(NavigationNotSet), | 59 | _navigationVisibility(NavigationNotSet), | ||
60 | _newTabBehavior(PutNewTabAtTheEnd), | ||||
60 | _managerId(0) | 61 | _managerId(0) | ||
61 | { | 62 | { | ||
62 | // create main view area | 63 | // create main view area | ||
63 | _viewSplitter = new ViewSplitter(nullptr); | 64 | _viewSplitter = new ViewSplitter(nullptr); | ||
64 | KAcceleratorManager::setNoAccel(_viewSplitter); | 65 | KAcceleratorManager::setNoAccel(_viewSplitter); | ||
65 | 66 | | |||
66 | // the ViewSplitter class supports both recursive and non-recursive splitting, | 67 | // the ViewSplitter class supports both recursive and non-recursive splitting, | ||
67 | // in non-recursive mode, all containers are inserted into the same top-level splitter | 68 | // in non-recursive mode, all containers are inserted into the same top-level splitter | ||
▲ Show 20 Lines • Show All 532 Lines • ▼ Show 20 Line(s) | 600 | if (_viewSplitter->containers().count() == 0) { | |||
600 | TabbedViewContainer *container = createContainer(); | 601 | TabbedViewContainer *container = createContainer(); | ||
601 | _viewSplitter->addContainer(container, Qt::Vertical); | 602 | _viewSplitter->addContainer(container, Qt::Vertical); | ||
602 | emit splitViewToggle(false); | 603 | emit splitViewToggle(false); | ||
603 | } | 604 | } | ||
604 | 605 | | |||
605 | // new tab will be put at the end by default. | 606 | // new tab will be put at the end by default. | ||
606 | int index = -1; | 607 | int index = -1; | ||
607 | 608 | | |||
609 | if (_newTabBehavior == PutNewTabAfterCurrentTab) { | ||||
610 | index = _viewSplitter->activeContainer()->currentIndex() + 1; | ||||
611 | } | ||||
612 | | ||||
608 | // iterate over the view containers owned by this view manager | 613 | // iterate over the view containers owned by this view manager | ||
609 | // and create a new terminal display for the session in each of them, along with | 614 | // and create a new terminal display for the session in each of them, along with | ||
610 | // a controller for the session/display pair | 615 | // a controller for the session/display pair | ||
611 | foreach (TabbedViewContainer *container, _viewSplitter->containers()) { | 616 | foreach (TabbedViewContainer *container, _viewSplitter->containers()) { | ||
612 | createView(session, container, index); | 617 | createView(session, container, index); | ||
613 | } | 618 | } | ||
614 | } | 619 | } | ||
615 | 620 | | |||
▲ Show 20 Lines • Show All 501 Lines • ▼ Show 20 Line(s) | |||||
1117 | void ViewManager::setNavigationVisibility(NavigationVisibility navigationVisibility) { | 1122 | void ViewManager::setNavigationVisibility(NavigationVisibility navigationVisibility) { | ||
1118 | if (_navigationVisibility != navigationVisibility) { | 1123 | if (_navigationVisibility != navigationVisibility) { | ||
1119 | _navigationVisibility = navigationVisibility; | 1124 | _navigationVisibility = navigationVisibility; | ||
1120 | for(auto *container : _viewSplitter->containers()) { | 1125 | for(auto *container : _viewSplitter->containers()) { | ||
1121 | container->setNavigationVisibility(navigationVisibility); | 1126 | container->setNavigationVisibility(navigationVisibility); | ||
1122 | } | 1127 | } | ||
1123 | } | 1128 | } | ||
1124 | } | 1129 | } | ||
1130 | | ||||
1131 | void ViewManager::setNavigationBehavior(int behavior) | ||||
1132 | { | ||||
1133 | _newTabBehavior = static_cast<NewTabBehavior>(behavior); | ||||
1134 | } |