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
parent
ec130e1a1b
commit
7e82d4e19f
|
@ -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 \
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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() {
|
|
|
@ -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
|
|
|
@ -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
|
|
|
@ -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"
|
|
||||||
|
|
Reference in New Issue