diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 2bf14a2b7ee82efb1b04ee67e4156c244b41f37b..34b01f7f0000ff7f8816805ae939a4df6b10a14d 100755 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -20,7 +20,7 @@ endif(Qt5Gui_FOUND) find_package(Qt5Qml REQUIRED) find_package(Qt5Quick REQUIRED) find_package(Qt5QuickControls2 REQUIRED) -find_package(Qt5Widgets REQUIRED) +find_package(Qt5Gui REQUIRED) find_package(Qt5PrintSupport REQUIRED) @@ -93,7 +93,7 @@ target_link_libraries(nootka NootkaCore # NootkaScore Qt5::Core - Qt5::Widgets + Qt5::Gui Qt5::Qml Qt5::Quick Qt5::QuickControls2 diff --git a/src/libs/core/CMakeLists.txt b/src/libs/core/CMakeLists.txt index 52335caf83869b8e6c64d5804d786fab505e2e8f..4dfef33c94f6f7ce68085c73ebc44744bd43e61f 100644 --- a/src/libs/core/CMakeLists.txt +++ b/src/libs/core/CMakeLists.txt @@ -15,7 +15,7 @@ set(LIB_NOOTKACORE_SRC tglobals.cpp tnoofont.cpp tpath.cpp - tmtr.cpp +# tmtr.cpp tnootkaqml.cpp ttickcolors.cpp @@ -55,7 +55,12 @@ set(LIB_NOOTKACORE_SRC add_library(NootkaCore SHARED ${LIB_NOOTKACORE_SRC} ) -target_link_libraries(NootkaCore Qt5::Widgets) +target_link_libraries(NootkaCore + Qt5::Gui + Qt5::Qml + Qt5::Quick + Qt5::QuickControls2 + ) if(UNIX AND NOT APPLE) # Linux path for Nootka library diff --git a/src/libs/core/music/tinstrument.cpp b/src/libs/core/music/tinstrument.cpp index c050849b0ebfbd8b1e718b3e597739b77124d7d7..19ce64a72141b424eda33276ab736e1d093508d6 100644 --- a/src/libs/core/music/tinstrument.cpp +++ b/src/libs/core/music/tinstrument.cpp @@ -17,18 +17,18 @@ ***************************************************************************/ #include "tinstrument.h" -#include <QApplication> +#include <QtGui/qguiapplication.h> QString instrumentToText(Einstrument instr) { if (instr == e_noInstrument) - return QApplication::translate("Einstrument", "other instrument"); + return QGuiApplication::translate("Einstrument", "other instrument"); if (instr == e_classicalGuitar) - return QApplication::translate("Einstrument", "Classical Guitar"); + return QGuiApplication::translate("Einstrument", "Classical Guitar"); if (instr == e_electricGuitar) - return QApplication::translate("Einstrument", "Electric Guitar"); + return QGuiApplication::translate("Einstrument", "Electric Guitar"); if (instr == e_bassGuitar) - return QApplication::translate("Einstrument", "Bass Guitar"); + return QGuiApplication::translate("Einstrument", "Bass Guitar"); return ""; } diff --git a/src/libs/core/tcolor.cpp b/src/libs/core/tcolor.cpp index 4fa82c208e8bb54d530b792dfafe336745f7257a..77201e29bb3464d14a2488ce3febcbf9c81fb817 100644 --- a/src/libs/core/tcolor.cpp +++ b/src/libs/core/tcolor.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2014 by Tomasz Bojczuk * + * Copyright (C) 2014-2017 by Tomasz Bojczuk * * seelook@gmail.com * * * * This program is free software; you can redistribute it and/or modify * @@ -17,6 +17,8 @@ ***************************************************************************/ #include "tcolor.h" +#include <QtGui/qpalette.h> + QColor Tcolor::shadow = Qt::gray; @@ -30,3 +32,36 @@ void Tcolor::setShadow(const QPalette& pal) { shadow = pal.shadow().color(); #endif } + + +QColor Tcolor::merge(const QColor& C1, const QColor& C2) { + qreal al = iV(C1.alpha()) + iV(C2.alpha() * (1 - iV(C1.alpha()))); + return QColor(((iV(C1.red()) * iV(C1.alpha()) + iV(C2.red()) * iV(C2.alpha()) * (1 - iV(C1.alpha()))) / al) * 255, + ((iV(C1.green()) * iV(C1.alpha()) + iV(C2.green()) * iV(C2.alpha()) * (1 - iV(C1.alpha()))) / al) * 255, + ((iV(C1.blue()) * iV(C1.alpha()) + iV(C2.blue()) * iV(C2.alpha()) * (1 - iV(C1.alpha()))) / al) * 255, + qMin(255, (int)(255 * al))); +} + + +QColor Tcolor::invert(const QColor& color) { + QColor C = color; + if (C.isValid()) + C.setRgb(qRgb(255 - C.red(), 255 - C.green(), 255 - C.blue())); + return C; +} + + +QString Tcolor::rgbaText(const QColor& color, const QString& styleTag) { + return QString(styleTag + "rgba(%1, %2, %3, %4);").arg(color.red()).arg(color.green()).arg(color.blue()).arg(color.alpha()); +} + + +QString Tcolor::bgTag(const QColor& color) { + if (color != -1 && color.alpha() > 0) + return rgbaText(color, "background-color:"); + else + return QString("background-color: transparent; "); +} + + + diff --git a/src/libs/core/tcolor.h b/src/libs/core/tcolor.h index a0c9941991e524f14e5079c69d8ccf31555fd052..c5996c2b831b23eb5324e71ae2fcf19ee3273872 100644 --- a/src/libs/core/tcolor.h +++ b/src/libs/core/tcolor.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2014 by Tomasz Bojczuk * + * Copyright (C) 2014-2017 by Tomasz Bojczuk * * seelook@gmail.com * * * * This program is free software; you can redistribute it and/or modify * @@ -19,9 +19,13 @@ #ifndef TCOLOR_H #define TCOLOR_H + #include <nootkacoreglobal.h> -#include <QColor> -#include <QWidget> +#include <QtGui/qcolor.h> + + +class QPalette; + /** * A set of static methods with some tweaks of color: @@ -34,47 +38,39 @@ class NOOTKACORE_EXPORT Tcolor { public: - /** Merge given colors. */ - static QColor merge(const QColor& C1, const QColor& C2) { - qreal al = iV(C1.alpha()) + iV(C2.alpha() * (1 - iV(C1.alpha()))); - return QColor(((iV(C1.red()) * iV(C1.alpha()) + iV(C2.red()) * iV(C2.alpha()) * (1 - iV(C1.alpha()))) / al) * 255, - ((iV(C1.green()) * iV(C1.alpha()) + iV(C2.green()) * iV(C2.alpha()) * (1 - iV(C1.alpha()))) / al) * 255, - ((iV(C1.blue()) * iV(C1.alpha()) + iV(C2.blue()) * iV(C2.alpha()) * (1 - iV(C1.alpha()))) / al) * 255, - qMin(255, (int)(255 * al))); -} - - /** Returns inverted copy of given color */ - static QColor invert(const QColor& color) { - QColor C = color; - if (C.isValid()) - C.setRgb(qRgb(255 - C.red(), 255 - C.green(), 255 - C.blue())); - return C; - } - - /** Returns css style tag with rgba values of color. - * - * @p styleTag rgba(red, green, blue, alpha); - */ - static QString rgbaText(const QColor& color, const QString& styleTag = "") { - return QString(styleTag + "rgba(%1, %2, %3, %4);"). - arg(color.red()).arg(color.green()).arg(color.blue()).arg(color.alpha()); - } - - /** Returns - * background-color: rgba(red, green, blue, alpha) */ - static QString bgTag(const QColor& color) { - if (color != -1 && color.alpha() > 0) - return rgbaText(color, "background-color:"); - else - return QString("background-color: transparent; "); - } - - /** Converts value (0 - 255) to (0.0 - 1.0) */ + + /** + * Merge given colors. + */ + static QColor merge(const QColor& C1, const QColor& C2); + + /** + * Returns inverted copy of given color + */ + static QColor invert(const QColor& color); + + /** + * Returns css style tag with rgba values of color. + * @p styleTag rgba(red, green, blue, alpha); + */ + static QString rgbaText(const QColor& color, const QString& styleTag = QString()); + + /** + * Returns + * background-color: rgba(red, green, blue, alpha) + */ + static QString bgTag(const QColor& color); + + /** + * Converts value (0 - 255) to (0.0 - 1.0) + */ static qreal iV(int ch) { return ch / 255.0; } static QColor shadow; - /** Sets default shadow color of tips */ + /** + * Sets default shadow color of tips + */ static void setShadow(const QPalette& pal); }; diff --git a/src/libs/core/tglobals.cpp b/src/libs/core/tglobals.cpp index 0316f7a160d62355980a6b5cd80f104552171e8c..1eab6f0ef18300938db94d64e3a6288e12fc9bfb 100755 --- a/src/libs/core/tglobals.cpp +++ b/src/libs/core/tglobals.cpp @@ -87,7 +87,7 @@ Tglobals::Tglobals(QObject* parent) : new TtouchParams; #if defined(Q_OS_WIN32) || defined(Q_OS_MAC) // I hate mess in Win registry - config = new QSettings(QSettings::IniFormat, QSettings::UserScope, QStringLiteral("Nootka")), qApp->applicationName()); + config = new QSettings(QSettings::IniFormat, QSettings::UserScope, QStringLiteral("Nootka"), qApp->applicationName()); #else config = new QSettings(); #endif diff --git a/src/libs/core/tinitcorelib.cpp b/src/libs/core/tinitcorelib.cpp index 0b57a9bef768841c951118da81fb810561547b86..d368992c1a7b1909c74e14c1650d1272849af59b 100644 --- a/src/libs/core/tinitcorelib.cpp +++ b/src/libs/core/tinitcorelib.cpp @@ -22,8 +22,9 @@ #include "tcolor.h" #include "tscoreparams.h" #include "tpath.h" -#include <QtWidgets/qapplication.h> -#include <QtWidgets/qmessagebox.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> @@ -75,7 +76,7 @@ bool initCoreLibrary() { } -void prepareTranslations(QApplication* a, QTranslator& qt, QTranslator& noo) { +void prepareTranslations(QGuiApplication* a, QTranslator& qt, QTranslator& noo) { if (!Tcore::gl()) return; @@ -112,12 +113,13 @@ void prepareTranslations(QApplication* a, QTranslator& qt, QTranslator& noo) { } -bool loadNootkaFont(QApplication* a) { +bool loadNootkaFont(QGuiApplication* a) { QFontDatabase fd; int fid = fd.addApplicationFont(Tpath::main + QLatin1String("fonts/nootka.ttf")); int fid2 = fd.addApplicationFont(Tpath::main + QLatin1String("fonts/Scorek.otf")); if (fid == -1 || fid2 == -1) { - QMessageBox::critical(0, QString(), a->translate("main", "<center>Can not load a font.<br>Try to install nootka.ttf manually.</center>")); + qDebug() << "Can not load Nootka fonts!"; +// QMessageBox::critical(0, QString(), a->translate("main", "<center>Can not load a font.<br>Try to install nootka.ttf manually.</center>")); return false; } return true; diff --git a/src/libs/core/tinitcorelib.h b/src/libs/core/tinitcorelib.h index 19b1e93ef23c350318977466004599058ae6daee..cda823480e713db441c3e6183d94ad0742ae4557 100755 --- a/src/libs/core/tinitcorelib.h +++ b/src/libs/core/tinitcorelib.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2014-2016 by Tomasz Bojczuk * + * Copyright (C) 2014-2017 by Tomasz Bojczuk * * seelook@gmail.com * * * * This program is free software; you can redistribute it and/or modify * @@ -24,7 +24,7 @@ class QTranslator; -class QApplication; +class QGuiApplication; class QStyle; /** @@ -61,10 +61,10 @@ NOOTKACORE_EXPORT bool initCoreLibrary(); /** Loads translations files for appropriate language (system or user preferred) * Translator object has to be created before. */ -NOOTKACORE_EXPORT void prepareTranslations(QApplication* a, QTranslator& qt, QTranslator& noo); +NOOTKACORE_EXPORT void prepareTranslations(QGuiApplication* a, QTranslator& qt, QTranslator& noo); /** Checks nootka.ttf file and loads it. Returns true if successful. * libNootkaCore has to be initialized first by initCoreLibrary() */ -NOOTKACORE_EXPORT bool loadNootkaFont(QApplication* a); +NOOTKACORE_EXPORT bool loadNootkaFont(QGuiApplication* a); #endif // TINITCORELIB_H diff --git a/src/libs/core/ttickcolors.h b/src/libs/core/ttickcolors.h index d24f90d7713a611eb4652755cb1619d38d41371b..3b34f2ea090f9fcc8e0adb4d6a2b3bb3c4537248 100644 --- a/src/libs/core/ttickcolors.h +++ b/src/libs/core/ttickcolors.h @@ -20,12 +20,13 @@ #define TTICKCOLORS_H +#include "nootkacoreglobal.h" #include <QtCore/QObject> #include <QtGui/QColor> #include <QtCore/QDebug> -class TtickColors : public QObject +class NOOTKACORE_EXPORT TtickColors : public QObject { Q_OBJECT diff --git a/src/main.cpp b/src/main.cpp index 5dec9cee2161108367bebb3df4ae44ace6a663bc..6f9fe5d40a345a5f6f91efce5f4bc55674fc1793 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -23,7 +23,7 @@ #include <tinitcorelib.h> #include <tpath.h> #include <tmtr.h> -#include <QtWidgets/qapplication.h> +#include <QtGui/qguiapplication.h> #include <QtGui/qicon.h> #include <QtQml/qqmlapplicationengine.h> #include <QtQml/qqmlcontext.h> @@ -75,7 +75,7 @@ int main(int argc, char *argv[]) QTranslator qtTranslator; QTranslator nooTranslator; - QPointer<QApplication> a = 0; + QPointer<QGuiApplication> a = nullptr; QQmlApplicationEngine *e = nullptr; Tpath pathObj; TnootkaQML nooObj; @@ -93,8 +93,8 @@ int main(int argc, char *argv[]) } resetConfig = false; #endif - a = new QApplication(argc, argv); - Tmtr::init(a); + a = new QGuiApplication(argc, argv); +// Tmtr::init(a); gl = new Tglobals(); gl->path = Tglobals::getInstPath(qApp->applicationDirPath());