On Jan 2, 2008 10:45 PM, Jason Stubbs &lt;<a href="mailto:jasonbstubbs@gmail.com">jasonbstubbs@gmail.com</a>&gt; wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><div></div><div class="Wj3C7c">On Thursday 03 January 2008 13:20:15 JST, Christopher Blauvelt wrote:<br>&gt; Attached is a patch which will allow you to move icons when clicking on the<br>&gt; icon itself rather than just the clicking on the handle. &nbsp;This time with
<br>&gt; fewer style violations. :)<br><br><br></div></div>- &nbsp; &nbsp;if (boundingRect().contains(event-&gt;pos())) {<br>- &nbsp; &nbsp; &nbsp; &nbsp;if (~d-&gt;states &amp; Private::HoverState) {<br>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;d-&gt;states |= Private::HoverState;
<br>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;update();<br>- &nbsp; &nbsp; &nbsp; &nbsp;}<br>- &nbsp; &nbsp;} else {<br>- &nbsp; &nbsp; &nbsp; &nbsp;if (d-&gt;states &amp; Private::HoverState) {<br>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;d-&gt;states &amp;= ~Private::HoverState;<br>- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;update();<br>- &nbsp; &nbsp; &nbsp; &nbsp;}<br>- &nbsp; &nbsp;}
<br>+ &nbsp; &nbsp;d-&gt;states |= Private::MovedState;<br><br><br>Why is the HoverState stuff being removed? In fact, it looks like none of the<br>libs/plasma/widgets/icon.* changes are necessary...</blockquote><div><br>The hover state is removed because the icon now moves with the cursor.&nbsp; You don&#39;t have to worry about the cursor not being on the icon during a mouseMoveEvent.
<br><br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br><br><br>+#include &lt;plasma/corona.h&gt;</blockquote><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br><br><br>This also doesn&#39;t look necessary...</blockquote><div><br>You&#39;re right it&#39;s not.&nbsp; I meant to remove it before submitting.<br>&nbsp;
<br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br><br><br>- &nbsp; &nbsp;double width = qBound(minimumSize().width(), iconSize.width(),<br>
maximumSize().width());<br>- &nbsp; &nbsp;double height = qBound(minimumSize().height(), iconSize.height(),<br>maximumSize().height());<br>+ &nbsp; &nbsp;qreal width = qBound(minimumSize().width(), iconSize.width(),<br>maximumSize().width());
<br>+ &nbsp; &nbsp;qreal height = qBound(minimumSize().height(), iconSize.height(),<br>maximumSize().height());<br><br><br>These sorts of changes (while correct) make patches harder to review.<br><br><br>+ &nbsp; &nbsp;QGraphicsItem* appletHandle = parentItem();
<br>+<br>+ &nbsp; &nbsp;if(appletHandle) {<br>+ &nbsp; &nbsp; &nbsp; &nbsp;//don&#39;t move the icon as well because appletHandle will do it for us<br>+ &nbsp; &nbsp; &nbsp; &nbsp;appletHandle-&gt;moveBy(delta.x(),delta.y());<br><br><br>I haven&#39;t tested this, but it looks like this would move the entire panel when
<br>dragging an icon applet that&#39;s within the panel. I wonder if AppletHandle<br>can&#39;t listen for position changes somehow and update itself...</blockquote><div><br>You&#39;re right it does.&nbsp; So either there needs to be a way to tell if we have an applethandle or not or applethandle needs to be able to respond to applet moves.
<br><br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br><font color="#888888"><br>--<br>Jason Stubbs<br>_______________________________________________
<br>Panel-devel mailing list<br><a href="mailto:Panel-devel@kde.org">Panel-devel@kde.org</a><br><a href="https://mail.kde.org/mailman/listinfo/panel-devel" target="_blank">https://mail.kde.org/mailman/listinfo/panel-devel
</a><br></font></blockquote></div><br>