e5034d0a2c
Acknowledge all bundled third-party software and satisfy attribution/notice requirements, while keeping it maintainable: - THIRD_PARTY_NOTICES.md: human-readable manifest (component, copyright, SPDX license, link) for fetched, vendored, and runtime/SDK dependencies. - licenses/: verbatim license texts; COLLECT.sh regenerates them from the build trees and system SDK locations. - Bundle the verbatim Qt LGPL-3.0 text and the CUDA Toolkit 12.8 EULA. - frontend: self-contained npm attribution generator (`npm run licenses` -> dist/THIRD_PARTY_LICENSES.txt), wired into the frontend build target. - Install LICENSE + notices + licenses/ into share/doc/jfjoch for every packaged component. - viewer: Help > "Third-party Licenses" window (QTextBrowser) showing a generated, self-contained HTML built from licenses/. - docs/SOFTWARE.md: drop the stale hand-kept dependency lists; point at the manifest. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
24 lines
758 B
C++
24 lines
758 B
C++
// SPDX-FileCopyrightText: 2025 Filip Leonarski, Paul Scherrer Institute <filip.leonarski@psi.ch>
|
|
// SPDX-License-Identifier: GPL-3.0-only
|
|
|
|
#include "JFJochLicenseWindow.h"
|
|
|
|
#include <QFile>
|
|
#include <QTextBrowser>
|
|
#include <QVBoxLayout>
|
|
|
|
JFJochLicenseWindow::JFJochLicenseWindow(QWidget *parent) : QDialog(parent) {
|
|
setWindowTitle("Third-party Licenses");
|
|
resize(800, 600);
|
|
|
|
auto *browser = new QTextBrowser(this);
|
|
browser->setOpenExternalLinks(true); // license URLs open in the system browser
|
|
|
|
QFile file(":/third_party_licenses.html");
|
|
if (file.open(QIODevice::ReadOnly | QIODevice::Text))
|
|
browser->setHtml(QString::fromUtf8(file.readAll()));
|
|
|
|
auto *layout = new QVBoxLayout(this);
|
|
layout->addWidget(browser);
|
|
}
|