diff --git a/declarativeimports/core/framesvgitem.cpp b/declarativeimports/core/framesvgitem.cpp index a42d6719d..7c9ed4839 100644 --- a/declarativeimports/core/framesvgitem.cpp +++ b/declarativeimports/core/framesvgitem.cpp @@ -31,7 +31,8 @@ FrameSvgItemMargins::FrameSvgItemMargins(Plasma::FrameSvg *frameSvg, QObject *pa : QObject(parent), m_frameSvg(frameSvg) { - connect(m_frameSvg, SIGNAL(repaintNeeded()), this, SIGNAL(marginsChanged())); + kDebug() << "margins at: " << left() << top() << right() << bottom(); + connect(m_frameSvg, SIGNAL(repaintNeeded()), this, SLOT(update())); } qreal FrameSvgItemMargins::left() const @@ -54,6 +55,11 @@ qreal FrameSvgItemMargins::bottom() const return m_frameSvg->marginSize(BottomMargin); } +void FrameSvgItemMargins::update() +{ + emit marginsChanged(); +} + FrameSvgItem::FrameSvgItem(QDeclarativeItem *parent) : QDeclarativeItem(parent) { @@ -70,8 +76,9 @@ FrameSvgItem::~FrameSvgItem() void FrameSvgItem::setImagePath(const QString &path) { - if (m_frameSvg->imagePath() == path) + if (m_frameSvg->imagePath() == path) { return; + } m_frameSvg->setImagePath(path); m_frameSvg->setElementPrefix(m_prefix); @@ -88,13 +95,15 @@ QString FrameSvgItem::imagePath() const void FrameSvgItem::setPrefix(const QString &prefix) { - if (m_prefix == prefix) + if (m_prefix == prefix) { return; + } m_frameSvg->setElementPrefix(prefix); m_prefix = prefix; emit prefixChanged(); + m_margins->update(); update(); } diff --git a/declarativeimports/core/framesvgitem.h b/declarativeimports/core/framesvgitem.h index 8182e3446..f313f1072 100644 --- a/declarativeimports/core/framesvgitem.h +++ b/declarativeimports/core/framesvgitem.h @@ -59,6 +59,9 @@ public: qreal right() const; qreal bottom() const; +public Q_SLOTS: + void update(); + Q_SIGNALS: void marginsChanged();