Peter Penz [Mon, 30 Jan 2012 11:59:38 +0000 (12:59 +0100)]
Further animation optimizations
- 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.
Peter Penz [Mon, 30 Jan 2012 11:59:38 +0000 (12:59 +0100)]
Further animation optimizations
- 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.
Peter Penz [Sun, 29 Jan 2012 17:29:00 +0000 (18:29 +0100)]
Make moving animations less obtrusive
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.
Peter Penz [Sun, 29 Jan 2012 17:29:00 +0000 (18:29 +0100)]
Make moving animations less obtrusive
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.
Handle folder names containing spaces correctly in the Folders Panel
The problem was that KFileItemModel::setExpanded() used KUrl::url()
to determine the names of the subfolders. This method encodes special
characters, such that comparing the folder names with the unencoded URLs
stored in the model fails.
Using KUrl::path(), which does not encode special characters, fixes the
problem.
Handle folder names containing spaces correctly in the Folders Panel
The problem was that KFileItemModel::setExpanded() used KUrl::url()
to determine the names of the subfolders. This method encodes special
characters, such that comparing the folder names with the unencoded URLs
stored in the model fails.
Using KUrl::path(), which does not encode special characters, fixes the
problem.
Do not make items invisible when turning off previews
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)
Do not make items invisible when turning off previews
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.
BUG: 291841
FIXED-IN: 4.8.1
REVIEW: 103731
Peter Penz [Tue, 17 Jan 2012 20:08:39 +0000 (21:08 +0100)]
Do a synchronous layout for dynamic item sizes when changing the geometry
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.
Peter Penz [Tue, 17 Jan 2012 20:08:39 +0000 (21:08 +0100)]
Do a synchronous layout for dynamic item sizes when changing the geometry
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.
Peter Penz [Tue, 17 Jan 2012 08:57:58 +0000 (09:57 +0100)]
Disable smooth-scrolling dependent on the graphics-effect level
If the graphics-effect-level has been set to NoEffects (systemsettings -> Appearance
-> Style -> Fine Tuning), the smooth scrolling in Dolphin will be disabled.
Additionally the duration for the smooth-scrolling has been decreased from 200 ms
to 100 ms to reduce the lag.
A wrong calculation of the end-value has been fixed that might trigger
a wrong position of the content.
Peter Penz [Tue, 17 Jan 2012 08:57:58 +0000 (09:57 +0100)]
Disable smooth-scrolling dependent on the graphics-effect level
If the graphics-effect-level has been set to NoEffects (systemsettings -> Appearance
-> Style -> Fine Tuning), the smooth scrolling in Dolphin will be disabled.
Additionally the duration for the smooth-scrolling has been decreased from 200 ms
to 100 ms to reduce the lag.
A wrong calculation of the end-value has been fixed that might trigger
a wrong position of the content.
If an item is clicked to trigger it, clear the rest of the selection
Note that the clearing is not done on mouse press, but on mouse release.
The reason is that there are situations when multiple items are selected
and pressing the mouse on one of them should not clear the selection
(e.g., drag and drop of multiple items).
If an item is clicked to trigger it, clear the rest of the selection
Note that the clearing is not done on mouse press, but on mouse release.
The reason is that there are situations when multiple items are selected
and pressing the mouse on one of them should not clear the selection
(e.g., drag and drop of multiple items).
Peter Penz [Sat, 14 Jan 2012 21:00:22 +0000 (22:00 +0100)]
Assure an active view when activating an item
This might not be the case when e.g. having a split view, having enabled the "auto
expand folders" option and dragging an item from the active view to another
folder of the inactive view.
Peter Penz [Sat, 14 Jan 2012 21:00:22 +0000 (22:00 +0100)]
Assure an active view when activating an item
This might not be the case when e.g. having a split view, having enabled the "auto
expand folders" option and dragging an item from the active view to another
folder of the inactive view.
Peter Penz [Sat, 14 Jan 2012 20:44:50 +0000 (21:44 +0100)]
Fix "general settings" issues
If the general settings for the "selection toggle" or "expanding folders during
drag operations" are changed, those changes must be applied to the engine.
Peter Penz [Sat, 14 Jan 2012 20:44:50 +0000 (21:44 +0100)]
Fix "general settings" issues
If the general settings for the "selection toggle" or "expanding folders during
drag operations" are changed, those changes must be applied to the engine.
Peter Penz [Mon, 9 Jan 2012 21:10:12 +0000 (22:10 +0100)]
Prevent generating previews all the time during downloading a large file
When downloading a large file the preview should not be recreated each time
a change-notification has been received. Create the preview after getting
the first file change, but postpone creating the next previews until no change
has been done during a longer period of time.
Peter Penz [Mon, 9 Jan 2012 21:10:12 +0000 (22:10 +0100)]
Prevent generating previews all the time during downloading a large file
When downloading a large file the preview should not be recreated each time
a change-notification has been received. Create the preview after getting
the first file change, but postpone creating the next previews until no change
has been done during a longer period of time.
Peter Penz [Sat, 7 Jan 2012 11:32:06 +0000 (12:32 +0100)]
Use the native graphicssystem per default
The scaling of pixmaps is just way too slow with the raster graphicssystem (see KPixmapModifier::scalePixmap()). It is of course still possible to run Dolphin
with the raster graphicssystem, but this has to be done explicitly then.
Peter Penz [Sat, 7 Jan 2012 11:32:06 +0000 (12:32 +0100)]
Use the native graphicssystem per default
The scaling of pixmaps is just way too slow with the raster graphicssystem (see KPixmapModifier::scalePixmap()). It is of course still possible to run Dolphin
with the raster graphicssystem, but this has to be done explicitly then.
Peter Penz [Thu, 5 Jan 2012 20:37:58 +0000 (21:37 +0100)]
Temporary skip 2 unit-tests in KFileItemModel
KFileItemModel::resortAllItems() always emits a itemsMoved() signal since some
time. Before blindly adjusting the tests lets discuss first whether
resortAllItems() should be used in this context.
Peter Penz [Thu, 5 Jan 2012 20:37:58 +0000 (21:37 +0100)]
Temporary skip 2 unit-tests in KFileItemModel
KFileItemModel::resortAllItems() always emits a itemsMoved() signal since some
time. Before blindly adjusting the tests lets discuss first whether
resortAllItems() should be used in this context.