Patch 106381 Comment #3:
When "Open folders during drag operations" is enabled, two things happen, both in the DolphinView and in the Folders Panel:
1) When hovering a folder that can be expanded (this is the case for folders with sub-folders in the Folders Panel and in the DolphinView if in Details View mode), toggle its "expanded" state.
2) When hovering a folder that can not be expanded (i.e., a folder without sub-folders or any folder in Icons or Compact View), open this folder in the DolphinView via the KItemListController's itemActivated(int) signal.
The bug described in bug 293200 comment 3 is that 1) is always wanted, but 2) is not wanted for the Folders Panel.
BUG: 293200
FIXED-IN: 4.9.2
The root cause of the problem was that TerminalPanel's member
m_konsolePartCurrentDirectory, which is used to determine in
TerminalPanel::sendCdToTerminal(QString& dir) if the Konsole part's
directory is aleady 'dir', such that issuing the 'cd' command is not
needed, was updated too late, namely when the part's
currentDirectoryChanged(QString) signal was received, which may be up
to one second after the 'cd' command.
When changing the directory from "dir1" to "dir2" and going back to
the "dir1" in less than one second (either by using the 'Back' action
or by activating a tab which still had "dir1" open), the 'cd dir1'
command was therefore suppressed because the Terminal Panel still
thought that "dir1" was the current directory in the part. However,
the directory of the part was actually "dir2", and when the
currentDirectoryChanged(QString) signal was received from the part, the
view's URL was set to "dir2" as well.
BUG: 306349
BUG: 304838
FIXED-IN: 4.9.2
User feedback has shown that many users used the dialog for renaming
files. Since the dialog is still used when renaming multiple files, I
think there is no good reason not to use it for renaming single files
as well if the user wants.
Note that we cannot add an option in the settings dialog due to string
freeze issues. For the time being, you will have to add the line
"RenameInline=false" to the [General] section of
$KDEHOME/share/config/dolphinrc.
BUG: 304627
FIXED-IN: 4.9.2
does not expand the dir => Bug discovered: When you drag a
item onto a folder-view-item and then move it away
instantly before the autoactivation event is triggered
(After 750ms), the folder will be opened anyway.
BUG: 305783
REVIEW: 106381
It is not reproducible on every machine for me, but it seems that it can
happen that DolphinView's slot slotRoleEditingFinished() is invoked
after the items have already been removed from the model. In that case,
we have to return from the slot immediately to prevent a crash.
BUG: 306147
FIXED-IN: 4.9.2
According to the backtrace in the bug report, it is possible that
KStandardItemListWidget::paint() is called if the hash m_textInfo has
not been initialised. The widget's index must be -1 in this case, see
KStandardItemListWidget::triggerCacheRefreshing(). It looks like this
can only happen if the item is about to be removed from the view, see
KItemListView::slotItemsRemoved().
I could not reproduce the crash, so I'm not sure why exactly this
happens, but this commit should at least prevent the crash.
BUG: 306167
FIXED-IN: 4.9.2
This is achieved by adding some descriptive text and by using a more
appropriate icon.
Thanks to Panos Kanavos for the patch!
BUG: 300248
FIXED-IN: 4.10.0
REVIEW: 106325
I'm only backporting the removal of the '-', not the update for the
line number calculation in Icons View, because this is the safest part
of the patch and also the one that fixes the most annoying part of the
bug.
Thanks to Todd Jennings for the patch!
BUG: 304752
REVIEW: 106304
(cherry picked from commit 20b0cb68bf)
Dolphin is a file manager, and shouldn't be concerned with non-file
resources like notes, contacts and other stuff.
Use FileQuery instead of Query.
This also results in a faster queries. With File Queries Nepomuk can
perform some internal optimizations.
BUG: 306029
REVIEW: 106274
`git merge -s recursive --log --edit KDE/4.9' was run first, and it looked
like the only conflicts were in some docbooks. I then aborted the merge and
ran `git merge' with `-Xours' to use this branch's version of the
conflicting files.
Even though a lot of changes are listed below, all but the last two are
already present in master because they were cherry-picked from one branch to
another.
Hopefully this sets a trend and people start using git as it was intended to
be used.
* KDE/4.9: (50 commits)
Adjust to Ark's drag'n'drop D-Bus interface changes.
Adjust to Ark's drag'n'drop D-Bus interface changes.
Fix wrong behaviour, when Dolphin is started with --split argument.
Do not crash when finishing inline renaming in unusual ways
Fix regression that caused "(I18N_EMPTY_MESSAGE)" sub menus in menus
Select the correct item in places-panel, when a directory is opened.
SVN_SILENT made messages (.desktop file)
avoid duplicate entries in konqueror address completion list
Fix translations not showing in the Sort by and Additional Information submenus
Fix wrong text color in Places Group Header. Use QPalette::Window for base color and QPalette::WindowText for text color. Also changed m_roleColor color mixing to 60% (from 70%) -> Better visible color difference when base color is darker than text color. Also changed styleOption().palette.brush(group, role).color() to styleOption().palette.color(group, role) in KStandardItemListWidget -> should be more efficient.
Fix wrong text color in places and in folders panel.
Show icon size as tooltip when adjusting icon size
Fix a long standing security issue with the hiding of Konqueror's location (address) bar through javascript.
Fixed the display of the security sheild icon for SSL sites.
SVN_SILENT made messages (.desktop file)
Follow-up to d7e7ca53bb - use correct icon
Use a better icon for recently accessed items in the Places Panel
Use a saner check for multimedia files in infopanel.
Fix the size of the rating stars in Icons View
Stop preview jobs when closing Dolphin
...
Ark's drag'n'drop D-Bus interface needs to be changed: so far, the object
path was always /DndExtract, but this does not work if Ark is being used as
an embedded KPart (in Konqueror or Rekonq, for example), as all tabs will
end up calling QDBusConnection::registerObject() with the same path. Only
the first call will work, and the result is that dragging and dropping from
any tab previewing an archive with Ark will extract from the first archive
being previewed.
To fix that, applications that accept the application/x-kde-dndextract
mimetype should now be adjusted to check the
application/x-kde-ark-dndextract-service and
application/x-kde-ark-dndextract-path ones instead; the former contains the
same service information that used to be passed, while the latter tells
which object path should be talked to.
This is the Dolphin part of the change, which also needs to be made to
the folderview plasmoid.
REVIEW: 106131
CCBUG: 304860
Actual Results:
dolphin starts without split view
Expected Results:
dolphin starts with split view
New behaviour:
* no url given - use default url for all two views
* one url given - use given url for all two views
* two urls given - open the first url in the left view and the second url in the right view
BUG: 305538
REVIEW: 106171
(cherry picked from commit d430a1c3b3)
Actual Results:
dolphin starts without split view
Expected Results:
dolphin starts with split view
New behaviour:
* no url given - use default url for all two views
* one url given - use given url for all two views
* two urls given - open the first url in the left view and the second url in the right view
BUG: 305538
REVIEW: 106171
FIXED-IN: 4.9.1
The crash was caused by a null pointer dereference when, e.g.,
minimizing Dolphin. The root cause was that
KStandardItemListWidget::closeRoleEditor() was called twice: once when
the role editor loses focus, and once again when the window is resized.
After m_roleEditor was set to 0, the second call dereferenced this null
pointer. I think the best solution is to disconnect from the role
editor's signals when the editor is not needed any more by the
KStandardItemListWidget.
CCBUG: 304524
(cherry picked from commit a9c2bdc3b5)
The crash was caused by a null pointer dereference when, e.g.,
minimizing Dolphin. The root cause was that
KStandardItemListWidget::closeRoleEditor() was called twice: once when
the role editor loses focus, and once again when the window is resized.
After m_roleEditor was set to 0, the second call dereferenced this null
pointer. I think the best solution is to disconnect from the role
editor's signals when the editor is not needed any more by the
KStandardItemListWidget.
BUG: 304524
FIXED-IN: 4.9.1
For top-level roles like "Name" and "Size", the group translation is 0.
In that case, the "group" member of the corresponding RoleInfo struct
must be an empty string. This is expected by the code which generates
Dolphin's menus, which group the top-level roles into a sub menu with
the name "(I18N_EMPTY_MESSAGE)" otherwise. This is a recent regression
caused by 199fabbaa8.
Thanks to Christoph Feck for investigating this issue!
CCBUG: 305228
(cherry picked from commit 168d0511c7)
For top-level roles like "Name" and "Size", the group translation is 0.
In that case, the "group" member of the corresponding RoleInfo struct
must be an empty string. This is expected by the code which generates
Dolphin's menus, which group the top-level roles into a sub menu with
the name "(I18N_EMPTY_MESSAGE)" otherwise. This is a recent regression
caused by 199fabbaa8.
Thanks to Christoph Feck for investigating this issue!
CCBUG: 305228
Remove comparison of QAccessibleInterfaces - these are pointers that get
instantiated again and again, so they cannot be compared. Use the object()
function in QAI instead for comparison.
The base class implementations are actually good and without some problems.
Save one pointer's worth of memory by not having m_container.
rect was returning a relative rectangle always.
State was wrongly returning HasInvokeExtension which can lead to crashes.
The problem with the icon "package_utility_time" that has been used
before was that it is not available on all distros. The new icon
"chronometer" should be available on every KDE install.
Thanks to Elias Probst for suggesting the new icon - I'm not that
familiar with the icons provided by KDE myself.
CCBUG: 304323
(cherry picked from commit d7e7ca53bb)
I overlooked that "actions/" is not part of the icon name. Just
rebuilding and re-running Dolphin did not reveal this issue, it seems
that the old icon "package_utility_time" was still cached somewhere.
I hope that it really works on all distros now.
CCBUG: 304323
The problem with the icon "package_utility_time" that has been used
before was that it is not available on all distros. The new icon
"actions/chronometer" should be available on every KDE install.
Thanks to Elias Probst for suggesting the new icon - I'm not that
familiar with the icons provided by KDE myself.
BUG: 304323
FIXED-IN: 4.9.1
Don't rely on the reported supported mimetypes from Phonon,
Phonon supports more than just video and audio, but if it is
video or audio there's a very good chance Phonon supports it.
(If the mime type isn't in the list returned by Phonon there's
still a good chance it supports it, because mime types are stupid.)
BUG: 252539
FIXED-IN: 4.9.1
(cherry picked from commit 2fb4419de0)
Don't rely on the reported supported mimetypes from Phonon,
Phonon supports more than just video and audio, but if it is
video or audio there's a very good chance Phonon supports it.
(If the mime type isn't in the list returned by Phonon there's
still a good chance it supports it, because mime types are stupid.)
BUG: 252539
Moreover, make sure that the selection rectangle is large enough to
include the stars.
Patch by Emmanuel Pescosta. Thanks for the patch!
CCBUG: 302624
REVIEW: 105830
(cherry picked from commit 146c77eaa2)
Moreover, make sure that the selection rectangle is large enough to
include the stars.
Patch by Emmanuel Pescosta. Thanks for the patch!
BUG: 302624
FIXED-IN: 4.9.1
REVIEW: 105830
Use QStyle icon sizes instead of hard coding 16 or 32 pixels.
Using styles that follow KDE settings (every KStyle, e.g.
Oxygen) the icon sizes can be configured by the user in
System Settings.
The size for the icon/details view can be later changed
by the user, overriding the defaults. The icon size for the
places panel is not (yet?) configurable separately.
(Not resolving the bug, see comment in review request)
CCBUG: 301959
REVIEW: 105548
(cherry picked from commit 79211f6e48)
Use QStyle icon sizes instead of hard coding 16 or 32 pixels.
Using styles that follow KDE settings (every KStyle, e.g.
Oxygen) the icon sizes can be configured by the user in
System Settings.
The size for the icon/details view can be later changed
by the user, overriding the defaults. The icon size for the
places panel is not (yet?) configurable separately.
(Not resolving the bug, see comment in review request)
CCBUG: 301959
REVIEW: 105548
This resolves a regression caused by the Places Panel rewrite. There is
a small glitch left when reordering items (dragging below the last or
above the first item only shows the drop indicator when first dragging
out of the item and then back), but I prefer not to fix this glitch
right now because this would require a more intrusive change, and I do
not want to risk regressions because is not much time left to fix them
before 4.9.0 is released.
Thanks to Peter Penz for providing some advice about this issue.
BUG: 302557
FIXED-IN: 4.9.0
(cherry picked from commit f4c9600251)
Without this patch, the name of the parent folder was used for the entry
in the Places Panel. Will backport to the KDE/4.9 branch when the RC2
freeze is over.
Thanks to Daniel Kreuter for the patch!
BUG: 303157
FIXED-IN: 4.9.0
(cherry picked from commit 9940244ddd)
This resolves a regression caused by the Places Panel rewrite. There is
a small glitch left when reordering items (dragging below the last or
above the first item only shows the drop indicator when first dragging
out of the item and then back), but I prefer not to fix this glitch
right now because this would require a more intrusive change, and I do
not want to risk regressions because is not much time left to fix them
before 4.9.0 is released.
Thanks to Peter Penz for providing some advice about this issue.
CCBUG: 302557
Without this patch, the name of the parent folder was used for the entry
in the Places Panel. Will backport to the KDE/4.9 branch when the RC2
freeze is over.
Thanks to Daniel Kreuter for the patch!
CCBUG: 303157
If a file with an unknown extension gets renamed, it is assumed
that the letters after the last point represent the extension and
won't be selected.
BUG: 301893
FIXED-IN: 4.9.0
The regression has been introduced when hiding the DolphinDirLister
inside KFileItemModel. Now the signal urlIsFileError() gets forwarded
to the container again where the file will be opened.
BUG: 301757
FIXED-IN: 4.9.0
- Don't use the selection-tinted icon when dragging a single item
- Decrease the vertical gap for the hotspot
- Prevent drawing tree-lines when dragging items for the Places Panel
CCBUG: 301624
If the "isExpandable"- or "size"-role is shown for a folder, the
number of sub-items must be watched to be able to update the
state of those 2 roles.
This fixes the issue that e.g. no expanding-toggle is shown
if an sub-directory has been created inside an empty directory.
BUG: 293972
FIXED-IN: 4.9.0
... otherwise no expansion toggle will be shown. The implementation
is a compromise between performance and correctness: If the directory
contains links that are not directories, an unnecessary expansion
toggle will be shown. But this is better than showing no expansion
toggle in case if the directory contains links that point to other
directories.
BUG: 299997
FIXED-IN: 4.9.0
When emitting the roleEditingCanceled-signal it must be prevented
that a roleEditingFinished-signal is emitted because of some
action taken in the receiver-slot.
BUG: 301480
FIXED-IN: 4.9.0
Fix issue that cancelling the inline-renaming by clicking
on the other split view applies the wrong focus.
Thanks to Frank Reininghaus for the initial patch and noticing
this issue.
CCBUG: 301252
- Don't use an outdated KFileItem when renaming an item more than once
- Use the same font as the view
- Don't lose the focus when an editor-popup is shown
BUG: 299327
BUG: 298883
BUG: 301253
FIXED-IN: 4.9.0
This prevents that these commands, which have not been enetered by the
user, but generated automatically, appear in the shell history, provided
that the shell is configured appropriately.
BUG: 204039
FIXED-IN: 4.9.0
If the current folder is collapsed, pressing the left arrow key now
moves the focus to the parent folder.
CCBUG: 300582
(cherry picked from commit 93daadae28)
The problem was the following: While a QMutableSetIterator iterates the
items in the QSet m_filteredItems, all items that match the new filter
are removed from the set. However, to ensure that the iterator still
reaches all items in the set, one must not use QSet::remove(), but
rather the iterator's remove() method (see QMutableSetIterator docs).
CCBUG: 300504
(cherry picked from commit 288473a96c)
To achieve this, the Places Panel context menu now checks the icon of
the "Trash" item (which is updated by a dir lister that watches the
state of the trash), rather then reading a config file which is only
used by KDE applications.
BUG: 293651
FIXED-IN: 4.9.0
Show a video widget depending on the video content instead of the mimetype
string: There are container formats which can be either audios or videos.
Besides, the rmvb video files have a mimetype of
"application/vnd.rn-realmedia", and these files can be recognized as videos
correctly now.
The patch has been provided by Hui Ni.
REVIEW: 104988
FIXED-IN: 4.9
The dropping has not been implemented yet, however in the context of
this step the creating of the drag-pixmap is now forwarded to
the item-widgets. This allows creating some optimized dragging-pixmaps
e.g. for the details-view, where only the name and icon should
be provided as drag-pixmap.
This regression has been introduced on master and has not been
released yet: Due to the changed properties-format an update has
been done which resulted in writing a .directory file into each
newly entered directory.
The patch updates the view-properties and version only in the
constructor so that it is assured that reading properties never
accidently will change the internal version.
A unit-test has been added to catch regressions like this in future.
BUG: 300240
FIXED-IN: 4.9.0
If multiple ranges are inserted or removed, the updating of
the group-headers may only be done after _all_ ranges have been
inserted/removed and not after each individual range. Otherwise
the layouter-cache is not in a consistent state yet.
For the "Recently Accessed"-places and "Search For"-places like
documents, images, audio-files and videos proper default properties
are created now (e.g. previews and images-sizes are shown when
searching for "images" etc).
See bug 188032 for an ongoing discussion. In case if this behavior
is really not wanted by users (the feedback on bugs.kde.org will
show), the review-request
https://git.reviewboard.kde.org/r/104915/ should be merged too
(after adjusting some parts of the code).
Per default Dolphin remembers the view-properties for each search-URL
individually. However when being in the search-mode, where the
search-URL is different each time by definition, it should also
be possible for the user to adjust the view-properties. The DolphinView
is not aware about any "search-mode", so an interface has been added
to provide a "context" for storing the view-properties. The context
will be adjusted by the DolphinViewContainer in case if the search-mode
is active.
Dolphin 2.1 uses "text" instead of "name" as default-role. Provide
backward compatibility with older .directory files and assure
that they get updated.
Follow the suggestion from Vishesh Handa and copy the ResourceWatcher
code from kde-runtime instead of creating a dependency. This will of
course get removed again as soon as Nepomuk's resource watcher will
get a public API.
Until now it was only possible to adjust the view-properties for
searching in general. Now the view-properties can be adjusted
dependent on the query (e.g. images, documents, ...).