summaryrefslogtreecommitdiffstats
path: root/src/gui/itemmodels
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/itemmodels')
-rw-r--r--src/gui/itemmodels/qstandarditemmodel.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/gui/itemmodels/qstandarditemmodel.cpp b/src/gui/itemmodels/qstandarditemmodel.cpp
index 2d296a0e59..223c34a517 100644
--- a/src/gui/itemmodels/qstandarditemmodel.cpp
+++ b/src/gui/itemmodels/qstandarditemmodel.cpp
@@ -139,6 +139,11 @@ void QStandardItemPrivate::setChild(int row, int column, QStandardItem *item,
QStandardItem *oldItem = children.at(index);
if (item == oldItem)
return;
+
+ if (model && emitChanged) {
+ emit model->layoutAboutToBeChanged();
+ }
+
if (item) {
if (item->d_func()->parent == 0) {
item->d_func()->setParentAndModel(q, model);
@@ -152,6 +157,10 @@ void QStandardItemPrivate::setChild(int row, int column, QStandardItem *item,
oldItem->d_func()->setModel(0);
delete oldItem;
children.replace(index, item);
+
+ if (model && emitChanged)
+ emit model->layoutChanged();
+
if (emitChanged && model)
model->d_func()->itemChanged(item);
}