Browse Source

fix qml binding auto parent

pull/2/head
Skycoder42 7 years ago
parent
commit
e9ebc8d8c3
No known key found for this signature in database GPG Key ID: 8E01AD9EF0578D2B
  1. 14
      src/imports/mvvmcore/qqmlmvvmbinding.cpp
  2. 8
      src/imports/mvvmcore/qqmlmvvmbinding.h

14
src/imports/mvvmcore/qqmlmvvmbinding.cpp

@ -1,18 +1,10 @@
#include "qqmlmvvmbinding.h" #include "qqmlmvvmbinding.h"
using namespace QtMvvm; using namespace QtMvvm;
#include <QtQml>
QQmlMvvmBinding::QQmlMvvmBinding(QObject *parent) : QQmlMvvmBinding::QQmlMvvmBinding(QObject *parent) :
QObject(parent), QObject(parent),
QQmlParserStatus(), QQmlParserStatus()
_binding(),
_completed(false),
_viewModel(nullptr),
_viewModelProperty(),
_view(parent),
_viewProperty(),
_type(TwoWay),
_viewModelChangeSignal(),
_viewChangeSignal()
{ {
connect(this, &QQmlMvvmBinding::viewModelChanged, connect(this, &QQmlMvvmBinding::viewModelChanged,
this, &QQmlMvvmBinding::resetBinding); this, &QQmlMvvmBinding::resetBinding);
@ -30,6 +22,8 @@ void QQmlMvvmBinding::classBegin() {}
void QQmlMvvmBinding::componentComplete() void QQmlMvvmBinding::componentComplete()
{ {
if(!_view)
_view = parent();
_completed = true; _completed = true;
resetBinding(); resetBinding();
} }

8
src/imports/mvvmcore/qqmlmvvmbinding.h

@ -159,13 +159,13 @@ private Q_SLOTS:
private: private:
Binding _binding; Binding _binding;
bool _completed; bool _completed = false;
QObject* _viewModel; QObject* _viewModel = nullptr;
QString _viewModelProperty; QString _viewModelProperty;
QObject* _view; QObject* _view = nullptr;
QString _viewProperty; QString _viewProperty;
BindingDirection _type; BindingDirection _type = TwoWay;
QString _viewModelChangeSignal; QString _viewModelChangeSignal;
QString _viewChangeSignal; QString _viewChangeSignal;
}; };

Loading…
Cancel
Save