| 89 | } |
| 90 | |
| 91 | QVariant TaskModel::data(const QModelIndex &index, int role) const |
| 92 | { |
| 93 | int row = index.row(); |
| 94 | if (!index.isValid() || row < 0 || row >= allTasks.count() || index.column() != 0) |
| 95 | return QVariant(); |
| 96 | |
| 97 | if (role == TaskModel::Description) |
| 98 | return allTasks.at(row).description; |
| 99 | else if (role == TaskModel::Return) |
| 100 | return (long long)(allTasks.at(row).event->syscall_result); |
| 101 | else if (role == TaskModel::ThreadNum) |
| 102 | return allTasks.at(row).event->thread_num; |
| 103 | else if (role == TaskModel::Tid) |
| 104 | return allTasks.at(row).event->tid; |
| 105 | else if (role == TaskModel::Time) |
| 106 | return allTasks.at(row).event->time; |
| 107 | else if (role == TaskModel::Duration) |
| 108 | return allTasks.at(row).event->duration; |
| 109 | else if (role == TaskModel::Category) |
| 110 | // return m_tasks.at(row).category.uniqueIdentifier(); |
| 111 | return allTasks.at(row).category; |
| 112 | else if (role == TaskModel::Icon) |
| 113 | return QIcon(); |
| 114 | else if (role == TaskModel::ExtraInfo) { |
| 115 | QString info; |
| 116 | bool ok; |
| 117 | int i = 0; |
| 118 | auto task = allTasks.at(row); |
| 119 | for (; i < task.description.size(); ++i) { |
| 120 | if (task.description[i] > QLatin1Char('9')) { |
| 121 | break; |
| 122 | } |
| 123 | } |
| 124 | if (i > 0) { |
| 125 | i = task.description.left(i).toInt(&ok, 10); |
| 126 | if (ok) { |
| 127 | char buf[EVENT_EXTRA_INFO_SIZE]; |
| 128 | if (get_event_extra_info(kTimeline, |
| 129 | i, buf, sizeof(buf)) |
| 130 | > 0) { |
| 131 | info = QLatin1String(buf); |
| 132 | } |
| 133 | |
| 134 | if (task.event->syscall_result < 0) { |
| 135 | info += QLatin1Char('('); |
| 136 | info += QLatin1String(errno_name(static_cast<int>(task.event->syscall_result))); |
| 137 | info += QLatin1Char(')'); |
| 138 | } |
| 139 | } |
| 140 | } |
| 141 | return info; |
| 142 | } |
| 143 | return QVariant(); |
| 144 | } |
| 145 | |
| 146 | Task TaskModel::task(int row) const |
| 147 | { |
no test coverage detected