The KAuthorized key to prevent shell access according the documentation
is simply "shell_action" not "action/shellAction" so should use
authorize not authorizeKAction
This appears to have come about as part of a porting bug when going from
KApplication::authorize to KAuthorized in kdelibs3 to kdelibs4.
To currently block shell access a sysadmin currently needs to
have both keys set already, so we can be confident it won't have any
actual compatibility problems.
KPluginLoader::instantiatePlugins() wraps QPluginLoader::instace(),
which doesn't return a new object for each call, so if we set the
KFileItemModelRolesUpdater instance as parent to the plugin the shared
instance will be deleted leading to crashes when other instances of
KFileItemModelRolesUpdater tries to use their plugin objects.
To fix this, set the QApplication as a parent.
BUG: 357479
REVIEW: 127930
KPluginLoader::instantiatePlugins() wraps QPluginLoader::instace(),
which doesn't return a new object for each call, so if we set the
KFileItemModelRolesUpdater instance as parent to the plugin the shared
instance will be deleted leading to crashes when other instances of
KFileItemModelRolesUpdater tries to use their plugin objects.
To fix this, set the QApplication as a parent.
BUG: 357479
REVIEW: 127930
Since now the breeze icons can be recolored by kiconloader
with svg stylesheets, use this feature to recolor the
currently selected icon in the sidebar and in the
details view (not the icon view)
look wouldn't change if used with icon themes that
don't support this feature
This makes it look more in line with the breeze style
REVIEW:127877
The default fallback of QIcon::fromTheme() is QIcon(), i.e. a null icon.
Set the generic "unknown" icon as fallback to prevent missing icons for
filetypes that specify an icon name that doesn't exist.
This also gets rid of "QPixmap::scaled: Pixmap is a null pixmap"
warnings in that case.
BUG: 358958
BUG: 361034
FIXED-IN: 16.04.1
REVIEW: 127713
Dolphin users can now choose between 3 different sorting modes:
* natural sorting
* case insensitive sorting
* case sensitive sorting
REVIEW: 126467
BUG: 148550
FIXED-IN: 16.04.0
This prevents that the setup of the PlacesItemModel queries Solid for
the available devices, which can take some time.
Places can be added multiple times now using the context menu, but this
has always been possible with drag and drop anyway.
See https://forum.kde.org/viewtopic.php?f=223&t=130617 for a dicsussion
on this topic.
REVIEW: 126904
qApp->isSessionRestored() specifies whether the application has been
restored by session management. This is obviously wrong here. Use
qApp->isSavingSession() instead.
BUG: 353548
FIXED-IN: 15.12.2
REVIEW: 126917
This is not necessary because the sub menus are children of the main
menu, such that they are deleted together with the other actions by
QMenu::clear().
This prevents a crash that can happen if a sub menu is open while
another menu action is clicked.
Thanks to Fabian Vogt and Wolfgang Bauer for investigating this issue!
BUG: 354558
FIXED-IN: 15.12.2
REVIEW: 126693
when setting a different "mouse wheel scrolls by" value in the
mouse kcm, the user expects every view to scroll more or less
accordingly (even if it's not strictlya text view)
This makes the scroll in dolphin take that into account
REVIEW:126718
dolphin is using
-DTRANSLATION_DOMAIN=\"dolphin\"
that is wrong for applications, apps need to use
KLocalizedString::setApplicationDomain
since that makes some other things like the transltators tab in the about
dialog show.
I have not removed -DTRANSLATION_DOMAIN=\"dolphin\" because on the other hand
this code is also a library (i.e. the dolphin kpart).
The "being pedandly correct" fix would be using -DTRANSLATION_DOMAIN=\"dolphin\"
only to compile the files that are part of the kpart but that's prone to
break at some point and using both KLocalizedString::setApplicationDomain and
-DTRANSLATION_DOMAIN does not create any problem so i went that route
CCMAIL: kfm-devel@kde.org
addType("File") will create a invalid query for baloo. Currently seems
there is no replacement for it, so just remove it.
REVIEW: 126109
FIXED-IN: 15.12
BUG: 348902
This prevents that the new widths are written to disk multiple times in
quick succession, which can make column resizing quite slow.
BUG: 351846
REVIEW: 351846
FIXED-IN: 15.08.1
KItemListSmoothScroller::handleWheelEvent has some issues:
1. When I scroll file list holding mouse over the list, one mouse wheel tick corresponds
to 1/4 page interval, but when I hover on QScrollBar, one wheel tick corresponds to
1 page interval.
2. In KItemListSmoothScroller::eventFilter we don't return true, so that QScrollBar also
handles this event, and total scroll interval is m_scrollBar->pageStep() +
m_scrollBar->singleStep().
3. When I use touchpad that supports smooth scrolling via XInput2, and I hover it over
QScrollBar, I can only scroll content if I move my fingers very fast, because
numSteps = event->delta() / 8 / 15 is just zero unless I move very fast
(event->delta() in this case is less than 120).
4. Holding Shift while scrolling has no effect when holding mouse over QScrollBar in
contrast to scrolling faster when holding mouse over file list.
The patch eliminates all these issues making the behavior of KItemListSmoothScroller the
same as in KItemListContainer::wheelEvent, adding support for QWheelEvent::pixelDelta()
and removing usage of deprecated QWheelEvent::delta().
REVIEW: 124670
FIXED-IN: 15.12.0
It appears that KF5TextEditor was added for KTextEdit, but that is actually
provided by KF5TextWidgets. It's then necessary to explicitly link to KF5Parts
(it was previously brought in implicitly by KF5TextEditor).
REVIEW: 124932
there are no headers being installed for the private library so it cannot
be linked anyway, so we can also skip the namelink creation (.so symlink)
REVIEW: 124812
Baloo is set to become a framework and wants to only export the bare
minimum number of classes as it will need to provide ABI + API
guarentees forever. The Term class is now no longer exported. It can be
added back again.
REVIEW: 123643
Commit 119f7a3f fixed a crash that was caused by the porting of the
natural sorting code to QCollator. QCollator is not thread-safe, so
every thread needs its own instance. However, that commit made every
recursive call in the sorting code create a new deep-copied QCollator
instance, which is quite expensive and thus made inserting any items
into the model very slow (this could also be seen in the KFileItemModel
benchmark).
This commit avoids unnecessary QCollator copying by forcing all sorting
functions which are called in the same thread to pass the 'lessThan'
object by const reference, such that no unnecessary copying of that
object, including a deep copy of the QCollator, takes place.
REVIEW: 123620
The benchmark inserted KFileItemLists of different sizes in the model.
The intention was to verify that an O(N^2) complexity issue was fixed.
However, now that this original problem does not exist any more, the
benchmark results are much easier to read, and regressions are much
easier to spot at first sight, if only a single list size is used.
Reduces the amount of needed code.
NEW: by using KMoreTools the menu is now user-configurable and
will automatically extended when KMoreToolsPresets gets new tools.
REVIEW: 122911
* Instead of setting and resetting GeneralSettings's split view option, just pass it on to openFiles/openDirectories.
* Require at least one url in openFiles/openDirectories
REVIEW: 123395
I added this benchmark quite a long time ago in order to check that the
changes in dc6322dc09 do not make
inserting many child items into the model slower. The test tries to
insert child items of different subfolders at the same time, which
cannot happen during normal usage because KDirLister only tells us about
one subfolder at a time.
The code was commented out a long time ago because it is no longer
compatible with the (greatly improved) new internal structure of
KFileItemModel. I think that it's not worth porting the benchmark
because it fulfilled its intended purpose a long time ago. Even if
someone decides to make a simplified working new benchmark out of it at
some point, it does not make much sense to keep this commented-out code
around for years. It can still be found in the git history - after all,
that's what version control systems are for.
This allows to work around limitations in Qt's date formatting.
Examples:
* Uppercasing the first character in a string because it's a title:
Day of the week and month names returned by QDateTime::toString
are usually lowercase.
* Correcting the noun case of a month name from "of [month]" to
"in [month]" in Finnish: "of [month]" is correct when talking
about a specific day, but wrong when talking about a specific month.
REVIEW: 123278
We probably need a more sophisticated heuristic for identifying devices in the places
panel but given we already did that for Bluetooth should do for the foreseeable future.
REVIEW: 123189
BUG: 337222
The natural query parser is too unstable for the release atm, we'll readd the
query parser when the code is mature enough.
This reverts commit e3578ee3b7.
The port of Dolphin to categorized logging created errors in one
specific point only, in main.cpp:
undefined reference to `DolphinDebug()'
I couldn't spot any obvious error, so for now I did it the bad way
(warnings should not be commented out!) to keep it building while a
real solution is found.
CCMAIL: emmanuelpescosta099@gmail.com