┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/iconmanager.cpp
AgeCommit message (Collapse)Author
2008-09-21renamed IconManager to KFilePreviewGeneratorPeter Penz
svn path=/trunk/KDE/kdebase/apps/; revision=863324
2008-09-06this code can be called quite a lot so call the non-detaching at() instead ↵Albert Astals Cid
of the detaching [] svn path=/trunk/KDE/kdebase/apps/; revision=857914
2008-08-29don't use the expensive QPixmap::setAlphaChannel() (see ↵Peter Penz
http://techbase.kde.org/Development/Tutorials/Graphics/Performance) svn path=/trunk/KDE/kdebase/apps/; revision=854487
2008-08-05Now the IconManager does not depend anymore from Dolphin classes. If at ↵Peter Penz
least a second application requests having this functionality, it could be moved to kdelibs (for sure an API review is necessary, d-pointer, improved documentation etc.). Maybe the FolderView Plasmoid wants this? CCMAIL: [email protected] CCMAIL: [email protected] svn path=/trunk/KDE/kdebase/apps/; revision=842776
2008-08-05First step of refactoring to improve the zooming capabilities of views:Peter Penz
* Let classes that use DolphinView know about the currently used zoom level. * Provide more zoom levels for all views (the settings dialogs have not been adjusted yet). * Fixed issue that when using the wheel that the enabled state of the zoom actions has not been updated. svn path=/trunk/KDE/kdebase/apps/; revision=842715
2008-06-30dispatch the preview queue immediately before resuming the preview generationPeter Penz
svn path=/trunk/KDE/kdebase/apps/; revision=826230
2008-06-29when moving the visible items to the front of the list, take care not to ↵Peter Penz
reverse the order svn path=/trunk/KDE/kdebase/apps/; revision=826161
2008-06-29Use fast image transformation like Gwenview. This increases the performance ↵Peter Penz
of applyImageFrame() by a factor of >2. Hmm, previews don't look so smooth as before, but even when having a 2 GHz CPU a bilinear scaling of 1000 previews just takes too much time. svn path=/trunk/KDE/kdebase/apps/; revision=826128
2008-06-29The check whether there is a cut-selection when receiving a preview consumes ↵Peter Penz
12 % (!) of the runtime in addToPreviewQueue(). The check is now done only once before starting the preview generation and when the clipboard data has been changed. svn path=/trunk/KDE/kdebase/apps/; revision=826126
2008-06-29Move the block for resizing the preview, applying an item effect + border to ↵Peter Penz
the slot where the preview has been received. This reduces the blocking of the GUI for the following usecase: - folder with 1000 items - ~30 items are visible Old approach: - Show the 30 items as soon as possible. - Receive preview and add it to the queue. This is done asynchronously 970 times (no UI blocking). - Iterate through 970 items, resize, apply item effect + border and apply the preview to the model (-> blocking of UI thread for more than 3 seconds). New approach: - Show the 30 items as soon as possible. - Receive preview, resize it, apply item effect + border and add it to the queue. This is done asynchronously 970 times (no UI blocking). - Iterate through 970 items and apply the preview to the model (-> UI thread is blocked only very short). svn path=/trunk/KDE/kdebase/apps/; revision=826109
2008-06-27Avoid blocking of the GUI when creating previews for invisible items. The ↵Peter Penz
blocking part is a relayout, that has been done each time a group of previews have been received. Now only for the visible items a relayout is done as soon as possible, for the previews of invisible items this is postponed until all previews have been generated. svn path=/trunk/KDE/kdebase/apps/; revision=825304
2008-06-25faster + nicer (thanks to André Wöbbeking for the hint)Peter Penz
svn path=/trunk/KDE/kdebase/apps/; revision=824312
2008-06-24remember old setting of the uniformItemSizes property and restore it again ↵Peter Penz
(thanks to Rafael for the hint) CCMAIL: [email protected] svn path=/trunk/KDE/kdebase/apps/; revision=824128
2008-06-24Performance improvement when showing previews inside directories having ↵Peter Penz
several 1000 items: temporary block the expensive layouting inside QListView until a block of previews has been applied. CCMAIL: [email protected] CCMAIL: [email protected] CCMAIL: [email protected] svn path=/trunk/KDE/kdebase/apps/; revision=824118
2008-06-13Runtime optimization for preview sorting: Use 2 different algorithms ↵Peter Penz
dependent on the relation between model-rows and preview items. One algorithm is faster when e. g. inserting 10 items into a directory of 2000 items, while the other algorithm is faster when initially loading the directory. svn path=/trunk/KDE/kdebase/apps/; revision=820321
2008-06-11Simplify code:Peter Penz
* Use KFileItems for all lists instead a mixture of KFileItemList and QList<KUrl>. * Use a common helper method for generatePreviews() and resumePreviews() to order the visible items at the beginning of the list. svn path=/trunk/KDE/kdebase/apps/; revision=819681
2008-06-11Improve the performance of the code part which checks which items are ↵Peter Penz
visible. Although the code is less readable now, it requires only 0,5 seconds for 2500 items instead of 2 seconds. svn path=/trunk/KDE/kdebase/apps/; revision=819663
2008-06-10don't forget to delete the MIME type resolver when the IconManager gets ↵Peter Penz
destructed svn path=/trunk/KDE/kdebase/apps/; revision=819163
2008-06-10only resolve the MIME-types asynchronously, if no preview is generatedPeter Penz
CCMAIL: [email protected] CCMAIL: [email protected] svn path=/trunk/KDE/kdebase/apps/; revision=819162
2008-06-01Improve the performance when creating previews for thousands of items by the ↵Peter Penz
following strategy: - The previews for currently visible items are created before the previews for invisible items. - If the user changes the visible area by using the scrollbars, all pending previews get paused. As soon as the user stays on the same position for a short delay, the previews are resumed. Also in this case the previews for the visible items are generated first. svn path=/trunk/KDE/kdebase/apps/; revision=815480
2008-05-29assure that the cut item cache gets updated too when invoking ↵Peter Penz
IconManager::updatePreviews() svn path=/trunk/KDE/kdebase/apps/; revision=814274
2008-05-29Before applying the cut item effect to a preview, assure that the cut items ↵Peter Penz
cache gets an update of the preview without effect. This assures that when cutting other items that the state of the previously cut items can be restored in any case. svn path=/trunk/KDE/kdebase/apps/; revision=814273
2008-05-07SVN_SILENT: minor coding style fixesPeter Penz
svn path=/trunk/KDE/kdebase/apps/; revision=804938
2008-05-06* prevent that cut icons are shift left in the icons view by using the ↵Peter Penz
correct size * apply cut item effect before generating previews BUG: 161707 svn path=/trunk/KDE/kdebase/apps/; revision=804768
2008-05-06prevent a possible crash if an item is deleted during previews are generatedPeter Penz
svn path=/trunk/KDE/kdebase/apps/; revision=804457
2008-04-24avoid unnecessary copies by using const & in foreachAlbert Astals Cid
svn path=/trunk/KDE/kdebase/apps/; revision=800783
2008-04-08don't apply a frame to image previews, if the preview is a very small image ↵Peter Penz
(e. g. an icon) CCMAIL: [email protected] svn path=/trunk/KDE/kdebase/apps/; revision=794783
2008-03-23The background for the image previews is already filled, so there is no need ↵Peter Penz
adding a border with the background color again (this also fixes a one-pixel-issue that shaded the right/bottom border in a wrong way). svn path=/trunk/KDE/kdebase/apps/; revision=789234
2008-03-23minor code simplificationPeter Penz
svn path=/trunk/KDE/kdebase/apps/; revision=789193
2008-03-23take care to restart the timer even when no previews are in the queue: as ↵Peter Penz
long as preview jobs are working, new previews will arrive svn path=/trunk/KDE/kdebase/apps/; revision=789066
2008-03-23Performance boost for previews that are already available in the cache: ↵Peter Penz
apply the previews in larger blocks instead of applying them immediately after getting the signal 'gotPreview' from the PreviewJob. Now the previews in Konqueror and Dolphin are as fast as in the good old KDE 3 days :-) svn path=/trunk/KDE/kdebase/apps/; revision=789009
2008-03-15dim image frame only by 12.5 % instead of 25 %Peter Penz
svn path=/trunk/KDE/kdebase/apps/; revision=785957
2008-03-13Remove the semitransparent effect for hidden items in the IconManager, it ↵Peter Penz
just takes too much time at this part of the code. David Faure suggested some alternative ideas, I hope I can try them before KDE 4.1. Currently it is more important to keep the performance high. BUG: 158807 svn path=/trunk/KDE/kdebase/apps/; revision=785369
2008-03-10update the previews without relying on that KDirLister gets reloadedPeter Penz
svn path=/trunk/KDE/kdebase/apps/; revision=783961
2008-03-06prevent flickering when zooming in or zooming outPeter Penz
svn path=/trunk/KDE/kdebase/apps/; revision=782795
2008-03-06ignore the width when getting an icon for applying the "hidden files" ↵Peter Penz
effect, otherwise a wrong horizontal alignment is done svn path=/trunk/KDE/kdebase/apps/; revision=782786
2008-03-05provide an unintrusive frame for previews of imagesPeter Penz
svn path=/trunk/KDE/kdebase/apps/; revision=782785
2008-02-16Provide an option for the details view to expand folders (= tree view), as ↵Peter Penz
this is required for Konqueror to get back this functionality from KDE 3. It is possible in Dolphin to enable this option too, but it is set to false per default. BUG: 155571 svn path=/trunk/KDE/kdebase/apps/; revision=775621
2008-01-28fixed issue that previews of hidden files had no semitransparent effect (the ↵Peter Penz
semi-transparent effect requires having an alpha mask) svn path=/trunk/KDE/kdebase/apps/; revision=767742
2008-01-28* replace item.name().startsWith('.') by item.isHidden()Peter Penz
* removed redundant applying of a hidden item effect before starting the preview svn path=/trunk/KDE/kdebase/apps/; revision=767730
2008-01-26* increase the performance of item previews: each item view provides an icon ↵Peter Penz
size hint -> the preview and item effects are only applied to the current size, not to the maximum of 128 x 128 pixels * make the icons of hidden files semitransparent like in KDE3 svn path=/trunk/KDE/kdebase/apps/; revision=766659
2008-01-13Improve the feeled preview performance by assuring that the preview is ↵Peter Penz
generated first for the visible items. svn path=/trunk/KDE/kdebase/apps/; revision=760897
2008-01-11Up to now DolphinView and ColumnWidget contained a lot of code duplication ↵Peter Penz
regarding generating previews and the dimming of cut items. This has been refactored by introducing an IconManager which takes care itself about generating a preview and dimming cut items. This also allows improving the speed of previews in (near) future (at the moment showing previews from the cache is a lot slower than in KDE 3...). svn path=/trunk/KDE/kdebase/apps/; revision=759864