On Tuesday 17 March 2009, Christian Mollekopf wrote: > On Mon, 16 Mar 2009 17:28:33 -0600, "Aaron J. Seigo" <ase...@kde.org> > > said: > > On Monday 16 March 2009, Christian Mollekopf wrote: > > > On Monday 16 March 2009 18:14:33 Aaron J. Seigo wrote: > > > > On Sunday 15 March 2009, Christian Mollekopf wrote: > > > > > Therefore i suggest using a cursor like bar to display the insert > > > > > index. > > > > > > > > probably much easier would be to simply adjust the drawing of the > > > > item itself rather than inserting a whole new item and managing the > > > > layout issues. > > > > > > > > so if this is a "regular" item: > > > > > > > > [ icon title ] > > > > > > > > a spacer drop would be: > > > > > > > > [ ] [icontitle] > > > > > > But how would this look with a vertical taskbar? > > > > the item would likely increase its size vertically and pain the > > indicator. > > > > > > the layout would still see it as one item because, well, it would be. > > > > > > > > the beauty of this approach is: > > > > > > > > * you don't need to coordinate multiple items, each AbstractTaskItem > > > > just handles its own dragEnter/dragHover/dragLeave events > > > > > > > > * the layout is completely uninvolved in the process > > > > > > Currently the whole logic is in taskGroupItem, so only expanded tasks > > > accept the drag*events. > > > > that's fine. the items can also react to them, but then pass the event on > > unaccepted. > > > > > I think i will stick to displaying a bar on the insert index if there > > > aren't any objections. > > > > this is inconsistent with how other items in the plasma desktop shell > > work and > > is pretty old school. you'll also run into "doesn't fit" issues in edge > > cases, > > and painting it in the abstract item should be perfectly feasible. > > So should each item display a bar inside the task, or shouldn't there be > any bar and only the text moves a bit away form the edge?
the whole frame and text would move, yes. > The bar is displayed by adding a QGraphicsWidget directly to the scene() > instead of inserting it into the layout. This has the advantage that it > doesn't make the whole operation "nervous" since nothing moves. right, though that's the same thing with the method i described above. > have a look at http://tinypic.com/view.php?pic=2mm7oti&s=5 if you wan't > to see how it looks atm. > > I know the cursors is a bit tiny, but this can be improved. yes, it took me quite a bit to actually see it at all. it's probably more apparent when actually using it as it will appear and disappear. anyways .. what i really don't like about this is that it takes our common visual for "this is a drop location" (the rounded grey translucent rect) and changes its meaning in this one case to "this is what is being dragged". changing the meaning of a visual hint is not good. *thinks* what might be cool, actually, is to only turn it into a QDrag when it leaves the taskbar and when it is in the tasks widget just move the item around directly much as we do in the panel. though in the case of the tasks widget, there's also the possibility to group things, so it can't just move around to the left/right of items exclusively. ok, starting from scratch here and making it "plasma" * items should be dragged directly and should not be dragged via representations (this is what we currently have, and it is very not plasma). this also completely solves the "nervous" nature of having items added/removed as it is directly responding to your movements. * within the tasks widget, items should be dragged about directly, when it leaves the tasks widget a snapshot of the item should be made and that should be set as the drag icon (just as we currently do with extender items) * to accommodate both grouping and rearranging, two different visual cues would be provided: * when grouping is possible, hovering over the center 1/2 of the task would cause the task group to highlight itself signifying it will be dropped on * when grouping is not possible (e.g. not turned on in the config) or when hovered on the 1/4 left/right part of the item, the hovered item will paint a small indicator to the left/right _within_ the item itself this resolves *all* problems of adding additional items as you drag, removes the whole unplasma style of creating drag objects unnecessarily or with abstract representations ... and again, handling of the representation should be done in the item being hovered, even if the actual drop is handled by the group. -- Aaron J. Seigo humru othro a kohnu se GPG Fingerprint: 8B8B 2209 0C6F 7C47 B1EA EE75 D6B7 2EB1 A7F1 DB43 KDE core developer sponsored by Qt Software
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel