From 9cceffd3cc2e069e9744dc69146c0cd75aa52a13 Mon Sep 17 00:00:00 2001
From: SeeLook <945374+SeeLook@users.noreply.github.com>
Date: Tue, 21 Mar 2017 09:29:45 +0100
Subject: [PATCH] Awake Android build, small fixes to make it compile and work

---
 nootka.pro                           |  44 +++++------
 src/android/AndroidManifest.xml      |   6 +-
 src/libs/core/core.pro               | 109 ++++++++++-----------------
 src/libs/core/core.qrc               |   1 +
 src/libs/core/score/tmeasureobject.h |   2 +-
 src/libs/core/tglobals.cpp           |   4 +-
 src/libs/core/tinitcorelib.cpp       |  10 ---
 src/libs/core/tinitcorelib.h         |   4 -
 src/libs/core/tnootkaqml.cpp         |   4 +-
 src/libs/core/tnootkaqml.h           |  16 ++--
 src/libs/core/ttickcolors.h          |   6 +-
 src/main.cpp                         |  20 ++---
 src/qml/shared/ClefMenu.qml          |   2 +-
 src/src.pro                          |  33 ++++----
 14 files changed, 110 insertions(+), 151 deletions(-)

diff --git a/nootka.pro b/nootka.pro
index f28551994..e8898b88a 100644
--- a/nootka.pro
+++ b/nootka.pro
@@ -6,36 +6,32 @@ TARGET = nootka
 TEMPLATE = subdirs
 
 SUBDIRS = src/libs/core\
-          src/libs/mobile\
-          src/libs/score\
-          src/libs/widgets\
-          src/libs/sound\
-          src/libs/misc\
-          src/libs/main\
+#           src/libs/mobile\
+#           src/libs/sound\
+#           src/libs/misc\
+#           src/libs/main\
           src\
-          src/plugins/about\
-          src/plugins/level\
-          src/plugins/settings\
-          src/plugins/wizard\
-          src/plugins/exam\
-          src/plugins/updater\
+#           src/plugins/about\
+#           src/plugins/level\
+#           src/plugins/settings\
+#           src/plugins/wizard\
+#           src/plugins/exam\
+#           src/plugins/updater\
 
 
 CONFIG += ordered
 
-src/libs/mobile.depends = src/libs/core
-src/libs/score.depends = src/libs/mobile
-src/libs/widgets.depends = src/libs/score
+# src/libs/mobile.depends = src/libs/core
 src/libs/sound.depends = src/libs/score
-src/libs/misc.depends = src/libs/widgets
-src/libs/main.depends = src/libs/widgets
-src.depends = src/libs/main
-src/plugins/about.depends = src/libs/misc
-src/plugins/level.depends = src/libs/widgets src/libs/sound
-src/plugins/settings.depends = src/libs/misc
-src/plugins/wizard.depends = src/libs/misc
-src/plugins/exam.depends = src/libs/main
-src/plugins/updater.depends = src/libs/core
+# src/libs/misc.depends = src/libs/widgets
+# src/libs/main.depends = src/libs/widgets
+src.depends = src/libs/core
+# src/plugins/about.depends = src/libs/misc
+# src/plugins/level.depends = src/libs/widgets src/libs/sound
+# src/plugins/settings.depends = src/libs/misc
+# src/plugins/wizard.depends = src/libs/misc
+# src/plugins/exam.depends = src/libs/main
+# src/plugins/updater.depends = src/libs/core
 
 
  
diff --git a/src/android/AndroidManifest.xml b/src/android/AndroidManifest.xml
index c4193dff5..b1dd2a0e7 100644
--- a/src/android/AndroidManifest.xml
+++ b/src/android/AndroidManifest.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0"?>
-<manifest package="net.sf.nootka" 
+<manifest package="net.sf.nootka-devel"
           xmlns:android="http://schemas.android.com/apk/res/android"
-          android:versionName="1.4.0"
+          android:versionName="1.5.0-alpha"
           android:versionCode="15"
           android:installLocation="auto">
     <application android:hardwareAccelerated="true"
@@ -114,7 +114,7 @@
             <!-- Background running -->
         </activity>
     </application>
-    <uses-sdk android:minSdkVersion="9" android:targetSdkVersion="14"/>
+    <uses-sdk android:minSdkVersion="16" android:targetSdkVersion="16"/>
     <supports-screens android:largeScreens="true" android:normalScreens="true" android:anyDensity="true" android:smallScreens="true"/>
 
     <!-- The following comment will be replaced upon deployment with default permissions based on the dependencies of the application.
diff --git a/src/libs/core/core.pro b/src/libs/core/core.pro
index 028e1482b..4dfff290f 100644
--- a/src/libs/core/core.pro
+++ b/src/libs/core/core.pro
@@ -1,5 +1,5 @@
 
-QT += core gui widgets androidextras
+QT += core gui androidextras quick quickcontrols2
 
 
 TARGET = NootkaCore
@@ -9,30 +9,19 @@ SOURCES +=  tcolor.cpp\
             tfingerpos.cpp\
             tglobals.cpp\
             tinitcorelib.cpp\
-            tnoofont.cpp\
+#             tnoofont.cpp\
             tpath.cpp\
-            tmtr.cpp\
+#             tmtr.cpp\
+            tnootkaqml.cpp\
+            ttickcolors.cpp\
           \
-            animations/tabstractanim.cpp\
-            animations/tblinkingitem.cpp\
-            animations/tcoloredanim.cpp\
-            animations/tcombinedanim.cpp\
-            animations/tcrossfadetextanim.cpp\
-            animations/tfadeanim.cpp\
-            animations/tmorphedanim.cpp\
-            animations/tmovedanim.cpp\
-            animations/tscaledanim.cpp\
-          \
-            exam/tattempt.cpp\
-            exam/texam.cpp\
-            exam/tlevel.cpp\
-            exam/tqagroup.cpp\
-            exam/tqatype.cpp\
-            exam/tqaunit.cpp\
-            exam/tresulttext.cpp\
-          \
-            graphics/tdropshadoweffect.cpp\
-            graphics/tgraphicstexttip.cpp\
+#             exam/tattempt.cpp\
+#             exam/texam.cpp\
+#             exam/tlevel.cpp\
+#             exam/tqagroup.cpp\
+#             exam/tqatype.cpp\
+#             exam/tqaunit.cpp\
+#             exam/tresulttext.cpp\
           \
             music/tchunk.cpp\
             music/tclef.cpp\
@@ -43,22 +32,21 @@ SOURCES +=  tcolor.cpp\
             music/tnamestylefilter.cpp\
             music/tnote.cpp\
             music/ttune.cpp\
+            music/trhythm.cpp\
+            music/tmeter.cpp\
           \
-            widgets/tpushbutton.cpp\
+            score/tscoreobject.cpp\
+            score/tstaffobject.cpp\
+            score/tmeasureobject.cpp\
+            score/tnoteobject.cpp\
+            score/tnotepair.cpp\
+            score/tbeamobject.cpp\
           \
-            plugins/tpluginsloader.cpp\
-          \
-            touch/ttouchproxy.cpp\
-#             touch/ttouchmenu.cpp\ 
-            touch/ttoucharea.cpp\
-#             touch/tmenuwidget.cpp\
-            touch/ttouchparams.cpp\
-#             touch/ttouchmessage.cpp\
+            instruments/tguitarbg.cpp\
           \
             Android/tandroid.cpp\
 
 HEADERS  += nootkaconfig.h\
-            tprecisetimer.h\
             texamparams.h\
             taudioparams.h\
             tcolor.h\
@@ -69,26 +57,18 @@ HEADERS  += nootkaconfig.h\
             tnoofont.h\
             tpath.h\
             tscoreparams.h\
-            tmtr.h\
-          \
-            animations/tabstractanim.h\
-            animations/tblinkingitem.h\
-            animations/tcoloredanim.h\
-            animations/tcombinedanim.h\
-            animations/tcrossfadetextanim.h\
-            animations/tfadeanim.h\
-            animations/tmorphedanim.h\
-            animations/tmovedanim.h\
-            animations/tscaledanim.h\
+#             tmtr.h\
+            tnootkaqml.h\
+            ttickcolors.h\
           \
-            exam/tattempt.h\
-            exam/texam.h\
-            exam/textrans.h\
-            exam/tlevel.h\
-            exam/tqagroup.h\
-            exam/tqatype.h\
-            exam/tqaunit.h\
-            exam/tresulttext.h\
+#             exam/tattempt.h\
+#             exam/texam.h\
+#             exam/textrans.h\
+#             exam/tlevel.h\
+#             exam/tqagroup.h\
+#             exam/tqatype.h\
+#             exam/tqaunit.h\
+#             exam/tresulttext.h\
           \
             music/tchunk.h\
             music/tclef.h\
@@ -96,36 +76,29 @@ HEADERS  += nootkaconfig.h\
             music/tkeysignature.h\
             music/tmeasure.h\
             music/tmelody.h\
-            music/tmetrum.h\
+            music/tmeter.h\
             music/tnamestylefilter.h\
             music/tnote.h\
             music/tnotestruct.h\
             music/trhythm.h\
             music/ttune.h\
           \
-            graphics/tdropshadoweffect.h\
-            graphics/tgraphicstexttip.h\
+            score/tscoreobject.h\
+            score/tstaffobject.h\
+            score/tmeasureobject.h\
+            score/tnoteobject.h\
+            score/tnotepair.h\
+            score/tbeamobject.h\
           \
-            widgets/tpushbutton.h\
-          \
-            plugins/tplugininterface.h\
-            plugins/tpluginsloader.h\
-          \
-            touch/ttouchproxy.h\
-#             touch/ttouchmenu.h\
-            touch/ttoucharea.h\
-#             touch/tmenuwidget.h\
-            touch/ttouchparams.h\
-#             touch/ttouchmessage.h\
+            instruments/tguitarbg.h\
             Android/tandroid.h\
-            
+
 CONFIG += mobility warn_off
 MOBILITY = 
 
 android {
   QMAKE_CXXFLAGS_RELEASE += -fsigned-char
   QMAKE_CXXFLAGS_DEBUG += -fsigned-char -O1
-#  ANDROID_EXTRA_LIBS += libNootkaCore.so
 }
 
 # INCLUDEPATH = core
diff --git a/src/libs/core/core.qrc b/src/libs/core/core.qrc
index 083d5c495..f3d8535a3 100644
--- a/src/libs/core/core.qrc
+++ b/src/libs/core/core.qrc
@@ -1,6 +1,7 @@
 <RCC>
     <qresource prefix="/">
         <file>fonts/nootka.ttf</file>
+        <file>fonts/Scorek.otf</file>
         <file>picts/body-bass.png</file>
         <file>picts/body-electro.png</file>
         <file>picts/body.png</file>
diff --git a/src/libs/core/score/tmeasureobject.h b/src/libs/core/score/tmeasureobject.h
index 587123c16..659849651 100644
--- a/src/libs/core/score/tmeasureobject.h
+++ b/src/libs/core/score/tmeasureobject.h
@@ -78,7 +78,7 @@ public:
   TnotePair* note(int nr) { return m_notes[nr]; }
   TnotePair* first() { return m_notes.first(); }
   TnotePair* last() { return m_notes.last(); }
-  bool isEmpty() { m_notes.isEmpty(); }
+  bool isEmpty() { return m_notes.isEmpty(); }
 
       /**
        * Staff index of the first measure note
diff --git a/src/libs/core/tglobals.cpp b/src/libs/core/tglobals.cpp
index 95bdd66d5..d25179029 100755
--- a/src/libs/core/tglobals.cpp
+++ b/src/libs/core/tglobals.cpp
@@ -252,10 +252,10 @@ void Tglobals::loadSettings(QSettings* cfg) {
       E->expertsAnswerEnable = cfg->value(QStringLiteral("expertsAnswerEnable"), false).toBool();
       E->studentName = cfg->value(QStringLiteral("studentName"), QString()).toString();
 #if defined (Q_OS_ANDROID)
-      E->examsDir = cfg->value(QStringLiteral("examsDir")), Tandroid::getExternalPath()).toString();
+      E->examsDir = cfg->value(QStringLiteral("examsDir"), Tandroid::getExternalPath()).toString();
       if (!QFileInfo::exists(E->examsDir)) // reset if doesn't exist
         E->examsDir = Tandroid::getExternalPath();
-      E->levelsDir = cfg->value(QStringLiteral("levelsDir")), Tandroid::getExternalPath()).toString();
+      E->levelsDir = cfg->value(QStringLiteral("levelsDir"), Tandroid::getExternalPath()).toString();
       if (!QFileInfo::exists(E->levelsDir))
         E->levelsDir = Tandroid::getExternalPath();
 #else
diff --git a/src/libs/core/tinitcorelib.cpp b/src/libs/core/tinitcorelib.cpp
index 9551f161a..c39fbb6a0 100644
--- a/src/libs/core/tinitcorelib.cpp
+++ b/src/libs/core/tinitcorelib.cpp
@@ -24,7 +24,6 @@
 #include "tpath.h"
 #include <QtGui/qguiapplication.h>
 #include <QtGui/qpalette.h>
-// #include <QtWidgets/qmessagebox.h>
 #include <QtCore/qtranslator.h>
 #include <QtCore/qlibraryinfo.h>
 #include <QtGui/qfontdatabase.h>
@@ -32,15 +31,11 @@
 #include <QtCore/qdir.h>
 #if defined (Q_OS_ANDROID)
   #include "Android/tandroid.h"
-  #include <QtWidgets/qstylefactory.h>
 #endif
 
 
 Tglobals* Tcore::m_gl = nullptr;
 
-#if defined (Q_OS_ANDROID)
-  QStyle* Tcore::androidStyle = nullptr;
-#endif
 
 bool initCoreLibrary() {
   if (Tcore::gl() == nullptr) {
@@ -48,11 +43,6 @@ bool initCoreLibrary() {
     return false;
   }
 
-#if defined (Q_OS_ANDROID)
-  if (Tcore::androidStyle == nullptr)
-    Tcore::androidStyle = QStyleFactory::create(QStringLiteral("android"));
-#endif
-
   Trhythm::initialize();
   Tcolor::setShadow(qApp->palette());
 
diff --git a/src/libs/core/tinitcorelib.h b/src/libs/core/tinitcorelib.h
index cda823480..5b6ebfc0d 100755
--- a/src/libs/core/tinitcorelib.h
+++ b/src/libs/core/tinitcorelib.h
@@ -25,7 +25,6 @@
 
 class QTranslator;
 class QGuiApplication;
-class QStyle;
 
 /**
  * Internal instance of Tglobals pointer used by in initCoreLibrary. *
@@ -38,9 +37,6 @@ class NOOTKACORE_EXPORT Tcore
 
 public:
   static Tglobals* gl() { return m_gl; } /** static global pointer to Tglobals */
-#if defined (Q_OS_ANDROID)
-  static QStyle* androidStyle;
-#endif
 
 protected:
   static void setGlobals(Tglobals *g) { m_gl = g; }
diff --git a/src/libs/core/tnootkaqml.cpp b/src/libs/core/tnootkaqml.cpp
index 4ea613015..29e6c45d6 100644
--- a/src/libs/core/tnootkaqml.cpp
+++ b/src/libs/core/tnootkaqml.cpp
@@ -20,8 +20,8 @@
 #include "ttickcolors.h"
 #include "nootkaconfig.h"
 #include "tpath.h"
-#include "music/tmeter.h"
-#include "music/tclef.h"
+//#include "music/tmeter.h"
+//#include "music/tclef.h"
 #include "music/tkeysignature.h"
 #include "score/tscoreobject.h"
 #include "score/tstaffobject.h"
diff --git a/src/libs/core/tnootkaqml.h b/src/libs/core/tnootkaqml.h
index 08f26b2ce..f007bdc06 100644
--- a/src/libs/core/tnootkaqml.h
+++ b/src/libs/core/tnootkaqml.h
@@ -21,12 +21,11 @@
 
 
 #include <nootkacoreglobal.h>
-#include <QtCore/qobject.h>
-
+#include "music/tmeter.h"
+#include "music/tclef.h"
+#include "music/tnote.h"
 
-class Tclef;
-class Tmeter;
-class Tnote;
+#include <QtCore/qobject.h>
 
 
 /**
@@ -51,6 +50,13 @@ public:
   Q_INVOKABLE QString minorKeyName(int key);
   Q_INVOKABLE QString getLicense();
   Q_INVOKABLE QString getChanges();
+  Q_INVOKABLE bool isAndroid() {
+        #if defined (Q_OS_ANDROID)
+            return true;
+        #else
+            return false;
+        #endif
+  }
 
 private:
   static TnootkaQML             *m_instance;
diff --git a/src/libs/core/ttickcolors.h b/src/libs/core/ttickcolors.h
index 3b34f2ea0..6fb9c2446 100644
--- a/src/libs/core/ttickcolors.h
+++ b/src/libs/core/ttickcolors.h
@@ -36,9 +36,11 @@ public:
   Q_INVOKABLE void resize(qreal w);
 
   Q_INVOKABLE QColor colorAt(int nr) {
-    return m_tickColors[qBound(0, nr, m_tickColors.count() - 1)];
-    if (nr < 0 || nr > m_tickColors.count() - 1)
+    if (nr < 0 || nr > m_tickColors.count() - 1) {
       qDebug() << "wrong color number" << nr;
+      return QColor();
+    }
+    return m_tickColors[qBound(0, nr, m_tickColors.count() - 1)];
   }
 
   QColor gradColorAtPoint(float lineX1, float lineX2, QColor startC, QColor endC, float posC);
diff --git a/src/main.cpp b/src/main.cpp
index 6f9fe5d40..5b4e6cee5 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -17,12 +17,9 @@
  ***************************************************************************/
 
 
-#if defined (Q_OS_ANDROID)
-  #include <Android/tandroid.h>
-#endif
 #include <tinitcorelib.h>
 #include <tpath.h>
-#include <tmtr.h>
+//#include <tmtr.h>
 #include <QtGui/qguiapplication.h>
 #include <QtGui/qicon.h>
 #include <QtQml/qqmlapplicationengine.h>
@@ -36,6 +33,9 @@
 
 #include "tnootkaqml.h"
 
+#if defined (Q_OS_ANDROID)
+  #include <Android/tandroid.h>
+#endif
 
 static QString logFile;
 
@@ -66,10 +66,10 @@ int main(int argc, char *argv[])
   qputenv("QT_ANDROID_VOLUME_KEYS", "1"); // Handle volume keys by Qt, lock native Android behavior
 
   // log to any writable storage
-  logFile = Tandroid::getExternalPath() + QStringLiteral("/nootka-log.txt");
+ logFile = Tandroid::getExternalPath() + QStringLiteral("/nootka-log.txt");
   if (QFile::exists(logFile))
     QFile::remove(logFile);
-  qInstallMessageHandler(myMessageOutput);
+ qInstallMessageHandler(myMessageOutput);
   qDebug() << "==== NOOTKA LOG =======\n" << QDateTime::currentDateTime().toString();
 #endif
 
@@ -120,9 +120,9 @@ int main(int argc, char *argv[])
 
     if (firstTime) {
 #if defined (Q_OS_ANDROID)
-      QString androidArg = Tandroid::getRunArgument();
-      if (!androidArg.isEmpty())
-        w->openFile(androidArg);
+//      QString androidArg = Tandroid::getRunArgument();
+//      if (!androidArg.isEmpty())
+//        w->openFile(androidArg);
 #else // TODO
 //       if (argc > 1)
 //         w->openFile(QString::fromLocal8Bit(argv[argc - 1]));
@@ -136,7 +136,7 @@ int main(int argc, char *argv[])
     if (resetConfig) { // delete config file - new Nootka instance will start with first run wizard
         QFile f(confFile);
         f.remove();
-        Tandroid::restartNootka(); // and call Nootka after delay
+       Tandroid::restartNootka(); // and call Nootka after delay
     }
     resetConfig = false; // do - while loop doesn't work with Android
     qApp->quit(); // HACK: calling QApplication::quick() solves hang on x86 when Qt uses native (usually obsolete) SSL libraries
diff --git a/src/qml/shared/ClefMenu.qml b/src/qml/shared/ClefMenu.qml
index a6f80a302..02b917c27 100644
--- a/src/qml/shared/ClefMenu.qml
+++ b/src/qml/shared/ClefMenu.qml
@@ -37,7 +37,7 @@ Grid {
 
   onSelClefChanged: {
     for (var c = 0; c < 7; ++c) {
-      clefButtons.itemAt(c).highlighted = (clefNr[c] == selClef)
+      clefButtons.itemAt(c).highlighted = (clefNr[c] === selClef)
     }
   }
 
diff --git a/src/src.pro b/src/src.pro
index d0d4c68ef..548077710 100644
--- a/src/src.pro
+++ b/src/src.pro
@@ -1,17 +1,13 @@
 
-QT += multimedia androidextras core gui widgets printsupport
+QT += multimedia androidextras core gui quick quickcontrols2 printsupport
 
 
-TARGET = Nootka
+TARGET = Nootka2
 TEMPLATE = app
 
 SOURCES += main.cpp \
-           mainwindow.cpp \
-           ttouchstyle.cpp \
 
-HEADERS  += mainwindow.h \
-           ttouchstyle.h \
-          \
+# HEADERS  += 
 
 
 CONFIG += mobility warn_off
@@ -21,22 +17,21 @@ android {
   QMAKE_CXXFLAGS_RELEASE += -fsigned-char
   QMAKE_CXXFLAGS_DEBUG += -fsigned-char -O1
   ANDROID_EXTRA_LIBS += $$OUT_PWD/libs/core/libNootkaCore.so\
-                        $$OUT_PWD/libs/mobile/libNootkaMobile.so\
-                        $$OUT_PWD/libs/score/libNootkaScore.so\
-                        $$OUT_PWD/libs/widgets/libNootkaWidgets.so\
-                        $$OUT_PWD/libs/sound/libNootkaSound.so\
-                        $$OUT_PWD/libs/misc/libNootkaMisc.so\
-                        $$OUT_PWD/libs/main/libNootkaMain.so\
+#                         $$OUT_PWD/libs/mobile/libNootkaMobile.so\
+#                         $$OUT_PWD/libs/sound/libNootkaSound.so\
+#                         $$OUT_PWD/libs/misc/libNootkaMisc.so\
+#                         $$OUT_PWD/libs/main/libNootkaMain.so\
 }
 
-INCLUDEPATH = INCLUDEPATH += libs/core libs/mobile libs/score libs/widgets libs/sound libs/main
+INCLUDEPATH += libs/core
+#libs/mobile libs/sound libs/main
 
 LIBS += -Llibs/core/ -lNootkaCore \
-        -Llibs/mobile/ -lNootkaMobile \
-        -Llibs/score/ -lNootkaScore \
-        -Llibs/widgets -lNootkaWidgets \
-        -Llibs/sound -lNootkaSound \
-        -Llibs/main -lNootkaMain
+#         -Llibs/mobile/ -lNootkaMobile \
+#         -Llibs/sound -lNootkaSound \
+#         -Llibs/main -lNootkaMain
+
+RESOURCES += nootka.qrc
 
 DISTFILES += \
     android/AndroidManifest.xml \
-- 
GitLab