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