<br><br><div class="gmail_quote">On Tue, Aug 10, 2010 at 11:24 PM, Aaron J. Seigo <span dir="ltr">&lt;<a href="mailto:aseigo@kde.org">aseigo@kde.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
hi Alexis ...<br></blockquote><div><br></div><div>Hi,</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
QGraphicsWidget now has a geometryChanged signal in 4.7. Plasma::Applet also<br>
has one. which means we&#39;ll need to conditionally compile it out in<br>
 libplasma. so far, not a huge deal.<br></blockquote><div><br></div><div>mmm, I didn&#39;t see it. strange.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<br>
but there are two problems with QGraphicsWidget::geometryChanged:<br>
<br>
0) it is<br>
called before resizeEvent is sent, which means that subclasses have no<br>
chance to do any internal adjustments before the outside world is told that<br>
 geometry is changing<br></blockquote><div><br></div><div>Well probably a good idea, easy to fix.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
1) it only emits this when setGeometry is called. QGraphicsItem::setPos also<br>
affects the geometry (in fact, setGeometry calls setPos internally), but<br>
there is no signal emitted in this case. meaning that the &quot;geometryChanged&quot;<br>
 signal doesn&#39;t actually always get emitted when geometry changes.<br>
<br>
:/<br></blockquote><div><br></div><div>That&#39;s a bug...Good catch....</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
without touching Plasma::Applet, we have the problem of the signal being<br>
emitted twice (once from QGraphicsView and once from Plasma::Applet), which<br>
we can just compile out as mentioned above ... if only it worked properly<br>
 :)<br></blockquote><div><br></div><div>Yes...</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
do you agree that this should get fixed in Qt?<br>
<br>
<br></blockquote><div><br></div><div>Obviously. Will do tomorrow ASAP and ask integration in 4.7.0</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
and then i just need to<br>
 figure out how to make it so that we don&#39;t get these errors:<br>
<br>
QMetaObject::indexOfSignal: signal geometryChanged() from QGraphicsWidget<br>
 redefined in Plasma::Applet<br>
<br></blockquote><div><br></div><div>Well if you compile it out it should work right? With 4.7 and after the signal is not defined anymore in Plasma::Applet. Am I missing something here (it&#39;s 23:35 here :D).</div><div>
<br></div><div>I&#39;m building my KDE against 4.7, it&#39;s funny I&#39;ve never seen this issue.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
erf. hopefully QObject::connect is up to the task of connecting two signals<br>
of the same name from two different objects in the inheritance hierarchy. i<br>
 don&#39;t have a good feeling about that.</blockquote><div> </div><div>Me neither.</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<font color="#888888"><br>
--<br>
Aaron J. Seigo<br>
humru othro a kohnu se<br>
GPG Fingerprint: 8B8B 2209 0C6F<br>
 7C47 B1EA  EE75 D6B7 2EB1 A7F1 DB43<br>
<br>
KDE core developer sponsored by Qt Development Frameworks<br>
<br>
</font></blockquote></div><br>