Changeset View
Changeset View
Standalone View
Standalone View
src/ViewContainer.cpp
Show First 20 Lines • Show All 56 Lines • ▼ Show 20 Line(s) | |||||
57 | 57 | | |||
58 | 58 | | |||
59 | TabbedViewContainer::TabbedViewContainer(ViewManager *connectedViewManager, QWidget *parent) : | 59 | TabbedViewContainer::TabbedViewContainer(ViewManager *connectedViewManager, QWidget *parent) : | ||
60 | QTabWidget(parent), | 60 | QTabWidget(parent), | ||
61 | _connectedViewManager(connectedViewManager), | 61 | _connectedViewManager(connectedViewManager), | ||
62 | _newTabButton(new QToolButton(this)), | 62 | _newTabButton(new QToolButton(this)), | ||
63 | _closeTabButton(new QToolButton(this)), | 63 | _closeTabButton(new QToolButton(this)), | ||
64 | _contextMenuTabIndex(-1), | 64 | _contextMenuTabIndex(-1), | ||
65 | _navigationVisibility(ViewManager::NavigationVisibility::NavigationNotSet) | 65 | _navigationVisibility(ViewManager::NavigationVisibility::NavigationNotSet), | ||
66 | _newTabBehavior(PutNewTabAtTheEnd) | ||||
66 | { | 67 | { | ||
67 | setAcceptDrops(true); | 68 | setAcceptDrops(true); | ||
68 | 69 | | |||
69 | auto tabBarWidget = new DetachableTabBar(); | 70 | auto tabBarWidget = new DetachableTabBar(); | ||
70 | setTabBar(tabBarWidget); | 71 | setTabBar(tabBarWidget); | ||
71 | setDocumentMode(true); | 72 | setDocumentMode(true); | ||
72 | setMovable(true); | 73 | setMovable(true); | ||
73 | connect(tabBarWidget, &DetachableTabBar::moveTabToWindow, this, &TabbedViewContainer::moveTabToWindow); | 74 | connect(tabBarWidget, &DetachableTabBar::moveTabToWindow, this, &TabbedViewContainer::moveTabToWindow); | ||
▲ Show 20 Lines • Show All 204 Lines • ▼ Show 20 Line(s) | 278 | foreach(TerminalDisplay* terminal, terminalDisplays) { | |||
278 | connectTerminalDisplay(terminal); | 279 | connectTerminalDisplay(terminal); | ||
279 | } | 280 | } | ||
280 | if (terminalDisplays.count() > 0) { | 281 | if (terminalDisplays.count() > 0) { | ||
281 | updateTitle(qobject_cast<ViewProperties*>(terminalDisplays.at(0)->sessionController())); | 282 | updateTitle(qobject_cast<ViewProperties*>(terminalDisplays.at(0)->sessionController())); | ||
282 | } | 283 | } | ||
283 | setCurrentIndex(index); | 284 | setCurrentIndex(index); | ||
284 | } | 285 | } | ||
285 | 286 | | |||
286 | void TabbedViewContainer::addView(TerminalDisplay *view, int index) | 287 | void TabbedViewContainer::addView(TerminalDisplay *view) | ||
287 | { | 288 | { | ||
288 | auto viewSplitter = new ViewSplitter(); | 289 | auto viewSplitter = new ViewSplitter(); | ||
289 | viewSplitter->addTerminalDisplay(view, Qt::Horizontal); | 290 | viewSplitter->addTerminalDisplay(view, Qt::Horizontal); | ||
290 | auto item = view->sessionController(); | 291 | auto item = view->sessionController(); | ||
292 | int index = _newTabBehavior == PutNewTabAfterCurrentTab ? currentIndex() + 1 : -1; | ||||
291 | if (index == -1) { | 293 | if (index == -1) { | ||
292 | index = addTab(viewSplitter, item->icon(), item->title()); | 294 | index = addTab(viewSplitter, item->icon(), item->title()); | ||
293 | } else { | 295 | } else { | ||
294 | insertTab(index, viewSplitter, item->icon(), item->title()); | 296 | insertTab(index, viewSplitter, item->icon(), item->title()); | ||
295 | } | 297 | } | ||
296 | 298 | | |||
297 | connectTerminalDisplay(view); | 299 | connectTerminalDisplay(view); | ||
298 | connect(viewSplitter, &ViewSplitter::destroyed, this, &TabbedViewContainer::viewDestroyed); | 300 | connect(viewSplitter, &ViewSplitter::destroyed, this, &TabbedViewContainer::viewDestroyed); | ||
▲ Show 20 Lines • Show All 275 Lines • ▼ Show 20 Line(s) | |||||
574 | 576 | | |||
575 | void TabbedViewContainer::moveTabRight() | 577 | void TabbedViewContainer::moveTabRight() | ||
576 | { | 578 | { | ||
577 | if (currentIndex() == count() -1) { | 579 | if (currentIndex() == count() -1) { | ||
578 | return; | 580 | return; | ||
579 | } | 581 | } | ||
580 | tabBar()->moveTab(currentIndex(), currentIndex() + 1); | 582 | tabBar()->moveTab(currentIndex(), currentIndex() + 1); | ||
581 | } | 583 | } | ||
584 | | ||||
585 | void TabbedViewContainer::setNavigationBehavior(int behavior) | ||||
586 | { | ||||
587 | _newTabBehavior = static_cast<NewTabBehavior>(behavior); | ||||
588 | } |