/* vi: set sw=4 ts=4: * * Copyright (C) 2015 Christian Hohnstaedt. * * All rights reserved. */ #include "lib/db_x509super.h" #include "lib/database_model.h" #include "X509SuperTreeView.h" #include "CertDetail.h" #include "MainWindow.h" #include #include #include #include void X509SuperTreeView::fillContextMenu(QMenu *menu, QMenu *, const QModelIndex &index, QModelIndexList indexes) { pki_x509super *x = dynamic_cast( db_base::fromIndex(index)); if (indexes.size() != 1 || !x) return; transform = menu->addMenu(tr("Transform")); transform->addAction(tr("Template"), this, SLOT(toTemplate())); transform->addAction(tr("Public key"), this, SLOT(extractPubkey()))->setEnabled(!x->getRefKey()); } void X509SuperTreeView::extractPubkey() { QModelIndex idx = currentIndex(); if (idx.isValid() && basemodel) x509super()->extractPubkey(idx); } void X509SuperTreeView::toTemplate() { QModelIndex idx = currentIndex(); if (idx.isValid() && basemodel) x509super()->toTemplate(idx); } void X509SuperTreeView::showPki(pki_base *pki) { pki_x509super *x = dynamic_cast(pki); CertDetail::showCert(this, x); }