The message
"TODO: Emitting itemsChanged() with no information what has changed!"
is not helpful for the user.
The implementation of the TODO will be done in master, see
https://git.reviewboard.kde.org/r/118815/
CCBUG: 336174
When opening the URL "man:", there are multiple items with the same
name (for example, _exit is shown twice here). When opening a new tab,
the kioslave reports some items as deleted (I have not quite understood
why). The problem is that it reports some of the duplicate items twice
in the list of deleted items. This confused KFileItemModel and
corrupted the internal data structures, and finally, caused a crash.
The fix is to remove all duplicates from
KItemRangeList::fromSortedContainer(const Container& container).
New unit tests included.
BUG: 335672
REVIEW: 118507
FIXED-IN: 4.13.2
of "m_selectionToggle->contains(pos)" in
KItemListWidget::setHoverPosition(const QPointF& pos).
This wrong check was accidentally introduced by
commit 24326d4473
BUG: 299328
REVIEW: 118320
FIXED-IN: 4.13.2
If the "Places" are updated outside the current Dolphin process,
PlacesItemModel::updateBookmarks() is called, which invokes
PlacesItem::setBookmark(const KBookmark& bookmark) for each item. This
commit ensures that the correct translation is used for system
bookmarks like "Root", "Network", etc.
Without this patch, all Places entries in the remaining Dolphin windows
would switch to US English if one of multiple windows is closed.
See http://lists.kde.org/?t=139660468400004&r=1&w=2 for details.
BUG: 334999
REVIEW: 118207
FIXED-IN: 4.13.2
The underlying infrastructure relies on Nepomuk, which isn't
around anymore, and is unmaintained.
In the absence of this option existing configs using it will
gracefully fall through to the custom location option with
the activity:/current/ URL.
Before this patch, KDirLister would continue listing any children of
collapsed folders, even though the children themselves were removed
from the model. This could lead to new items being inserted as
top-level items at some later point, because no parent could be found
for them. This inconsistent model state could lead to a crash later on.
Many thanks to Martin Koller for helping to debug this problem!
BUG: 332102
REVIEW: 118055
FIXED-IN: 4.13.2
Before this patch, any (direct or indirect) children that might have
been in m_pendingItemsToInsert, i.e., that were not inserted into the
model yet because KDirLister had not finished listing the directory
yet, would be added to the model later without a proper parent. This
could cause a crash later on.
CCBUG: 332102
FIXED-IN: 4.13.2
Updating this action is only required if the clipboard contents change,
or if the "is writable" state of the current location changes. In all
other cases, an update of this action should be prevented because it
can be very expensive if many files are in the clipboard.
In particular, the update when the selection changes could make
changing the current item in the view very slow.
BUG: 333903
REVIEW: 117782
FIXED-IN: 4.13.1
Instead of just emitting the slotItemMiddleClicked signal in
PlacesPanel::slotItemContextMenuRequested we now use triggerItem with
Qt::MiddleButton, which does set up the storage first and emit
the slotItemMiddleClicked signal afterwards.
BUG: 311226
FIXED-IN: 4.13.1
REVIEW: 117755
If a range of items has been selected by Shift-clicking or by pressing
Shift+Arrow, then each of them is added individually to the selection
before the items are re-sorted.
Before this commit, the first and the last item in the range were
moved, and all items between them were selected, even though these were
not necessarily the items which had been selected before the
re-sorting.
BUG: 333457
REVIEW: 117603
FIXED-IN: 4.13.1
when multiple tabs are opened. Disable them again
when there is only one remaining tab.
Additionally set the default state to disabled.
BUG: 332628
FIXED-IN: 4.13.1
REVIEW: 117778
In the current version we only call endRetrieval when
beginRetrieval was successfully in UpdateItemStatesThread::run().
This causes some problems with version control plugins (like Dropbox plugin),
which have to do cleanups in endRetrieval.
Now we always call endRetrieval after beginRetrieval when updating the version states.
FIXED-IN: 4.13.1
REVIEW: 117753
Instead of emitting the directoryLoadingCompleted signal (via slotCompleted) in
KFileItemModel::setShowHiddenFiles directly, we now call
dispatchPendingItemsToInsert instead.
@Frank: Thanks for your help!
FIXED-IN: 4.13.1
BUG: 332159
REVIEW: 117021
The icons of items which are "cut" are shown faded in the view. The
"is cut" state of the widget representing an item is updated if the
clipboard contents change. Before this commit, if the sort order was
changed however, then each widget kept the "is cut" state of the item
which had been shown previously at its position.
The solution is to update the "is cut" state also if any of the
widget's data change.
BUG: 332792
REVIEW: 117451
FIXED-IN: 4.12.5
Before this patch, the destructor of KDirectoryContentsCounter might
delete the worker object, which lives in another thread, while one of
its methods was still being executed. This could cause a crash. Only if
the destroyed KDirectoryContentsCounter was the last one, the worker
thread was stopped, and the destructor waited until all workers are
done.
BUG: 332767
FIXED-IN: 4.13.0
REVIEW: 117209
newly opened tab also starts the same search (Because new tab is opened with
the current view url), but the search box is in read-only mode. So you cannot
close the search bar nor edit the search text.
This patch fixes this by parsing the search url. The value of the "search"
parameter is used as search text and the value of the "url" parameter is used
for the search path ("root" folder for the search when "Search from here" mode
is enabled).
In case of Baloo search urls, we use Baloo::Query::fromSearchUrl.
Removed everything related to read only mode in DolphinSearchBox, not needed
anymore.
REVIEW: 111968
BUG: 311950
FIXED-IN: 4.13.0
They were previously checkboxes. Most files cannot have more than 1 type
considering that the exposed types were "Document", "Image", "Video" and
"Audio".
Also, it is not very simple in baloo to search through ORs for types.
Not through the exposed API anyway.
REVIEW: 117015
This required changes in Baloo which require reindexing. Since the
storage location has changed for Beta 3 everyone should be re-indexing
everything, so it won't be a problem.
Before this commit, filenamesearch checked if a file's MIME type begins
with "text/" to determine if its content can be searched. This prevented
that text inside shell scripts is found.
BUG: 332143
REVIEW: 116805
FIXED-IN: 4.12.4
KItemListViewAnimation::slotFinished() used a QHashIterator to iterate
over a QHash, and then removes an item from the hash using
QHash::remove() inside the loop.
This is quite unusual - the recommended way is to use a
QMutableHashIterator (or std-style iterators and then QHash::erase(it)).
This might be related to the cause of a crash in this function.
BUG: 331876
REVIEW: 116666
FIXED-IN: 4.13.0
Before this patch, pressing one of these buttons while an item is
hovered selected this item. The motivation for this behavior was to
provide a fast way to select items. However, this was counter-intuitive
and confusing for many users.
BUG: 310288
FIXED-IN: 4.13.0
REVIEW: 116469
Use scoring to find the best matching plugin for the given directory.
Thanks to Phil Schaf for testing this patch!
BUG: 330605
FIXED-IN: 4.12.3
REVIEW: 116019