diff options
author | Dominik Riebeling <Dominik.Riebeling@gmail.com> | 2020-11-07 21:31:44 +0100 |
---|---|---|
committer | Dominik Riebeling <Dominik.Riebeling@gmail.com> | 2020-11-07 21:48:56 +0100 |
commit | 9fcdb44e55b5bee585e4906e93d055d230ee01d9 (patch) | |
tree | 5e3a65649d9e9b5ea4cd0c9a4ca833cc4e2a6f5a | |
parent | db7c4424e463055723edcb30e51c879358ac9831 (diff) | |
download | rockbox-9fcdb44e55.tar.gz rockbox-9fcdb44e55.tar.bz2 rockbox-9fcdb44e55.zip |
rbutil: Show the license of all libraries included.
Replace the Speex license tab in the about dialog with one that lists
all used libraries and their respective licenses, including Speex.
Previously only Speex required including the license in binary
distribution; the recently added bspatch also wants this. Show
the license for all used libraries so we can more easily add new ones in
the future.
Change-Id: Ic8b403f8a2a05d0f1734ddf092782b85ddfa5ed9
-rw-r--r-- | rbutil/rbutilqt/aboutbox.ui | 14 | ||||
-rw-r--r-- | rbutil/rbutilqt/rbutilqt.cpp | 38 | ||||
-rw-r--r-- | rbutil/rbutilqt/rbutilqt.qrc | 9 |
3 files changed, 46 insertions, 15 deletions
diff --git a/rbutil/rbutilqt/aboutbox.ui b/rbutil/rbutilqt/aboutbox.ui index e73fccde79..e13f06a15a 100644 --- a/rbutil/rbutilqt/aboutbox.ui +++ b/rbutil/rbutilqt/aboutbox.ui @@ -6,7 +6,7 @@ <rect> <x>0</x> <y>0</y> - <width>500</width> + <width>640</width> <height>500</height> </rect> </property> @@ -127,13 +127,13 @@ </item> </layout> </widget> - <widget class="QWidget" name="licenseSpeex"> - <attribute name="title"> - <string>&Speex License</string> + <widget class="QWidget" name="licenseSpeex" > + <attribute name="title" > + <string>L&ibraries</string> </attribute> - <layout class="QGridLayout" name="gridLayout_2"> - <item row="0" column="0"> - <widget class="QTextBrowser" name="browserSpeexLicense"/> + <layout class="QGridLayout" name="gridLayout_2" > + <item row="0" column="0" > + <widget class="QTextBrowser" name="browserLicenses"/> </item> </layout> </widget> diff --git a/rbutil/rbutilqt/rbutilqt.cpp b/rbutil/rbutilqt/rbutilqt.cpp index 60f517825d..1c00ef9a07 100644 --- a/rbutil/rbutilqt/rbutilqt.cpp +++ b/rbutil/rbutilqt/rbutilqt.cpp @@ -282,12 +282,37 @@ void RbUtilQt::about() QTextStream c(&licence); about.browserLicense->insertHtml(c.readAll()); about.browserLicense->moveCursor(QTextCursor::Start, QTextCursor::MoveAnchor); - - QFile speexlicense(":/docs/COPYING.SPEEX"); - speexlicense.open(QIODevice::ReadOnly); - QTextStream s(&speexlicense); - about.browserSpeexLicense->insertHtml("<pre>" + s.readAll() + "</pre>"); - about.browserSpeexLicense->moveCursor(QTextCursor::Start, QTextCursor::MoveAnchor); + licence.close(); + + QString html = "<p>" + tr("Libraries used") + "</p>"; + html += "<ul>"; + html += "<li>Speex: <a href='#speex'>Speex License</a></li>"; + html += "<li>bspatch: <a href='#bspatch'>bspatch License</a></li>"; + html += "<li>bzip2: <a href='#bzip2'>bzip2 License</a></li>"; + html += "<li>mspack: <a href='#lgpl2'>LGPL v2.1 License</a></li>"; + html += "<li>quazip: <a href='#lgpl2'>LGPL v2.1 License</a></li>"; + html += "<li>tomcrypt: <a href='#tomcrypt'>Tomcrypt License</a></li>"; + html += "<li>CuteLogger: <a href='#lgpl2'>LGPL v2.1 License</a></li>"; + html += "</ul>"; + about.browserLicenses->insertHtml(html); + + QMap<QString, QString> licenses; + licenses[":/docs/COPYING.SPEEX"] = "<a id='speex'>Speex License</a>"; + licenses[":/docs/lgpl-2.1.txt"] = "<a id='lgpl2'>LGPL v2.1</a>"; + licenses[":/docs/LICENSE.TOMCRYPT"] = "<a id='tomcrypt'>Tomcrypt License</a>"; + licenses[":/docs/LICENSE.BZIP2"] = "<a id='bzip2'>bzip2 License</a>"; + licenses[":/docs/LICENSE.BSPATCH"] = "<a id='bspatch'>bspatch License</a>"; + + for (int i = 0; i < licenses.size(); i++) { + QString key = licenses.keys().at(i); + QFile license(key); + license.open(QIODevice::ReadOnly); + QTextStream s(&license); + about.browserLicenses->insertHtml("<hr/><h2>" + licenses[key] + "</h2><br/>\n"); + about.browserLicenses->insertHtml("<pre>" + s.readAll() + "</pre>"); + license.close(); + } + about.browserLicenses->moveCursor(QTextCursor::Start, QTextCursor::MoveAnchor); QFile credits(":/docs/CREDITS"); credits.open(QIODevice::ReadOnly); @@ -304,6 +329,7 @@ void RbUtilQt::about() line.remove(QRegExp("^People.*")); about.browserCredits->append(line); } + credits.close(); about.browserCredits->moveCursor(QTextCursor::Start, QTextCursor::MoveAnchor); QString title = QString("<b>The Rockbox Utility</b><br/>Version %1").arg(FULLVERSION); about.labelTitle->setText(title); diff --git a/rbutil/rbutilqt/rbutilqt.qrc b/rbutil/rbutilqt/rbutilqt.qrc index 3ce83f33c6..b1427b118f 100644 --- a/rbutil/rbutilqt/rbutilqt.qrc +++ b/rbutil/rbutilqt/rbutilqt.qrc @@ -1,8 +1,12 @@ <RCC> <qresource prefix="/"> - <file>../../docs/CREDITS</file> - <file>../../docs/gpl-2.0.html</file> + <file alias="docs/CREDITS">../../docs/CREDITS</file> + <file alias="docs/gpl-2.0.html">../../docs/gpl-2.0.html</file> + <file alias="docs/lgpl-2.1.txt">logger/LICENSE.LGPL</file> <file alias="docs/COPYING.SPEEX">../../lib/rbcodec/codecs/libspeex/COPYING</file> + <file alias="docs/LICENSE.TOMCRYPT">../../utils/tomcrypt/LICENSE</file> + <file alias="docs/LICENSE.BZIP2">../bzip2/LICENSE</file> + <file alias="docs/LICENSE.BSPATCH">../bspatch/LICENSE</file> <file alias="docs/changelog.txt">changelog.txt</file> </qresource> <qresource> @@ -41,6 +45,7 @@ <file>icons/view-refresh.svg</file> <file>icons/wizard.jpg</file> <file alias="icons/rockbox-clef.svg">../../docs/logo/rockbox-clef.svg</file> + <file alias="icons/rockbox-logo.svg">../../docs/logo/rockbox-logo.svg</file> </qresource> <qresource> <file>icons/players/archosfmrecorder-small.png</file> |