void ExtensionListItem::setUninstallable(bool v) { if (mpUninstallButton != NULL) { mpUninstallButton->setEnabled(v); } if (!v) { setUpdateInfo("This extension will be uninstalled when Opticks is restarted."); } else { setUpdateInfo(""); } update(); }
Lvk::FE::NewUpdateDialog::NewUpdateDialog(const DAS::UpdateInfo &info, QWidget *parent) : QDialog(parent), m_url(info.url()), m_downloadAccepted(false) { setModal(true); setMinimumWidth(600); setMaximumWidth(600); setWindowTitle(tr("New Update")); m_label = new QLabel(this); m_label->setWordWrap(true); m_label->setOpenExternalLinks(true); m_hash = new QLabel(this); m_hash->setTextInteractionFlags(m_label->textInteractionFlags() | Qt::TextSelectableByMouse); m_hash->setCursor(QCursor(Qt::IBeamCursor)); m_copy = new QToolButton(this); m_copy->setAutoRaise(true); m_copy->setIcon(QIcon(":/icons/copy.png")); m_copy->setToolTip(tr("Copy signature")); m_later = new QPushButton(tr("Later"), this); m_download = new QPushButton(tr("Download Now!"), this); m_download->setDefault(true); m_download->setFocus(); QGridLayout *mainLayout = new QGridLayout(this); setLayout(mainLayout); QHBoxLayout *hashLayout = new QHBoxLayout(); QSpacerItem *vspacer = new QSpacerItem(0, 0, QSizePolicy::Fixed, QSizePolicy::Expanding); QSpacerItem *hspacer = new QSpacerItem(0, 0, QSizePolicy::Expanding, QSizePolicy::Fixed); mainLayout->addWidget (m_label, 0, 0, 1, 3); mainLayout->addLayout (hashLayout, 1, 0, 1, 3); mainLayout->addItem (vspacer, 2, 0, 1, 3); mainLayout->addItem (hspacer, 3, 0); mainLayout->addWidget (m_later, 3, 1); mainLayout->addWidget (m_download, 3, 2); hashLayout->setMargin(0); hashLayout->addWidget(m_hash); hashLayout->addWidget(m_copy); hashLayout->addSpacerItem(new QSpacerItem(0, 0, QSizePolicy::Expanding, QSizePolicy::Fixed)); connect(m_download, SIGNAL(clicked()), SLOT(onAccepted())); connect(m_later, SIGNAL(clicked()), SLOT(onRejected())); connect(m_copy, SIGNAL(clicked()), SLOT(onCopyHash())); setUpdateInfo(info); }