Exemplo n.º 1
0
void CommitDetailsTest::test_index()
{
  CommitDetails cd;

  QVERIFY( !cd.index(0, 0).isValid() );

  cd.setOption("Option1", "OldVal", "NewVal");

  QModelIndex index = cd.index(0, 0);
  CommitDetailsItem * item = static_cast<CommitDetailsItem*>(index.internalPointer());
  QVERIFY( is_not_null(item) );

  QCOMPARE( item->optionName(), QString("Option1") );
  QCOMPARE( item->oldValue(), QString("OldVal") );
  QCOMPARE( item->currentValue(), QString("NewVal") );

  QVERIFY( !cd.index(0, 0, index).isValid() );
}
Exemplo n.º 2
0
QVariant CommitDetails::data(const QModelIndex &index, int role) const
{
  QVariant returnValue;


  if(role == Qt::DisplayRole && index.isValid())
  {
    int rowNumber = index.row();
    int colNumber = index.column();

    if(rowNumber >= 0 && rowNumber < m_items.size())
    {
      CommitDetailsItem * item = m_items.at(rowNumber);

      switch (colNumber)
      {
        case 0:
          returnValue = item->optionName();
          break;

        case 1:
        {
          QString oldValue = item->oldValue();
          returnValue = oldValue.isEmpty() ? "--" : QString("\"%1\"").arg(oldValue);
          break;
        }

        case 2:
        {
          QString value = item->currentValue();
          returnValue = value.isEmpty() ? "--" : QString("\"%1\"").arg(value);
          break;
        }

        default:
          break;
      }

    }
  }

  return returnValue;
}