QVariant TestTreeItem::data(int /*column*/, int role) const { switch (role) { case Qt::DisplayRole: if (m_type == Root && childCount() == 0) return QString(m_name + QCoreApplication::translate("TestTreeItem", " (none)")); else return m_name; case Qt::ToolTipRole: return m_filePath; case Qt::DecorationRole: return testTreeIcon(m_type); case Qt::CheckStateRole: return QVariant(); case LinkRole: { QVariant itemLink; itemLink.setValue(TextEditor::TextEditorWidget::Link(m_filePath, m_line, m_column)); return itemLink; } case ItalicRole: return false; case TypeRole: return m_type; case EnabledRole: return true; } return QVariant(); }
QVariant TestTreeItem::data(int /*column*/, int role) const { switch (role) { case Qt::DisplayRole: if (m_type == Root && childCount() == 0) return QString(m_name + QObject::tr(" (none)")); else if (m_name.isEmpty()) return QObject::tr(Constants::UNNAMED_QUICKTESTS); else if (m_type == GTestCaseParameterized) return QString(m_name + QObject::tr(" [parameterized]")); else return m_name; case Qt::ToolTipRole: if (m_type == TestClass && m_name.isEmpty()) { return QObject::tr("<p>Give all test cases a name to ensure correct behavior " "when running test cases and to be able to select them.</p>"); } return m_filePath; case Qt::DecorationRole: return testTreeIcon(m_type); case Qt::CheckStateRole: switch (m_type) { case Root: case TestDataFunction: case TestSpecialFunction: case TestDataTag: return QVariant(); case TestClass: case GTestCase: case GTestCaseParameterized: return m_name.isEmpty() ? QVariant() : checked(); case TestFunction: case GTestName: if (parentItem() && parentItem()->name().isEmpty()) return QVariant(); return checked(); default: return checked(); } case LinkRole: { QVariant itemLink; itemLink.setValue(TextEditor::TextEditorWidget::Link(m_filePath, m_line, m_column)); return itemLink; } case ItalicRole: switch (m_type) { case TestDataFunction: case TestSpecialFunction: return true; case TestClass: return m_name.isEmpty(); case TestFunction: return parentItem() ? parentItem()->name().isEmpty() : false; default: return false; } case TypeRole: return m_type; case StateRole: return (int)m_state; } return QVariant(); }