┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/kitemviews/kitemlistview.cpp
AgeCommit message (Collapse)Author
2012-02-04Icons view: Layout optimizationsPeter Penz
- Assure that landscape-previews use the whole available width of the icon-area instead of only using the square width. This waste of space occured if the text-width was larger than the icon-width. - Only use one margin instead of two between the icons and the text to improve the visual appearance (thanks to Martin Zilz for the hint) BUG: 293268 FIXED-IN: 4.8.1 CCMAIL: [email protected]
2012-02-03The autoscroll timer should be only a single-shot timerPeter Penz
2012-02-02Fix pending zooming animationPeter Penz
If doLayout() is invoked with the 'NoAnimation' hint, it must be assured that any ongoing animations are stopped.
2012-02-01Don't animate items if the number of grid elements has been changedPeter Penz
Having animated items is useful when e.g. deleting or inserting one item or when the size or position slightly changes by increasing the zoom level or the window size. However if the number of rows or columns change, the animation gets obtrusive and in this case lets just apply the final layout.
2012-01-31Animation optimizationsPeter Penz
Prevent that the moving-animation crosses other items when zooming or changing the window size.
2012-01-30Only move the items if at least one direction is within the item sizePeter Penz
2012-01-30Further animation optimizationsPeter Penz
- Assure a proper minimim width in the compact mode. - Don't calculate the old position of hidden items to animate the moving. Just show them directly.
2012-01-30Fix crash in Compact View if view height is smaller then item heightFrank Reininghaus
CCBUG: 292816 FIXED-IN: 4.8.1 (cherry picked from commit f5ecaee9c40c940fe8e1bf4a7d50fe0b18e1932b)
2012-01-29Make moving animations less obtrusivePeter Penz
Only animate the moving of items if the new position is within the same row or the same column. Otherwise just fade in the icon on the new position. This makes the the animations when resizing the window or changing the zoom-level a lot more pleasant. CCBUG: 289238
2012-01-19Do not make items invisible when turning off previewsFrank Reininghaus
This commit fixes a problem in KItemListView::doLayout(): This function assumed that firstVisibleIndex is a constant. However, if the view is scrolled to the bottom with previews enabled, and then previews are disabled (and the icon size is much smaller without previews), this function changes the scroll offset, which also changes the the first visible index. Using the unchanged variable causes trouble later on (i.e., it makes items which are actually inside the view area invisible). lastVisibleIndex is not needed before the scroll offset change and is const after that, so its calculation is moved a few lines down. CCBUG: 291841 FIXED-IN: 4.8.1 (cherry picked from commit cc8f5b4939062df44ce0bd314ac4ae04973b9830)
2012-01-17Avoid unnecessary animations when switching view modesPeter Penz
Thanks to Nikita Skovoroda for the initial patch and the analyses. BUG: 290947 FIXED-IN: 4.8.0
2012-01-17Do a synchronous layout for dynamic item sizes when changing the geometryPeter Penz
This prevents a delayed update when resizing the window e.g. in the details view. As no animated item position changes can happen for dynamic item sizes the synchronous relayout is fine from a performance point of view. BUG: 290953 FIXED-IN: 4.8.0
2012-01-15Don't select items if the selection toggle has been disabledPeter Penz
2011-12-26Improve item offset scrollingPeter Penz
Don't check whether the m_layoutTimer is active: Changing the item offset must always trigger a synchronous layout, otherwise the smooth-scrolling might get jerky.
2011-12-26Fix keyboard issues when groups are enabledPeter Penz
When groups are enabled in Dolphin the key-up and key-down keys did not behave consistent in comparison to traditional views or like done in editors. CCBUG: 261995 CCBUG: 262038
2011-12-20Fix autoscroll issue when selecting itemsPeter Penz
If items get selected with the rubberband the scroll offset must stay inside the visible range. BUG: 282353 FIXED-IN: 4.8.0
2011-12-16Animation finetuningPeter Penz
If dynamic item sizes are used don't animate the size of the widget in along the dynamic direction. This prevents unnecessary animations when increasing the window width in combination with e.g. the details view.
2011-12-16Minor layout and coding style cleanupsPeter Penz
- Disable performance debugging output - Force a synchronous layout during scrolling. This prevents having a jerky scroll-animation if there are pending operations ongoing in parallel. - Minor coding style cleanups
2011-12-11Remember sort settingsPeter Penz
If the user has changed the sort-role or sort-order by clicking on the view-header of the details-view, the settings have been adjusted to the model but not remembered in the directory settings.
2011-12-11Fix KItemListView::scrollToItem()Peter Penz
Don't let the item be invisible if the header is shown.
2011-12-07Enable "menu key" functionalityPeter Penz
Bring back the functionality that a context-menu is opened if the "menu key" has been pressed. In opposite to Dolphin 1.7 the context-menu is shown above the selected item and not on the (probably unrelated) mouse position. A new method KItemListView::itemContextRect() has been introduced: The method is now also used as reference for tooltips which fixes the issue that tooltips had a wrong horizontal alignment in the details-view. BUG: 288366 FIXED-IN: 4.8.0
2011-11-26Folders Panel fixesPeter Penz
The following functionality from Dolphin 1.x has been ported to the new view-engine: - Allow expanding/collapsing of items - Automatically select the current item - Context menu for items Related improvements to the view-engine: - Make the expanding/collapsing interface already accessible in the base classes KItemModelBase and KItemListView. If no expanding/collapsing is supported at all by derived models (which is usually the default case) simply not reimplementing those 3 methods is sufficient and it does not introduce an additional complexity like in QAbstractItemModel/QModelIndex. - Automatically handle the expanding/collapsing in KItemListController. This also includes the key-handling, which is quite special for expandable items. - Don't let KItemListView automatically scroll to the current item if the current item got changed. The automatic scrolling should only be done if the current item has been changed by the user. Hence this functionality has been moved to the KItemListController which currently only triggers the automatic scrolling if the current item has been changed by the keyboard (we might extend the usecases later if required).
2011-11-20Initial draft for bringing back the "Folders" panelPeter Penz
The folders panel has been adjusted to use the new view-engine. A lot of things don't work yet, but are mostly minor issues that should be fixable during the next 10 days.
2011-11-13Bring back the selection-markersPeter Penz
Still some finetuning is necessary, but lets first bring back the missing features from Dolphin 1.x to 2.0 before starting with this.
2011-11-04Fix layout-issues when sorting by roles that are changedPeter Penz
When sorting is enabled for a role that gets changed e.g. because a value like the MIME-type is determined asynchronously, then the layout might get messed up. slotItemsMoved() has been adjusted to invalidate the sizehint-cache and to update the group-headers. BUG: 285542 FIXED-IN: 4.8.0
2011-10-30Fix layout issue for groupsPeter Penz
When enabling a group where the sort-role is retrieved asynchronously (e.g. group by "type") the group-headers have stayed invisible.
2011-10-29Fix grouping-issue with not visible sorting rolesPeter Penz
It must be assured that the data for a sorting role always is determined even it is not shown as "additional info" in the view.
2011-10-29Implement grouping for all rolesPeter Penz
2011-10-27Fix minor visual issues in the view-enginePeter Penz
- Increasing the window-size should not result in increasing the size from previously invisible items - Rename group 'Numerics' to '0 - 9' - Fix "damaged" icons when changing the view-sizes or changing the view-mode
2011-10-26Group header fixesPeter Penz
- Simplify header for the horizontal scroll direction - Fix issue that orientation change was not forwarded to the header
2011-10-26Fix visibility issues of group-headersPeter Penz
When expanding/collapsing folders in the tree-view the visibility of group-headers got unpredictable.
2011-10-24Make group-headers less uglyPeter Penz
2011-10-23Improve group-header layoutPeter Penz
- Apply a dynamic width - Use a height that depends on the style - Cleanup some interfaces and replace xxxBoundingRect() by xxxRect()
2011-10-22Fix crash when grouping itemsPeter Penz
Because of a wrong usage of parent() vs. parentItem() a crash could occur because the parent might be assigned to an already deleted instance.
2011-10-22Implement grouping for namesPeter Penz
- Use a custom header for KFileItems - Cache the groups - Allow enabling/disabling grouping dynamically Currently there is a random crash in combination with the groupheader-recycler, this will be fixed during the next days.
2011-10-18Implement group-header layoutingPeter Penz
The most tricky part for groups - the layouting - basically works now for all views (grouping was available only in the icons views for Dolphin 1.x) and is nearly equally fast as without groups. Still open: - Group headers are ugly screen rectangles - Return valid groups in KFileItemModel instead of the currently hardcoded testing values - Dynamically turning on/off groups does not work currently, the directory must be reentered
2011-10-15Interface cleanups to prepare the return of "grouped sorting"Peter Penz
- Rename setCategorizedSorting() to setGroupedSorting() - Change the model interface to allow enabling/disabling grouping without the need to declare a role (the sort role will be taken). - Add dummy group role implementation in KFileItemModel The grouping code itself requires some cleanups and might crash at the moment or lead to weird layouts.
2011-10-08Don't let KItemListView decide itself whether to show the headerPeter Penz
The header should be turned on or off by the user of the KItemListView classes.
2011-10-08Details-view: Fix column-width issuePeter Penz
The column-width must respect the minimum width of the header-roles.
2011-10-08Context menu cleanupsPeter Penz
- 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.
2011-10-06Assure that the rubberband is drawn above the items and not belowPeter Penz
2011-10-06Provide alternating background colors for the details-viewPeter Penz
2011-10-05Don't apply an empty item-size to the layoutPeter Penz
This fixes strange layout-issues when turning on/off previews in the details-view. CCBUG: 278899
2011-10-03Add function KItemListSelectionManager::isSelected(int index)Frank Reininghaus
This function is used in KItemListView::updateWidgetProperties() to find out if an item is selected in a more efficient way. The new function is tested in KItemListSelectionManagerTest. I've factored out some code from KItemListSelectionManagerTest::testChangeSelection() to a new member to simplify the test.
2011-10-03Remove TODO-comment which isn't needed anymoreFrank Reininghaus
2011-10-03Keep current item and selection when resorting, part 2Frank Reininghaus
This commit adds the missing pieces to KItemListView and makes KFileItemModel::resortAllItems() only emit the itemsMoved() signal.
2011-10-02Elide the texts if the user shrinks the column-widthsPeter Penz
2011-10-02Fix layout when the header has been adjusted by the userPeter Penz
2011-10-01Fix itemsMoved() signal/slot signature: KItemRangeList -> KItemRangeFrank Reininghaus
2011-09-30Implement smooth-scrolling for horizontal and vertical scrollbarsPeter Penz
Currently only a smoothscrolling was provided into the scroll-direction, but not in case of the details-view where a horizontal scrollbar might be shown too. Some minor adjustments of the private KItemListSmoothScroller interface will be done later...