Browse Source

added empty ds quick projects, added quick sample

pull/2/head
Skycoder42 7 years ago
parent
commit
7076f3148d
  1. 3
      examples/examples.pro
  2. 43
      examples/mvvmdatasyncquick/DataSyncSampleQuick/DataSyncSampleQuick.pro
  3. 77
      examples/mvvmdatasyncquick/DataSyncSampleQuick/SampleView.qml
  4. 26
      examples/mvvmdatasyncquick/DataSyncSampleQuick/main.cpp
  5. 6
      examples/mvvmdatasyncquick/DataSyncSampleQuick/main.qml
  6. 8
      examples/mvvmdatasyncquick/DataSyncSampleQuick/qml.qrc
  7. 4
      examples/mvvmdatasyncquick/mvvmdatasyncquick.pro
  8. 6
      examples/mvvmquick/SampleQuick/SampleQuick.pro
  9. 2
      examples/mvvmquick/SampleQuick/main.cpp
  10. 1
      examples/mvvmquick/SampleQuick/main.qml
  11. 4
      src/imports/imports.pro
  12. 5
      src/imports/mvvmdatasyncquick/DataSyncView.qml
  13. 3
      src/imports/mvvmdatasyncquick/mvvmdatasyncquick.json
  14. 40
      src/imports/mvvmdatasyncquick/mvvmdatasyncquick.pro
  15. 50
      src/imports/mvvmdatasyncquick/plugins.qmltypes
  16. 6
      src/imports/mvvmdatasyncquick/qmldir
  17. 20
      src/imports/mvvmdatasyncquick/qtmvvmdatasyncquick_plugin.cpp
  18. 16
      src/imports/mvvmdatasyncquick/qtmvvmdatasyncquick_plugin.h
  19. 6
      src/imports/mvvmdatasyncquick/testdummy.cpp
  20. 17
      src/imports/mvvmdatasyncquick/testdummy.h
  21. 34
      src/mvvmdatasyncquick/mvvmdatasyncquick.pro
  22. 14
      src/mvvmdatasyncquick/qpmx.json
  23. 12
      src/mvvmdatasyncquick/qtmvvmdatasyncquick_global.h
  24. 26
      src/mvvmdatasyncwidgets/mvvmdatasyncwidgets.pro
  25. 8
      src/src.pro
  26. 3
      sync.profile

3
examples/examples.pro

@ -2,7 +2,8 @@ TEMPLATE = subdirs
SUBDIRS = mvvmcore \
mvvmwidgets \
mvvmquick
mvvmquick \
mvvmdatasyncquick
qtHaveModule(datasync) {
SUBDIRS += mvvmdatasynccore \

43
examples/mvvmdatasyncquick/DataSyncSampleQuick/DataSyncSampleQuick.pro

@ -0,0 +1,43 @@
TEMPLATE = app
QT += quick mvvmquick mvvmdatasyncquick widgets
TARGET = DataSyncSampleQuick
SOURCES += main.cpp
RESOURCES += qml.qrc
target.path = $$[QT_INSTALL_EXAMPLES]/mvvmdatasyncquick/$$TARGET
INSTALLS += target
#not found by linker?
linux:!android {
LIBS += -L$$OUT_PWD/../../../lib #required to make this the first place to search
LIBS += -L$$[QT_INSTALL_LIBS] -licudata
LIBS += -L$$[QT_INSTALL_LIBS] -licui18n
LIBS += -L$$[QT_INSTALL_LIBS] -licuuc
}
#add lib dir to rpath
mac: QMAKE_LFLAGS += '-Wl,-rpath,\'$$OUT_PWD/../../../lib\''
#link to core lib
win32:CONFIG(release, debug|release): LIBS += -L$$OUT_PWD/../../mvvmdatasynccore/DataSyncSampleCore/release/ -lDataSyncSampleCore
else:win32:CONFIG(debug, debug|release): LIBS += -L$$OUT_PWD/../../mvvmdatasynccore/DataSyncSampleCore/debug/ -lDataSyncSampleCore
else:unix: LIBS += -L$$OUT_PWD/../../mvvmdatasynccore/DataSyncSampleCore/ -lDataSyncSampleCore
INCLUDEPATH += $$PWD/../../mvvmdatasynccore/DataSyncSampleCore
DEPENDPATH += $$PWD/../../mvvmdatasynccore/DataSyncSampleCore
win32-g++:CONFIG(release, debug|release): PRE_TARGETDEPS += $$OUT_PWD/../../mvvmdatasynccore/DataSyncSampleCore/release/libDataSyncSampleCore.a
else:win32-g++:CONFIG(debug, debug|release): PRE_TARGETDEPS += $$OUT_PWD/../../mvvmdatasynccore/DataSyncSampleCore/debug/libDataSyncSampleCore.a
else:win32:!win32-g++:CONFIG(release, debug|release): PRE_TARGETDEPS += $$OUT_PWD/../../mvvmdatasynccore/DataSyncSampleCore/release/DataSyncSampleCore.lib
else:win32:!win32-g++:CONFIG(debug, debug|release): PRE_TARGETDEPS += $$OUT_PWD/../../mvvmdatasynccore/DataSyncSampleCore/debug/DataSyncSampleCore.lib
else:unix: PRE_TARGETDEPS += $$OUT_PWD/../../mvvmdatasynccore/DataSyncSampleCore/libDataSyncSampleCore.a
# thanks to qmlc files, only the import path must be fixed
samples_in_build {
QML_IMPORT_PATH = $$OUT_PWD/../../../qml
DEFINES += QML_PATH=\\\"$$QML_IMPORT_PATH\\\"
}

77
examples/mvvmdatasyncquick/DataSyncSampleQuick/SampleView.qml

@ -0,0 +1,77 @@
import QtQuick 2.10
import QtQuick.Controls 2.3
import QtQuick.Layouts 1.3
import de.skycoder42.QtMvvm.Core 1.0
import de.skycoder42.QtMvvm.Quick 1.0
import de.skycoder42.QtMvvm.Sample 1.0
Page {
id: sampleView
property SampleViewModel viewModel: null
readonly property bool presentAsRoot: true
header: ToolBar {
height: 56
Label {
anchors.fill: parent
font.pointSize: 16
font.bold: true
elide: Label.ElideRight
horizontalAlignment: Qt.AlignLeft
verticalAlignment: Qt.AlignVCenter
leftPadding: 10
text: qsTr("Datasync Sample")
}
}
PresenterProgress {}
Pane {
anchors.fill: parent
GridLayout {
id: grid
anchors.fill: parent
columns: 2
ListView {
id: mainList
Layout.columnSpan: 2
Layout.fillHeight: true
Layout.fillWidth: true
clip: true
model: viewModel.model
delegate: ItemDelegate {
width: parent.width
text: key
onPressAndHold: viewModel.removeAt(index)
}
}
TextField {
id: addField
placeholderText: "Key"
Layout.fillWidth: true
}
Button {
id: addButton
text: qsTr("Add")
onClicked: {
viewModel.addData(addField.text);
addField.clear();
}
}
Button {
id: syncButton
text: qsTr("Sync Status")
onClicked: viewModel.showSyncInfo()
Layout.columnSpan: 2
Layout.fillWidth: true
}
}
}
}

26
examples/mvvmdatasyncquick/DataSyncSampleQuick/main.cpp

@ -0,0 +1,26 @@
#include <QtWidgets/QApplication>
#include <QtQml/QQmlApplicationEngine>
#include <samplecoreapp.h>
#include <sampleviewmodel.h>
QTMVVM_REGISTER_CORE_APP(SampleCoreApp)
int main(int argc, char *argv[])
{
#ifdef QML_PATH
qputenv("QML2_IMPORT_PATH", QML_PATH);
#endif
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QApplication app(argc, argv);
qmlRegisterUncreatableType<SampleViewModel>("de.skycoder42.QtMvvm.Sample", 1, 0, "SampleViewModel", QStringLiteral("ViewModels cannot be created"));
QQmlApplicationEngine engine;
engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
if (engine.rootObjects().isEmpty())
return -1;
return app.exec();
}

6
examples/mvvmdatasyncquick/DataSyncSampleQuick/main.qml

@ -0,0 +1,6 @@
import QtQuick 2.10
import de.skycoder42.QtMvvm.Quick 1.0
QtMvvmApp {
title: qsTr("QtMvvm Quick Sample")
}

8
examples/mvvmdatasyncquick/DataSyncSampleQuick/qml.qrc

@ -0,0 +1,8 @@
<RCC>
<qresource prefix="/">
<file>main.qml</file>
</qresource>
<qresource prefix="/qtmvvm/views">
<file>SampleView.qml</file>
</qresource>
</RCC>

4
examples/mvvmdatasyncquick/mvvmdatasyncquick.pro

@ -0,0 +1,4 @@
TEMPLATE = subdirs
SUBDIRS += \
DataSyncSampleQuick

6
examples/mvvmquick/SampleQuick/SampleQuick.pro

@ -4,6 +4,9 @@ QT += core gui qml quick mvvmquick widgets
TARGET = SampleQuick
HEADERS += \
quickeventservice.h
SOURCES += main.cpp \
quickeventservice.cpp
@ -43,8 +46,5 @@ samples_in_build {
DEFINES += QML_PATH=\\\"$$QML_IMPORT_PATH\\\"
}
HEADERS += \
quickeventservice.h
!ReleaseBuild:!DebugBuild:!system(qpmx -d $$shell_quote($$_PRO_FILE_PWD_) --qmake-run init $$QPMX_EXTRA_OPTIONS $$shell_quote($$QMAKE_QMAKE) $$shell_quote($$OUT_PWD)): error(qpmx initialization failed. Check the compilation log for details.)
else: include($$OUT_PWD/qpmx_generated.pri)

2
examples/mvvmquick/SampleQuick/main.cpp

@ -1,5 +1,5 @@
#include <QtWidgets/QApplication>
#include <QQmlApplicationEngine>
#include <QtQml/QQmlApplicationEngine>
#include <QtMvvmCore/ServiceRegistry>
#include <QtMvvmQuick/QuickPresenter>
#include <QtQuickControls2/QQuickStyle>

1
examples/mvvmquick/SampleQuick/main.qml

@ -1,5 +1,4 @@
import QtQuick 2.10
import de.skycoder42.QtMvvm.Core 1.0
import de.skycoder42.QtMvvm.Quick 1.0
QtMvvmApp {

4
src/imports/imports.pro

@ -1,9 +1,11 @@
TEMPLATE = subdirs
CONFIG += ordered
SUBDIRS += \
mvvmquick \
mvvmcore
qtHaveModule(datasync) {
SUBDIRS += mvvmdatasynccore
SUBDIRS += mvvmdatasynccore \
mvvmdatasyncquick
}

5
src/imports/mvvmdatasyncquick/DataSyncView.qml

@ -0,0 +1,5 @@
import QtQuick 2.10
Item {
}

3
src/imports/mvvmdatasyncquick/mvvmdatasyncquick.json

@ -0,0 +1,3 @@
{
"Keys" : [ ]
}

40
src/imports/mvvmdatasyncquick/mvvmdatasyncquick.pro

@ -0,0 +1,40 @@
QT += core qml quick mvvmdatasyncquick
CXX_MODULE = mvvmdatasyncquick
TARGETPATH = de/skycoder42/QtMvvm/DataSync/Quick
TARGET = declarative_mvvmdatasyncquick
IMPORT_VERSION = $$MODULE_VERSION_IMPORT
DEFINES += "VERSION_MAJOR=$$MODULE_VERSION_MAJOR"
DEFINES += "VERSION_MINOR=$$MODULE_VERSION_MINOR"
HEADERS += \
qtmvvmdatasyncquick_plugin.h \
testdummy.h
SOURCES += \
qtmvvmdatasyncquick_plugin.cpp \
testdummy.cpp
QML_FILES += \
DataSyncView.qml
OTHER_FILES += qmldir
generate_qmltypes {
typeextra1.target = qmltypes
typeextra1.depends += export LD_LIBRARY_PATH := "$$shadowed($$dirname(_QMAKE_CONF_))/lib/:$(LD_LIBRARY_PATH)"
typeextra2.target = qmltypes
typeextra2.depends += export QML2_IMPORT_PATH := "$$shadowed($$dirname(_QMAKE_CONF_))/qml/"
QMAKE_EXTRA_TARGETS += typeextra1 typeextra2
}
CONFIG += qmlcache
load(qml_plugin)
generate_qmltypes {
qmltypes.depends = ../../../qml/$$TARGETPATH/$(TARGET) #overwrite the target deps
qmltypes.commands += "2>/dev/null" # kill invalid qml warnings
mfirst.target = all
mfirst.depends += qmltypes
QMAKE_EXTRA_TARGETS += mfirst
}

50
src/imports/mvvmdatasyncquick/plugins.qmltypes

@ -0,0 +1,50 @@
import QtQuick.tooling 1.2
// This file describes the plugin-supplied types contained in the library.
// It is used for QML tooling purposes only.
//
// This file was auto-generated by:
// 'qmlplugindump -nonrelocatable de.skycoder42.QtMvvm.DataSync.Quick 1.0'
Module {
dependencies: [
"Qt.labs.platform 1.0",
"QtGraphicalEffects 1.0",
"QtQml 2.2",
"QtQml.Models 2.3",
"QtQuick 2.8",
"QtQuick.Window 2.1",
"de.skycoder42.QtMvvm.Core 1.0",
"de.skycoder42.QtMvvm.DataSync.Core 1.0",
"de.skycoder42.QtMvvm.Quick 1.0"
]
Component {
name: "TestDummy"
prototype: "QObject"
exports: ["de.skycoder42.QtMvvm.DataSync.Quick/TestDummy 1.0"]
exportMetaObjectRevisions: [0]
}
Component {
prototype: "QQuickPlatformFileDialog"
name: "de.skycoder42.QtMvvm.Quick/FileDialog 1.0"
exports: ["de.skycoder42.QtMvvm.Quick/FileDialog 1.0"]
exportMetaObjectRevisions: [0]
isComposite: true
defaultProperty: "data"
Property { name: "msgConfig"; type: "QVariant" }
Property { name: "msgResult"; type: "QtMvvm::MessageResult"; isPointer: true }
Property { name: "mimeTypes"; type: "QVariant" }
Signal { name: "closed" }
}
Component {
prototype: "QQuickPlatformFolderDialog"
name: "de.skycoder42.QtMvvm.Quick/FolderDialog 1.0"
exports: ["de.skycoder42.QtMvvm.Quick/FolderDialog 1.0"]
exportMetaObjectRevisions: [0]
isComposite: true
defaultProperty: "data"
Property { name: "msgConfig"; type: "QVariant" }
Property { name: "msgResult"; type: "QtMvvm::MessageResult"; isPointer: true }
Signal { name: "closed" }
}
}

6
src/imports/mvvmdatasyncquick/qmldir

@ -0,0 +1,6 @@
module de.skycoder42.QtMvvm.DataSync.Quick
plugin declarative_mvvmdatasyncquick
classname QtMvvmDataSyncQuickDeclarativeModule
typeinfo plugins.qmltypes
depends de.skycoder42.QtMvvm.DataSync.Core 1.0
depends de.skycoder42.QtMvvm.Quick 1.0

20
src/imports/mvvmdatasyncquick/qtmvvmdatasyncquick_plugin.cpp

@ -0,0 +1,20 @@
#include "qtmvvmdatasyncquick_plugin.h"
#include <QtQml>
#include "testdummy.h"
QtMvvmDataSyncQuickDeclarativeModule::QtMvvmDataSyncQuickDeclarativeModule(QObject *parent) :
QQmlExtensionPlugin(parent)
{}
void QtMvvmDataSyncQuickDeclarativeModule::registerTypes(const char *uri)
{
Q_ASSERT(qstrcmp(uri, "de.skycoder42.QtMvvm.DataSync.Quick") == 0);
//Version 1.0
qmlRegisterType<TestDummy>(uri, 1, 0, "TestDummy");
// Check to make shure no module update is forgotten
static_assert(VERSION_MAJOR == 1 && VERSION_MINOR == 0, "QML module version needs to be updated");
}

16
src/imports/mvvmdatasyncquick/qtmvvmdatasyncquick_plugin.h

@ -0,0 +1,16 @@
#ifndef QTMVVMDATASYNCQUICK_PLUGIN_H
#define QTMVVMDATASYNCQUICK_PLUGIN_H
#include <QtQml/QQmlExtensionPlugin>
class QtMvvmDataSyncQuickDeclarativeModule : public QQmlExtensionPlugin
{
Q_OBJECT
Q_PLUGIN_METADATA(IID QQmlExtensionInterface_iid)
public:
QtMvvmDataSyncQuickDeclarativeModule(QObject *parent = nullptr);
void registerTypes(const char *uri) override;
};
#endif // QTMVVMDATASYNCQUICK_PLUGIN_H

6
src/imports/mvvmdatasyncquick/testdummy.cpp

@ -0,0 +1,6 @@
#include "testdummy.h"
TestDummy::TestDummy(QObject *parent) : QObject(parent)
{
}

17
src/imports/mvvmdatasyncquick/testdummy.h

@ -0,0 +1,17 @@
#ifndef TESTDUMMY_H
#define TESTDUMMY_H
#include <QObject>
class TestDummy : public QObject //TODO remove again
{
Q_OBJECT
public:
explicit TestDummy(QObject *parent = nullptr);
signals:
public slots:
};
#endif // TESTDUMMY_H

34
src/mvvmdatasyncquick/mvvmdatasyncquick.pro

@ -0,0 +1,34 @@
TARGET = QtMvvmDataSyncQuick
QT = core gui quick mvvmdatasynccore mvvmquick mvvmdatasynccore-private
HEADERS += \
qtmvvmdatasyncquick_global.h
SOURCES +=
TRANSLATIONS += \
translations/qtmvvmdatasyncquick_de.ts \
translations/qtmvvmdatasyncquick_template.ts
DISTFILES += $$TRANSLATIONS
qpmx_ts_target.path = $$[QT_INSTALL_TRANSLATIONS]
qpmx_ts_target.depends += lrelease
load(qt_module)
win32 {
QMAKE_TARGET_PRODUCT = "$$TARGET"
QMAKE_TARGET_COMPANY = "Skycoder42"
QMAKE_TARGET_COPYRIGHT = "Felix Barz"
} else:mac {
QMAKE_TARGET_BUNDLE_PREFIX = "com.skycoder42."
}
!ReleaseBuild:!DebugBuild:!system(qpmx -d $$shell_quote($$_PRO_FILE_PWD_) --qmake-run init $$QPMX_EXTRA_OPTIONS $$shell_quote($$QMAKE_QMAKE) $$shell_quote($$OUT_PWD)): error(qpmx initialization failed. Check the compilation log for details.)
else: include($$OUT_PWD/qpmx_generated.pri)
qpmx_ts_target.files -= $$OUT_PWD/$$QPMX_WORKINGDIR/qtmvvmdatasyncquick_template.qm
qpmx_ts_target.files += translations/qtmvvmdatasyncquick_template.ts

14
src/mvvmdatasyncquick/qpmx.json

@ -0,0 +1,14 @@
{
"dependencies": [],
"license": {
"file": "",
"name": ""
},
"prcFile": "",
"priFile": "",
"priIncludes": [
],
"publishers": {
},
"source": false
}

12
src/mvvmdatasyncquick/qtmvvmdatasyncquick_global.h

@ -0,0 +1,12 @@
#ifndef MVVMDATASYNCQUICK_GLOBAL_H
#define MVVMDATASYNCQUICK_GLOBAL_H
#include <QtCore/qglobal.h>
#if defined(QT_BUILD_MVVMDATASYNCQUICK_LIB)
# define Q_MVVMDATASYNCQUICK_EXPORT Q_DECL_EXPORT
#else
# define Q_MVVMDATASYNCQUICK_EXPORT Q_DECL_IMPORT
#endif
#endif // MVVMDATASYNCQUICK_GLOBAL_H

26
src/mvvmdatasyncwidgets/mvvmdatasyncwidgets.pro

@ -7,18 +7,25 @@ HEADERS += \
datasyncwindow.h \
datasyncwindow_p.h \
exportsetupdialog_p.h \
changeremotedialog_p.h \
identityeditdialog_p.h \
networkexchangewindow.h \
networkexchangewindow_p.h
changeremotedialog_p.h \
identityeditdialog_p.h \
networkexchangewindow.h \
networkexchangewindow_p.h
SOURCES += \
datasyncwindow.cpp \
qtmvvmdatasyncwidgets_global.cpp \
exportsetupdialog.cpp \
changeremotedialog.cpp \
identityeditdialog.cpp \
networkexchangewindow.cpp
identityeditdialog.cpp \
networkexchangewindow.cpp
FORMS += \
datasyncwindow.ui \
exportsetupdialog.ui \
changeremotedialog.ui \
identityeditdialog.ui \
networkexchangewindow.ui
TRANSLATIONS += \
translations/qtmvvmdatasyncwidgets_de.ts \
@ -45,10 +52,3 @@ else: include($$OUT_PWD/qpmx_generated.pri)
qpmx_ts_target.files -= $$OUT_PWD/$$QPMX_WORKINGDIR/qtmvvmdatasyncwidgets_template.qm
qpmx_ts_target.files += translations/qtmvvmdatasyncwidgets_template.ts
FORMS += \
datasyncwindow.ui \
exportsetupdialog.ui \
changeremotedialog.ui \
identityeditdialog.ui \
networkexchangewindow.ui

8
src/src.pro

@ -3,13 +3,15 @@ CONFIG += ordered
SUBDIRS += mvvmcore \
mvvmwidgets \
mvvmquick \
imports
mvvmquick
qtHaveModule(datasync) {
SUBDIRS += mvvmdatasynccore \
mvvmdatasyncwidgets
mvvmdatasyncwidgets \
mvvmdatasyncquick
}
SUBDIRS += imports
prepareRecursiveTarget(lrelease)
QMAKE_EXTRA_TARGETS += lrelease

3
sync.profile

@ -3,7 +3,8 @@
"QtMvvmWidgets" => "$basedir/src/mvvmwidgets",
"QtMvvmQuick" => "$basedir/src/mvvmquick",
"QtMvvmDataSyncCore" => "$basedir/src/mvvmdatasynccore",
"QtMvvmDataSyncWidgets" => "$basedir/src/mvvmdatasyncwidgets"
"QtMvvmDataSyncWidgets" => "$basedir/src/mvvmdatasyncwidgets",
"QtMvvmDataSyncQuick" => "$basedir/src/mvvmdatasyncquick"
);
# Force generation of camel case headers for classes inside QtDataSync namespaces

Loading…
Cancel
Save