| Age | Commit message (Collapse) | Author |
|
- Apply a dynamic width
- Use a height that depends on the style
- Cleanup some interfaces and replace xxxBoundingRect() by
xxxRect()
|
|
- Open the context menu on the mouse-press event, not on the
mouse-release event.
- Provide an explicit position-information and don't use
QCursor::pos(). This fixes the issue that opening a context-menu
by the keyboard opens below the cursor.
- Provide different signals in the KItemListController for
the different context-menu types (item vs. view vs. header).
- Implement turning on/off roles by the header-context-menu.
|
|
If an item does not fit into the available width/height a scrollbar
should be provided (e.g. typically this represents the horizontal
scrollbar in the details-view where the width can be larger than
the than the visible width).
Currently the interaction with the scrollbar is not implemented but
this will be a quite minor task in comparison to this patch.
|
|
KItemListView does not react on the resizing yet. Toggling the
sort order and changing the sort role is already possible.
|
|
|
|
- Start autoscrolling when doing a dragging
- Start autoscrolling with a small delay
|
|
When requesting a context menu above a non-selected item, the
existing selection must be cleared.
|
|
|
|
key on them, equivalent to a mouse click.
REVIEW: 102450
|
|
|
|
|
|
|
|
This modifications will also allow to do an autoscrolling in an
easy way for drag and drop operations (not fully implemented yet).
|
|
|
|
REVIEW: 102447
|
|
- Don't clear the selection on mouse-press events, do it (if
allowed) in the mouse-release-event. Otherwise dragging of
multiple selected items would not be possible.
- Don't clear the selection when the context-menu gets opened
by a right-click.
- Fix issue that dragging is not possible after the first
drop that has been canceled.
|
|
|
|
Includes a lot of TODOs but is a base for getting back full drag
and drop support quite soon.
|
|
The old selection must be remembered before starting the rubberband
selection, otherwise it would not be possible anymore to deselect
items that have been selected by the rubberband itself.
|
|
If the user has pressed the Shift- or Control-key during the
rubberband selection, the previous selection should not be cleared.
|
|
In this case the rubberband automatically uses the whole width of
the view.
|
|
|
|
This is just a rough draft: The rubberband gets visible and an
automatic scrolling is done if the autoscroll-margins have been
reached. However currently no items get selected yet. Currently
the autoscrolling has a severe bug if the scrollbars are manually
changed before or after a rubberband selection.
|
|
|
|
Things that are still missing:
1. Moving to the previous/next row with Up/Down in Icons View,
moving to the previous/next columns in Compact View.
2. Navigation in Details View.
Note that scrolling to the current item doesn't work yet, and
that the view does not have keyboard focus initially, so one has
to click the view before keyboard navigation and seleciton works.
|
|
|
|
Key press events are forwarded from KItemListContainer to
KItemListController. Right now, only the 'Home' and 'End' keys
are handled (arrow keys require some more work because their action
depends on the view mode).
Note:
1. Before key presses are handled, the view has to be clicked with
the mouse. It seems that the view does not have the keyboard
focus initially.
2. The view does not scroll to the new current item yet.
|
|
|
|
It still looks a bit ugly, but at least we can see the current
item now :-) It is only updated by mouse clicks at the moment.
|
|
|
|
|
|
|
|
An item should only be triggered after a mouse release
event if the mouse press has been done at the same position.
|
|
Dolphin 2.0 will get a new view-engine with the
following improvements:
- Better performance
- Animated transitions
- No clipped filenames due to dynamic item-sizes
- Grouping support for all view-modes
- Non-rectangular selection areas
- Simplified code for better maintenance
More details will be provided in a blog-entry during
the next days.
Please note that the code is in a very
early alpha-stage and although the most tricky parts
have been implemented already very basic things like
drag and drop or selections have not been pushed yet.
Those things are rather trivial to implement but this
still will take some time.
|