Commit graph

19019 commits

Author SHA1 Message Date
David Palser dac374172e Fix typos and puctuation in docs
(cherry picked from commit af0ef6c522)
backport to 4.11.1
2013-08-17 09:37:06 +02:00
Emmanuel Pescosta d0a9410e32 Cut the ropes between DolphinMainWindow and DolphinNewFileMenu. Error handling is now done via signals.
REVIEW: 111989
2013-08-16 20:22:33 +02:00
Dawit Alemayehu 614ff91a5c Merge remote-tracking branch 'origin/KDE/4.11' 2013-08-16 09:04:45 -04:00
Dawit Alemayehu d1963e23dd Do not crash while importing/adding bookmarks.
BUG: 309370
REVIEW: 112042
FIXED-IN: 4.11.1
2013-08-16 09:03:06 -04:00
l10n daemon script deb8463a64 SVN_SILENT made messages (.desktop file) 2013-08-15 03:59:57 +00:00
Frank Reininghaus a27f5bf2c5 Merge remote-tracking branch 'origin/KDE/4.11' 2013-08-15 00:15:51 +02:00
Frank Reininghaus 6b375d2e26 Make sure that the sort order is correct after renaming
KFileItemModel::setData() should not only cause a resorting when the
sort role is changed. The name is always used as a fallback if the sort
role of multiple files is equal, therefore, renaming a file can change
the correct order of the files even if the files are not sorted by
"name".

Unit test included.

BUG: 323518
FIXED-IN: 4.11.1
REVIEW: 111721
2013-08-15 00:07:43 +02:00
Frank Reininghaus 938f773f14 Do not store default values in QHash<QByteArray, QVariant>
Storing values which are equivalent to default-constructed QVariants
does not make much sense because QHash::value returns the same value
even if the corresponding key is not found in the hash.

This commit reduces Dolphin's memory consumption in large folders by
up to 7.3% (tested a folder with 100,000 files in Details View) and
reduces the time required for loading a folder.

BUG: 323517
FIXED-IN: 4.11.1
REVIEW: 111922
2013-08-14 23:57:51 +02:00
Frank Reininghaus 381b17964d Fix slow scrolling when hidden files or symbolic links are shown
The problem was that we drawed the overlays using KIconLoader, which can
be very slow, every time an item appeared on the screen. This commit
makes sure that not only the icon, but the icon including overlays is
cached in QPixmapCache. Therefore, the overlay drawing is done just once
for each icon+overlays combination.

For previews, the overlay drawing is done in KFileItemModelRolesUpdater
just after the preview is received.

BUG: 310662
BUG: 314339
FIXED-IN: 4.11.1
REVIEW: 111956
2013-08-14 23:44:57 +02:00
Frank Reininghaus 292e11fcf4 Fix crash when disabling "Show in groups"
The problem was that items are removed from m_visibleGroups while
a QMutableHashIterator iterates over this hash, such that the iterator
can become invalid. The solution is to use a QHashIterator instead,
which takes a copy of the hash. Therefore, it is not affected if
m_visibleGroups is modified in any way.

BUG: 323248
FIXED-IN: 4.11.1
REVIEW: 111919
2013-08-14 23:40:02 +02:00
Burkhard Lück 7aefeb3d4f &dolphin; -> &kappname; + &RMB;->&LMB; to expand tree view 2013-08-11 21:39:33 +02:00
David Palser af0ef6c522 Fix typos and puctuation in docs 2013-08-09 18:07:18 +03:00
Frank Reininghaus 4423427ba3 Merge remote-tracking branch 'origin/KDE/4.11' 2013-08-08 23:39:28 +02:00
l10n daemon script 43fd32083e SVN_SILENT made messages (.desktop file) 2013-08-06 07:18:31 +00:00
l10n daemon script 700fda837d SVN_SILENT made messages (.desktop file) 2013-08-06 03:59:53 +00:00
l10n daemon script 29f2058c84 SVN_SILENT made messages (.desktop file) 2013-08-05 06:51:18 +00:00
l10n daemon script bd46f9c7a2 SVN_SILENT made messages (.desktop file) 2013-08-05 04:11:41 +00:00
Fabio D'Urso d9b111b0e8 dolphin: Escape text in statusbar tooltip
This fixes the same issue as 4450f8449a,
but for the status bar's tooltip text.

BUG: 323170
FIXED-IN: 4.11.0
REVIEW: 111836
2013-08-05 02:12:09 +02:00
Fabio D'Urso 7eec927432 DolphinPart: Use Qt::convertFromPlainText instead of Qt::escape for filenames
Unlike escape, convertFromPlainText preserves whitespace sequences

CCBUG: 321778
REVIEW: 111835
2013-08-05 01:47:23 +02:00
Frank Reininghaus 5145f56a36 Introduce a new signal "groupsChanged"
Sometimes when items are renamed, the order of the items in the
directory is not affected, but the groups still change (simple example:
with files a, b, c, e, rename "c" to "d"). At the moment, we always emit
the itemsMoved signal in such a case to make sure that the view is
updated. However, it would be preferable if this signal was not emitted
because it can trigger some quite expensive operations which are not
needed at all.

This commit introduces a new signal groupsChanged and modifies
KFileItemModel and KItemListView such that these classes make use of it.
Some unit tests for the new functionality are included as well.

Thanks to Emmanuel Pescosta for finding a latent bug in the code which
was triggered by this change and fixed in
998954db6d.

REVIEW: 111808
2013-08-04 22:20:37 +02:00
Frank Reininghaus 998954db6d Fix possible out of range error inKItemListSizeHintResolver::itemsMoved
The function assumes implicitly that the moved range always starts with
the index 0. This is indeed the case at the moment, but it might make
sense to change that in the future. This commit prevents that we get an
out of range problem then.

Thanks to Emmanuel Pescosta for finding this problem, see
https://git.reviewboard.kde.org/r/111808/
2013-08-04 21:46:08 +02:00
Frank Reininghaus 97954b8045 Merge remote-tracking branch 'origin/KDE/4.11' 2013-08-04 21:28:04 +02:00
Frank Reininghaus c0be1016a1 Add some unit tests for grouping in KFileItemModel
Hopefully, this will prevent regressions in the future.

REVIEW: 111807
2013-08-04 21:08:57 +02:00
Frank Reininghaus cd642d5d9b Make KFileItemModelTest faster
The 500 ms timeout before items are resorted does not make much sense in
the unit test. Removing this delay makes the test run much faster.
2013-08-04 21:04:56 +02:00
l10n daemon script 0fa7074cf1 SVN_SILENT made messages (.desktop file) 2013-08-04 07:10:25 +00:00
l10n daemon script d6cca48317 SVN_SILENT made messages (.desktop file) 2013-08-04 04:16:50 +00:00
l10n daemon script 5ca8f0be99 SVN_SILENT made messages (.desktop file) 2013-08-01 06:34:08 +00:00
Frank Reininghaus 8325140ac2 Do not enable the "Create New..." menu when a search is finished
BUG: 321577
FIXED-IN: 4.12.0
REVIEW: 111805
2013-07-31 19:19:30 +02:00
Frank Reininghaus 5583fc635b Do not allow that panels are dragged out of the main window
This feature might have been useful in some cases, but it's most likely
not useful enough to justify that we accept the bugs that it causes.
Even though some of these bugs are not Dolphin's fault at all, they
cause serious problems for users in some cases.

I'm pushing this commit to master only because I prefer to not push such
behavior changes to 4.11 at this point of the release cycle.

BUG: 288629
CCBUG: 322299
CCBUG: 322812
FIXED-IN: 4.12.0
REVIEW: 111692
2013-07-29 23:22:02 +02:00
Frank Reininghaus 362a6aef72 Merge remote-tracking branch 'origin/KDE/4.11' 2013-07-29 23:16:58 +02:00
Frank Reininghaus f6bbc7d224 When pasting a folder and expanding it, do not select its children
Thanks to Emmanuel for pointing out a problem with my first patch.

BUG: 322965
FIXED-IN: 4.11.0
REVIEW: 111722
2013-07-29 23:15:49 +02:00
Fabio D'Urso 4450f8449a Don't let HTML-like filenames be interpreted as HTML strings
So that filenames that look like HTML don't get fancy-formatted when
we show info about them (i.e. on hover)

This patch fixes the same issue in two places:
 - dolphin, by setting Qt::PlainText on the status bar's label
 - konqueror, by escaping setStatusBarText strings emitted by
   DolphinPart

BUG: 321778
FIXED-IN: 4.11.0
REVIEW: 111746
2013-07-29 11:21:55 +02:00
Frank Reininghaus bf2618d7cf Do not convert a KUrl to a QString and back again
This small change saves a lot of CPU cycles when the items are resorted.

REVIEW: 111700
2013-07-28 23:36:43 +02:00
l10n daemon script 6b1b075f6f SVN_SILENT made messages (.desktop file) 2013-07-28 06:40:32 +00:00
l10n daemon script c30baa858e SVN_SILENT made messages (.desktop file) 2013-07-28 04:03:00 +00:00
l10n daemon script b315f22e2d SVN_SILENT made messages (.desktop file) 2013-07-27 03:56:53 +00:00
Emmanuel Pescosta f14352f141 Don't open .desktop files with http:/https: urls in Dolphin,
open these urls in the default browser instead.

BUG: 283475
BUG: 318217
FIXED-IN: 4.11.0
REVIEW: 111674
2013-07-26 15:05:40 +02:00
l10n daemon script f2312c62a6 SVN_SILENT made messages (.desktop file) 2013-07-26 06:37:56 +00:00
l10n daemon script 99d5cd93da SVN_SILENT made messages (.desktop file) 2013-07-26 03:57:27 +00:00
Frank Reininghaus 2dddf91195 Merge remote-tracking branch 'origin/KDE/4.11' 2013-07-25 22:35:37 +02:00
Frank Reininghaus 29b279db0a Merge remote-tracking branch 'origin/KDE/4.10' into KDE/4.11 2013-07-25 22:29:42 +02:00
Frank Reininghaus ba2c5c7193 Fix maximum value for scroll bar when deleting items in Details View
The problem was that the view heigt minus the header height was
subtracted from maximumScrollOffset() to determine the maximum value
of the scroll offset of the top of the view.

However, the top of the view is the part that is hiden behind the
header. Therefore, the full view height must be subtracted from
maximumScrollOffset.

The remaining bits of bug 319951 were fixed by other recent commits.

Thanks to Emmanuel Pescosta for helping to track down the problem!

BUG: 319951
FIXED-IN: 4.11.0
REVIEW: 111486
2013-07-25 22:25:18 +02:00
Frank Reininghaus 6e1a8774e9 Prevent that removing items can cause icons to overlap
When items are removed, new items may become visible because of that.
This includes

(a) Items *behind* the removed range. KItemListView may try to create
    their widgets at their "imaginary" old positions and move them to
    the new position with an animation.

(b) Items *before* the removed range, if the deletion causes the view
    to scroll up. In that case, the "imaginary" old position and the new
    position was equal, but KItemListView still tried to determine the
    "old" position by adding the number of removed items to the index.
    The result was that the widgets were created at completely wrong
    positions, and no animation was started to fix this.

Thanks to Emmanuel for helping to find the cause of this bug!

BUG: 302373
FIXED-IN: 4.11.0
REVIEW: 111630
2013-07-25 22:15:19 +02:00
l10n daemon script d6e8ce4a7a SVN_SILENT made messages (.desktop file) 2013-07-25 06:33:03 +00:00
l10n daemon script d0283a8225 SVN_SILENT made messages (.desktop file) 2013-07-25 03:57:05 +00:00
Frank Reininghaus 69c9100f91 Make sure that widgets are initialized when changing the view mode
The problem was that DolphinItemListView overrides the virtual function
onItemLayoutChanged() without calling the base class implementation.
Therefore, KStandardItemListView::updateLayoutOfVisibleItems(), which
calls initializeItemListWidget(), is never called.

This patch refactors the "change item layout"/"supports item expanding"
code a bit to make it more robust and fix the problem that the view
looks "messed up" when switching from Details View without expandable
folders to Icons View.

I'm only pushing this patch to master (going to be KDE 4.12).
The patch is a bit too intrusive for the KDE/4.11 branch for my taste
at this point of the release cycle, and the bug is not a real
showstopper. If it works well in master, one could consider backporting
it to a 4.11.x bug fix release.

Thanks to Emmanuel Pescosta for helping to analyze this issue.

BUG: 302703
REVIEW: 111632
FIXED-IN: 4.12.0
2013-07-24 22:31:48 +02:00
Josef Weidendorfer a0c79197eb FSView: skip /proc, /dev, /sys
Solves main issue in bug 273202 by not recursing
down some paths. However, it may be better to not
cross mount points instead.

BUG: 273202
2013-07-24 17:49:09 +02:00
l10n daemon script 88b336f902 SVN_SILENT made messages (.desktop file) 2013-07-24 06:39:56 +00:00
l10n daemon script 4c29992365 SVN_SILENT made messages (.desktop file) 2013-07-24 04:03:05 +00:00
l10n daemon script 043256c5fd SVN_SILENT made messages (.desktop file) 2013-07-23 03:59:21 +00:00