aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2023-09-22 22:31:15 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2023-09-22 23:08:54 -0400
commit7e82d4e19f45bf7b251e1159ec0dcf76c8eca9dd (patch)
tree848754f64b3b8061dad479d663e6965779e76773
parentec130e1a1b7f3b87b1a6e626754f7e7a07f6b717 (diff)
downloadguix-7e82d4e19f45bf7b251e1159ec0dcf76c8eca9dd.tar
guix-7e82d4e19f45bf7b251e1159ec0dcf76c8eca9dd.tar.gz
gnu: tipp10: Update to 3.3.0.
* gnu/packages/education.scm (tipp10): Update to 3.3.0. [source]: Use git-fetch. Drop obsolete patches. [build-system]: Use qt-build-system. [arguments]: Add #:qtbase. Remove #:phases. [inputs]: Replace qtbase-5 with qtbase, qtmultimedia-5 with qtmultimedia. [home-page]: Update home page. [license]: Add comment. * gnu/packages/patches/tipp10-disable-downloader.patch: Delete file. * gnu/packages/patches/tipp10-fix-compiling.patch: Likewise. * gnu/packages/patches/tipp10-qt5.patch: Likewise. * gnu/packages/patches/tipp10-remove-license-code.patch: Likewise. * gnu/local.mk (dist_patch_DATA): De-register them.
-rw-r--r--gnu/local.mk4
-rw-r--r--gnu/packages/education.scm57
-rw-r--r--gnu/packages/patches/tipp10-disable-downloader.patch165
-rw-r--r--gnu/packages/patches/tipp10-fix-compiling.patch212
-rw-r--r--gnu/packages/patches/tipp10-qt5.patch69
-rw-r--r--gnu/packages/patches/tipp10-remove-license-code.patch332
6 files changed, 19 insertions, 820 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index b059689954..5a1f72ffd9 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2016,10 +2016,6 @@ dist_patch_DATA = \
%D%/packages/patches/tidy-CVE-2015-5522+5523.patch \
%D%/packages/patches/timewarrior-time-sensitive-tests.patch \
%D%/packages/patches/tinyxml-use-stl.patch \
- %D%/packages/patches/tipp10-disable-downloader.patch \
- %D%/packages/patches/tipp10-fix-compiling.patch \
- %D%/packages/patches/tipp10-remove-license-code.patch \
- %D%/packages/patches/tipp10-qt5.patch \
%D%/packages/patches/tk-find-library.patch \
%D%/packages/patches/tla2tools-build-xml.patch \
%D%/packages/patches/tlf-support-hamlib-4.2+.patch \
diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm
index d1e220ebcd..61fc9945fa 100644
--- a/gnu/packages/education.scm
+++ b/gnu/packages/education.scm
@@ -11,6 +11,7 @@
;;; Copyright © 2020 Prafulla Giri <pratheblackdiamond@gmail.com>
;;; Copyright © 2021 Nicolò Balzarotti <nicolo@nixo.xyz>
;;; Copyright © 2022 Luis Felipe López Acevedo <luis.felipe.la@protonmail.com>
+;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -266,47 +267,24 @@ frequently used words in American English.")
(define-public tipp10
(package
(name "tipp10")
- (version "2.1.0")
+ (version "3.3.0")
(source (origin
- (method url-fetch)
- ;; guix download is not able to handle the download links on the
- ;; home-page, which use '<meta http-equiv="refresh" …>'
- (uri (string-append "mirror://debian/pool/main/"
- "t/tipp10/tipp10_2.1.0.orig.tar.gz"))
+ (method git-fetch)
+ ;; Use the community maintained Qt 6 fork of the project, as the
+ ;; original software is now developed as a web application. The
+ ;; latest official version was 2.1.0.
+ (uri (git-reference
+ (url "https://gitlab.com/tipp10/tipp10.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "0d387b404j88gsv6kv0rb7wxr23v5g5vl6s5l7602x8pxf7slbbx"))
- ;; Apply patches in the order determined by Debian
- (patches (search-patches "tipp10-fix-compiling.patch"
- "tipp10-remove-license-code.patch"
- "tipp10-disable-downloader.patch"
- "tipp10-qt5.patch"))))
- (build-system cmake-build-system)
- (arguments
- `(#:tests? #f ; packages has no tests
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'disable-new-version-check
- (lambda _
- ;; Make new version check to default to false.
- ;; TODO: Remove the checkbox from the dialog and the check itself
- (substitute* '("widget/settingspages.cpp" "widget/mainwindow.cpp")
- (("settings.value(\"check_new_version\", true)")
- "settings.value(\"check_new_version\", false)"))
- #t))
- (replace 'configure
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- ;; Make program honor $PREFIX
- (substitute* "tipp10.pro"
- (("\\.path = /usr/") (string-append ".path = " out "/")))
- (substitute* "def/defines.h"
- (("\"/usr/") (string-append "\"" out "/")))
- ;; Recreate Makefile
- (invoke "qmake")))))))
- (inputs
- (list qtbase-5 qtmultimedia-5))
- (home-page "https://www.tipp10.com/")
+ "138xf55csnq53mlkhj50g9bacay8kxz6p9vnzd7jyv6rq1xch5nq"))))
+ (build-system qt-build-system)
+ (arguments (list #:qtbase qtbase ;qtbase 6
+ #:tests? #f)) ;packages has no tests
+ (inputs (list qtbase qtmultimedia))
+ (home-page "https://www.tipp10.com/en/")
(synopsis "Touch typing tutor")
(description "Tipp10 is a touch typing tutor. The ingenious thing about
the software is its intelligence feature: characters that are mistyped are
@@ -316,6 +294,9 @@ they can start practicing without a hitch.
Useful support functions and an extensive progress tracker, topical lessons
and the ability to create your own practice lessons make learning to type
easy.")
+ ;; XXX: The LICENSE file mentions 'or later', but the source license
+ ;; headers have been modified to mention only "either version 2 of the
+ ;; License", which is not quite clear.
(license license:gpl2)))
(define-public snap
diff --git a/gnu/packages/patches/tipp10-disable-downloader.patch b/gnu/packages/patches/tipp10-disable-downloader.patch
deleted file mode 100644
index 4917a927f9..0000000000
--- a/gnu/packages/patches/tipp10-disable-downloader.patch
+++ /dev/null
@@ -1,165 +0,0 @@
-https://salsa.debian.org/debian/tipp10/-/raw/debian/2.1.0-5/debian/patches/disable_downloaders.patch
-
-Author: Reiner Herrmann <reiner@reiner-h.de>
-Description: Disable downloaders
- This makes porting to Qt5 much easier, as QHttp is no longer available.
- But the functionality was not enabled anyway or is no longer useful.
- .
- - checkversion.h/.cpp:
- At startup (while loading settings), Tipp10 "phones home" to do an
- update check (www.tipp10.com/update/version.tipp10v210).
- For a packaged software and one that is no longer being developed,
- this does not make much sense.
- - updatedialog.h/.cpp:
- Can download newer sqlite database (www.tipp10.com/update/sql.tipp10v210.utf),
- but this file is no longer available on the server (404).
- The update action has also not been enabled in the menu, so the update
- functionality was currently not active:
- widget/mainwindow.cpp:143: //fileMenu->addAction(updateAction);
- - downloaddialog.h/.cpp:
- Allows downloading lessons from user-specified location.
- But the action (widget/startwidget.cpp -> lessonDownload) has not been part
- of any menu, so it was also not in use.
-
---- a/tipp10.pro
-+++ b/tipp10.pro
-@@ -15,7 +15,6 @@
- INCLUDEPATH += .
- CONFIG += qt
- QT += sql
--QT += network
- RC_FILE += tipp10.rc
- RESOURCES += tipp10.qrc
- HEADERS += def/defines.h \
-@@ -36,15 +35,12 @@
- widget/settingspages.h \
- widget/lessondialog.h \
- widget/regexpdialog.h \
-- widget/downloaddialog.h \
- widget/lessonprintdialog.h \
- widget/lessonresult.h \
-- widget/updatedialog.h \
- widget/helpbrowser.h \
- widget/companylogo.h \
- widget/errormessage.h \
- widget/txtmessagedialog.h \
-- widget/checkversion.h \
- sql/connection.h \
- sql/lessontablesql.h \
- sql/chartablesql.h \
-@@ -70,15 +66,12 @@
- widget/settingspages.cpp \
- widget/lessondialog.cpp \
- widget/regexpdialog.cpp \
-- widget/downloaddialog.cpp \
- widget/lessonprintdialog.cpp \
- widget/lessonresult.cpp \
-- widget/updatedialog.cpp \
- widget/helpbrowser.cpp \
- widget/companylogo.cpp \
- widget/errormessage.cpp \
- widget/txtmessagedialog.cpp \
-- widget/checkversion.cpp \
- sql/lessontablesql.cpp \
- sql/chartablesql.cpp \
- sql/trainingsql.cpp \
---- a/widget/mainwindow.cpp
-+++ b/widget/mainwindow.cpp
-@@ -41,11 +41,9 @@
-
- #include "mainwindow.h"
- #include "settingsdialog.h"
--#include "updatedialog.h"
- #include "def/defines.h"
- #include "def/errordefines.h"
- #include "errormessage.h"
--#include "checkversion.h"
-
- MainWindow::MainWindow() {
- trainingStarted = false;
-@@ -214,8 +212,8 @@
- }
-
- void MainWindow::showUpdate() {
-- UpdateDialog updateDialog(this);
-- updateDialog.exec();
-+ //UpdateDialog updateDialog(this);
-+ //updateDialog.exec();
- // Fill lesson list after online update
- startWidget->fillLessonList(false);
- }
-@@ -486,6 +484,7 @@
- settings.endGroup();
-
- settings.beginGroup("general");
-+#if 0
- if (settings.value("check_new_version", true).toBool()) {
-
- QDate lastVersionCheck = settings.value("last_version_check").toDate();
-@@ -499,6 +498,7 @@
- }
- settings.setValue("last_version_check", today);
- }
-+#endif
- settings.endGroup();
- }
-
---- a/widget/settingspages.cpp
-+++ b/widget/settingspages.cpp
-@@ -581,7 +581,7 @@
-
- // Layout of group box vertical
- QVBoxLayout *layout = new QVBoxLayout;
-- layout->addWidget(checkNewVersion);
-+ //layout->addWidget(checkNewVersion);
- layout->addSpacing(1);
- layout->addWidget(checkNativeStyle);
- layout->setMargin(16);
-@@ -610,7 +610,6 @@
- checkIntelligence->setChecked(settings.value("check_toggle_intelligence", true).toBool());
- checkLimitLesson->setChecked(settings.value("check_limit_lesson", true).toBool());
- checkLessonPublish->setChecked(settings.value("check_lesson_publish", true).toBool());
-- checkNewVersion->setChecked(settings.value("check_new_version", true).toBool());
- checkNativeStyle->setChecked(settings.value("check_native_style", false).toBool());
- settings.endGroup();
- }
-@@ -636,7 +635,6 @@
- settings.setValue("check_limit_lesson", checkLimitLesson->isChecked());
- settings.setValue("check_lesson_publish", checkLessonPublish->isChecked());
- settings.setValue("check_native_style", checkNativeStyle->isChecked());
-- settings.setValue("check_new_version", checkNewVersion->isChecked());
- settings.endGroup();
-
- return requireRestart;
---- a/widget/startwidget.cpp
-+++ b/widget/startwidget.cpp
-@@ -43,12 +43,10 @@
-
- #include "startwidget.h"
- #include "sql/startsql.h"
--#include "updatedialog.h"
- #include "def/defines.h"
- #include "def/errordefines.h"
- #include "errormessage.h"
- #include "lessondialog.h"
--#include "downloaddialog.h"
- #include "illustrationdialog.h"
- #include "txtmessagedialog.h"
-
-@@ -1048,7 +1046,7 @@
- }
-
- void StartWidget::clickDownloadLesson() {
--
-+#if 0
- QStringList lessonData;
-
- DownloadDialog downloadDialog(&lessonData, this);
-@@ -1083,6 +1081,7 @@
- }
- }
- }
-+#endif
- }
-
- void StartWidget::clickEditLesson() {
diff --git a/gnu/packages/patches/tipp10-fix-compiling.patch b/gnu/packages/patches/tipp10-fix-compiling.patch
deleted file mode 100644
index 3a34a98b22..0000000000
--- a/gnu/packages/patches/tipp10-fix-compiling.patch
+++ /dev/null
@@ -1,212 +0,0 @@
-Description: Debian patches to make tipp10 compile
-Author: Christoph Martin <chrism@debian.org>
-Last-Update: 2016-07-20
-
-https://sources.debian.net/data/main/t/tipp10/2.1.0-2/debian/patches/0001-FixCompiling
-
---- a/widget/tickerboard.cpp
-+++ b/widget/tickerboard.cpp
-@@ -97,7 +97,8 @@ void TickerBoard::startTicker(bool wasPa
-
- if (tickerSpeed == 50) {
- scrollOffset = 290;
-- scroll(-290, 0, QRect::QRect(10, 15, 590, 35)); //contentsRect());
-+ const QRect qr = QRect(10, 15, 590, 35);
-+ scroll(-290, 0, qr); //contentsRect());
- }
-
- startFlag = true;
-@@ -153,7 +154,8 @@ void TickerBoard::changeChar() {
- scrollOffset = 0;
- } else {
- scrollOffset = 290;
-- scroll(-290, 0, QRect::QRect(10, 15, 590, 35)); //contentsRect());
-+ const QRect qr = QRect(10, 15, 590, 35);
-+ scroll(-290, 0, qr); //contentsRect());
- }
- splitLesson();
- }
-@@ -242,7 +244,8 @@ void TickerBoard::progress() {
-
- // Move ticker 1 pixel to left
- scrollOffset++;
-- scroll(-1, 0, QRect::QRect(10, 15, 590, 35)); //contentsRect());
-+ const QRect qr = QRect(10, 15, 590, 35);
-+ scroll(-1, 0, qr); //contentsRect());
-
- if ((lessonOffset - scrollOffset) <= 30) {
- setSpeed(tickerSpeed);
-@@ -265,14 +268,16 @@ void TickerBoard::progress() {
- // 160 pixels overage (because the user must see at least the next word)
- if ((lessonOffset - scrollOffset) > 200) {
- scrollOffset += (lessonOffset - scrollOffset) - 200;
-- scroll(-((lessonOffset - scrollOffset) - 200), 0, QRect::QRect(10, 15, 590, 35)); //contentsRect());
-+ const QRect qr = QRect(10, 15, 590, 35);
-+ scroll(-((lessonOffset - scrollOffset) - 200), 0, qr); //contentsRect());
- }
- } else {
- // If the user types faster than the ticker, move ticker faster after
- // 160 pixels overage (because the user must see at least the next word)
- if ((lessonOffset - scrollOffset) > 280) {
- scrollOffset += 570;
-- scroll(-570, 0, QRect::QRect(10, 15, 590, 35)); //contentsRect());
-+ const QRect qr = QRect(10, 15, 590, 35);
-+ scroll(-570, 0, qr); //contentsRect());
- }
-
- }
---- a/widget/settingspages.cpp
-+++ b/widget/settingspages.cpp
-@@ -501,7 +501,7 @@ void DatabasePage::writeSettings() {
- QSettings settings;
- #endif
- settings.beginGroup("database");
-- settings.setValue("pathpro", lineDatabasePath->text() + "/" + QString::QString(APP_USER_DB));
-+ settings.setValue("pathpro", lineDatabasePath->text() + "/" + QString(APP_USER_DB));
- settings.endGroup();
- }
-
---- a/widget/lessondialog.cpp
-+++ b/widget/lessondialog.cpp
-@@ -89,7 +89,7 @@ void LessonDialog::updateContent() {
- *lessonData = lineLessonContent->toPlainText().split("\n", QString::SkipEmptyParts);
- // Delete empty lines
- for (int i = 0; i < lessonData->size(); i++) {
-- if (QString::QString(lessonData->at(i).toLocal8Bit().constData()).simplified() == "") {
-+ if (QString(lessonData->at(i).toLocal8Bit().constData()).simplified() == "") {
- lessonData->removeAt(i);
- }
- }
-@@ -259,7 +259,7 @@ void LessonDialog::clickSave() {
- contentList = lineLessonContent->toPlainText().split("\n", QString::SkipEmptyParts);
- // Delete empty lines
- for (i = 0; i < contentList.size(); i++) {
-- if (QString::QString(contentList.at(i).toLocal8Bit().constData()).simplified() == "") {
-+ if (QString(contentList.at(i).toLocal8Bit().constData()).simplified() == "") {
- contentList.removeAt(i);
- }
- }
---- a/sql/chartablesql.cpp
-+++ b/sql/chartablesql.cpp
-@@ -57,7 +57,7 @@ QVariant CharSqlModel::data(const QModel
- // Read the unicode value
- unicode = value.toInt();
- // Convert unicode to a char
-- unicodeToChar = QString::QString(QChar(unicode)); //"\'" + QString::QString(QChar(unicode)) + "\'";
-+ unicodeToChar = QString(QChar(unicode)); //"\'" + QString::QString(QChar(unicode)) + "\'";
- return unicodeToChar;
- } else {
- // Last column (error weight)
---- a/sql/startsql.cpp
-+++ b/sql/startsql.cpp
-@@ -344,7 +344,7 @@ bool StartSql::updateOwnLesson(QString l
- for (i = 0; i < content.size(); i++) {
- //simplifiedContent = QString::QString(
- // content.at(i)).replace(QChar(0x27), "''", Qt::CaseSensitive).simplified();
-- simplifiedContent = trim(QString::QString(
-+ simplifiedContent = trim(QString(
- content.at(i)).replace(QChar(0x27), "''", Qt::CaseSensitive));
-
- if (!query.exec("INSERT INTO own_content VALUES(NULL,'" +
---- a/def/defines.h
-+++ b/def/defines.h
-@@ -27,9 +27,9 @@ Foundation, Inc., 51 Franklin Street, Fi
- #define DEFINES_H
-
- // OS constants
--#define APP_WIN true
-+#define APP_WIN false
- #define APP_MAC false
--#define APP_X11 false
-+#define APP_X11 true
- #define APP_PORTABLE false //at least one of the 3 OS must be true too!
-
- // Languages
-@@ -47,6 +47,7 @@ Foundation, Inc., 51 Franklin Street, Fi
- #define APP_URL "http://www.tipp10.com"
- #define APP_DB "tipp10v2.template"
- #define APP_USER_DB "tipp10v2.db"
-+#define APP_SHARE_DIR "/usr/share/tipp10"
-
- // Update constants
- #define UPDATE_URL "www.tipp10.com"
---- a/tipp10.pro
-+++ b/tipp10.pro
-@@ -88,3 +88,15 @@ SOURCES += main.cpp \
- sql/startsql.cpp \
- games/abcrainwidget.cpp \
- games/charball.cpp
-+
-+target.path = /usr/bin/
-+INSTALLS += target
-+share.path = /usr/share/tipp10/
-+share.files = release/* *wav
-+INSTALLS += share
-+desktop.path = /usr/share/applications/
-+desktop.files = tipp10.desktop
-+INSTALLS += desktop
-+pixmap.path = /usr/share/pixmaps/
-+pixmap.files = tipp10.png
-+INSTALLS += pixmap
---- a/sql/connection.h
-+++ b/sql/connection.h
-@@ -179,11 +179,13 @@ static bool createConnection() {
- CANCEL_NO, "Betroffener Pfad:\n" + dbPath);*/
- // Try to create new databae in user path
- // Exist a database in the program dir?
-- if (QFile::exists(QCoreApplication::applicationDirPath() + "/" + dbNameTemplate)) {
-+ // if (QFile::exists(QCoreApplication::applicationDirPath() + "/" + dbNameTemplate)) {
-+ if (QFile::exists(QString(APP_SHARE_DIR) + "/" + dbNameTemplate)) {
- //if (QFile::exists(":/" + dbNameTemplate)) {
- // A database exist in the program dir
- // -> copy database to user home dir
-- QFile file(QCoreApplication::applicationDirPath() + "/" + dbNameTemplate);
-+ // QFile file(QCoreApplication::applicationDirPath() + "/" + dbNameTemplate);
-+ QFile file(QString(APP_SHARE_DIR) + "/" + dbNameTemplate);
- //QFile file(":/" + dbNameTemplate);
- if (file.copy(dbPath)) {
- QFile::setPermissions(dbPath, QFile::permissions(dbPath) | QFile::WriteUser);
-@@ -229,7 +231,8 @@ static bool createConnection() {
- // Exist a database in user's home dir?
- if (!QFile::exists(dbPath)) {
- // Exist a database template in the program dir?
-- dbPath = QCoreApplication::applicationDirPath() + "/" + dbNameTemplate;
-+ // dbPath = QCoreApplication::applicationDirPath() + "/" + dbNameTemplate;
-+ dbPath = QString(APP_SHARE_DIR) + "/" + dbNameTemplate;
- //dbPath = ":/" + dbNameTemplate;
- if (QFile::exists(dbPath)) {
- // A database template exist in the program dir
---- a/widget/helpbrowser.cpp
-+++ b/widget/helpbrowser.cpp
-@@ -52,13 +52,15 @@ HelpBrowser::HelpBrowser(QString link, Q
- textBrowser->setOpenExternalLinks(true);
-
- textBrowser->setSource(QString("file:///") +
-- QCoreApplication::applicationDirPath() +
-+ // QCoreApplication::applicationDirPath() +
-+ APP_SHARE_DIR +
- QString("/help/") + language + QString("/index.html"));
-
- if (link != "") {
-
- textBrowser->setSource(QString("file:///") +
-- QCoreApplication::applicationDirPath() +
-+ // QCoreApplication::applicationDirPath() +
-+ APP_SHARE_DIR +
- QString("/help/") + language + QString("/content/") + link);
-
- }
---- a/tipp10.desktop
-+++ b/tipp10.desktop
-@@ -1,10 +1,10 @@
- [Desktop Entry]
--Encoding=UTF-8
- Name=TIPP10
- Comment=Touch Typing Tutor
- Comment[de]=10-Finger-Schreibtrainer
- Exec=tipp10
- Icon=tipp10.png
- Terminal=false
- Type=Application
- Categories=Education;
-+Keywords=learning;touchtyping
diff --git a/gnu/packages/patches/tipp10-qt5.patch b/gnu/packages/patches/tipp10-qt5.patch
deleted file mode 100644
index 34ad5cd708..0000000000
--- a/gnu/packages/patches/tipp10-qt5.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-https://salsa.debian.org/debian/tipp10/-/raw/debian/2.1.0-5/debian/patches/qt5.patch
-
-Author: Reiner Herrmann <reiner@reiner-h.de>
-Description: Port to Qt5
-Bug-Debian: https://bugs.debian.org/875207
-
---- a/tipp10.pro
-+++ b/tipp10.pro
-@@ -14,6 +14,7 @@
- DEPENDPATH += .
- INCLUDEPATH += .
- CONFIG += qt
-+QT += widgets multimedia printsupport
- QT += sql
- RC_FILE += tipp10.rc
- RESOURCES += tipp10.qrc
---- a/main.cpp
-+++ b/main.cpp
-@@ -24,7 +24,6 @@
- ****************************************************************/
-
- #include <QApplication>
--#include <QPlastiqueStyle>
- #include <QString>
- #include <QSettings>
- #include <QCoreApplication>
-@@ -212,7 +211,7 @@
-
- // Set windows style
- if (!useNativeStyle) {
-- app.setStyle("plastique");
-+ app.setStyle("fusion");
- }
-
- // Translation
---- a/games/abcrainwidget.cpp
-+++ b/games/abcrainwidget.cpp
-@@ -235,8 +235,7 @@
- charballs.last()->wind = (qrand() % 8) + 2;
- charballs.last()->rad = 0;
-
-- chartext.append(new QGraphicsTextItem(QString(characterTemp),
-- charballs.last(), scene));
-+ chartext.append(new QGraphicsTextItem(QString(characterTemp), charballs.last()));
- chartext.last()->setFont(QFont("Courier", 16, 100));
- chartext.last()->setPos(-(chartext.last()->boundingRect().width() / 2), -(chartext.last()->boundingRect().height() / 2));
-
---- a/sql/chartablesql.cpp
-+++ b/sql/chartablesql.cpp
-@@ -137,7 +137,7 @@
- sortColumn(4);
-
- headerview->setStretchLastSection(true);
-- headerview->setResizeMode(QHeaderView::Interactive);
-+ headerview->setSectionResizeMode(QHeaderView::Interactive);
- headerview->setSortIndicatorShown(true);
-
- // Resize the columns
---- a/sql/lessontablesql.cpp
-+++ b/sql/lessontablesql.cpp
-@@ -202,7 +202,7 @@
- sortColumn(-1);
-
- headerview->setStretchLastSection(true);
-- headerview->setResizeMode(QHeaderView::Interactive);
-+ headerview->setSectionResizeMode(QHeaderView::Interactive);
- headerview->setSortIndicatorShown(true);
-
- // Resize the columns
diff --git a/gnu/packages/patches/tipp10-remove-license-code.patch b/gnu/packages/patches/tipp10-remove-license-code.patch
deleted file mode 100644
index 4b7487e726..0000000000
--- a/gnu/packages/patches/tipp10-remove-license-code.patch
+++ /dev/null
@@ -1,332 +0,0 @@
-Description: Remove license dialog and license key checking
-
-https://sources.debian.net/data/main/t/tipp10/2.1.0-2/debian/patches/0002-RemoveLicenseCode
-
---- a/main.cpp
-+++ b/main.cpp
-@@ -33,7 +33,6 @@ Foundation, Inc., 51 Franklin Street, Fi
- #include "def/defines.h"
- #include "sql/connection.h"
- #include "widget/mainwindow.h"
--#include "widget/licensedialog.h"
- #include "widget/illustrationdialog.h"
-
- int main(int argc, char *argv[]) {
-@@ -59,7 +58,7 @@ int main(int argc, char *argv[]) {
- QSettings settings;
- #endif
-
-- // Read/write language, license key and show illustration flag
-+ // Read/write language and show illustration flag
- settings.beginGroup("general");
- QString languageGui = settings.value("language_gui",
- QLocale::system().name()).toString();
-@@ -101,7 +100,6 @@ int main(int argc, char *argv[]) {
- QString languageLesson = settings.value("language_lesson",
- "").toString();
-
-- QString licenseKey = settings.value("licensekey", "").toString();
- bool showIllustration = settings.value("check_illustration", true).toBool();
- bool useNativeStyle = settings.value("check_native_style", false).toBool();
- settings.endGroup();
---- a/tipp10.pro
-+++ b/tipp10.pro
-@@ -43,7 +43,6 @@ HEADERS += def/defines.h \
- widget/helpbrowser.h \
- widget/companylogo.h \
- widget/errormessage.h \
-- widget/licensedialog.h \
- widget/txtmessagedialog.h \
- widget/checkversion.h \
- sql/connection.h \
-@@ -78,7 +77,6 @@ SOURCES += main.cpp \
- widget/helpbrowser.cpp \
- widget/companylogo.cpp \
- widget/errormessage.cpp \
-- widget/licensedialog.cpp \
- widget/txtmessagedialog.cpp \
- widget/checkversion.cpp \
- sql/lessontablesql.cpp \
---- a/widget/licensedialog.cpp
-+++ /dev/null
-@@ -1,168 +0,0 @@
--/*
--Copyright (c) 2006-2009, Tom Thielicke IT Solutions
--
--This program is free software; you can redistribute it and/or
--modify it under the terms of the GNU General Public License
--as published by the Free Software Foundation; either version 2
--of the License.
--
--This program is distributed in the hope that it will be useful,
--but WITHOUT ANY WARRANTY; without even the implied warranty of
--MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
--GNU General Public License for more details.
--
--You should have received a copy of the GNU General Public License
--along with this program; if not, write to the Free Software
--Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
--02110-1301, USA.
--*/
--
--/****************************************************************
--**
--** Implementation of the LicenseDialog class
--** File name: licensedialog.cpp
--**
--****************************************************************/
--
--#include <QHBoxLayout>
--#include <QVBoxLayout>
--#include <QMessageBox>
--#include <QSettings>
--#include <QCoreApplication>
--
--#include "licensedialog.h"
--#include "def/defines.h"
--
--LicenseDialog::LicenseDialog(QWidget *parent) : QDialog(parent) {
--
-- setWindowFlags(windowFlags() ^ Qt::WindowContextHelpButtonHint);
--
-- setWindowTitle(tr("Lizenznummer"));
-- setWindowIcon(QIcon(":/img/" + QString(ICON_FILENAME)));
--
-- // Create texbox
-- createLineEdit();
--
-- // Create buttons
-- createButtons();
--
-- // Set the layout of all widgets created above
-- createLayout();
--
-- lineLicensing->setFocus();
--}
--
--void LicenseDialog::createButtons() {
-- //Buttons
-- buttonOk = new QPushButton(this);
-- buttonDemo = new QPushButton(this);
--
-- buttonOk->setText(tr("&Ok"));
-- buttonDemo->setText(tr("&Demo starten"));
-- buttonDemo->setToolTip(tr("Im Demo-Modus koennen pro Lektion nur\n"
-- "10 Schriftzeichen eingegeben werden"));
--
-- buttonOk->setDefault(true);
-- // Widget connections
-- connect(buttonOk, SIGNAL(clicked()), this, SLOT(clickOk()));
-- connect(buttonDemo, SIGNAL(clicked()), this, SLOT(clickDemo()));
--}
--
--void LicenseDialog::createLineEdit() {
--
-- lineLicensing = new QLineEdit();
-- lineLicensing->setInputMask(">NNNNNNNNNNNNNN");
--
-- labelLicensing = new QLabel(tr("Bitte geben Sie Ihre Lizenznummer "
-- "(ohne Leerzeichen) ein, "
-- "die Sie im Arbeitsbuch (Schulbuch) auf Seite 3 finden:"));
--
-- labelLicensing->setWordWrap(true);
--}
--
--void LicenseDialog::createLayout() {
-- // Button layout horizontal
-- QHBoxLayout *buttonLayoutHorizontal = new QHBoxLayout;
-- buttonLayoutHorizontal->addStretch(1);
-- buttonLayoutHorizontal->addWidget(buttonDemo);
-- buttonLayoutHorizontal->addWidget(buttonOk);
-- // Full layout of all widgets vertical
-- QVBoxLayout *mainLayout = new QVBoxLayout;
-- mainLayout->addSpacing(1);
-- mainLayout->addWidget(labelLicensing);
-- mainLayout->addSpacing(1);
-- mainLayout->addWidget(lineLicensing);
-- mainLayout->addSpacing(1);
-- mainLayout->addLayout(buttonLayoutHorizontal);
-- mainLayout->setMargin(15);
-- mainLayout->setSpacing(15);
-- // Pass layout to parent widget (this)
-- this->setLayout(mainLayout);
--}
--
--void LicenseDialog::clickOk() {
--
-- // Check license key
-- if (!checkLicenseKey(lineLicensing->text())) {
--
-- // License key is wrong
--
-- // Message to the user
-- QMessageBox::information(0, APP_NAME,
-- tr("Die eingegebene Lizenznummer ist leider nicht "
-- "korrekt.\nBitte ueberpruefen Sie die Schreibweise."));
--
-- lineLicensing->setFocus();
--
-- } else {
--
-- // License key is ok
-- writeSettings();
-- accept();
-- }
--}
--
--void LicenseDialog::clickDemo() {
-- accept();
--}
--
--bool LicenseDialog::checkLicenseKey(QString licenseKey) {
-- if (licenseKey.size() == 14 &&
-- licenseKey[0].isLetter() &&
-- licenseKey[1].isLetter() &&
-- (licenseKey.mid(2, 2) == "39" ||
-- licenseKey.mid(2, 2) == "41" ||
-- licenseKey.mid(2, 2) == "43" ||
-- licenseKey.mid(2, 2) == "49" ||
-- licenseKey.mid(2, 2) == "99") &&
-- licenseKey[4].isDigit() &&
-- licenseKey[5].isDigit() &&
-- licenseKey[6].isDigit() &&
-- licenseKey[7].isLetter() &&
-- licenseKey[8].isDigit() &&
-- licenseKey[9].isDigit() &&
-- licenseKey[10].isDigit() &&
-- licenseKey[11].isDigit() &&
-- licenseKey[12].isLetter() &&
-- licenseKey[13].isLetter()) {
--
-- return true;
-- }
-- return false;
--}
--
--void LicenseDialog::writeSettings() {
-- // Saves settings of the startwiget
-- // (uses the default constructor of QSettings, passing
-- // the application and company name see main function)
-- #if APP_PORTABLE
-- QSettings settings(QCoreApplication::applicationDirPath() +
-- "/portable/settings.ini", QSettings::IniFormat);
-- #else
-- QSettings settings;
-- #endif
--
-- settings.beginGroup("general");
-- settings.setValue("licensekey", lineLicensing->text());
-- settings.endGroup();
--}
---- a/widget/licensedialog.h
-+++ /dev/null
-@@ -1,85 +0,0 @@
--/*
--Copyright (c) 2006-2009, Tom Thielicke IT Solutions
--
--This program is free software; you can redistribute it and/or
--modify it under the terms of the GNU General Public License
--as published by the Free Software Foundation; either version 2
--of the License.
--
--This program is distributed in the hope that it will be useful,
--but WITHOUT ANY WARRANTY; without even the implied warranty of
--MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
--GNU General Public License for more details.
--
--You should have received a copy of the GNU General Public License
--along with this program; if not, write to the Free Software
--Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
--02110-1301, USA.
--*/
--
--/****************************************************************
--**
--** Definition of the LicenseDialog class
--** File name: licensedialog.h
--**
--****************************************************************/
--
--#ifndef LICENSEDIALOG_H
--#define LICENSEDIALOG_H
--
--#include <QDialog>
--#include <QWidget>
--#include <QPushButton>
--#include <QLabel>
--#include <QLineEdit>
--#include <QString>
--
--//! The LicenseDialog class provides a license input widget.
--/*!
-- The LicenseDialog class shows a dialog to enter a license key.
--
-- @author Tom Thielicke, s712715
-- @version 0.0.1
-- @date 09.09.2008
--*/
--class LicenseDialog : public QDialog {
-- Q_OBJECT
--
-- public:
--
-- //! Constructor, creates two table objects and provide it in two tabs.
-- LicenseDialog(QWidget *parent = 0);
--
-- bool checkLicenseKey(QString licenseKey);
--
-- public slots:
--
-- private slots:
--
-- //! Start button pressed
-- void clickOk();
--
-- //! Demo button pressed
-- void clickDemo();
--
-- private:
--
-- //! Creates a cancel and a ok button.
-- void createButtons();
--
-- //! Creates a textbox.
-- void createLineEdit();
--
-- //! Creates the layout of the complete class.
-- void createLayout();
--
-- //! Writes user settings
-- void writeSettings();
--
-- QPushButton *buttonOk;
-- QPushButton *buttonDemo;
-- QLabel *labelLicensing;
-- QLineEdit *lineLicensing;
--};
--
--#endif //LICENSEDIALOG_H
---- a/widget/mainwindow.cpp
-+++ b/widget/mainwindow.cpp
-@@ -116,11 +116,6 @@ void MainWindow::closeEvent(QCloseEvent
- }
- }
-
--bool MainWindow::checkLicenseKey(QString licenseKey) {
--
-- return false;
--}
--
- void MainWindow::createMenu() {
- //Mac-Version:
- //-----------
---- a/widget/mainwindow.h
-+++ b/widget/mainwindow.h
-@@ -39,7 +39,6 @@ Foundation, Inc., 51 Franklin Street, Fi
- #include "trainingwidget.h"
- #include "evaluationwidget.h"
- #include "illustrationdialog.h"
--#include "licensedialog.h"
- #include "games/abcrainwidget.h"
- #include "helpbrowser.h"
-