mirror of https://github.com/status-im/qzxing.git
Updated BarcodeEncoder project. Previous implementation caused compilation error when compiled with MSVC. Also this implementation is more compact
This commit is contained in:
parent
3397ee4a2b
commit
88012f5aa2
|
@ -1,22 +1,31 @@
|
||||||
# Add more folders to ship with the application, here
|
QT += qml quick
|
||||||
folder_01.source = qml/BarcodeEncoder
|
|
||||||
folder_01.target = qml
|
|
||||||
DEPLOYMENTFOLDERS = folder_01
|
|
||||||
|
|
||||||
# Additional import path used to resolve QML modules in Creator's code model
|
CONFIG += c++11
|
||||||
QML_IMPORT_PATH =
|
|
||||||
|
|
||||||
#CONFIG += gnu++11
|
|
||||||
QMAKE_CXXFLAGS += -std=gnu++11
|
|
||||||
|
|
||||||
# The .cpp file which was generated for your project. Feel free to hack it.
|
|
||||||
SOURCES += main.cpp
|
SOURCES += main.cpp
|
||||||
|
|
||||||
# Installation path
|
RESOURCES += qml.qrc
|
||||||
# target.path =
|
|
||||||
|
# Additional import path used to resolve QML modules in Qt Creator's code model
|
||||||
|
QML_IMPORT_PATH =
|
||||||
|
|
||||||
|
# Additional import path used to resolve QML modules just for Qt Quick Designer
|
||||||
|
QML_DESIGNER_IMPORT_PATH =
|
||||||
|
|
||||||
|
# The following define makes your compiler emit warnings if you use
|
||||||
|
# any feature of Qt which as been marked deprecated (the exact warnings
|
||||||
|
# depend on your compiler). Please consult the documentation of the
|
||||||
|
# deprecated API in order to know how to port your code away from it.
|
||||||
|
DEFINES += QT_DEPRECATED_WARNINGS
|
||||||
|
|
||||||
|
# You can also make your code fail to compile if you use deprecated APIs.
|
||||||
|
# In order to do so, uncomment the following line.
|
||||||
|
# You can also select to disable deprecated APIs only up to a certain version of Qt.
|
||||||
|
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
|
||||||
|
|
||||||
|
# Default rules for deployment.
|
||||||
|
qnx: target.path = /tmp/$${TARGET}/bin
|
||||||
|
else: unix:!android: target.path = /opt/$${TARGET}/bin
|
||||||
|
!isEmpty(target.path): INSTALLS += target
|
||||||
|
|
||||||
include(../../src/QZXing.pri)
|
include(../../src/QZXing.pri)
|
||||||
|
|
||||||
# Please do not modify the following two lines. Required for deployment.
|
|
||||||
include(qtquick2applicationviewer/qtquick2applicationviewer.pri)
|
|
||||||
qtcAddDeployment()
|
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 3.3 KiB |
Binary file not shown.
Before Width: | Height: | Size: 4.8 KiB |
|
@ -1,19 +1,19 @@
|
||||||
#include <QtGui/QGuiApplication>
|
#include <QGuiApplication>
|
||||||
#include "qtquick2applicationviewer.h"
|
#include <QQmlApplicationEngine>
|
||||||
|
|
||||||
#include <QZXing.h>
|
#include <QZXing.h>
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
int main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
|
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
|
||||||
QGuiApplication app(argc, argv);
|
QGuiApplication app(argc, argv);
|
||||||
|
|
||||||
|
QQmlApplicationEngine engine;
|
||||||
|
|
||||||
QZXing::registerQMLTypes();
|
QZXing::registerQMLTypes();
|
||||||
QtQuick2ApplicationViewer viewer;
|
QZXing::registerQMLImageProvider(engine);
|
||||||
|
|
||||||
QZXing::registerQMLImageProvider(viewer);
|
engine.load(QUrl(QLatin1String("qrc:/main.qml")));
|
||||||
viewer.setMainQmlFile(QStringLiteral("qml/BarcodeEncoder/main.qml"));
|
|
||||||
|
|
||||||
viewer.showExpanded();
|
|
||||||
|
|
||||||
return app.exec();
|
return app.exec();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,11 @@
|
||||||
import QtQuick 2.0
|
import QtQuick 2.0
|
||||||
import QtQuick.Controls 1.1
|
import QtQuick.Controls 2.0
|
||||||
import QZXing 2.3
|
import QZXing 2.3
|
||||||
|
|
||||||
Rectangle {
|
ApplicationWindow {
|
||||||
width: 360
|
visible: true
|
||||||
height: 360
|
width: 640
|
||||||
|
height: 480
|
||||||
|
|
||||||
TextField {
|
TextField {
|
||||||
id: inputField
|
id: inputField
|
||||||
|
@ -18,7 +19,7 @@ Rectangle {
|
||||||
id: submit
|
id: submit
|
||||||
anchors.right: parent.right
|
anchors.right: parent.right
|
||||||
anchors.top: parent.top
|
anchors.top: parent.top
|
||||||
text: "decode"
|
text: "encode"
|
||||||
anchors.margins: 10
|
anchors.margins: 10
|
||||||
onClicked: {
|
onClicked: {
|
||||||
qzxing.encodeData(inputField.text)
|
qzxing.encodeData(inputField.text)
|
|
@ -0,0 +1,5 @@
|
||||||
|
<RCC>
|
||||||
|
<qresource prefix="/">
|
||||||
|
<file>main.qml</file>
|
||||||
|
</qresource>
|
||||||
|
</RCC>
|
|
@ -1,87 +0,0 @@
|
||||||
// checksum 0xc01f version 0x90005
|
|
||||||
/*
|
|
||||||
This file was generated by the Qt Quick 2 Application wizard of Qt Creator.
|
|
||||||
QtQuick2ApplicationViewer is a convenience class containing mobile device specific
|
|
||||||
code such as screen orientation handling. Also QML paths and debugging are
|
|
||||||
handled here.
|
|
||||||
It is recommended not to modify this file, since newer versions of Qt Creator
|
|
||||||
may offer an updated version of it.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "qtquick2applicationviewer.h"
|
|
||||||
|
|
||||||
#include <QtCore/QCoreApplication>
|
|
||||||
#include <QtCore/QDir>
|
|
||||||
#include <QtQml/QQmlEngine>
|
|
||||||
|
|
||||||
class QtQuick2ApplicationViewerPrivate
|
|
||||||
{
|
|
||||||
QString mainQmlFile;
|
|
||||||
friend class QtQuick2ApplicationViewer;
|
|
||||||
static QString adjustPath(const QString &path);
|
|
||||||
};
|
|
||||||
|
|
||||||
QString QtQuick2ApplicationViewerPrivate::adjustPath(const QString &path)
|
|
||||||
{
|
|
||||||
#if defined(Q_OS_IOS)
|
|
||||||
if (!QDir::isAbsolutePath(path))
|
|
||||||
return QString::fromLatin1("%1/%2")
|
|
||||||
.arg(QCoreApplication::applicationDirPath(), path);
|
|
||||||
#elif defined(Q_OS_MAC)
|
|
||||||
if (!QDir::isAbsolutePath(path))
|
|
||||||
return QString::fromLatin1("%1/../Resources/%2")
|
|
||||||
.arg(QCoreApplication::applicationDirPath(), path);
|
|
||||||
#elif defined(Q_OS_BLACKBERRY)
|
|
||||||
if (!QDir::isAbsolutePath(path))
|
|
||||||
return QString::fromLatin1("app/native/%1").arg(path);
|
|
||||||
#elif !defined(Q_OS_ANDROID)
|
|
||||||
QString pathInInstallDir =
|
|
||||||
QString::fromLatin1("%1/../%2").arg(QCoreApplication::applicationDirPath(), path);
|
|
||||||
if (QFileInfo(pathInInstallDir).exists())
|
|
||||||
return pathInInstallDir;
|
|
||||||
pathInInstallDir =
|
|
||||||
QString::fromLatin1("%1/%2").arg(QCoreApplication::applicationDirPath(), path);
|
|
||||||
if (QFileInfo(pathInInstallDir).exists())
|
|
||||||
return pathInInstallDir;
|
|
||||||
#elif defined(Q_OS_ANDROID_NO_SDK)
|
|
||||||
return QLatin1String("/data/user/qt/") + path;
|
|
||||||
#endif
|
|
||||||
return path;
|
|
||||||
}
|
|
||||||
|
|
||||||
QtQuick2ApplicationViewer::QtQuick2ApplicationViewer(QWindow *parent)
|
|
||||||
: QQuickView(parent)
|
|
||||||
, d(new QtQuick2ApplicationViewerPrivate())
|
|
||||||
{
|
|
||||||
connect(engine(), SIGNAL(quit()), SLOT(close()));
|
|
||||||
setResizeMode(QQuickView::SizeRootObjectToView);
|
|
||||||
}
|
|
||||||
|
|
||||||
QtQuick2ApplicationViewer::~QtQuick2ApplicationViewer()
|
|
||||||
{
|
|
||||||
delete d;
|
|
||||||
}
|
|
||||||
|
|
||||||
void QtQuick2ApplicationViewer::setMainQmlFile(const QString &file)
|
|
||||||
{
|
|
||||||
d->mainQmlFile = QtQuick2ApplicationViewerPrivate::adjustPath(file);
|
|
||||||
#if defined(Q_OS_ANDROID) && !defined(Q_OS_ANDROID_NO_SDK)
|
|
||||||
setSource(QUrl(QLatin1String("assets:/")+d->mainQmlFile));
|
|
||||||
#else
|
|
||||||
setSource(QUrl::fromLocalFile(d->mainQmlFile));
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
void QtQuick2ApplicationViewer::addImportPath(const QString &path)
|
|
||||||
{
|
|
||||||
engine()->addImportPath(QtQuick2ApplicationViewerPrivate::adjustPath(path));
|
|
||||||
}
|
|
||||||
|
|
||||||
void QtQuick2ApplicationViewer::showExpanded()
|
|
||||||
{
|
|
||||||
#if defined(Q_WS_SIMULATOR) || defined(Q_OS_QNX)
|
|
||||||
showFullScreen();
|
|
||||||
#else
|
|
||||||
show();
|
|
||||||
#endif
|
|
||||||
}
|
|
|
@ -1,33 +0,0 @@
|
||||||
// checksum 0xfde6 version 0x90005
|
|
||||||
/*
|
|
||||||
This file was generated by the Qt Quick 2 Application wizard of Qt Creator.
|
|
||||||
QtQuick2ApplicationViewer is a convenience class containing mobile device specific
|
|
||||||
code such as screen orientation handling. Also QML paths and debugging are
|
|
||||||
handled here.
|
|
||||||
It is recommended not to modify this file, since newer versions of Qt Creator
|
|
||||||
may offer an updated version of it.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef QTQUICK2APPLICATIONVIEWER_H
|
|
||||||
#define QTQUICK2APPLICATIONVIEWER_H
|
|
||||||
|
|
||||||
#include <QtQuick/QQuickView>
|
|
||||||
|
|
||||||
class QtQuick2ApplicationViewer : public QQuickView
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
|
|
||||||
public:
|
|
||||||
explicit QtQuick2ApplicationViewer(QWindow *parent = 0);
|
|
||||||
virtual ~QtQuick2ApplicationViewer();
|
|
||||||
|
|
||||||
void setMainQmlFile(const QString &file);
|
|
||||||
void addImportPath(const QString &path);
|
|
||||||
|
|
||||||
void showExpanded();
|
|
||||||
|
|
||||||
private:
|
|
||||||
class QtQuick2ApplicationViewerPrivate *d;
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // QTQUICK2APPLICATIONVIEWER_H
|
|
|
@ -1,202 +0,0 @@
|
||||||
# checksum 0x21c9 version 0x90005
|
|
||||||
# This file was generated by the Qt Quick 2 Application wizard of Qt Creator.
|
|
||||||
# The code below adds the QtQuick2ApplicationViewer to the project and handles
|
|
||||||
# the activation of QML debugging.
|
|
||||||
# It is recommended not to modify this file, since newer versions of Qt Creator
|
|
||||||
# may offer an updated version of it.
|
|
||||||
|
|
||||||
QT += qml quick
|
|
||||||
|
|
||||||
SOURCES += $$PWD/qtquick2applicationviewer.cpp
|
|
||||||
HEADERS += $$PWD/qtquick2applicationviewer.h
|
|
||||||
INCLUDEPATH += $$PWD
|
|
||||||
# This file was generated by an application wizard of Qt Creator.
|
|
||||||
# The code below handles deployment to Android and Maemo, aswell as copying
|
|
||||||
# of the application data to shadow build directories on desktop.
|
|
||||||
# It is recommended not to modify this file, since newer versions of Qt Creator
|
|
||||||
# may offer an updated version of it.
|
|
||||||
|
|
||||||
defineTest(qtcAddDeployment) {
|
|
||||||
for(deploymentfolder, DEPLOYMENTFOLDERS) {
|
|
||||||
item = item$${deploymentfolder}
|
|
||||||
greaterThan(QT_MAJOR_VERSION, 4) {
|
|
||||||
itemsources = $${item}.files
|
|
||||||
} else {
|
|
||||||
itemsources = $${item}.sources
|
|
||||||
}
|
|
||||||
$$itemsources = $$eval($${deploymentfolder}.source)
|
|
||||||
itempath = $${item}.path
|
|
||||||
$$itempath= $$eval($${deploymentfolder}.target)
|
|
||||||
export($$itemsources)
|
|
||||||
export($$itempath)
|
|
||||||
DEPLOYMENT += $$item
|
|
||||||
}
|
|
||||||
|
|
||||||
MAINPROFILEPWD = $$PWD
|
|
||||||
|
|
||||||
android-no-sdk {
|
|
||||||
for(deploymentfolder, DEPLOYMENTFOLDERS) {
|
|
||||||
item = item$${deploymentfolder}
|
|
||||||
itemfiles = $${item}.files
|
|
||||||
$$itemfiles = $$eval($${deploymentfolder}.source)
|
|
||||||
itempath = $${item}.path
|
|
||||||
$$itempath = /data/user/qt/$$eval($${deploymentfolder}.target)
|
|
||||||
export($$itemfiles)
|
|
||||||
export($$itempath)
|
|
||||||
INSTALLS += $$item
|
|
||||||
}
|
|
||||||
|
|
||||||
target.path = /data/user/qt
|
|
||||||
|
|
||||||
export(target.path)
|
|
||||||
INSTALLS += target
|
|
||||||
} else:android {
|
|
||||||
for(deploymentfolder, DEPLOYMENTFOLDERS) {
|
|
||||||
item = item$${deploymentfolder}
|
|
||||||
itemfiles = $${item}.files
|
|
||||||
$$itemfiles = $$eval($${deploymentfolder}.source)
|
|
||||||
itempath = $${item}.path
|
|
||||||
$$itempath = /assets/$$eval($${deploymentfolder}.target)
|
|
||||||
export($$itemfiles)
|
|
||||||
export($$itempath)
|
|
||||||
INSTALLS += $$item
|
|
||||||
}
|
|
||||||
|
|
||||||
x86 {
|
|
||||||
target.path = /libs/x86
|
|
||||||
} else: armeabi-v7a {
|
|
||||||
target.path = /libs/armeabi-v7a
|
|
||||||
} else {
|
|
||||||
target.path = /libs/armeabi
|
|
||||||
}
|
|
||||||
|
|
||||||
export(target.path)
|
|
||||||
INSTALLS += target
|
|
||||||
} else:win32 {
|
|
||||||
copyCommand =
|
|
||||||
for(deploymentfolder, DEPLOYMENTFOLDERS) {
|
|
||||||
source = $$MAINPROFILEPWD/$$eval($${deploymentfolder}.source)
|
|
||||||
source = $$replace(source, /, \\)
|
|
||||||
sourcePathSegments = $$split(source, \\)
|
|
||||||
target = $$OUT_PWD/$$eval($${deploymentfolder}.target)/$$last(sourcePathSegments)
|
|
||||||
target = $$replace(target, /, \\)
|
|
||||||
target ~= s,\\\\\\.?\\\\,\\,
|
|
||||||
!isEqual(source,$$target) {
|
|
||||||
!isEmpty(copyCommand):copyCommand += &&
|
|
||||||
isEqual(QMAKE_DIR_SEP, \\) {
|
|
||||||
copyCommand += $(COPY_DIR) \"$$source\" \"$$target\"
|
|
||||||
} else {
|
|
||||||
source = $$replace(source, \\\\, /)
|
|
||||||
target = $$OUT_PWD/$$eval($${deploymentfolder}.target)
|
|
||||||
target = $$replace(target, \\\\, /)
|
|
||||||
copyCommand += test -d \"$$target\" || mkdir -p \"$$target\" && cp -r \"$$source\" \"$$target\"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
!isEmpty(copyCommand) {
|
|
||||||
copyCommand = @echo Copying application data... && $$copyCommand
|
|
||||||
copydeploymentfolders.commands = $$copyCommand
|
|
||||||
first.depends = $(first) copydeploymentfolders
|
|
||||||
export(first.depends)
|
|
||||||
export(copydeploymentfolders.commands)
|
|
||||||
QMAKE_EXTRA_TARGETS += first copydeploymentfolders
|
|
||||||
}
|
|
||||||
} else:ios {
|
|
||||||
copyCommand =
|
|
||||||
for(deploymentfolder, DEPLOYMENTFOLDERS) {
|
|
||||||
source = $$MAINPROFILEPWD/$$eval($${deploymentfolder}.source)
|
|
||||||
source = $$replace(source, \\\\, /)
|
|
||||||
target = $CODESIGNING_FOLDER_PATH/$$eval($${deploymentfolder}.target)
|
|
||||||
target = $$replace(target, \\\\, /)
|
|
||||||
sourcePathSegments = $$split(source, /)
|
|
||||||
targetFullPath = $$target/$$last(sourcePathSegments)
|
|
||||||
targetFullPath ~= s,/\\.?/,/,
|
|
||||||
!isEqual(source,$$targetFullPath) {
|
|
||||||
!isEmpty(copyCommand):copyCommand += &&
|
|
||||||
copyCommand += mkdir -p \"$$target\"
|
|
||||||
copyCommand += && cp -r \"$$source\" \"$$target\"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
!isEmpty(copyCommand) {
|
|
||||||
copyCommand = echo Copying application data... && $$copyCommand
|
|
||||||
!isEmpty(QMAKE_POST_LINK): QMAKE_POST_LINK += ";"
|
|
||||||
QMAKE_POST_LINK += "$$copyCommand"
|
|
||||||
export(QMAKE_POST_LINK)
|
|
||||||
}
|
|
||||||
} else:unix {
|
|
||||||
maemo5 {
|
|
||||||
desktopfile.files = $${TARGET}.desktop
|
|
||||||
desktopfile.path = /usr/share/applications/hildon
|
|
||||||
icon.files = $${TARGET}64.png
|
|
||||||
icon.path = /usr/share/icons/hicolor/64x64/apps
|
|
||||||
} else:!isEmpty(MEEGO_VERSION_MAJOR) {
|
|
||||||
desktopfile.files = $${TARGET}_harmattan.desktop
|
|
||||||
desktopfile.path = /usr/share/applications
|
|
||||||
icon.files = $${TARGET}80.png
|
|
||||||
icon.path = /usr/share/icons/hicolor/80x80/apps
|
|
||||||
} else { # Assumed to be a Desktop Unix
|
|
||||||
copyCommand =
|
|
||||||
for(deploymentfolder, DEPLOYMENTFOLDERS) {
|
|
||||||
source = $$MAINPROFILEPWD/$$eval($${deploymentfolder}.source)
|
|
||||||
source = $$replace(source, \\\\, /)
|
|
||||||
macx {
|
|
||||||
target = $$OUT_PWD/$${TARGET}.app/Contents/Resources/$$eval($${deploymentfolder}.target)
|
|
||||||
} else {
|
|
||||||
target = $$OUT_PWD/$$eval($${deploymentfolder}.target)
|
|
||||||
}
|
|
||||||
target = $$replace(target, \\\\, /)
|
|
||||||
sourcePathSegments = $$split(source, /)
|
|
||||||
targetFullPath = $$target/$$last(sourcePathSegments)
|
|
||||||
targetFullPath ~= s,/\\.?/,/,
|
|
||||||
!isEqual(source,$$targetFullPath) {
|
|
||||||
!isEmpty(copyCommand):copyCommand += &&
|
|
||||||
copyCommand += $(MKDIR) \"$$target\"
|
|
||||||
copyCommand += && $(COPY_DIR) \"$$source\" \"$$target\"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
!isEmpty(copyCommand) {
|
|
||||||
copyCommand = @echo Copying application data... && $$copyCommand
|
|
||||||
copydeploymentfolders.commands = $$copyCommand
|
|
||||||
first.depends = $(first) copydeploymentfolders
|
|
||||||
export(first.depends)
|
|
||||||
export(copydeploymentfolders.commands)
|
|
||||||
QMAKE_EXTRA_TARGETS += first copydeploymentfolders
|
|
||||||
}
|
|
||||||
}
|
|
||||||
!isEmpty(target.path) {
|
|
||||||
installPrefix = $${target.path}
|
|
||||||
} else {
|
|
||||||
installPrefix = /opt/$${TARGET}
|
|
||||||
}
|
|
||||||
for(deploymentfolder, DEPLOYMENTFOLDERS) {
|
|
||||||
item = item$${deploymentfolder}
|
|
||||||
itemfiles = $${item}.files
|
|
||||||
$$itemfiles = $$eval($${deploymentfolder}.source)
|
|
||||||
itempath = $${item}.path
|
|
||||||
$$itempath = $${installPrefix}/$$eval($${deploymentfolder}.target)
|
|
||||||
export($$itemfiles)
|
|
||||||
export($$itempath)
|
|
||||||
INSTALLS += $$item
|
|
||||||
}
|
|
||||||
|
|
||||||
!isEmpty(desktopfile.path) {
|
|
||||||
export(icon.files)
|
|
||||||
export(icon.path)
|
|
||||||
export(desktopfile.files)
|
|
||||||
export(desktopfile.path)
|
|
||||||
INSTALLS += icon desktopfile
|
|
||||||
}
|
|
||||||
|
|
||||||
isEmpty(target.path) {
|
|
||||||
target.path = $${installPrefix}/bin
|
|
||||||
export(target.path)
|
|
||||||
}
|
|
||||||
INSTALLS += target
|
|
||||||
}
|
|
||||||
|
|
||||||
export (ICON)
|
|
||||||
export (INSTALLS)
|
|
||||||
export (DEPLOYMENT)
|
|
||||||
export (LIBS)
|
|
||||||
export (QMAKE_EXTRA_TARGETS)
|
|
||||||
}
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
; This file can be edited to change the style of the application
|
||||||
|
; See Styling Qt Quick Controls 2 in the documentation for details:
|
||||||
|
; http://doc.qt.io/qt-5/qtquickcontrols2-styles.html
|
||||||
|
|
||||||
|
[Controls]
|
||||||
|
Style=Default
|
||||||
|
|
||||||
|
[Universal]
|
||||||
|
Theme=Light
|
||||||
|
;Accent=Steel
|
||||||
|
|
||||||
|
[Material]
|
||||||
|
Theme=Light
|
||||||
|
;Accent=BlueGrey
|
||||||
|
;Primary=BlueGray
|
15
src/QZXing.h
15
src/QZXing.h
|
@ -5,19 +5,20 @@
|
||||||
#include <QObject>
|
#include <QObject>
|
||||||
#include <QImage>
|
#include <QImage>
|
||||||
|
|
||||||
|
#ifdef QZXING_QML
|
||||||
#if QT_VERSION >= 0x040700 && QT_VERSION < 0x050000
|
#if QT_VERSION >= 0x040700 && QT_VERSION < 0x050000
|
||||||
#include <QtDeclarative>
|
#include <QtDeclarative>
|
||||||
#elif QT_VERSION >= 0x050000
|
#elif QT_VERSION >= 0x050000
|
||||||
#include <QtQml/qqml.h>
|
#include <QtQml/qqml.h>
|
||||||
#include <QQuickView>
|
#include <QQuickView>
|
||||||
#include <QQmlEngine>
|
#include <QQmlEngine>
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "QZXingImageProvider.h"
|
#include "QZXingImageProvider.h"
|
||||||
|
#endif //QT_VERSION >= 0x040700 && QT_VERSION < 0x050000
|
||||||
|
#endif //QZXING_QML
|
||||||
|
|
||||||
#ifdef QZXING_MULTIMEDIA
|
#ifdef QZXING_MULTIMEDIA
|
||||||
#include "QZXingFilter.h"
|
#include "QZXingFilter.h"
|
||||||
#endif//#ifdef QZXING_MULTIMEDIA
|
#endif //QZXING_MULTIMEDIA
|
||||||
|
|
||||||
// forward declaration
|
// forward declaration
|
||||||
namespace zxing {
|
namespace zxing {
|
||||||
|
@ -92,10 +93,16 @@ public:
|
||||||
#endif //QT_VERSION >= Qt 4.7
|
#endif //QT_VERSION >= Qt 4.7
|
||||||
|
|
||||||
#if QT_VERSION >= 0x050000
|
#if QT_VERSION >= 0x050000
|
||||||
|
//depricated, kept for backward compatibility
|
||||||
static void registerQMLImageProvider(const QQuickView& view)
|
static void registerQMLImageProvider(const QQuickView& view)
|
||||||
{
|
{
|
||||||
QQmlEngine *engine = view.engine();
|
QQmlEngine *engine = view.engine();
|
||||||
engine->addImageProvider(QLatin1String("QZXing"), QZXingImageProvider::getInstance());
|
registerQMLImageProvider(*engine);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void registerQMLImageProvider(QQmlEngine& engine)
|
||||||
|
{
|
||||||
|
engine.addImageProvider(QLatin1String("QZXing"), QZXingImageProvider::getInstance());
|
||||||
}
|
}
|
||||||
#endif //QT_VERSION >= Qt 5.0
|
#endif //QT_VERSION >= Qt 5.0
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue