Changeset View
Changeset View
Standalone View
Standalone View
src/ViewContainer.cpp
Show First 20 Lines • Show All 271 Lines • ▼ Show 20 Line(s) | |||||
272 | 272 | | |||
273 | void TabbedViewContainer::addSplitter(ViewSplitter *viewSplitter, int index) { | 273 | void TabbedViewContainer::addSplitter(ViewSplitter *viewSplitter, int index) { | ||
274 | if (index == -1) { | 274 | if (index == -1) { | ||
275 | index = addTab(viewSplitter, QString()); | 275 | index = addTab(viewSplitter, QString()); | ||
276 | } else { | 276 | } else { | ||
277 | insertTab(index, viewSplitter, QString()); | 277 | insertTab(index, viewSplitter, QString()); | ||
278 | } | 278 | } | ||
279 | connect(viewSplitter, &ViewSplitter::destroyed, this, &TabbedViewContainer::viewDestroyed); | 279 | connect(viewSplitter, &ViewSplitter::destroyed, this, &TabbedViewContainer::viewDestroyed); | ||
280 | foreach(TerminalDisplay* terminal, viewSplitter->findChildren<TerminalDisplay*>()) { | 280 | auto terminalDisplays = viewSplitter->findChildren<TerminalDisplay*>(); | ||
281 | foreach(TerminalDisplay* terminal, terminalDisplays) { | ||||
281 | connectTerminalDisplay(terminal); | 282 | connectTerminalDisplay(terminal); | ||
282 | } | 283 | } | ||
284 | if (terminalDisplays.count() > 0) { | ||||
285 | updateTitle(qobject_cast<ViewProperties*>(terminalDisplays.at(0)->sessionController())); | ||||
286 | } | ||||
283 | setCurrentIndex(index); | 287 | setCurrentIndex(index); | ||
284 | } | 288 | } | ||
285 | 289 | | |||
286 | void TabbedViewContainer::addView(TerminalDisplay *view, int index) | 290 | void TabbedViewContainer::addView(TerminalDisplay *view, int index) | ||
287 | { | 291 | { | ||
288 | auto viewSplitter = new ViewSplitter(); | 292 | auto viewSplitter = new ViewSplitter(); | ||
289 | viewSplitter->addTerminalDisplay(view, Qt::Horizontal); | 293 | viewSplitter->addTerminalDisplay(view, Qt::Horizontal); | ||
290 | auto item = view->sessionController(); | 294 | auto item = view->sessionController(); | ||
▲ Show 20 Lines • Show All 60 Lines • ▼ Show 20 Line(s) | |||||
351 | void TabbedViewContainer::forgetView(ViewSplitter *view) | 355 | void TabbedViewContainer::forgetView(ViewSplitter *view) | ||
352 | { | 356 | { | ||
353 | Q_UNUSED(view); | 357 | Q_UNUSED(view); | ||
354 | if (count() == 0) { | 358 | if (count() == 0) { | ||
355 | emit empty(this); | 359 | emit empty(this); | ||
356 | } | 360 | } | ||
357 | } | 361 | } | ||
358 | 362 | | |||
359 | void TabbedViewContainer::removeView(TerminalDisplay *view) | | |||
360 | { | | |||
361 | /* TODO: This is absolutely the wrong place. | | |||
362 | * We are removing a terminal display from a ViewSplitter, | | |||
363 | * this should be inside of the view splitter or something. | | |||
364 | */ | | |||
365 | view->setParent(nullptr); | | |||
366 | } | | |||
367 | | ||||
368 | void TabbedViewContainer::activateNextView() | 363 | void TabbedViewContainer::activateNextView() | ||
369 | { | 364 | { | ||
370 | QWidget *active = currentWidget(); | 365 | QWidget *active = currentWidget(); | ||
371 | int index = indexOf(active); | 366 | int index = indexOf(active); | ||
372 | setCurrentIndex(index == count() - 1 ? 0 : index + 1); | 367 | setCurrentIndex(index == count() - 1 ? 0 : index + 1); | ||
373 | } | 368 | } | ||
374 | 369 | | |||
375 | void TabbedViewContainer::activateLastView() | 370 | void TabbedViewContainer::activateLastView() | ||
▲ Show 20 Lines • Show All 201 Lines • Show Last 20 Lines |