summaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages')
-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
5 files changed, 19 insertions, 816 deletions
diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm
index d1e220ebcd7..61fc9945fac 100644
--- a/gnu/packages/education.scm
+++ b/gnu/packages/education.scm
@@ -11,6 +11,7 @@
11;;; Copyright © 2020 Prafulla Giri <pratheblackdiamond@gmail.com> 11;;; Copyright © 2020 Prafulla Giri <pratheblackdiamond@gmail.com>
12;;; Copyright © 2021 Nicolò Balzarotti <nicolo@nixo.xyz> 12;;; Copyright © 2021 Nicolò Balzarotti <nicolo@nixo.xyz>
13;;; Copyright © 2022 Luis Felipe López Acevedo <luis.felipe.la@protonmail.com> 13;;; Copyright © 2022 Luis Felipe López Acevedo <luis.felipe.la@protonmail.com>
14;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
14;;; 15;;;
15;;; This file is part of GNU Guix. 16;;; This file is part of GNU Guix.
16;;; 17;;;
@@ -266,47 +267,24 @@ frequently used words in American English.")
266(define-public tipp10 267(define-public tipp10
267 (package 268 (package
268 (name "tipp10") 269 (name "tipp10")
269 (version "2.1.0") 270 (version "3.3.0")
270 (source (origin 271 (source (origin
271 (method url-fetch) 272 (method git-fetch)
272 ;; guix download is not able to handle the download links on the 273 ;; Use the community maintained Qt 6 fork of the project, as the
273 ;; home-page, which use '<meta http-equiv="refresh" …>' 274 ;; original software is now developed as a web application. The
274 (uri (string-append "mirror://debian/pool/main/" 275 ;; latest official version was 2.1.0.
275 "t/tipp10/tipp10_2.1.0.orig.tar.gz")) 276 (uri (git-reference
277 (url "https://gitlab.com/tipp10/tipp10.git")
278 (commit (string-append "v" version))))
279 (file-name (git-file-name name version))
276 (sha256 280 (sha256
277 (base32 281 (base32
278 "0d387b404j88gsv6kv0rb7wxr23v5g5vl6s5l7602x8pxf7slbbx")) 282 "138xf55csnq53mlkhj50g9bacay8kxz6p9vnzd7jyv6rq1xch5nq"))))
279 ;; Apply patches in the order determined by Debian 283 (build-system qt-build-system)
280 (patches (search-patches "tipp10-fix-compiling.patch" 284 (arguments (list #:qtbase qtbase ;qtbase 6
281 "tipp10-remove-license-code.patch" 285 #:tests? #f)) ;packages has no tests
282 "tipp10-disable-downloader.patch" 286 (inputs (list qtbase qtmultimedia))
283 "tipp10-qt5.patch")))) 287 (home-page "https://www.tipp10.com/en/")
284 (build-system cmake-build-system)
285 (arguments
286 `(#:tests? #f ; packages has no tests
287 #:phases
288 (modify-phases %standard-phases
289 (add-after 'unpack 'disable-new-version-check
290 (lambda _
291 ;; Make new version check to default to false.
292 ;; TODO: Remove the checkbox from the dialog and the check itself
293 (substitute* '("widget/settingspages.cpp" "widget/mainwindow.cpp")
294 (("settings.value(\"check_new_version\", true)")
295 "settings.value(\"check_new_version\", false)"))
296 #t))
297 (replace 'configure
298 (lambda* (#:key outputs #:allow-other-keys)
299 (let ((out (assoc-ref outputs "out")))
300 ;; Make program honor $PREFIX
301 (substitute* "tipp10.pro"
302 (("\\.path = /usr/") (string-append ".path = " out "/")))
303 (substitute* "def/defines.h"
304 (("\"/usr/") (string-append "\"" out "/")))
305 ;; Recreate Makefile
306 (invoke "qmake")))))))
307 (inputs
308 (list qtbase-5 qtmultimedia-5))
309 (home-page "https://www.tipp10.com/")
310 (synopsis "Touch typing tutor") 288 (synopsis "Touch typing tutor")
311 (description "Tipp10 is a touch typing tutor. The ingenious thing about 289 (description "Tipp10 is a touch typing tutor. The ingenious thing about
312the software is its intelligence feature: characters that are mistyped are 290the software is its intelligence feature: characters that are mistyped are
@@ -316,6 +294,9 @@ they can start practicing without a hitch.
316Useful support functions and an extensive progress tracker, topical lessons 294Useful support functions and an extensive progress tracker, topical lessons
317and the ability to create your own practice lessons make learning to type 295and the ability to create your own practice lessons make learning to type
318easy.") 296easy.")
297 ;; XXX: The LICENSE file mentions 'or later', but the source license
298 ;; headers have been modified to mention only "either version 2 of the
299 ;; License", which is not quite clear.
319 (license license:gpl2))) 300 (license license:gpl2)))
320 301
321(define-public snap 302(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 4917a927f97..00000000000
--- a/gnu/packages/patches/tipp10-disable-downloader.patch
+++ /dev/null
@@ -1,165 +0,0 @@
1https://salsa.debian.org/debian/tipp10/-/raw/debian/2.1.0-5/debian/patches/disable_downloaders.patch
2
3Author: Reiner Herrmann <reiner@reiner-h.de>
4Description: Disable downloaders
5 This makes porting to Qt5 much easier, as QHttp is no longer available.
6 But the functionality was not enabled anyway or is no longer useful.
7 .
8 - checkversion.h/.cpp:
9 At startup (while loading settings), Tipp10 "phones home" to do an
10 update check (www.tipp10.com/update/version.tipp10v210).
11 For a packaged software and one that is no longer being developed,
12 this does not make much sense.
13 - updatedialog.h/.cpp:
14 Can download newer sqlite database (www.tipp10.com/update/sql.tipp10v210.utf),
15 but this file is no longer available on the server (404).
16 The update action has also not been enabled in the menu, so the update
17 functionality was currently not active:
18 widget/mainwindow.cpp:143: //fileMenu->addAction(updateAction);
19 - downloaddialog.h/.cpp:
20 Allows downloading lessons from user-specified location.
21 But the action (widget/startwidget.cpp -> lessonDownload) has not been part
22 of any menu, so it was also not in use.
23
24--- a/tipp10.pro
25+++ b/tipp10.pro
26@@ -15,7 +15,6 @@
27 INCLUDEPATH += .
28 CONFIG += qt
29 QT += sql
30-QT += network
31 RC_FILE += tipp10.rc
32 RESOURCES += tipp10.qrc
33 HEADERS += def/defines.h \
34@@ -36,15 +35,12 @@
35 widget/settingspages.h \
36 widget/lessondialog.h \
37 widget/regexpdialog.h \
38- widget/downloaddialog.h \
39 widget/lessonprintdialog.h \
40 widget/lessonresult.h \
41- widget/updatedialog.h \
42 widget/helpbrowser.h \
43 widget/companylogo.h \
44 widget/errormessage.h \
45 widget/txtmessagedialog.h \
46- widget/checkversion.h \
47 sql/connection.h \
48 sql/lessontablesql.h \
49 sql/chartablesql.h \
50@@ -70,15 +66,12 @@
51 widget/settingspages.cpp \
52 widget/lessondialog.cpp \
53 widget/regexpdialog.cpp \
54- widget/downloaddialog.cpp \
55 widget/lessonprintdialog.cpp \
56 widget/lessonresult.cpp \
57- widget/updatedialog.cpp \
58 widget/helpbrowser.cpp \
59 widget/companylogo.cpp \
60 widget/errormessage.cpp \
61 widget/txtmessagedialog.cpp \
62- widget/checkversion.cpp \
63 sql/lessontablesql.cpp \
64 sql/chartablesql.cpp \
65 sql/trainingsql.cpp \
66--- a/widget/mainwindow.cpp
67+++ b/widget/mainwindow.cpp
68@@ -41,11 +41,9 @@
69
70 #include "mainwindow.h"
71 #include "settingsdialog.h"
72-#include "updatedialog.h"
73 #include "def/defines.h"
74 #include "def/errordefines.h"
75 #include "errormessage.h"
76-#include "checkversion.h"
77
78 MainWindow::MainWindow() {
79 trainingStarted = false;
80@@ -214,8 +212,8 @@
81 }
82
83 void MainWindow::showUpdate() {
84- UpdateDialog updateDialog(this);
85- updateDialog.exec();
86+ //UpdateDialog updateDialog(this);
87+ //updateDialog.exec();
88 // Fill lesson list after online update
89 startWidget->fillLessonList(false);
90 }
91@@ -486,6 +484,7 @@
92 settings.endGroup();
93
94 settings.beginGroup("general");
95+#if 0
96 if (settings.value("check_new_version", true).toBool()) {
97
98 QDate lastVersionCheck = settings.value("last_version_check").toDate();
99@@ -499,6 +498,7 @@
100 }
101 settings.setValue("last_version_check", today);
102 }
103+#endif
104 settings.endGroup();
105 }
106
107--- a/widget/settingspages.cpp
108+++ b/widget/settingspages.cpp
109@@ -581,7 +581,7 @@
110
111 // Layout of group box vertical
112 QVBoxLayout *layout = new QVBoxLayout;
113- layout->addWidget(checkNewVersion);
114+ //layout->addWidget(checkNewVersion);
115 layout->addSpacing(1);
116 layout->addWidget(checkNativeStyle);
117 layout->setMargin(16);
118@@ -610,7 +610,6 @@
119 checkIntelligence->setChecked(settings.value("check_toggle_intelligence", true).toBool());
120 checkLimitLesson->setChecked(settings.value("check_limit_lesson", true).toBool());
121 checkLessonPublish->setChecked(settings.value("check_lesson_publish", true).toBool());
122- checkNewVersion->setChecked(settings.value("check_new_version", true).toBool());
123 checkNativeStyle->setChecked(settings.value("check_native_style", false).toBool());
124 settings.endGroup();
125 }
126@@ -636,7 +635,6 @@
127 settings.setValue("check_limit_lesson", checkLimitLesson->isChecked());
128 settings.setValue("check_lesson_publish", checkLessonPublish->isChecked());
129 settings.setValue("check_native_style", checkNativeStyle->isChecked());
130- settings.setValue("check_new_version", checkNewVersion->isChecked());
131 settings.endGroup();
132
133 return requireRestart;
134--- a/widget/startwidget.cpp
135+++ b/widget/startwidget.cpp
136@@ -43,12 +43,10 @@
137
138 #include "startwidget.h"
139 #include "sql/startsql.h"
140-#include "updatedialog.h"
141 #include "def/defines.h"
142 #include "def/errordefines.h"
143 #include "errormessage.h"
144 #include "lessondialog.h"
145-#include "downloaddialog.h"
146 #include "illustrationdialog.h"
147 #include "txtmessagedialog.h"
148
149@@ -1048,7 +1046,7 @@
150 }
151
152 void StartWidget::clickDownloadLesson() {
153-
154+#if 0
155 QStringList lessonData;
156
157 DownloadDialog downloadDialog(&lessonData, this);
158@@ -1083,6 +1081,7 @@
159 }
160 }
161 }
162+#endif
163 }
164
165 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 3a34a98b224..00000000000
--- a/gnu/packages/patches/tipp10-fix-compiling.patch
+++ /dev/null
@@ -1,212 +0,0 @@
1Description: Debian patches to make tipp10 compile
2Author: Christoph Martin <chrism@debian.org>
3Last-Update: 2016-07-20
4
5https://sources.debian.net/data/main/t/tipp10/2.1.0-2/debian/patches/0001-FixCompiling
6
7--- a/widget/tickerboard.cpp
8+++ b/widget/tickerboard.cpp
9@@ -97,7 +97,8 @@ void TickerBoard::startTicker(bool wasPa
10
11 if (tickerSpeed == 50) {
12 scrollOffset = 290;
13- scroll(-290, 0, QRect::QRect(10, 15, 590, 35)); //contentsRect());
14+ const QRect qr = QRect(10, 15, 590, 35);
15+ scroll(-290, 0, qr); //contentsRect());
16 }
17
18 startFlag = true;
19@@ -153,7 +154,8 @@ void TickerBoard::changeChar() {
20 scrollOffset = 0;
21 } else {
22 scrollOffset = 290;
23- scroll(-290, 0, QRect::QRect(10, 15, 590, 35)); //contentsRect());
24+ const QRect qr = QRect(10, 15, 590, 35);
25+ scroll(-290, 0, qr); //contentsRect());
26 }
27 splitLesson();
28 }
29@@ -242,7 +244,8 @@ void TickerBoard::progress() {
30
31 // Move ticker 1 pixel to left
32 scrollOffset++;
33- scroll(-1, 0, QRect::QRect(10, 15, 590, 35)); //contentsRect());
34+ const QRect qr = QRect(10, 15, 590, 35);
35+ scroll(-1, 0, qr); //contentsRect());
36
37 if ((lessonOffset - scrollOffset) <= 30) {
38 setSpeed(tickerSpeed);
39@@ -265,14 +268,16 @@ void TickerBoard::progress() {
40 // 160 pixels overage (because the user must see at least the next word)
41 if ((lessonOffset - scrollOffset) > 200) {
42 scrollOffset += (lessonOffset - scrollOffset) - 200;
43- scroll(-((lessonOffset - scrollOffset) - 200), 0, QRect::QRect(10, 15, 590, 35)); //contentsRect());
44+ const QRect qr = QRect(10, 15, 590, 35);
45+ scroll(-((lessonOffset - scrollOffset) - 200), 0, qr); //contentsRect());
46 }
47 } else {
48 // If the user types faster than the ticker, move ticker faster after
49 // 160 pixels overage (because the user must see at least the next word)
50 if ((lessonOffset - scrollOffset) > 280) {
51 scrollOffset += 570;
52- scroll(-570, 0, QRect::QRect(10, 15, 590, 35)); //contentsRect());
53+ const QRect qr = QRect(10, 15, 590, 35);
54+ scroll(-570, 0, qr); //contentsRect());
55 }
56
57 }
58--- a/widget/settingspages.cpp
59+++ b/widget/settingspages.cpp
60@@ -501,7 +501,7 @@ void DatabasePage::writeSettings() {
61 QSettings settings;
62 #endif
63 settings.beginGroup("database");
64- settings.setValue("pathpro", lineDatabasePath->text() + "/" + QString::QString(APP_USER_DB));
65+ settings.setValue("pathpro", lineDatabasePath->text() + "/" + QString(APP_USER_DB));
66 settings.endGroup();
67 }
68
69--- a/widget/lessondialog.cpp
70+++ b/widget/lessondialog.cpp
71@@ -89,7 +89,7 @@ void LessonDialog::updateContent() {
72 *lessonData = lineLessonContent->toPlainText().split("\n", QString::SkipEmptyParts);
73 // Delete empty lines
74 for (int i = 0; i < lessonData->size(); i++) {
75- if (QString::QString(lessonData->at(i).toLocal8Bit().constData()).simplified() == "") {
76+ if (QString(lessonData->at(i).toLocal8Bit().constData()).simplified() == "") {
77 lessonData->removeAt(i);
78 }
79 }
80@@ -259,7 +259,7 @@ void LessonDialog::clickSave() {
81 contentList = lineLessonContent->toPlainText().split("\n", QString::SkipEmptyParts);
82 // Delete empty lines
83 for (i = 0; i < contentList.size(); i++) {
84- if (QString::QString(contentList.at(i).toLocal8Bit().constData()).simplified() == "") {
85+ if (QString(contentList.at(i).toLocal8Bit().constData()).simplified() == "") {
86 contentList.removeAt(i);
87 }
88 }
89--- a/sql/chartablesql.cpp
90+++ b/sql/chartablesql.cpp
91@@ -57,7 +57,7 @@ QVariant CharSqlModel::data(const QModel
92 // Read the unicode value
93 unicode = value.toInt();
94 // Convert unicode to a char
95- unicodeToChar = QString::QString(QChar(unicode)); //"\'" + QString::QString(QChar(unicode)) + "\'";
96+ unicodeToChar = QString(QChar(unicode)); //"\'" + QString::QString(QChar(unicode)) + "\'";
97 return unicodeToChar;
98 } else {
99 // Last column (error weight)
100--- a/sql/startsql.cpp
101+++ b/sql/startsql.cpp
102@@ -344,7 +344,7 @@ bool StartSql::updateOwnLesson(QString l
103 for (i = 0; i < content.size(); i++) {
104 //simplifiedContent = QString::QString(
105 // content.at(i)).replace(QChar(0x27), "''", Qt::CaseSensitive).simplified();
106- simplifiedContent = trim(QString::QString(
107+ simplifiedContent = trim(QString(
108 content.at(i)).replace(QChar(0x27), "''", Qt::CaseSensitive));
109
110 if (!query.exec("INSERT INTO own_content VALUES(NULL,'" +
111--- a/def/defines.h
112+++ b/def/defines.h
113@@ -27,9 +27,9 @@ Foundation, Inc., 51 Franklin Street, Fi
114 #define DEFINES_H
115
116 // OS constants
117-#define APP_WIN true
118+#define APP_WIN false
119 #define APP_MAC false
120-#define APP_X11 false
121+#define APP_X11 true
122 #define APP_PORTABLE false //at least one of the 3 OS must be true too!
123
124 // Languages
125@@ -47,6 +47,7 @@ Foundation, Inc., 51 Franklin Street, Fi
126 #define APP_URL "http://www.tipp10.com"
127 #define APP_DB "tipp10v2.template"
128 #define APP_USER_DB "tipp10v2.db"
129+#define APP_SHARE_DIR "/usr/share/tipp10"
130
131 // Update constants
132 #define UPDATE_URL "www.tipp10.com"
133--- a/tipp10.pro
134+++ b/tipp10.pro
135@@ -88,3 +88,15 @@ SOURCES += main.cpp \
136 sql/startsql.cpp \
137 games/abcrainwidget.cpp \
138 games/charball.cpp
139+
140+target.path = /usr/bin/
141+INSTALLS += target
142+share.path = /usr/share/tipp10/
143+share.files = release/* *wav
144+INSTALLS += share
145+desktop.path = /usr/share/applications/
146+desktop.files = tipp10.desktop
147+INSTALLS += desktop
148+pixmap.path = /usr/share/pixmaps/
149+pixmap.files = tipp10.png
150+INSTALLS += pixmap
151--- a/sql/connection.h
152+++ b/sql/connection.h
153@@ -179,11 +179,13 @@ static bool createConnection() {
154 CANCEL_NO, "Betroffener Pfad:\n" + dbPath);*/
155 // Try to create new databae in user path
156 // Exist a database in the program dir?
157- if (QFile::exists(QCoreApplication::applicationDirPath() + "/" + dbNameTemplate)) {
158+ // if (QFile::exists(QCoreApplication::applicationDirPath() + "/" + dbNameTemplate)) {
159+ if (QFile::exists(QString(APP_SHARE_DIR) + "/" + dbNameTemplate)) {
160 //if (QFile::exists(":/" + dbNameTemplate)) {
161 // A database exist in the program dir
162 // -> copy database to user home dir
163- QFile file(QCoreApplication::applicationDirPath() + "/" + dbNameTemplate);
164+ // QFile file(QCoreApplication::applicationDirPath() + "/" + dbNameTemplate);
165+ QFile file(QString(APP_SHARE_DIR) + "/" + dbNameTemplate);
166 //QFile file(":/" + dbNameTemplate);
167 if (file.copy(dbPath)) {
168 QFile::setPermissions(dbPath, QFile::permissions(dbPath) | QFile::WriteUser);
169@@ -229,7 +231,8 @@ static bool createConnection() {
170 // Exist a database in user's home dir?
171 if (!QFile::exists(dbPath)) {
172 // Exist a database template in the program dir?
173- dbPath = QCoreApplication::applicationDirPath() + "/" + dbNameTemplate;
174+ // dbPath = QCoreApplication::applicationDirPath() + "/" + dbNameTemplate;
175+ dbPath = QString(APP_SHARE_DIR) + "/" + dbNameTemplate;
176 //dbPath = ":/" + dbNameTemplate;
177 if (QFile::exists(dbPath)) {
178 // A database template exist in the program dir
179--- a/widget/helpbrowser.cpp
180+++ b/widget/helpbrowser.cpp
181@@ -52,13 +52,15 @@ HelpBrowser::HelpBrowser(QString link, Q
182 textBrowser->setOpenExternalLinks(true);
183
184 textBrowser->setSource(QString("file:///") +
185- QCoreApplication::applicationDirPath() +
186+ // QCoreApplication::applicationDirPath() +
187+ APP_SHARE_DIR +
188 QString("/help/") + language + QString("/index.html"));
189
190 if (link != "") {
191
192 textBrowser->setSource(QString("file:///") +
193- QCoreApplication::applicationDirPath() +
194+ // QCoreApplication::applicationDirPath() +
195+ APP_SHARE_DIR +
196 QString("/help/") + language + QString("/content/") + link);
197
198 }
199--- a/tipp10.desktop
200+++ b/tipp10.desktop
201@@ -1,10 +1,10 @@
202 [Desktop Entry]
203-Encoding=UTF-8
204 Name=TIPP10
205 Comment=Touch Typing Tutor
206 Comment[de]=10-Finger-Schreibtrainer
207 Exec=tipp10
208 Icon=tipp10.png
209 Terminal=false
210 Type=Application
211 Categories=Education;
212+Keywords=learning;touchtyping
diff --git a/gnu/packages/patches/tipp10-qt5.patch b/gnu/packages/patches/tipp10-qt5.patch
deleted file mode 100644
index 34ad5cd7083..00000000000
--- a/gnu/packages/patches/tipp10-qt5.patch
+++ /dev/null
@@ -1,69 +0,0 @@
1https://salsa.debian.org/debian/tipp10/-/raw/debian/2.1.0-5/debian/patches/qt5.patch
2
3Author: Reiner Herrmann <reiner@reiner-h.de>
4Description: Port to Qt5
5Bug-Debian: https://bugs.debian.org/875207
6
7--- a/tipp10.pro
8+++ b/tipp10.pro
9@@ -14,6 +14,7 @@
10 DEPENDPATH += .
11 INCLUDEPATH += .
12 CONFIG += qt
13+QT += widgets multimedia printsupport
14 QT += sql
15 RC_FILE += tipp10.rc
16 RESOURCES += tipp10.qrc
17--- a/main.cpp
18+++ b/main.cpp
19@@ -24,7 +24,6 @@
20 ****************************************************************/
21
22 #include <QApplication>
23-#include <QPlastiqueStyle>
24 #include <QString>
25 #include <QSettings>
26 #include <QCoreApplication>
27@@ -212,7 +211,7 @@
28
29 // Set windows style
30 if (!useNativeStyle) {
31- app.setStyle("plastique");
32+ app.setStyle("fusion");
33 }
34
35 // Translation
36--- a/games/abcrainwidget.cpp
37+++ b/games/abcrainwidget.cpp
38@@ -235,8 +235,7 @@
39 charballs.last()->wind = (qrand() % 8) + 2;
40 charballs.last()->rad = 0;
41
42- chartext.append(new QGraphicsTextItem(QString(characterTemp),
43- charballs.last(), scene));
44+ chartext.append(new QGraphicsTextItem(QString(characterTemp), charballs.last()));
45 chartext.last()->setFont(QFont("Courier", 16, 100));
46 chartext.last()->setPos(-(chartext.last()->boundingRect().width() / 2), -(chartext.last()->boundingRect().height() / 2));
47
48--- a/sql/chartablesql.cpp
49+++ b/sql/chartablesql.cpp
50@@ -137,7 +137,7 @@
51 sortColumn(4);
52
53 headerview->setStretchLastSection(true);
54- headerview->setResizeMode(QHeaderView::Interactive);
55+ headerview->setSectionResizeMode(QHeaderView::Interactive);
56 headerview->setSortIndicatorShown(true);
57
58 // Resize the columns
59--- a/sql/lessontablesql.cpp
60+++ b/sql/lessontablesql.cpp
61@@ -202,7 +202,7 @@
62 sortColumn(-1);
63
64 headerview->setStretchLastSection(true);
65- headerview->setResizeMode(QHeaderView::Interactive);
66+ headerview->setSectionResizeMode(QHeaderView::Interactive);
67 headerview->setSortIndicatorShown(true);
68
69 // 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 4b7487e726c..00000000000
--- a/gnu/packages/patches/tipp10-remove-license-code.patch
+++ /dev/null
@@ -1,332 +0,0 @@
1Description: Remove license dialog and license key checking
2
3https://sources.debian.net/data/main/t/tipp10/2.1.0-2/debian/patches/0002-RemoveLicenseCode
4
5--- a/main.cpp
6+++ b/main.cpp
7@@ -33,7 +33,6 @@ Foundation, Inc., 51 Franklin Street, Fi
8 #include "def/defines.h"
9 #include "sql/connection.h"
10 #include "widget/mainwindow.h"
11-#include "widget/licensedialog.h"
12 #include "widget/illustrationdialog.h"
13
14 int main(int argc, char *argv[]) {
15@@ -59,7 +58,7 @@ int main(int argc, char *argv[]) {
16 QSettings settings;
17 #endif
18
19- // Read/write language, license key and show illustration flag
20+ // Read/write language and show illustration flag
21 settings.beginGroup("general");
22 QString languageGui = settings.value("language_gui",
23 QLocale::system().name()).toString();
24@@ -101,7 +100,6 @@ int main(int argc, char *argv[]) {
25 QString languageLesson = settings.value("language_lesson",
26 "").toString();
27
28- QString licenseKey = settings.value("licensekey", "").toString();
29 bool showIllustration = settings.value("check_illustration", true).toBool();
30 bool useNativeStyle = settings.value("check_native_style", false).toBool();
31 settings.endGroup();
32--- a/tipp10.pro
33+++ b/tipp10.pro
34@@ -43,7 +43,6 @@ HEADERS += def/defines.h \
35 widget/helpbrowser.h \
36 widget/companylogo.h \
37 widget/errormessage.h \
38- widget/licensedialog.h \
39 widget/txtmessagedialog.h \
40 widget/checkversion.h \
41 sql/connection.h \
42@@ -78,7 +77,6 @@ SOURCES += main.cpp \
43 widget/helpbrowser.cpp \
44 widget/companylogo.cpp \
45 widget/errormessage.cpp \
46- widget/licensedialog.cpp \
47 widget/txtmessagedialog.cpp \
48 widget/checkversion.cpp \
49 sql/lessontablesql.cpp \
50--- a/widget/licensedialog.cpp
51+++ /dev/null
52@@ -1,168 +0,0 @@
53-/*
54-Copyright (c) 2006-2009, Tom Thielicke IT Solutions
55-
56-This program is free software; you can redistribute it and/or
57-modify it under the terms of the GNU General Public License
58-as published by the Free Software Foundation; either version 2
59-of the License.
60-
61-This program is distributed in the hope that it will be useful,
62-but WITHOUT ANY WARRANTY; without even the implied warranty of
63-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
64-GNU General Public License for more details.
65-
66-You should have received a copy of the GNU General Public License
67-along with this program; if not, write to the Free Software
68-Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
69-02110-1301, USA.
70-*/
71-
72-/****************************************************************
73-**
74-** Implementation of the LicenseDialog class
75-** File name: licensedialog.cpp
76-**
77-****************************************************************/
78-
79-#include <QHBoxLayout>
80-#include <QVBoxLayout>
81-#include <QMessageBox>
82-#include <QSettings>
83-#include <QCoreApplication>
84-
85-#include "licensedialog.h"
86-#include "def/defines.h"
87-
88-LicenseDialog::LicenseDialog(QWidget *parent) : QDialog(parent) {
89-
90- setWindowFlags(windowFlags() ^ Qt::WindowContextHelpButtonHint);
91-
92- setWindowTitle(tr("Lizenznummer"));
93- setWindowIcon(QIcon(":/img/" + QString(ICON_FILENAME)));
94-
95- // Create texbox
96- createLineEdit();
97-
98- // Create buttons
99- createButtons();
100-
101- // Set the layout of all widgets created above
102- createLayout();
103-
104- lineLicensing->setFocus();
105-}
106-
107-void LicenseDialog::createButtons() {
108- //Buttons
109- buttonOk = new QPushButton(this);
110- buttonDemo = new QPushButton(this);
111-
112- buttonOk->setText(tr("&Ok"));
113- buttonDemo->setText(tr("&Demo starten"));
114- buttonDemo->setToolTip(tr("Im Demo-Modus koennen pro Lektion nur\n"
115- "10 Schriftzeichen eingegeben werden"));
116-
117- buttonOk->setDefault(true);
118- // Widget connections
119- connect(buttonOk, SIGNAL(clicked()), this, SLOT(clickOk()));
120- connect(buttonDemo, SIGNAL(clicked()), this, SLOT(clickDemo()));
121-}
122-
123-void LicenseDialog::createLineEdit() {
124-
125- lineLicensing = new QLineEdit();
126- lineLicensing->setInputMask(">NNNNNNNNNNNNNN");
127-
128- labelLicensing = new QLabel(tr("Bitte geben Sie Ihre Lizenznummer "
129- "(ohne Leerzeichen) ein, "
130- "die Sie im Arbeitsbuch (Schulbuch) auf Seite 3 finden:"));
131-
132- labelLicensing->setWordWrap(true);
133-}
134-
135-void LicenseDialog::createLayout() {
136- // Button layout horizontal
137- QHBoxLayout *buttonLayoutHorizontal = new QHBoxLayout;
138- buttonLayoutHorizontal->addStretch(1);
139- buttonLayoutHorizontal->addWidget(buttonDemo);
140- buttonLayoutHorizontal->addWidget(buttonOk);
141- // Full layout of all widgets vertical
142- QVBoxLayout *mainLayout = new QVBoxLayout;
143- mainLayout->addSpacing(1);
144- mainLayout->addWidget(labelLicensing);
145- mainLayout->addSpacing(1);
146- mainLayout->addWidget(lineLicensing);
147- mainLayout->addSpacing(1);
148- mainLayout->addLayout(buttonLayoutHorizontal);
149- mainLayout->setMargin(15);
150- mainLayout->setSpacing(15);
151- // Pass layout to parent widget (this)
152- this->setLayout(mainLayout);
153-}
154-
155-void LicenseDialog::clickOk() {
156-
157- // Check license key
158- if (!checkLicenseKey(lineLicensing->text())) {
159-
160- // License key is wrong
161-
162- // Message to the user
163- QMessageBox::information(0, APP_NAME,
164- tr("Die eingegebene Lizenznummer ist leider nicht "
165- "korrekt.\nBitte ueberpruefen Sie die Schreibweise."));
166-
167- lineLicensing->setFocus();
168-
169- } else {
170-
171- // License key is ok
172- writeSettings();
173- accept();
174- }
175-}
176-
177-void LicenseDialog::clickDemo() {
178- accept();
179-}
180-
181-bool LicenseDialog::checkLicenseKey(QString licenseKey) {
182- if (licenseKey.size() == 14 &&
183- licenseKey[0].isLetter() &&
184- licenseKey[1].isLetter() &&
185- (licenseKey.mid(2, 2) == "39" ||
186- licenseKey.mid(2, 2) == "41" ||
187- licenseKey.mid(2, 2) == "43" ||
188- licenseKey.mid(2, 2) == "49" ||
189- licenseKey.mid(2, 2) == "99") &&
190- licenseKey[4].isDigit() &&
191- licenseKey[5].isDigit() &&
192- licenseKey[6].isDigit() &&
193- licenseKey[7].isLetter() &&
194- licenseKey[8].isDigit() &&
195- licenseKey[9].isDigit() &&
196- licenseKey[10].isDigit() &&
197- licenseKey[11].isDigit() &&
198- licenseKey[12].isLetter() &&
199- licenseKey[13].isLetter()) {
200-
201- return true;
202- }
203- return false;
204-}
205-
206-void LicenseDialog::writeSettings() {
207- // Saves settings of the startwiget
208- // (uses the default constructor of QSettings, passing
209- // the application and company name see main function)
210- #if APP_PORTABLE
211- QSettings settings(QCoreApplication::applicationDirPath() +
212- "/portable/settings.ini", QSettings::IniFormat);
213- #else
214- QSettings settings;
215- #endif
216-
217- settings.beginGroup("general");
218- settings.setValue("licensekey", lineLicensing->text());
219- settings.endGroup();
220-}
221--- a/widget/licensedialog.h
222+++ /dev/null
223@@ -1,85 +0,0 @@
224-/*
225-Copyright (c) 2006-2009, Tom Thielicke IT Solutions
226-
227-This program is free software; you can redistribute it and/or
228-modify it under the terms of the GNU General Public License
229-as published by the Free Software Foundation; either version 2
230-of the License.
231-
232-This program is distributed in the hope that it will be useful,
233-but WITHOUT ANY WARRANTY; without even the implied warranty of
234-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
235-GNU General Public License for more details.
236-
237-You should have received a copy of the GNU General Public License
238-along with this program; if not, write to the Free Software
239-Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
240-02110-1301, USA.
241-*/
242-
243-/****************************************************************
244-**
245-** Definition of the LicenseDialog class
246-** File name: licensedialog.h
247-**
248-****************************************************************/
249-
250-#ifndef LICENSEDIALOG_H
251-#define LICENSEDIALOG_H
252-
253-#include <QDialog>
254-#include <QWidget>
255-#include <QPushButton>
256-#include <QLabel>
257-#include <QLineEdit>
258-#include <QString>
259-
260-//! The LicenseDialog class provides a license input widget.
261-/*!
262- The LicenseDialog class shows a dialog to enter a license key.
263-
264- @author Tom Thielicke, s712715
265- @version 0.0.1
266- @date 09.09.2008
267-*/
268-class LicenseDialog : public QDialog {
269- Q_OBJECT
270-
271- public:
272-
273- //! Constructor, creates two table objects and provide it in two tabs.
274- LicenseDialog(QWidget *parent = 0);
275-
276- bool checkLicenseKey(QString licenseKey);
277-
278- public slots:
279-
280- private slots:
281-
282- //! Start button pressed
283- void clickOk();
284-
285- //! Demo button pressed
286- void clickDemo();
287-
288- private:
289-
290- //! Creates a cancel and a ok button.
291- void createButtons();
292-
293- //! Creates a textbox.
294- void createLineEdit();
295-
296- //! Creates the layout of the complete class.
297- void createLayout();
298-
299- //! Writes user settings
300- void writeSettings();
301-
302- QPushButton *buttonOk;
303- QPushButton *buttonDemo;
304- QLabel *labelLicensing;
305- QLineEdit *lineLicensing;
306-};
307-
308-#endif //LICENSEDIALOG_H
309--- a/widget/mainwindow.cpp
310+++ b/widget/mainwindow.cpp
311@@ -116,11 +116,6 @@ void MainWindow::closeEvent(QCloseEvent
312 }
313 }
314
315-bool MainWindow::checkLicenseKey(QString licenseKey) {
316-
317- return false;
318-}
319-
320 void MainWindow::createMenu() {
321 //Mac-Version:
322 //-----------
323--- a/widget/mainwindow.h
324+++ b/widget/mainwindow.h
325@@ -39,7 +39,6 @@ Foundation, Inc., 51 Franklin Street, Fi
326 #include "trainingwidget.h"
327 #include "evaluationwidget.h"
328 #include "illustrationdialog.h"
329-#include "licensedialog.h"
330 #include "games/abcrainwidget.h"
331 #include "helpbrowser.h"
332