me
/
guix
Archived
1
0
Fork 0

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.
master
Maxim Cournoyer 2023-09-22 22:31:15 -04:00
parent ec130e1a1b
commit 7e82d4e19f
No known key found for this signature in database
GPG Key ID: 1260E46482E63562
6 changed files with 19 additions and 820 deletions

View File

@ -2016,10 +2016,6 @@ dist_patch_DATA = \
%D%/packages/patches/tidy-CVE-2015-5522+5523.patch \ %D%/packages/patches/tidy-CVE-2015-5522+5523.patch \
%D%/packages/patches/timewarrior-time-sensitive-tests.patch \ %D%/packages/patches/timewarrior-time-sensitive-tests.patch \
%D%/packages/patches/tinyxml-use-stl.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/tk-find-library.patch \
%D%/packages/patches/tla2tools-build-xml.patch \ %D%/packages/patches/tla2tools-build-xml.patch \
%D%/packages/patches/tlf-support-hamlib-4.2+.patch \ %D%/packages/patches/tlf-support-hamlib-4.2+.patch \

View File

@ -11,6 +11,7 @@
;;; Copyright © 2020 Prafulla Giri <pratheblackdiamond@gmail.com> ;;; Copyright © 2020 Prafulla Giri <pratheblackdiamond@gmail.com>
;;; Copyright © 2021 Nicolò Balzarotti <nicolo@nixo.xyz> ;;; Copyright © 2021 Nicolò Balzarotti <nicolo@nixo.xyz>
;;; Copyright © 2022 Luis Felipe López Acevedo <luis.felipe.la@protonmail.com> ;;; 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. ;;; This file is part of GNU Guix.
;;; ;;;
@ -266,47 +267,24 @@ frequently used words in American English.")
(define-public tipp10 (define-public tipp10
(package (package
(name "tipp10") (name "tipp10")
(version "2.1.0") (version "3.3.0")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
;; guix download is not able to handle the download links on the ;; Use the community maintained Qt 6 fork of the project, as the
;; home-page, which use '<meta http-equiv="refresh" …>' ;; original software is now developed as a web application. The
(uri (string-append "mirror://debian/pool/main/" ;; latest official version was 2.1.0.
"t/tipp10/tipp10_2.1.0.orig.tar.gz")) (uri (git-reference
(url "https://gitlab.com/tipp10/tipp10.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0d387b404j88gsv6kv0rb7wxr23v5g5vl6s5l7602x8pxf7slbbx")) "138xf55csnq53mlkhj50g9bacay8kxz6p9vnzd7jyv6rq1xch5nq"))))
;; Apply patches in the order determined by Debian (build-system qt-build-system)
(patches (search-patches "tipp10-fix-compiling.patch" (arguments (list #:qtbase qtbase ;qtbase 6
"tipp10-remove-license-code.patch" #:tests? #f)) ;packages has no tests
"tipp10-disable-downloader.patch" (inputs (list qtbase qtmultimedia))
"tipp10-qt5.patch")))) (home-page "https://www.tipp10.com/en/")
(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/")
(synopsis "Touch typing tutor") (synopsis "Touch typing tutor")
(description "Tipp10 is a touch typing tutor. The ingenious thing about (description "Tipp10 is a touch typing tutor. The ingenious thing about
the software is its intelligence feature: characters that are mistyped are 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 Useful support functions and an extensive progress tracker, topical lessons
and the ability to create your own practice lessons make learning to type and the ability to create your own practice lessons make learning to type
easy.") 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))) (license license:gpl2)))
(define-public snap (define-public snap

View File

@ -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() {

View File

@ -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

View File

@ -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

View File

@ -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"