| 24 | |
| 25 | namespace { |
| 26 | void outputNewMessage(QStandardItemModel& model, const QString& message) |
| 27 | { |
| 28 | // An output tree view has uniform row heights by default. Create a QStandardItem |
| 29 | // per message line so that a multiline message is always visible in its entirety. |
| 30 | QList<QStandardItem*> newItems; |
| 31 | for (const auto line : QStringTokenizer(message, QLatin1Char{'\n'})) { |
| 32 | if (line.size() == message.size()) { |
| 33 | // a single-line message => optimize for this most common case |
| 34 | model.appendRow(new QStandardItem{message}); |
| 35 | return; |
| 36 | } |
| 37 | newItems.push_back(new QStandardItem{line.toString()}); |
| 38 | } |
| 39 | model.invisibleRootItem()->appendRows(newItems); |
| 40 | } |
| 41 | |
| 42 | } // unnamed namespace |
| 43 |
no test coverage detected