Version: SVN (using KDE KDE 3.5.6) Installed from: Compiled From Sources OS: Linux Please remember the scroll position of all views (albums,tags,dates and searches). Currently, the scroll position is reset when changing views. Example: Let's say I am viewing some photos in the album view and my scrollbar is at a position near the end. Now I change to the tag view and then back to the album view. Now the scollbar of the album view is at the beginning, whereas I would like the scrollbar position to be where I left it before switching to the tag view. In short, the positions of the scrollbars of all views should be remembered and restored each time I switch a view. Another issue with the scrollbar is that the position gets reset when the right hand side tabbar is opened. Instead, digikam should remember one of the pictures currently visible and ensure that, after the sidebar has opened, this picture is still visible.
SVN commit 634637 by mwiesweg: Remember scroll position when resizing CCBUG: 141708 M +1 -4 iconview.cpp --- trunk/extragear/graphics/digikam/digikam/iconview.cpp #634636:634637 @@ -754,10 +754,7 @@ void IconView::resizeEvent(QResizeEvent* e) { QScrollView::resizeEvent(e); - rearrangeItems(); - - if (d->currItem) - ensureItemVisible(d->currItem); + triggerUpdate(); } void IconView::rebuildContainers()
It would also be nice if the last selected picture is selected, even after exit and restart digikam.
Marcel, You patch from commit # 634637 is really enough ? If you open/close a sidebar more than one time, you will see than scroll position is lost... Same when main window is resized... Gilles Caulier
The current solution is simple, only one item is stored and we make sure that this item is visible after the resize. This may not be the item the user looked at, but the loss in scroll position is only small. But other solutions (list of items) are more difficult.
Marcel, ...and it's work for you. Here it doesn't... Gilles
Always look at the first visible item before resizing. This item is still visible after resizing. But: it need not still be the first visible item, it need only be visible somewhere. This means after the next resize another item will be the first visible item, for which only there is the guarantee that it will be visible after the next resize...
Marcel, keeping the current image visible does not work for me with current svn: neither for resizing nor for the case of the original report of openening and closing the right-sidebar. Is there any way to store (and restore) the slider position itself? Best, Arnd
Interesting idea. QScrollView provides access to its scroll bars (horizontalScrollBar(), verticalScrollBar()), and the bars allow to get and set their value().
Another use case: I'm merging two albums into one. I need to switch between the two albums many times. Every time I switch, the album view position is reset to the upper row of the album. Quite annoying.
Dik, but this would mean to store the position for each album right? (I.e., currently the wish is to store the position for the different types of views: album, dates, ... etc.). Still your wish makes sense to me, but will be more complicated to implement. (In particular, I am not sure, what happens/should happen, if one changes the icon size or the width of the sidebar in the mean-time ...) Marcel, Gilles, what do you think?
Marcel, What's news about this file ? Gilles Caulier
I take this as a wish for 0.10 and the view part of model/view.
Marcel, It's fixed npw ? Gilles
After a short test: Yes, fixed. Anyone who objects may reopen.