コード例 #1
0
ファイル: ContactListEdit.cpp プロジェクト: toby82/keyhotee
bool ContactListEdit::isStoredContact()
{
  if(_image_format.isValid())
  {
    IMailProcessor::TRecipientPublicKey pk;
    decodePublicKey(_image_format, &pk);
    if(Utils::matchContact(pk, _clicked_contact))
      return true;
  }
  return false;
}
コード例 #2
0
bool ContactListEdit::validateClickPosition(const QPoint& position, bool* isExistingContact,
        bts::addressbook::wallet_contact* foundContact) const
{
    assert(isExistingContact != nullptr);
    assert(foundContact != nullptr);

    *isExistingContact = false;

    QPoint shiftedPos(position);
    shiftedPos += QPoint(2, 0);

    int current_position = document()->documentLayout()->hitTest(shiftedPos, Qt::ExactHit);

    if(current_position > -1)
    {
        QTextBlock current_block = document()->begin();
        while(current_block.isValid())
        {
            for(QTextBlock::iterator it = current_block.begin(); !(it.atEnd()); ++it)
            {
                QTextFragment current_fragment = it.fragment();
                if(current_fragment.isValid() && current_fragment.contains(current_position))
                {
                    QTextFormat current_format = current_fragment.charFormat();
                    if(current_format.isImageFormat())
                    {
                        QTextImageFormat imageFormat = current_format.toImageFormat();

                        IMailProcessor::TRecipientPublicKey pk;
                        decodePublicKey(imageFormat, &pk);
                        *isExistingContact = Utils::matchContact(pk, foundContact);

                        return true;
                    }
                }
            }
            current_block = current_block.next();
        }
    }

    return false;
}
コード例 #3
0
ファイル: ContactListEdit.cpp プロジェクト: toby82/keyhotee
void ContactListEdit::GetCollectedContacts(IMailProcessor::TRecipientPublicKeys* storage) const
  {
  assert(storage != nullptr);
  storage->reserve(10);

  QTextBlock block = document()->begin();
  while(block.isValid())
    {
    for(QTextBlock::iterator i = block.begin(); i != block.end(); ++i)
      {
      QTextCharFormat format = i.fragment().charFormat();
      if(format.isImageFormat())
        {
        QTextImageFormat imgF = format.toImageFormat();
        IMailProcessor::TRecipientPublicKey pk;
        decodePublicKey(imgF, &pk);
        assert(pk.valid());
        storage->push_back(pk);
        }
      }

    block = block.next();
    }
  }