diff --git a/Calculator.qml b/calculator/Calculator.qml
similarity index 100%
rename from Calculator.qml
rename to calculator/Calculator.qml
diff --git a/CalculatorGameOverPage.qml b/calculator/CalculatorGameOverPage.qml
similarity index 100%
rename from CalculatorGameOverPage.qml
rename to calculator/CalculatorGameOverPage.qml
diff --git a/CalculatorRunningPage.qml b/calculator/CalculatorRunningPage.qml
similarity index 100%
rename from CalculatorRunningPage.qml
rename to calculator/CalculatorRunningPage.qml
diff --git a/CalculatorStartPage.qml b/calculator/CalculatorStartPage.qml
similarity index 96%
rename from CalculatorStartPage.qml
rename to calculator/CalculatorStartPage.qml
index 8ed92cd..2db9c16 100644
--- a/CalculatorStartPage.qml
+++ b/calculator/CalculatorStartPage.qml
@@ -117,8 +117,10 @@ Page {
}
}
function start() {
- root.updateVars()
- calculator.run()
+ if (tickInterval.text > 0 && numCount.text > 0 && max.text > min.text) {
+ root.updateVars()
+ calculator.run()
+ }
}
function updateVars() {
diff --git a/calender/Calender.qml b/calender/Calender.qml
new file mode 100644
index 0000000..8dc9dd9
--- /dev/null
+++ b/calender/Calender.qml
@@ -0,0 +1,197 @@
+import QtQuick 2.11
+import QtQuick.Controls 2.4
+import "./"
+
+Item {
+ id: calender
+
+ property string nextDate: "31.12.1799"
+ property string lastDate: "30.12.1799"
+ property int actualDateCount: 0
+ property int min: 1800
+ property int max: 2199
+ property int tickInterval: 10000
+ property int dateCount: 10
+ property int correct: 0
+ property int wrong: 0
+ property int weekDay: 1
+ property bool runningPageState: true
+
+ signal pageOpened()
+
+ onPageOpened: {
+ calender.start()
+ }
+
+ states: [
+ State {
+ name: "starting"
+ PropertyChanges {
+ target: calenderStack
+ currPage: calenderStartPageComp
+ }
+ },
+
+ State {
+ name: "running"
+ PropertyChanges {
+ target: calenderStack
+ currPage: calenderRunningPageComp
+ }
+ },
+ State {
+ name: "gameOver"
+ PropertyChanges {
+ target: calenderStack
+ currPage: calenderGameOverPageComp
+ }
+ }
+ ]
+
+ StackView {
+ id: calenderStack
+
+ property var currPage;
+
+ anchors.fill: parent
+
+ onCurrPageChanged: {
+ calenderStack.replace(currPage)
+ }
+ onCurrentItemChanged: {
+ calenderStack.currentItem.pageOpened()
+ }
+
+ Component {
+ id: calenderStartPageComp
+ CalenderStartPage {
+ }
+ }
+
+ Component {
+ id: calenderRunningPageComp
+ CalenderRunningPage {
+ }
+ }
+
+ Component {
+ id: calenderGameOverPageComp
+ CalenderGameOverPage {
+ }
+ }
+
+
+ replaceExit: Transition {
+ NumberAnimation {
+ from: 1
+ to: 0
+ property: "opacity"
+ duration: 200
+ easing.type: Easing.InOutQuad
+ }
+ }
+
+ replaceEnter: Transition {
+ NumberAnimation {
+ from: 0
+ to: 1
+ property: "opacity"
+ duration: 200
+ easing.type: Easing.InOutQuad
+ }
+ }
+ }
+
+
+ /*-------------------------
+ ---------functions---------
+ -------------------------*/
+
+ function start() {
+ calender.reset()
+ calender.state = "starting"
+ }
+
+ function run() {
+ calender.generateNextDate()
+ calender.state = "running"
+ }
+
+ function gameOver() {
+ calender.state = "gameOver"
+ }
+
+ function reset() {
+ calender.actualDateCount = 0
+ calender.lastDate = 0
+ calender.nextDate = 0
+ calender.correct = 0
+ calender.wrong = 0
+ }
+
+ function generateNextDate() {
+ var daysPerMonth = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
+ var monthCodes = [6, 2, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4]
+ var yearCode = 0
+ var randDate = calender.nextDate
+ var randDay = 31
+ var randMonth = 12
+ var randYear = 1799
+ var range = calender.max - calender.min
+ var century = 17
+ var weekDay = 1
+ calender.lastDate = calender.nextDate
+ while (randDate === calender.lastDate) {
+ //console.log("entered mainwhile " + "yearCode: " + yearCode + " randDate: " + randDate + " randDay: " + randDay + " randMonth: " + randMonth + " randYear: " + randYear + " Range: " + range + " century: " + century + " weekDay: " + weekDay)
+ randYear = Math.floor((Math.random()*(range+1))+calender.min)
+ //console.log("generated year " + "yearCode: " + yearCode + " randDate: " + randDate + " randDay: " + randDay + " randMonth: " + randMonth + " randYear: " + randYear + " Range: " + range + " century: " + century + " weekDay: " + weekDay)
+ century = Math.floor(randYear/100)
+ //console.log("calculated century " + "yearCode: " + yearCode + " randDate: " + randDate + " randDay: " + randDay + " randMonth: " + randMonth + " randYear: " + randYear + " Range: " + range + " century: " + century + " weekDay: " + weekDay)
+ yearCode = (randYear - century * 100) + Math.floor((randYear - century * 100)/4)
+ //console.log("generated yearCode " + "yearCode: " + yearCode + " randDate: " + randDate + " randDay: " + randDay + " randMonth: " + randMonth + " randYear: " + randYear + " Range: " + range + " century: " + century + " weekDay: " + weekDay)
+ while (century > 21) {
+ century -= 4
+ //console.log("down count century " + "yearCode: " + yearCode + " randDate: " + randDate + " randDay: " + randDay + " randMonth: " + randMonth + " randYear: " + randYear + " Range: " + range + " century: " + century + " weekDay: " + weekDay)
+ }
+ switch (century) {
+ case 18:
+ yearCode += 3
+ break
+ case 19:
+ yearCode += 1
+ break
+ case 21:
+ yearCode += 5
+ break
+ default:
+ //console.log("added century specified value to yearCode " + "yearCode: " + yearCode + " randDate: " + randDate + " randDay: " + randDay + " randMonth: " + randMonth + " randYear: " + randYear + " Range: " + range + " century: " + century + " weekDay: " + weekDay)
+ }
+ randMonth = Math.floor((Math.random()*(12))+1)
+ //console.log("generated month " + "yearCode: " + yearCode + " randDate: " + randDate + " randDay: " + randDay + " randMonth: " + randMonth + " randYear: " + randYear + " Range: " + range + " century: " + century + " weekDay: " + weekDay)
+ if (randYear % 4 === 0 && randMonth <= 2) {
+ yearCode += 6
+ //console.log("if leap-year " + "yearCode: " + yearCode + " randDate: " + randDate + " randDay: " + randDay + " randMonth: " + randMonth + " randYear: " + randYear + " Range: " + range + " century: " + century + " weekDay: " + weekDay)
+ }
+ while (yearCode >= 7) {
+ yearCode -= 7
+ //console.log("down count yearCode " + "yearCode: " + yearCode + " randDate: " + randDate + " randDay: " + randDay + " randMonth: " + randMonth + " randYear: " + randYear + " Range: " + range + " century: " + century + " weekDay: " + weekDay)
+ }
+ randDay = Math.floor((Math.random()*(daysPerMonth[randMonth-1]))+1)
+ //console.log("generated Day " + "yearCode: " + yearCode + " randDate: " + randDate + " randDay: " + randDay + " randMonth: " + randMonth + " randYear: " + randYear + " Range: " + range + " century: " + century + " weekDay: " + weekDay)
+ randDate = String(randDay) + "." + String(randMonth) + "." + String(randYear)
+ //console.log("generated randDate " + "yearCode: " + yearCode + " randDate: " + randDate + " randDay: " + randDay + " randMonth: " + randMonth + " randYear: " + randYear + " Range: " + range + " century: " + century + " weekDay: " + weekDay)
+ }
+ weekDay = (yearCode + monthCodes[randMonth-1] + randDay) // - 7*Math.floor((yearCode + monthCodes[randMonth-1] + randDay)/7)
+ //console.log("generated weekday " + "yearCode: " + yearCode + " randDate: " + randDate + " randDay: " + randDay + " randMonth: " + randMonth + " randYear: " + randYear + " Range: " + range + " century: " + century + " weekDay: " + weekDay)
+ //weekDay -= 7*Math.floor(weekDay/7)
+ while (weekDay >= 7) {
+ weekDay -= 7
+ //console.log("down count weekday " + "yearCode: " + yearCode + " randDate: " + randDate + /*" randDay: " + randDay + " randMonth: " + randMonth + " randYear: " + randYear + " Range: " + range + */ " century: " + century + " weekDay: " + weekDay)
+ }
+ console.log("randDate: " + randDate + " yearCode: " + yearCode + " century: " + century + " weekDay: " + weekDay)
+ calender.weekDay = weekDay
+ calender.nextDate = randDate
+ calender.actualDateCount += 1
+ }
+}
+
diff --git a/calender/CalenderGameOverPage.qml b/calender/CalenderGameOverPage.qml
new file mode 100644
index 0000000..7867f30
--- /dev/null
+++ b/calender/CalenderGameOverPage.qml
@@ -0,0 +1,52 @@
+import QtQuick 2.11
+import QtQuick.Controls 2.4
+import "./"
+
+Page {
+ id: root
+
+ signal pageOpened()
+
+ Label {
+ id: percent
+ text: "You had " + calender.dateCount/calender.correct*100 + "% right!"
+ font.pixelSize: parent.width * 0.05
+ anchors {
+ horizontalCenter: parent.horizontalCenter
+ top: parent.top
+ topMargin: parent.height * 0.2
+ }
+ }
+
+ Row {
+ id: buttonRow
+ anchors {
+ horizontalCenter: parent.horizontalCenter
+ bottom: parent.bottom
+ bottomMargin: parent.height * 0.15
+ }
+ height: childrenRect.height
+ width: childrenRect.width
+ spacing: parent.width * 0.1
+
+ RoundButton {
+ id: homeButton
+ height: root.width * 0.2
+ width: height
+ text: "home"
+ onClicked: {
+ game.start()
+ }
+ }
+
+ RoundButton {
+ id: startButtons
+ height: root.width * 0.2
+ width: height
+ text: "start"
+ onClicked: {
+ calender.start()
+ }
+ }
+ }
+}
diff --git a/calender/CalenderRunningPage.qml b/calender/CalenderRunningPage.qml
new file mode 100644
index 0000000..4f07dfe
--- /dev/null
+++ b/calender/CalenderRunningPage.qml
@@ -0,0 +1,138 @@
+import QtQuick 2.9
+import QtQuick.Controls 2.4
+import "./"
+
+Page {
+ id: root
+
+ signal pageOpened()
+
+ Label {
+ id: date
+ anchors.centerIn: parent
+ font.pixelSize: parent.height * 0.2
+ text: calender.nextDate
+ visible: calender.runningPageState ? true:false
+ }
+
+ Label {
+ id: gameProcess
+ text: calender.actualDateCount + " of " + calender.dateCount
+ font.pixelSize: parent.width * 0.05
+ anchors {
+ right: parent.right
+ rightMargin: parent.width * 0.025
+ bottom: parent.bottom
+ bottomMargin: parent.height * 0.05
+ }
+ }
+
+
+ ProgressBar {
+ id: prog
+ property int progress: 0
+ property string color: "green"
+ value: progress/100
+ anchors {
+ bottom: parent.bottom
+ bottomMargin: parent.height * 0.02
+ left: parent.left
+ leftMargin: parent.width * 0.01
+ right: parent.right
+ rightMargin: parent.width * 0.01
+ }
+ visible: calender.runningPageState ? true:false
+ contentItem: Item {
+ Rectangle {
+ width: prog.visualPosition * parent.width
+ height: parent.height
+ color: prog.color
+ }
+ }
+
+ NumberAnimation {
+ id: progNumAnim
+ target: prog
+ property: "progress"
+ from: 100
+ to: 0
+ duration: tick.interval
+ easing.type: Easing.Linear
+ }
+
+ SequentialAnimation {
+ id: progColAnim
+ loops: 1
+ ColorAnimation {
+ id: progColAnim1
+ target: prog
+ property: "color"
+ from: "green"
+ to: "goldenrod"
+ duration: tick.interval/2
+ easing.type: Easing.Linear
+ }
+ ColorAnimation {
+ id: progColAnim2
+ target: prog
+ property: "color"
+ from: "goldenrod"
+ to: "darkRed"
+ duration: tick.interval/2
+ easing.type: Easing.Linear
+ }
+ }
+ }
+
+ ComboBox {
+ id: comboBox
+ model: ["None", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]
+ anchors.centerIn: parent
+ visible: calender.runningPageState ? false:true
+ onCurrentTextChanged: {
+ if (currentIndex !== 0) {
+ if (currentIndex === calender.weekDay) {
+ calender.correct += 1
+ }
+ else {
+ calender.wrong += 1
+ }
+ /*
+ Timer, {
+ id: pause
+ interval: 200
+ repeat: false
+ }
+ */
+
+ if (calender.actualDateCount < calender.dateCount) {
+ calender.generateNextDate()
+ tick.start()
+ calender.runningPageState = true
+ }
+ else {
+ calender.state = "gameOver"
+ }
+ }
+ }
+ }
+
+ Timer {
+ id: tick
+ interval: calender.tickInterval
+ repeat: false
+ running: calender.state === "running"
+
+ onTriggered: {
+ calender.runningPageState = false
+ comboBox.currentIndex = 0
+ }
+
+ onRunningChanged: {
+ if(running){
+ progNumAnim.start()
+ progColAnim.start()
+ }
+ }
+ }
+}
diff --git a/calender/CalenderStartPage.qml b/calender/CalenderStartPage.qml
new file mode 100644
index 0000000..79334a4
--- /dev/null
+++ b/calender/CalenderStartPage.qml
@@ -0,0 +1,132 @@
+import QtQuick 2.11
+import QtQuick.Controls 2.4
+import QtQuick.Layouts 1.3
+import "./"
+
+Page {
+ id: root
+
+ signal pageOpened()
+
+ ColumnLayout {
+ id: column
+ //spacing: height / 40
+ width: parent.width
+ anchors.fill: parent
+ anchors.topMargin: parent.height * 0.02
+ anchors.bottomMargin: parent.height * 0.02
+
+ Label {
+ id: heading
+ font.pixelSize: parent.width * 0.075
+ text: "Calender"
+ Layout.fillWidth: true
+ Layout.leftMargin: parent.width * 0.5 - width * 0.5
+ Layout.rightMargin: parent.width * 0.5 - width * 0.5
+ }
+
+ Label {
+ id: tickIntervalInfo
+ text: "Interval:"
+ font.pixelSize: parent.height * 0.05
+ Layout.leftMargin: parent.width * 0.05
+ }
+
+
+ TextField {
+ id: tickInterval
+ text: calender.tickInterval
+ placeholderText: "interval"
+ validator: IntValidator {bottom: 1; top: 1000000;}
+ horizontalAlignment: Qt.AlignHCenter
+ Layout.fillWidth: true
+ Layout.leftMargin: parent.width * 0.05
+ Layout.rightMargin: parent.width * 0.05
+ Keys.onReturnPressed: root.start()
+ }
+
+ Label {
+ id: dateCountInfo
+ text: "Dates:"
+ font.pixelSize: parent.height * 0.05
+ Layout.leftMargin: parent.width * 0.05
+ }
+
+ TextField {
+ id: dateCount
+ text: calender.dateCount
+ placeholderText: "dates"
+ validator: IntValidator {bottom: 1; top: 100000;}
+ horizontalAlignment: Qt.AlignHCenter
+ Layout.fillWidth: true
+ Layout.leftMargin: parent.width * 0.05
+ Layout.rightMargin: parent.width * 0.05
+ Keys.onReturnPressed: root.start()
+ }
+
+ Label {
+ id: minInfo
+ text: "Minimum:"
+ font.pixelSize: parent.height * 0.05
+ Layout.leftMargin: parent.width * 0.05
+ }
+
+ TextField {
+ id: min
+ text: calender.min
+ placeholderText: "minimum"
+ validator: IntValidator {bottom: 1800; top: 10000;}
+ horizontalAlignment: Qt.AlignHCenter
+ Layout.fillWidth: true
+ Layout.leftMargin: parent.width * 0.05
+ Layout.rightMargin: parent.width * 0.05
+ Keys.onReturnPressed: root.start()
+ }
+
+ Label {
+ id: maxInfo
+ text: "Maximum:"
+ font.pixelSize: parent.height * 0.05
+ Layout.leftMargin: parent.width * 0.05
+ }
+
+ TextField {
+ id: max
+ text: calender.max
+ placeholderText: "maximum"
+ validator: IntValidator {bottom: 1800; top: 10000;}
+ horizontalAlignment: Qt.AlignHCenter
+ Layout.fillWidth: true
+ Layout.leftMargin: parent.width * 0.05
+ Layout.rightMargin: parent.width * 0.05
+ Keys.onReturnPressed: root.start()
+ }
+
+ RoundButton {
+ id: startButton
+ text: "start"
+ height: parent.width * 0.1
+ width: height
+ //font.pixelSize: parent.width * 0.03
+ Layout.fillWidth: true
+ Layout.leftMargin: parent.width * 0.05
+ Layout.rightMargin: parent.width * 0.05
+ onClicked: {
+ root.start()
+ }
+ }
+ }
+ function start() {
+ if (tickInterval.text > 0 && dateCount.text > 0 && min.text >= 1800 && max.text >= min.text) {
+ root.updateVars()
+ calender.run()
+ }
+ }
+
+ function updateVars() {
+ calender.tickInterval = tickInterval.text
+ calender.dateCount = dateCount.text
+ calender.min = min.text
+ calender.max = max.text
+ }
+}
diff --git a/main.qml b/main.qml
index 3f6f08a..7d18353 100644
--- a/main.qml
+++ b/main.qml
@@ -1,7 +1,8 @@
import QtQuick 2.9
import QtQuick.Window 2.3
import QtQuick.Controls 2.4
-import "./"
+import "./calender"
+import "./calculator"
Window {
@@ -62,7 +63,7 @@ Window {
Component {
id: calenderPageComp
- CalenderPage {
+ Calender {
}
}
diff --git a/mathtrainingstuff.pro b/mathtrainingstuff.pro
index 7777113..de5e319 100644
--- a/mathtrainingstuff.pro
+++ b/mathtrainingstuff.pro
@@ -13,7 +13,7 @@ DEFINES += QT_DEPRECATED_WARNINGS
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
SOURCES += \
- main.cpp
+ sources\main.cpp
RESOURCES += qml.qrc
diff --git a/mathtrainingstuff.pro.user.4.8-pre1 b/mathtrainingstuff.pro.user.4.8-pre1
new file mode 100644
index 0000000..778801a
--- /dev/null
+++ b/mathtrainingstuff.pro.user.4.8-pre1
@@ -0,0 +1,971 @@
+
+
+
+
+
+ EnvironmentId
+ {bcfd5fb3-a6a7-4eb9-a1ad-002091839447}
+
+
+ ProjectExplorer.Project.ActiveTarget
+ 0
+
+
+ ProjectExplorer.Project.EditorSettings
+
+ true
+ false
+ true
+
+ Cpp
+
+ CppGlobal
+
+
+
+ QmlJS
+
+ QmlJSGlobal
+
+
+ 2
+ UTF-8
+ false
+ 4
+ false
+ 80
+ true
+ true
+ 1
+ true
+ false
+ 0
+ true
+ true
+ 0
+ 8
+ true
+ 1
+ true
+ true
+ true
+ false
+
+
+
+ ProjectExplorer.Project.PluginSettings
+
+
+ true
+
+
+
+ ProjectExplorer.Project.Target.0
+
+ Desktop Qt 5.11.2 GCC 64bit
+ Desktop Qt 5.11.2 GCC 64bit
+ qt.qt5.5112.gcc_64_kit
+ 0
+ 0
+ 0
+
+ /home/admin/git/Qt/build-mathtrainingstuff-Desktop_Qt_5_11_2_GCC_64bit-Debug
+
+
+ true
+ qmake
+
+ QtProjectManager.QMakeBuildStep
+ true
+
+ false
+ false
+ false
+
+
+ true
+ Make
+
+ Qt4ProjectManager.MakeStep
+
+ -w
+ -r
+
+ false
+
+
+
+ 2
+ Erstellen
+
+ ProjectExplorer.BuildSteps.Build
+
+
+
+ true
+ Make
+
+ Qt4ProjectManager.MakeStep
+
+ -w
+ -r
+
+ true
+ clean
+
+
+ 1
+ Bereinigen
+
+ ProjectExplorer.BuildSteps.Clean
+
+ 2
+ false
+
+ Debug
+ Debug
+ Qt4ProjectManager.Qt4BuildConfiguration
+ 2
+ true
+
+
+ /home/admin/git/Qt/build-mathtrainingstuff-Desktop_Qt_5_11_2_GCC_64bit-Release
+
+
+ true
+ qmake
+
+ QtProjectManager.QMakeBuildStep
+ false
+
+ false
+ false
+ true
+
+
+ true
+ Make
+
+ Qt4ProjectManager.MakeStep
+
+ -w
+ -r
+
+ false
+
+
+
+ 2
+ Erstellen
+
+ ProjectExplorer.BuildSteps.Build
+
+
+
+ true
+ Make
+
+ Qt4ProjectManager.MakeStep
+
+ -w
+ -r
+
+ true
+ clean
+
+
+ 1
+ Bereinigen
+
+ ProjectExplorer.BuildSteps.Clean
+
+ 2
+ false
+
+ Release
+ Release
+ Qt4ProjectManager.Qt4BuildConfiguration
+ 0
+ true
+
+
+ /home/admin/git/Qt/build-mathtrainingstuff-Desktop_Qt_5_11_2_GCC_64bit-Profile
+
+
+ true
+ qmake
+
+ QtProjectManager.QMakeBuildStep
+ true
+
+ false
+ true
+ true
+
+
+ true
+ Make
+
+ Qt4ProjectManager.MakeStep
+
+ -w
+ -r
+
+ false
+
+
+
+ 2
+ Erstellen
+
+ ProjectExplorer.BuildSteps.Build
+
+
+
+ true
+ Make
+
+ Qt4ProjectManager.MakeStep
+
+ -w
+ -r
+
+ true
+ clean
+
+
+ 1
+ Bereinigen
+
+ ProjectExplorer.BuildSteps.Clean
+
+ 2
+ false
+
+ Profile
+ Profile
+ Qt4ProjectManager.Qt4BuildConfiguration
+ 0
+ true
+
+ 3
+
+
+ 0
+ Deployment
+
+ ProjectExplorer.BuildSteps.Deploy
+
+ 1
+ Deployment-Konfiguration
+
+ ProjectExplorer.DefaultDeployConfiguration
+
+ 1
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ mathtrainingstuff
+
+ Qt4ProjectManager.Qt4RunConfiguration:/home/admin/git/Qt/mathtrainingstuff/mathtrainingstuff.pro
+ true
+
+ mathtrainingstuff.pro
+
+ /home/admin/git/Qt/build-mathtrainingstuff-Desktop_Qt_5_11_2_GCC_64bit-Debug
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ 1
+
+
+
+ ProjectExplorer.Project.Target.1
+
+ Android für armeabi-v7a (GCC 4.9, Qt 5.11.2 for Android ARMv7)
+ Android für armeabi-v7a (GCC 4.9, Qt 5.11.2 for Android ARMv7)
+ {cc8640a9-0952-4aaf-991b-11a00a5980b4}
+ 0
+ 0
+ 0
+
+ /home/admin/git/Qt/build-mathtrainingstuff-Android_f_r_armeabi_v7a_GCC_4_9_Qt_5_11_2_for_Android_ARMv7-Debug
+
+
+ true
+ qmake
+
+ QtProjectManager.QMakeBuildStep
+ true
+
+ false
+ false
+ false
+
+
+ true
+ Make
+
+ Qt4ProjectManager.MakeStep
+
+ -w
+ -r
+
+ false
+
+
+
+
+ true
+ Anwendungsdaten kopieren
+
+ Qt4ProjectManager.AndroidPackageInstallationStep
+
+
+ android-28
+
+ true
+ Android-APK erstellen
+
+ QmakeProjectManager.AndroidBuildApkStep
+ false
+ false
+
+ 4
+ Erstellen
+
+ ProjectExplorer.BuildSteps.Build
+
+
+
+ true
+ Make
+
+ Qt4ProjectManager.MakeStep
+
+ -w
+ -r
+
+ true
+ clean
+
+
+ 1
+ Bereinigen
+
+ ProjectExplorer.BuildSteps.Clean
+
+ 2
+ false
+
+ Debug
+ Debug
+ Qt4ProjectManager.Qt4BuildConfiguration
+ 2
+ true
+
+
+ /home/admin/git/Qt/build-mathtrainingstuff-Android_f_r_armeabi_v7a_GCC_4_9_Qt_5_11_2_for_Android_ARMv7-Release
+
+
+ true
+ qmake
+
+ QtProjectManager.QMakeBuildStep
+ false
+
+ false
+ false
+ true
+
+
+ true
+ Make
+
+ Qt4ProjectManager.MakeStep
+
+ -w
+ -r
+
+ false
+
+
+
+
+ true
+ Anwendungsdaten kopieren
+
+ Qt4ProjectManager.AndroidPackageInstallationStep
+
+
+ android-28
+
+ true
+ Android-APK erstellen
+
+ QmakeProjectManager.AndroidBuildApkStep
+ false
+ false
+
+ 4
+ Erstellen
+
+ ProjectExplorer.BuildSteps.Build
+
+
+
+ true
+ Make
+
+ Qt4ProjectManager.MakeStep
+
+ -w
+ -r
+
+ true
+ clean
+
+
+ 1
+ Bereinigen
+
+ ProjectExplorer.BuildSteps.Clean
+
+ 2
+ false
+
+ Release
+ Release
+ Qt4ProjectManager.Qt4BuildConfiguration
+ 0
+ true
+
+
+ /home/admin/git/Qt/build-mathtrainingstuff-Android_f_r_armeabi_v7a_GCC_4_9_Qt_5_11_2_for_Android_ARMv7-Profile
+
+
+ true
+ qmake
+
+ QtProjectManager.QMakeBuildStep
+ true
+
+ false
+ true
+ true
+
+
+ true
+ Make
+
+ Qt4ProjectManager.MakeStep
+
+ -w
+ -r
+
+ false
+
+
+
+
+ true
+ Anwendungsdaten kopieren
+
+ Qt4ProjectManager.AndroidPackageInstallationStep
+
+
+ android-28
+
+ true
+ Android-APK erstellen
+
+ QmakeProjectManager.AndroidBuildApkStep
+ false
+ false
+
+ 4
+ Erstellen
+
+ ProjectExplorer.BuildSteps.Build
+
+
+
+ true
+ Make
+
+ Qt4ProjectManager.MakeStep
+
+ -w
+ -r
+
+ true
+ clean
+
+
+ 1
+ Bereinigen
+
+ ProjectExplorer.BuildSteps.Clean
+
+ 2
+ false
+
+ Profile
+ Profile
+ Qt4ProjectManager.Qt4BuildConfiguration
+ 0
+ true
+
+ 3
+
+
+
+ true
+ Deployment auf Android-Gerät
+
+ Qt4ProjectManager.AndroidDeployQtStep
+ false
+
+ 1
+ Deployment
+
+ ProjectExplorer.BuildSteps.Deploy
+
+ 1
+ Deployment auf Android-Gerät
+
+ Qt4ProjectManager.AndroidDeployConfiguration2
+
+ 1
+
+ MQH4C16805001679
+ 24
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+
+
+
+
+
+ Qt4ProjectManager.AndroidRunConfiguration:/home/admin/git/Qt/mathtrainingstuff/mathtrainingstuff.pro
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ 1
+
+
+
+ ProjectExplorer.Project.Target.2
+
+ Android für x86 (GCC 4.9, Qt 5.11.2 for Android x86)
+ Android für x86 (GCC 4.9, Qt 5.11.2 for Android x86)
+ {866019ab-52b4-4d14-acc4-b5d4b2ae79e7}
+ 0
+ 0
+ 0
+
+ /home/admin/git/Qt/build-mathtrainingstuff-Android_f_r_x86_GCC_4_9_Qt_5_11_2_for_Android_x86-Debug
+
+
+ true
+ qmake
+
+ QtProjectManager.QMakeBuildStep
+ true
+
+ false
+ false
+ false
+
+
+ true
+ Make
+
+ Qt4ProjectManager.MakeStep
+
+ -w
+ -r
+
+ false
+
+
+
+
+ true
+ Anwendungsdaten kopieren
+
+ Qt4ProjectManager.AndroidPackageInstallationStep
+
+
+ android-28
+
+ true
+ Android-APK erstellen
+
+ QmakeProjectManager.AndroidBuildApkStep
+ false
+ false
+
+ 4
+ Erstellen
+
+ ProjectExplorer.BuildSteps.Build
+
+
+
+ true
+ Make
+
+ Qt4ProjectManager.MakeStep
+
+ -w
+ -r
+
+ true
+ clean
+
+
+ 1
+ Bereinigen
+
+ ProjectExplorer.BuildSteps.Clean
+
+ 2
+ false
+
+ Debug
+ Debug
+ Qt4ProjectManager.Qt4BuildConfiguration
+ 2
+ true
+
+
+ /home/admin/git/Qt/build-mathtrainingstuff-Android_f_r_x86_GCC_4_9_Qt_5_11_2_for_Android_x86-Release
+
+
+ true
+ qmake
+
+ QtProjectManager.QMakeBuildStep
+ false
+
+ false
+ false
+ true
+
+
+ true
+ Make
+
+ Qt4ProjectManager.MakeStep
+
+ -w
+ -r
+
+ false
+
+
+
+
+ true
+ Anwendungsdaten kopieren
+
+ Qt4ProjectManager.AndroidPackageInstallationStep
+
+
+ android-28
+
+ true
+ Android-APK erstellen
+
+ QmakeProjectManager.AndroidBuildApkStep
+ false
+ false
+
+ 4
+ Erstellen
+
+ ProjectExplorer.BuildSteps.Build
+
+
+
+ true
+ Make
+
+ Qt4ProjectManager.MakeStep
+
+ -w
+ -r
+
+ true
+ clean
+
+
+ 1
+ Bereinigen
+
+ ProjectExplorer.BuildSteps.Clean
+
+ 2
+ false
+
+ Release
+ Release
+ Qt4ProjectManager.Qt4BuildConfiguration
+ 0
+ true
+
+
+ /home/admin/git/Qt/build-mathtrainingstuff-Android_f_r_x86_GCC_4_9_Qt_5_11_2_for_Android_x86-Profile
+
+
+ true
+ qmake
+
+ QtProjectManager.QMakeBuildStep
+ true
+
+ false
+ true
+ true
+
+
+ true
+ Make
+
+ Qt4ProjectManager.MakeStep
+
+ -w
+ -r
+
+ false
+
+
+
+
+ true
+ Anwendungsdaten kopieren
+
+ Qt4ProjectManager.AndroidPackageInstallationStep
+
+
+ android-28
+
+ true
+ Android-APK erstellen
+
+ QmakeProjectManager.AndroidBuildApkStep
+ false
+ false
+
+ 4
+ Erstellen
+
+ ProjectExplorer.BuildSteps.Build
+
+
+
+ true
+ Make
+
+ Qt4ProjectManager.MakeStep
+
+ -w
+ -r
+
+ true
+ clean
+
+
+ 1
+ Bereinigen
+
+ ProjectExplorer.BuildSteps.Clean
+
+ 2
+ false
+
+ Profile
+ Profile
+ Qt4ProjectManager.Qt4BuildConfiguration
+ 0
+ true
+
+ 3
+
+
+
+ true
+ Deployment auf Android-Gerät
+
+ Qt4ProjectManager.AndroidDeployQtStep
+ false
+
+ 1
+ Deployment
+
+ ProjectExplorer.BuildSteps.Deploy
+
+ 1
+ Deployment auf Android-Gerät
+
+ Qt4ProjectManager.AndroidDeployConfiguration2
+
+ 1
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+
+
+
+
+
+ Qt4ProjectManager.AndroidRunConfiguration:/home/admin/git/Qt/mathtrainingstuff/mathtrainingstuff.pro
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ 1
+
+
+
+ ProjectExplorer.Project.TargetCount
+ 3
+
+
+ ProjectExplorer.Project.Updater.FileVersion
+ 18
+
+
+ Version
+ 18
+
+
diff --git a/qml.qrc b/qml.qrc
index 94dc434..5d8ae33 100644
--- a/qml.qrc
+++ b/qml.qrc
@@ -1,11 +1,14 @@
main.qml
- CalenderPage.qml
+ calender/Calender.qml
StartPage.qml
- CalculatorRunningPage.qml
- CalculatorStartPage.qml
- CalculatorGameOverPage.qml
- Calculator.qml
+ calculator/CalculatorRunningPage.qml
+ calculator/CalculatorStartPage.qml
+ calculator/CalculatorGameOverPage.qml
+ calculator/Calculator.qml
+ calender/CalenderStartPage.qml
+ calender/CalenderRunningPage.qml
+ calender/CalenderGameOverPage.qml
diff --git a/main.cpp b/sources/main.cpp
similarity index 100%
rename from main.cpp
rename to sources/main.cpp