summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDominik Riebeling <Dominik.Riebeling@gmail.com>2020-11-07 21:31:44 +0100
committerDominik Riebeling <Dominik.Riebeling@gmail.com>2020-11-07 21:48:56 +0100
commit9fcdb44e55b5bee585e4906e93d055d230ee01d9 (patch)
tree5e3a65649d9e9b5ea4cd0c9a4ca833cc4e2a6f5a
parentdb7c4424e463055723edcb30e51c879358ac9831 (diff)
downloadrockbox-9fcdb44e55b5bee585e4906e93d055d230ee01d9.tar.gz
rockbox-9fcdb44e55b5bee585e4906e93d055d230ee01d9.tar.bz2
rockbox-9fcdb44e55b5bee585e4906e93d055d230ee01d9.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.ui14
-rw-r--r--rbutil/rbutilqt/rbutilqt.cpp38
-rw-r--r--rbutil/rbutilqt/rbutilqt.qrc9
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>&amp;Speex License</string>
+ <widget class="QWidget" name="licenseSpeex" >
+ <attribute name="title" >
+ <string>L&amp;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>