<br><br><div class="gmail_quote">On Tue, Aug 10, 2010 at 11:24 PM, Aaron J. Seigo <span dir="ltr"><<a href="mailto:aseigo@kde.org">aseigo@kde.org</a>></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'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'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 "geometryChanged"<br>
signal doesn't actually always get emitted when geometry changes.<br>
<br>
:/<br></blockquote><div><br></div><div>That'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'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's 23:35 here :D).</div><div>
<br></div><div>I'm building my KDE against 4.7, it's funny I'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'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>