Mercurial > trustbridge
view ui/certificatetabledelegate.cpp @ 359:f6ce186cebc2
If DO_RELEASE_BUILD is set use pubkey-release and test with it
This currently fails because polarssl rejects keys with
a public exponent larger then 64 bit.
With the following patch all tests pass. But this
currently awaits upstream comment.
https://polarssl.org/discussions/bug-report-issues/rsa-keys-with-large-public-exponents-are-rejected
--- rsa.c.orig 2014-04-10 17:22:32.727290031 +0200
+++ rsa.c 2014-04-10 17:22:38.847410225 +0200
@@ -154,7 +154,7 @@
return( POLARSSL_ERR_RSA_KEY_CHECK_FAILED );
if( mpi_msb( &ctx->E ) < 2 ||
- mpi_msb( &ctx->E ) > 64 )
+ mpi_msb( &ctx->E ) > POLARSSL_MPI_MAX_BITS )
return( POLARSSL_ERR_RSA_KEY_CHECK_FAILED );
return( 0 );
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Thu, 10 Apr 2014 17:50:44 +0200 |
parents | 9ba7b4b4c1de |
children | bae8d4a20ef1 |
line wrap: on
line source
#include <QtWidgets> #include <QComboBox> #include "certificatetabledelegate.h" void CertificateTableDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const { painter->save(); if (index.column() == 0) { if (option.state & QStyle::State_Selected) { painter->fillRect(option.rect, option.palette.highlight()); } bool value = index.data(Qt::DisplayRole).toBool(); QIcon icon = value ? QIcon(":/img/list-add.png"):QIcon(":/img/list-remove.png") ; icon.paint(painter, option.rect, Qt::AlignVCenter|Qt::AlignHCenter); } else { QStyledItemDelegate::paint(painter, option, index); } painter->restore(); } QWidget *CertificateTableDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const { if (index.column() == 0) { // Draw a combobox in the first column for install/remove certificate // selection. return drawComboBox(parent, option, index); } else { return QStyledItemDelegate::createEditor(parent, option, index); } } QWidget *CertificateTableDelegate::drawComboBox(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const { bool editable = index.data(Qt::UserRole).toBool(); // Create a combobox and add two items for install/remove. QComboBox *comboBox = new QComboBox(parent); comboBox->addItem(QIcon(":/img/list-add.png"), QString(""), QVariant("true")); if (editable) { comboBox->addItem(QIcon(":/img/list-remove.png"), QString(""), QVariant("false")); } return comboBox; } void CertificateTableDelegate::setEditorData(QWidget *editor, const QModelIndex &index) const { if (index.column() != 0) { return; } // Get the current value from the model. QString value = index.data(Qt::DisplayRole).toString(); // Find the index in comboxbox items and set the current index. QComboBox *comboBox = static_cast<QComboBox*>(editor); int ndx = comboBox->findData(value, Qt::UserRole); comboBox->setCurrentIndex(ndx); } void CertificateTableDelegate::setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const { if (index.column() != 0) { return; } QComboBox *comboBox = static_cast<QComboBox*>(editor); bool value = comboBox->currentData().toBool(); model->setData(index, value, Qt::EditRole); } void CertificateTableDelegate::updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &option, const QModelIndex &index) const { if (index.column() != 0) { return; } editor->setGeometry(option.rect); }