Peter Penz [Mon, 30 Jun 2008 16:37:08 +0000 (16:37 +0000)]
Move the "Find File..." action from DolphinMainWindow to DolphinViewActionHandler, so that is used in DolphinPart and hence also in Konqueror. Thanks to Bram for the patch!
Peter Penz [Sun, 29 Jun 2008 21:40:07 +0000 (21:40 +0000)]
The check whether there is a cut-selection when receiving a preview consumes 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.
Peter Penz [Sun, 29 Jun 2008 21:04:43 +0000 (21:04 +0000)]
Move the block for resizing the preview, applying an item effect + border to 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).
Peter Penz [Sun, 29 Jun 2008 17:08:49 +0000 (17:08 +0000)]
Internal cleanup: Make it easier getting the correct file item that should be used for showing the meta information (it depends on the current selection and whether the file item is already available).
Peter Penz [Sun, 29 Jun 2008 16:42:59 +0000 (16:42 +0000)]
Don't grey out an invalid preview immediately, but with a small timeout. This prevents a flickering if the new preview can be generated within a small timeframe.
Peter Penz [Sun, 29 Jun 2008 16:24:09 +0000 (16:24 +0000)]
SVN_SILENT: Renamed m_timer to m_infoTimer and slotTimeout() to slotInfoTimeout(), as preperation for a new timer that prevents a flickering of outdated previews.
Peter Penz [Sun, 29 Jun 2008 13:54:52 +0000 (13:54 +0000)]
Don't disable the "Properties" action when no file is selected, just use the current folder as source. TODO: the code in DolphinPart::slotProperties() and DolphinMainWindow::properties() is quite similar -> move to DolphinViewActionHandler?
Urs Wolfer [Sun, 29 Jun 2008 10:59:24 +0000 (10:59 +0000)]
Improve mouse middle click path paste behavior: first check selection clipboard, after 'real' clipboard. Before setting new URL, check if it is a path. This prevents a crash. Behavior is now similar to Konqueror KDE 3.
Reviewed by Peter Penz.
Peter Penz [Sat, 28 Jun 2008 18:42:51 +0000 (18:42 +0000)]
Don't check for "kompare" each time 2 items are selected (thanks to Andreas Scherf). As Albert Astals Cid pointed out it might be nicer to use a menu plugin instead of hardcoding "kompare" (> KDE 4.1).
Peter Penz [Fri, 27 Jun 2008 19:36:44 +0000 (19:36 +0000)]
Avoid blocking of the GUI when creating previews for invisible items. The 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.
Sebastian Trueg [Fri, 27 Jun 2008 18:34:52 +0000 (18:34 +0000)]
It is hard to understand which is the actual selected item here: m_selection, m_fileItem, or m_shownUrl. Anyway, now the descision for the metadata uses the exact same algo as for the name and preview and it works.
Peter Penz [Thu, 26 Jun 2008 22:34:40 +0000 (22:34 +0000)]
Assure that the file capabilities are respected when opening the context menu for the Folder Panel (= treeview). Disable actions that cannot be executed.
Peter Penz [Tue, 24 Jun 2008 23:01:21 +0000 (23:01 +0000)]
Performance improvement when showing previews inside directories having several 1000 items: temporary block the expensive layouting inside QListView until a block of previews has been applied.
Peter Penz [Thu, 19 Jun 2008 22:43:10 +0000 (22:43 +0000)]
Assure that the keyboard focus stays inside the view when replacing the view implementation, otherwise when having a split view the other view gets the focus and will activate itself.
Peter Penz [Wed, 18 Jun 2008 19:34:03 +0000 (19:34 +0000)]
Assure that when requesting the context menu for the column-view, that the correct items are used.
TODO for 4.2: get rid of those 'if (isColumnViewActive())' special cases and provide a generic model which also works with the way the column view is implemented
Peter Penz [Fri, 13 Jun 2008 21:22:13 +0000 (21:22 +0000)]
Runtime optimization for preview sorting: Use 2 different algorithms 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.
Peter Penz [Fri, 13 Jun 2008 06:10:53 +0000 (06:10 +0000)]
Finally fixed problem that "Apply to all folders" did not work as expected. TODO: the mirrored directory still should be cleaned up, but this has to be done without deleting the view properties fallback.
Peter Penz [Wed, 11 Jun 2008 18:47:32 +0000 (18:47 +0000)]
Simplify code:
* 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.
Peter Penz [Wed, 11 Jun 2008 17:50:59 +0000 (17:50 +0000)]
Improve the performance of the code part which checks which items are visible. Although the code is less readable now, it requires only 0,5 seconds for 2500 items instead of 2 seconds.
David Faure [Tue, 10 Jun 2008 09:15:19 +0000 (09:15 +0000)]
Argh my last patch broke plugins. So revert 818988 and do it properly, for real this time :)
KPluginFactory can take the catalog name as second argument, this is the best fix.
CCMAIL: Chusslove Illich <caslav.ilic@gmx.net>
David Faure [Mon, 9 Jun 2008 11:59:15 +0000 (11:59 +0000)]
Another fix for redirections: "Create New" was missing from the konqpopupmenu when doing RMB on ftp://user@host, because after the redirection, part->url() was still the old url (so it didn't look like a popup opened for the current directory, in the konqpopupemenu code)
Peter Penz [Sat, 7 Jun 2008 15:53:34 +0000 (15:53 +0000)]
Update the keypress state before invoking QTreeView::keyPressEvent(), as this call invokes QTreeView::currentChanged(), where the value is needed. This fix assures that the selection is changed when the current index is changed like in QListView.
1) Make sure that size qprogressbar is really updated after each change
2) Get rid of flicker when after changing partition new size is smaller
than used space on old one - in this case setMaximum calls reset()
3) User proper value for comparison when checking if progressbar should
be changed
Peter Penz [Sat, 7 Jun 2008 12:14:29 +0000 (12:14 +0000)]
Fixed the following Information Panel issues:
* Trash icon is not updated when trash has been emptied or got filled.
* When renaming an item the old name will be shown in the Information Panel.
* When unmounting media, still the mounted icon is shown.
Peter Penz [Sat, 7 Jun 2008 11:00:42 +0000 (11:00 +0000)]
Do a delayed initialization of all widgets when showing the the Information Panel. This assures that no expensive initializations are done when the Information Panel is not shown at all.
David Faure [Thu, 5 Jun 2008 22:25:07 +0000 (22:25 +0000)]
When "move_to_trash" is disabled and "delete" is enabled (e.g. non-local files),
enable a hidden action with Key_Del as shortcut, so that the user can press Del to delete the file.
BUG: 76016
David Faure [Thu, 5 Jun 2008 19:19:14 +0000 (19:19 +0000)]
Move the "Create New" action (for the Edit menu, not for the context menu) to dolphinpart, so that
it doesn't appear while browsing the web [with a filemanagement profile initially]. The point is to
make the GUI sensible whatever initial profile was selected and hopefully get rid of konq-filemanagement.rc/konq-webbrowsing.rc.
David Faure [Wed, 4 Jun 2008 11:51:54 +0000 (11:51 +0000)]
Continue cleaning up the menus of "konqueror as a webbrowser" : moved "Tools / Open Terminal" action to DolphinPart.
Thanks to Kevin for reminding me of this one.
David Faure [Mon, 2 Jun 2008 16:36:29 +0000 (16:36 +0000)]
Use KonqMenuActions to add the "open with" actions to the popupmenu, to avoid this independent reimplementation,
which brought back bug 121728 ('&' in application name treated as accelerator)
George Goldberg [Mon, 2 Jun 2008 10:07:13 +0000 (10:07 +0000)]
Fix the edit-menu action disabling/enabling bug in dolphinpart finally! Also, move FileItemCapabilities from dolphin to KonqFileItemCapabilities at dfaure's request (making it implicitly shared along the way).
George Goldberg [Mon, 2 Jun 2008 02:50:36 +0000 (02:50 +0000)]
Fix dolphinpart context menu so that the delete/rename/send to trash options are disabled when the directory containing the selected files/dirs is not writable.
CCBUGS: 161594
Issues remaining: Send to trash should be disabled on remote files (and replaced with delete) and edit menu of konqueror still has the actions like cut/delete/rename always enabled.
Peter Penz [Sun, 1 Jun 2008 22:15:13 +0000 (22:15 +0000)]
Improve the performance when creating previews for thousands of items by the 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.
Fix problem when descending order on "Today" and "Thursday" for example. Now we also have week independant maths, so we get a Yesterday tag even if yesterday was 31st and today is 1st. Peter, the
order should be correct now, please recheck (I added a '-', so the order now is the inverse that the one shown on the kfm-devel thread).