Skycoder42
7 years ago
29 changed files with 512 additions and 22 deletions
@ -1,6 +1,7 @@ |
|||||
TEMPLATE = subdirs |
TEMPLATE = subdirs |
||||
|
|
||||
SUBDIRS = mvvmcore \ |
SUBDIRS = mvvmcore \ |
||||
mvvmwidgets |
mvvmwidgets \ |
||||
|
mvvmquick |
||||
|
|
||||
CONFIG += ordered |
CONFIG += ordered |
||||
|
@ -0,0 +1,70 @@ |
|||||
|
TEMPLATE = app |
||||
|
|
||||
|
QT += core gui qml quick mvvmquick |
||||
|
|
||||
|
TARGET = SampleQuick |
||||
|
|
||||
|
SOURCES += main.cpp |
||||
|
|
||||
|
RESOURCES += qml.qrc |
||||
|
|
||||
|
target.path = $$[QT_INSTALL_EXAMPLES]/mvvmquick/$$TARGET |
||||
|
INSTALLS += target |
||||
|
|
||||
|
#not found by linker? |
||||
|
unix:!mac { |
||||
|
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/../../mvvmcore/SampleCore/release/ -lSampleCore |
||||
|
else:win32:CONFIG(debug, debug|release): LIBS += -L$$OUT_PWD/../../mvvmcore/SampleCore/debug/ -lSampleCore |
||||
|
else:unix: LIBS += -L$$OUT_PWD/../../mvvmcore/SampleCore/ -lSampleCore |
||||
|
|
||||
|
INCLUDEPATH += $$PWD/../../mvvmcore/SampleCore |
||||
|
DEPENDPATH += $$PWD/../../mvvmcore/SampleCore |
||||
|
|
||||
|
win32-g++:CONFIG(release, debug|release): PRE_TARGETDEPS += $$OUT_PWD/../../mvvmcore/SampleCore/release/libSampleCore.a |
||||
|
else:win32-g++:CONFIG(debug, debug|release): PRE_TARGETDEPS += $$OUT_PWD/../../mvvmcore/SampleCore/debug/libSampleCore.a |
||||
|
else:win32:!win32-g++:CONFIG(release, debug|release): PRE_TARGETDEPS += $$OUT_PWD/../../mvvmcore/SampleCore/release/SampleCore.lib |
||||
|
else:win32:!win32-g++:CONFIG(debug, debug|release): PRE_TARGETDEPS += $$OUT_PWD/../../mvvmcore/SampleCore/debug/SampleCore.lib |
||||
|
else:unix: PRE_TARGETDEPS += $$OUT_PWD/../../mvvmcore/SampleCore/libSampleCore.a |
||||
|
|
||||
|
#hacky code to make it possible to use the example from within a shadowed build |
||||
|
samples_in_build { |
||||
|
# first, create a fake qml imports dir |
||||
|
FAKEPATH = qml/de/skycoder42/qtmvvm/quick |
||||
|
ORIGPATH = ../../../../../../../../qml/de/skycoder42/qtmvvm/quick |
||||
|
QMLDEPPATH = $$PWD/../../../src/imports/mvvmquick |
||||
|
system($$QMAKE_MKDIR $$shell_quote($$shell_path($$FAKEPATH))) |
||||
|
|
||||
|
# next, symlink all "compiled" files |
||||
|
build_symlink_target.target = create_qml_build_symlinks |
||||
|
build_symlink_target.commands += $$QMAKE_SYMBOLIC_LINK $$shell_path($$ORIGPATH/libdeclarative_mvvmquick.so) $$shell_quote($$shell_path($$FAKEPATH/libdeclarative_mvvmquick.so)) \ |
||||
|
$$escape_expand(\n\t)$$QMAKE_SYMBOLIC_LINK $$shell_path($$ORIGPATH/plugins.qmltypes) $$shell_quote($$shell_path($$FAKEPATH/plugins.qmltypes)) \ |
||||
|
$$escape_expand(\n\t)$$QMAKE_SYMBOLIC_LINK $$shell_path($$ORIGPATH/qmldir) $$shell_quote($$shell_path($$FAKEPATH/qmldir)) |
||||
|
QMAKE_EXTRA_TARGETS += build_symlink_target |
||||
|
|
||||
|
# next, prepare compiler to symlink all the qml files |
||||
|
qml_symlink_compiler.name = symlink ${QMAKE_FILE_IN} |
||||
|
qml_symlink_compiler.input = QML_MODULE_DEPFILES |
||||
|
qml_symlink_compiler.variable_out = QML_MODULE_DEPFILES_LINKS |
||||
|
qml_symlink_compiler.output = $$FAKEPATH/${QMAKE_FILE_BASE}.qml |
||||
|
qml_symlink_compiler.commands = $$QMAKE_SYMBOLIC_LINK $$QMLDEPPATH/${QMAKE_FILE_BASE}.qml ${QMAKE_FILE_OUT} |
||||
|
qml_symlink_compiler.depends = create_qml_build_symlinks |
||||
|
qml_symlink_compiler.CONFIG += no_link target_predeps |
||||
|
QMAKE_EXTRA_COMPILERS += qml_symlink_compiler |
||||
|
|
||||
|
#finally, add the files to make it work |
||||
|
QML_MODULE_DEPFILES += $$files($$QMLDEPPATH/*.qml) |
||||
|
|
||||
|
# also, add it as import path for QtCreator and the src files |
||||
|
QML_IMPORT_PATH = $$OUT_PWD/qml/ |
||||
|
DEFINES += QML_PATH=\\\"$$QML_IMPORT_PATH\\\" |
||||
|
} |
@ -0,0 +1,22 @@ |
|||||
|
#include <QGuiApplication> |
||||
|
#include <QQmlApplicationEngine> |
||||
|
|
||||
|
#include <samplecoreapp.h> |
||||
|
|
||||
|
QTMVVM_REGISTER_CORE_APP(SampleCoreApp) |
||||
|
|
||||
|
int main(int argc, char *argv[]) |
||||
|
{ |
||||
|
qputenv("QML2_IMPORT_PATH", QML_PATH); |
||||
|
|
||||
|
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); |
||||
|
|
||||
|
QGuiApplication app(argc, argv); |
||||
|
|
||||
|
QQmlApplicationEngine engine; |
||||
|
engine.load(QUrl(QStringLiteral("qrc:/main.qml"))); |
||||
|
if (engine.rootObjects().isEmpty()) |
||||
|
return -1; |
||||
|
|
||||
|
return app.exec(); |
||||
|
} |
@ -0,0 +1,6 @@ |
|||||
|
import QtQuick 2.10 |
||||
|
import de.skycoder42.qtmvvm.quick 1.0 |
||||
|
|
||||
|
App { |
||||
|
title: qsTr("Hello World") |
||||
|
} |
@ -0,0 +1,5 @@ |
|||||
|
<RCC> |
||||
|
<qresource prefix="/"> |
||||
|
<file>main.qml</file> |
||||
|
</qresource> |
||||
|
</RCC> |
@ -0,0 +1,5 @@ |
|||||
|
TEMPLATE = subdirs |
||||
|
QT_FOR_CONFIG += quick |
||||
|
|
||||
|
SUBDIRS += \ |
||||
|
SampleQuick |
@ -1,4 +1,5 @@ |
|||||
TEMPLATE = subdirs |
TEMPLATE = subdirs |
||||
|
QT_FOR_CONFIG += widgets |
||||
|
|
||||
SUBDIRS += \ |
SUBDIRS += \ |
||||
SampleWidgets |
SampleWidgets |
||||
|
@ -0,0 +1,4 @@ |
|||||
|
TEMPLATE = subdirs |
||||
|
|
||||
|
SUBDIRS += \ |
||||
|
mvvmquick |
@ -0,0 +1,11 @@ |
|||||
|
import QtQuick 2.10 |
||||
|
import QtQuick.Controls 2.3 |
||||
|
|
||||
|
ApplicationWindow { |
||||
|
id: _root |
||||
|
visible: true |
||||
|
width: 360 |
||||
|
height: 520 |
||||
|
|
||||
|
PresenterProgress {} |
||||
|
} |
@ -0,0 +1,13 @@ |
|||||
|
import QtQuick 2.10 |
||||
|
import QtQuick.Controls 2.3 |
||||
|
import de.skycoder42.qtmvvm.quick 1.0 |
||||
|
|
||||
|
ProgressBar { |
||||
|
visible: QuickPresenter.viewLoading |
||||
|
value: QuickPresenter.loadingProgress |
||||
|
|
||||
|
anchors.left: parent.left |
||||
|
anchors.right: parent.right |
||||
|
anchors.top: parent.top |
||||
|
z: 10 |
||||
|
} |
@ -0,0 +1,95 @@ |
|||||
|
import QtQuick 2.10 |
||||
|
import QtQuick.Controls 2.3 |
||||
|
import de.skycoder42.qtmvvm.quick 1.0 |
||||
|
|
||||
|
StackView { |
||||
|
id: mainStack |
||||
|
anchors.fill: parent |
||||
|
|
||||
|
readonly property int animDuration: 150 |
||||
|
readonly property int opDuration: 75 |
||||
|
|
||||
|
function presentItem(item) { |
||||
|
if(push(item)) { |
||||
|
QuickPresenter.qmlPresenter.opened(item); |
||||
|
return true; |
||||
|
} else |
||||
|
return false; |
||||
|
} |
||||
|
|
||||
|
function withdrawItem(item) { |
||||
|
if(currentItem === item) { |
||||
|
if(pop()) { |
||||
|
QuickPresenter.qmlPresenter.closed(item); |
||||
|
return true; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
return false; |
||||
|
} |
||||
|
|
||||
|
function closeAction() { |
||||
|
if(typeof mainStack.currentItem.closeAction != "undefined") { |
||||
|
if(mainStack.currentItem.closeAction()) |
||||
|
return true; |
||||
|
} |
||||
|
|
||||
|
if(mainStack.depth <= 1) |
||||
|
return false; |
||||
|
else { |
||||
|
var item = mainStack.pop(); |
||||
|
if(item) { |
||||
|
QuickPresenter.qmlPresenter.closed(item); |
||||
|
return true; |
||||
|
} else |
||||
|
return false; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
pushEnter: Transition { |
||||
|
PropertyAnimation { |
||||
|
property: "y" |
||||
|
easing.type: Easing.InOutQuad |
||||
|
from: height * 0.3 |
||||
|
to: 0 |
||||
|
duration: mainStack.animDuration |
||||
|
} |
||||
|
PropertyAnimation { |
||||
|
property: "opacity" |
||||
|
from: 0.0 |
||||
|
to: 1.0 |
||||
|
duration: mainStack.opDuration |
||||
|
} |
||||
|
} |
||||
|
pushExit: Transition { |
||||
|
PauseAnimation { |
||||
|
duration: mainStack.animDuration |
||||
|
} |
||||
|
} |
||||
|
popEnter: Transition { |
||||
|
PauseAnimation { |
||||
|
duration: mainStack.animDuration |
||||
|
} |
||||
|
} |
||||
|
popExit: Transition { |
||||
|
PropertyAnimation { |
||||
|
property: "y" |
||||
|
easing.type: Easing.InOutQuad |
||||
|
from: 0 |
||||
|
to: height * 0.3 |
||||
|
duration: mainStack.animDuration |
||||
|
} |
||||
|
SequentialAnimation { |
||||
|
PauseAnimation { |
||||
|
duration: mainStack.animDuration - mainStack.opDuration |
||||
|
} |
||||
|
PropertyAnimation { |
||||
|
id: pp1 |
||||
|
property: "opacity" |
||||
|
from: 1.0 |
||||
|
to: 0.0 |
||||
|
duration: mainStack.opDuration |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
@ -0,0 +1,39 @@ |
|||||
|
QT += core qml quick mvvmquick |
||||
|
CXX_MODULE = mvvmquick |
||||
|
TARGETPATH = de/skycoder42/qtmvvm/quick |
||||
|
TARGET = declarative_mvvmquick |
||||
|
IMPORT_VERSION = 1.0 |
||||
|
|
||||
|
HEADERS += \ |
||||
|
qtmvvmquick_plugin.h \ |
||||
|
qqmlquickpresenter.h |
||||
|
|
||||
|
SOURCES += \ |
||||
|
qtmvvmquick_plugin.cpp \ |
||||
|
qqmlquickpresenter.cpp |
||||
|
|
||||
|
QML_FILES += \ |
||||
|
App.qml \ |
||||
|
PresentingStackView.qml \ |
||||
|
PresenterProgress.qml |
||||
|
|
||||
|
OTHER_FILES += qmldir |
||||
|
|
||||
|
generate_qmltypes { |
||||
|
typeextra1.target = qmltypes |
||||
|
typeextra1.depends += export LD_LIBRARY_PATH := "$$shadowed($$dirname(_QMAKE_CONF_))/lib/:$(LD_LIBRARY_PATH)" |
||||
|
qmltypes.depends += typeextra1 |
||||
|
|
||||
|
typeextra2.target = qmltypes |
||||
|
typeextra2.depends += export QML2_IMPORT_PATH := "$$shadowed($$dirname(_QMAKE_CONF_))/qml/" |
||||
|
qmltypes.depends += typeextra2 |
||||
|
QMAKE_EXTRA_TARGETS += typeextra1 typeextra2 |
||||
|
} |
||||
|
|
||||
|
load(qml_plugin) |
||||
|
|
||||
|
generate_qmltypes { |
||||
|
mfirst.target = all |
||||
|
mfirst.depends += qmltypes |
||||
|
QMAKE_EXTRA_TARGETS += mfirst |
||||
|
} |
@ -0,0 +1,19 @@ |
|||||
|
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.quick 1.0' |
||||
|
|
||||
|
Module { |
||||
|
dependencies: ["QtQuick 2.8"] |
||||
|
Component { |
||||
|
name: "QtMvvm::QQmlQuickPresenter" |
||||
|
prototype: "QObject" |
||||
|
exports: ["de.skycoder42.qtmvvm.quick/QuickPresenter 1.0"] |
||||
|
isCreatable: false |
||||
|
isSingleton: true |
||||
|
exportMetaObjectRevisions: [0] |
||||
|
} |
||||
|
} |
@ -0,0 +1,8 @@ |
|||||
|
module de.skycoder42.qtmvvm.quick |
||||
|
plugin declarative_mvvmquick |
||||
|
classname QtMvvmQuickDeclarativeModule |
||||
|
typeinfo plugins.qmltypes |
||||
|
|
||||
|
App 1.0 App.qml |
||||
|
PresenterProgress 1.0 PresenterProgress.qml |
||||
|
PresentingStackView 1.0 PresentingStackView.qml |
@ -0,0 +1,6 @@ |
|||||
|
#include "qqmlquickpresenter.h" |
||||
|
using namespace QtMvvm; |
||||
|
|
||||
|
QQmlQuickPresenter::QQmlQuickPresenter(QObject *parent) : |
||||
|
QObject(parent) |
||||
|
{} |
@ -0,0 +1,18 @@ |
|||||
|
#ifndef QTMVVM_QQMLQUICKPRESENTER_H |
||||
|
#define QTMVVM_QQMLQUICKPRESENTER_H |
||||
|
|
||||
|
#include <QObject> |
||||
|
|
||||
|
namespace QtMvvm { |
||||
|
|
||||
|
class QQmlQuickPresenter : public QObject |
||||
|
{ |
||||
|
Q_OBJECT |
||||
|
|
||||
|
public: |
||||
|
explicit QQmlQuickPresenter(QObject *parent = nullptr); |
||||
|
}; |
||||
|
|
||||
|
} |
||||
|
|
||||
|
#endif // QTMVVM_QQMLQUICKPRESENTER_H
|
@ -0,0 +1,22 @@ |
|||||
|
#include "qtmvvmquick_plugin.h" |
||||
|
|
||||
|
#include <QtQml> |
||||
|
|
||||
|
#include "qqmlquickpresenter.h" |
||||
|
|
||||
|
static QObject *createQuickPresenterQmlSingleton(QQmlEngine *qmlEngine, QJSEngine *jsEngine) |
||||
|
{ |
||||
|
Q_UNUSED(jsEngine) |
||||
|
return new QtMvvm::QQmlQuickPresenter(qmlEngine); |
||||
|
} |
||||
|
|
||||
|
QtMvvmQuickDeclarativeModule::QtMvvmQuickDeclarativeModule(QObject *parent) : |
||||
|
QQmlExtensionPlugin(parent) |
||||
|
{} |
||||
|
|
||||
|
void QtMvvmQuickDeclarativeModule::registerTypes(const char *uri) |
||||
|
{ |
||||
|
Q_ASSERT(qstrcmp(uri, "de.skycoder42.qtmvvm.quick") == 0); |
||||
|
|
||||
|
qmlRegisterSingletonType<QtMvvm::QQmlQuickPresenter>(uri, 1, 0, "QuickPresenter", createQuickPresenterQmlSingleton); |
||||
|
} |
@ -0,0 +1,16 @@ |
|||||
|
#ifndef QTMVVMQUICK_PLUGIN_H |
||||
|
#define QTMVVMQUICK_PLUGIN_H |
||||
|
|
||||
|
#include <QQmlExtensionPlugin> |
||||
|
|
||||
|
class QtMvvmQuickDeclarativeModule : public QQmlExtensionPlugin |
||||
|
{ |
||||
|
Q_OBJECT |
||||
|
Q_PLUGIN_METADATA(IID QQmlExtensionInterface_iid) |
||||
|
|
||||
|
public: |
||||
|
QtMvvmQuickDeclarativeModule(QObject *parent = nullptr); |
||||
|
void registerTypes(const char *uri) override; |
||||
|
}; |
||||
|
|
||||
|
#endif // QTMVVMQUICK_PLUGIN_H
|
@ -1,4 +1,42 @@ |
|||||
<?xml version="1.0" encoding="utf-8"?> |
<?xml version="1.0" encoding="utf-8"?> |
||||
<!DOCTYPE TS> |
<!DOCTYPE TS> |
||||
<TS version="2.1" language="de_DE"> |
<TS version="2.1" language="de_DE"> |
||||
|
<context> |
||||
|
<name>MessageConfig</name> |
||||
|
<message> |
||||
|
<location filename="../message.cpp" line="+372"/> |
||||
|
<source>%1 — Version %2</source> |
||||
|
<translation type="unfinished"></translation> |
||||
|
</message> |
||||
|
<message> |
||||
|
<location line="+14"/> |
||||
|
<source> (Built with %1)</source> |
||||
|
<translation type="unfinished"></translation> |
||||
|
</message> |
||||
|
<message> |
||||
|
<location line="+3"/> |
||||
|
<source>Qt-Version: <a href="https://www.qt.io/">%1</a></source>
|
||||
|
<translation type="unfinished"></translation> |
||||
|
</message> |
||||
|
<message> |
||||
|
<location line="+14"/> |
||||
|
<source>Developed by: %1</source> |
||||
|
<translation type="unfinished"></translation> |
||||
|
</message> |
||||
|
<message> |
||||
|
<location line="+3"/> |
||||
|
<source>Project Website: <a href="%1">%2</a></source> |
||||
|
<translation type="unfinished"></translation> |
||||
|
</message> |
||||
|
<message> |
||||
|
<location line="+6"/> |
||||
|
<source>License: <a href="%1">%2</a></source> |
||||
|
<translation type="unfinished"></translation> |
||||
|
</message> |
||||
|
<message> |
||||
|
<location line="+4"/> |
||||
|
<source>License: %1</source> |
||||
|
<translation type="unfinished"></translation> |
||||
|
</message> |
||||
|
</context> |
||||
</TS> |
</TS> |
||||
|
@ -1,4 +1,42 @@ |
|||||
<?xml version="1.0" encoding="utf-8"?> |
<?xml version="1.0" encoding="utf-8"?> |
||||
<!DOCTYPE TS> |
<!DOCTYPE TS> |
||||
<TS version="2.1"> |
<TS version="2.1"> |
||||
|
<context> |
||||
|
<name>MessageConfig</name> |
||||
|
<message> |
||||
|
<location filename="../message.cpp" line="+372"/> |
||||
|
<source>%1 — Version %2</source> |
||||
|
<translation type="unfinished"></translation> |
||||
|
</message> |
||||
|
<message> |
||||
|
<location line="+14"/> |
||||
|
<source> (Built with %1)</source> |
||||
|
<translation type="unfinished"></translation> |
||||
|
</message> |
||||
|
<message> |
||||
|
<location line="+3"/> |
||||
|
<source>Qt-Version: <a href="https://www.qt.io/">%1</a></source>
|
||||
|
<translation type="unfinished"></translation> |
||||
|
</message> |
||||
|
<message> |
||||
|
<location line="+14"/> |
||||
|
<source>Developed by: %1</source> |
||||
|
<translation type="unfinished"></translation> |
||||
|
</message> |
||||
|
<message> |
||||
|
<location line="+3"/> |
||||
|
<source>Project Website: <a href="%1">%2</a></source> |
||||
|
<translation type="unfinished"></translation> |
||||
|
</message> |
||||
|
<message> |
||||
|
<location line="+6"/> |
||||
|
<source>License: <a href="%1">%2</a></source> |
||||
|
<translation type="unfinished"></translation> |
||||
|
</message> |
||||
|
<message> |
||||
|
<location line="+4"/> |
||||
|
<source>License: %1</source> |
||||
|
<translation type="unfinished"></translation> |
||||
|
</message> |
||||
|
</context> |
||||
</TS> |
</TS> |
||||
|
@ -1,6 +0,0 @@ |
|||||
#include "builddummy.h" |
|
||||
|
|
||||
builddummy::builddummy() |
|
||||
{ |
|
||||
|
|
||||
} |
|
@ -1,12 +0,0 @@ |
|||||
#ifndef BUILDDUMMY_H |
|
||||
#define BUILDDUMMY_H |
|
||||
|
|
||||
#include "qtmvvmquick_global.h" |
|
||||
|
|
||||
class Q_MVVMQUICK_EXPORT builddummy |
|
||||
{ |
|
||||
public: |
|
||||
builddummy(); |
|
||||
}; |
|
||||
|
|
||||
#endif // BUILDDUMMY_H
|
|
@ -0,0 +1,17 @@ |
|||||
|
#include "quickpresenter.h" |
||||
|
using namespace QtMvvm; |
||||
|
|
||||
|
QuickPresenter::QuickPresenter(QObject *parent) : |
||||
|
QObject(parent), |
||||
|
IPresenter() |
||||
|
{} |
||||
|
|
||||
|
void QuickPresenter::present(QtMvvm::ViewModel *viewModel, const QVariantHash ¶ms, QPointer<QtMvvm::ViewModel> parent) |
||||
|
{ |
||||
|
|
||||
|
} |
||||
|
|
||||
|
void QuickPresenter::showDialog(const QtMvvm::MessageConfig &config, QtMvvm::MessageResult *result) |
||||
|
{ |
||||
|
|
||||
|
} |
@ -0,0 +1,26 @@ |
|||||
|
#ifndef QTMVVM_QUICKPRESENTER_H |
||||
|
#define QTMVVM_QUICKPRESENTER_H |
||||
|
|
||||
|
#include <QtCore/qobject.h> |
||||
|
|
||||
|
#include <QtMvvmCore/ipresenter.h> |
||||
|
|
||||
|
#include "QtMvvmQuick/qtmvvmquick_global.h" |
||||
|
|
||||
|
namespace QtMvvm { |
||||
|
|
||||
|
class Q_MVVMQUICK_EXPORT QuickPresenter : public QObject, public IPresenter |
||||
|
{ |
||||
|
Q_OBJECT |
||||
|
Q_INTERFACES(QtMvvm::IPresenter) |
||||
|
|
||||
|
public: |
||||
|
explicit QuickPresenter(QObject *parent = nullptr); |
||||
|
|
||||
|
void present(ViewModel *viewModel, const QVariantHash ¶ms, QPointer<ViewModel> parent) override; |
||||
|
void showDialog(const MessageConfig &config, MessageResult *result) override; |
||||
|
}; |
||||
|
|
||||
|
} |
||||
|
|
||||
|
#endif // QTMVVM_QUICKPRESENTER_H
|
@ -1,4 +1,17 @@ |
|||||
<?xml version="1.0" encoding="utf-8"?> |
<?xml version="1.0" encoding="utf-8"?> |
||||
<!DOCTYPE TS> |
<!DOCTYPE TS> |
||||
<TS version="2.1" language="de_DE"> |
<TS version="2.1" language="de_DE"> |
||||
|
<context> |
||||
|
<name>QtMvvm::WidgetsPresenter</name> |
||||
|
<message> |
||||
|
<location filename="../widgetspresenter.cpp" line="+214"/> |
||||
|
<source>About</source> |
||||
|
<translation type="unfinished"></translation> |
||||
|
</message> |
||||
|
<message> |
||||
|
<location line="+16"/> |
||||
|
<source>About &Qt</source> |
||||
|
<translation type="unfinished"></translation> |
||||
|
</message> |
||||
|
</context> |
||||
</TS> |
</TS> |
||||
|
@ -1,4 +1,17 @@ |
|||||
<?xml version="1.0" encoding="utf-8"?> |
<?xml version="1.0" encoding="utf-8"?> |
||||
<!DOCTYPE TS> |
<!DOCTYPE TS> |
||||
<TS version="2.1"> |
<TS version="2.1"> |
||||
|
<context> |
||||
|
<name>QtMvvm::WidgetsPresenter</name> |
||||
|
<message> |
||||
|
<location filename="../widgetspresenter.cpp" line="+214"/> |
||||
|
<source>About</source> |
||||
|
<translation type="unfinished"></translation> |
||||
|
</message> |
||||
|
<message> |
||||
|
<location line="+16"/> |
||||
|
<source>About &Qt</source> |
||||
|
<translation type="unfinished"></translation> |
||||
|
</message> |
||||
|
</context> |
||||
</TS> |
</TS> |
||||
|
Loading…
Reference in new issue