Changeset View
Changeset View
Standalone View
Standalone View
src/ViewSplitter.cpp
Show First 20 Lines • Show All 207 Lines • ▼ Show 20 Line(s) | |||||
208 | ViewSplitter *ViewSplitter::getToplevelSplitter() | 208 | ViewSplitter *ViewSplitter::getToplevelSplitter() | ||
209 | { | 209 | { | ||
210 | ViewSplitter *current = this; | 210 | ViewSplitter *current = this; | ||
211 | while(qobject_cast<ViewSplitter*>(current->parentWidget())) { | 211 | while(qobject_cast<ViewSplitter*>(current->parentWidget())) { | ||
212 | current = qobject_cast<ViewSplitter*>(current->parentWidget()); | 212 | current = qobject_cast<ViewSplitter*>(current->parentWidget()); | ||
213 | } | 213 | } | ||
214 | return current; | 214 | return current; | ||
215 | } | 215 | } | ||
216 | | ||||
217 | QList<TerminalDisplay*> ViewSplitter::getTerminalDisplays() { | ||||
218 | auto terminals = QList<TerminalDisplay*>(); | ||||
219 | auto count = this->count(); | ||||
220 | for(int i=0; i < count; ++i) { | ||||
221 | auto widget = this->widget(i); | ||||
222 | | ||||
223 | auto terminal = qobject_cast<TerminalDisplay*>(widget); | ||||
224 | if (terminal != nullptr) { | ||||
225 | terminals.append(terminal); | ||||
226 | } | ||||
227 | auto splitter = qobject_cast<ViewSplitter*>(widget); | ||||
228 | if (splitter != nullptr) { | ||||
229 | terminals.append(splitter->getTerminalDisplays()); | ||||
230 | } | ||||
231 | } | ||||
232 | | ||||
233 | return terminals; | ||||
234 | } |