┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/kitemviews
AgeCommit message (Collapse)Author
2017-06-20Support "Deletion Time" role in TrashKai Uwe Broulik
This allows to sort by and show (both as additional data in icon view and column in column view) deletion date of files in Trash. CHANGELOG: It is now possible to view and sort by "Deletion Time" in Trash BUG: 153492 FIXED-IN: 17.08.0 Differential Revision: https://phabricator.kde.org/D6269
2017-06-11Merge branch 'Applications/17.04'Elvis Angelaccio
* Applications/17.04: Change in "Open in new tab" feature in Dolphin Ignore drops-onto-items from invalid places items Revert "Increase smooth scrolling animation duration from 100 to 300 ms and set easing curve to InOutQuart"
2017-06-11Ignore drops-onto-items from invalid places itemsElvis Angelaccio
If the QMimeData object created by PlacesItemModel doesn't have any url set (e.g. when dragging unmounted devices), it is detected by the resulting DropJob as "drop raw data" because the mimeData has one format set (the internalMimeType() used for dragging between places items). This results in a crash because the DropJob schedules a PasteJob, but in the meantime the QDrag from Dolphin ends and deletes the mimeData object that was passed to the paste job. The fix is to prevent the DropJob in the first place. We can introduce a new internal mimetype that we use to blacklist drops-onto-items (while still allowing drops-between-items). This way PlacesItemModel can set the blacklist flag if the mimeData is being created without urls. BUG: 373005 FIXED-IN: 17.04.3 Test Plan: Drag and drop an unmounted device to another place item or the DolphinView, doesn't crash anymore. Dropping the unmounted device between two places item still works. Differential Revision: https://phabricator.kde.org/D5535
2017-05-31Revert "Increase smooth scrolling animation duration from 100 to 300 ms and ↵Elvis Angelaccio
set easing curve to InOutQuart" This reverts commit 58c5eae1953bbdcf6d4150b21cb7ffdad07a5257. Reasons against this change: 1. Scroll is now too fast with devices such as touchpads or trackpoints. 2. Scroll behavior is now inconsistent between Dolphin and other applications (e.g. the Plasma file dialog). Breeze's default animation duration is 100 ms. 3. Many people complained and this feature is currently not configurable. We should introduce a QStyle::SH_Widget_Animation_Duration hint that would allow us to not hardcode durations in Dolphin (i.e. respect whatever duration the users set in their QStyle). Proposal in https://codereview.qt-project.org/#/c/195712/ Reviewers: #vdg, #plasma, emmanuelp, davidedmundson Reviewed By: #plasma, davidedmundson Differential Revision: https://phabricator.kde.org/D5883
2017-05-12add few more Q_DECL_OVERRIDEPino Toscano
2017-05-08Merge branch 'Applications/17.04'Elvis Angelaccio
2017-04-29Sort the tag-values alphabetically in the "Tags" columnAthanasios Kanellopoulos
Up until now tag-values have appeared unsorted in the Tags column when the selected View Mode is "Details". In older versions of Dolphin (in KDE4) the tags-values were alphabetically sorted in the Tags column, which means that back then this was the desired behavior. This commit restores this functionality. BUG: 377589 FIXED-IN: 17.04.1 REVIEW: 130068
2017-04-07Fix some compiler warningsKevin Funk
2017-03-08Honor KFileItem isHidden() in viewKai Uwe Broulik
Instead of just assuming hidden files always start with a "." The items were already filtered out but when showing hidden files they weren't painted at reduced opacity. Differential Revision: https://phabricator.kde.org/D4978
2017-02-26Increase smooth scrolling animation duration from 100 to 300 ms and set ↵Vishal Rao
easing curve to InOutQuart Summary: The current animation duration for smooth scrolling is 100 ms which feels as if there is no smooth scroll animation in the first place. Bumping this up to something like 300 ms seems to make the scrolling actually appear smooth. Also, based on diff comments the easing curve is set to InOutQuart. Test Plan: Built this change locally and tried scrolling a folder with many items both single step mouse wheel and also larger steps of the mouse wheel. Reviewers: elvisangelaccio, emmanuelp Reviewed By: emmanuelp Subscribers: htietze, colomar, andreask, emmanuelp, elvisangelaccio Differential Revision: https://phabricator.kde.org/D4560
2017-02-20Work round missing right click event after dismissing a context menuDavid Edmundson
There is a bug that can happen in the following situation: - user right clicks to open a menu - that context menu grabs input - the QGrabphicsView also notes the mouse was pressed, but not that the mouse was released because it doesn't have mouse events any more - when a user clicks to dismiss the menu and then without moving clicks quickly again to send, we don't get another press event because the QGraphicsScene still thinks the mouse is pressed from the first time the context menu was shown and QGraphicsScenePrivate::lastMouseGrabberItemHasImplicitMouseGrab still points to the old object. This is a known bug in QGraphicsView and you can see QGraphicsScenePrivate::sendMouseEvent has a workaround to reset the lastMouseGrabberItemHasImplicitMouseGrab on mouse moves, with the comment: "This is a temporary fix for until we get proper mouse grab events." Realistically this isn't going to happen in QGraphicsView now. We do get a double click event though. By checking for double click events we can grab those missed clicks. It doesn't cause any other side effects because normally the context menu will fire after the first click and this rarely gets processed. REVIEW: 129960
2017-02-18Apply the file preview shadow frame to most previews instead of only image ↵Diego Soenens
file previews The patch applies the shadow to all previews except for folders, fonts and Win32 exe/dll previews, similar to how Windows and MacOS handles it. REVIEW: 129918
2017-02-06Merge branch 'Applications/16.12'Kai Uwe Broulik
2017-02-06[KStandardItemListWidget] Update icon when palette changesKai Uwe Broulik
We can colorize icons based on the user's palette, so clear the pixmap cache when it changes. Differential Revision: https://phabricator.kde.org/D3937
2017-01-21Merge remote-tracking branch 'origin/Applications/16.12'Albert Astals Cid
2017-01-21Fix missing audio duration in details viewMarc André Wittorf
Enabling the 'duration' column in a folder with audio files did only show empty information. Properly initializing the QTime object fixes this. Testing Done Find a folder with audio files Make sure that Baloo has indexed this folder Open this folder in Dolphin, detail view, enable the Audio/Duration column Unpatched Dolphin does not display audio duration, patched Dolphin does Tested on Gentoo x86_64 with Qt 5.5.1, KF 5.21.0 and Arch x86_64 with Qt 5.6.0 and KF 5.21.0. REVIEW: 127799
2017-01-21Change "Date" to "Modified" and allow access to new "Accessed" time fieldDon Nguyen
This is merge of #128964 and #128942. This will impelement changing the "Date" field to "Modified" and allow a new "Accessed" time field to be available. This also includes changes to update configuration files. REVIEW: 129077
2017-01-21Dolphin: directory loading progressDon Nguyen
Everything is already set up to show the directory loading progress in the status bar, but the signal KFileItemModel::directoryLoadingProgress is never emmited anywhere. I connected it to KFileItemModelDirLister::percent. This was difficult to test because I had a hard time finding a directory that didn't load almost immediately. I was able to verify the fix by listing a remote directory of 20,000 files (see screenshot) REVIEW: 129619
2017-01-18Port away from deprecated KIO::Job::ui()Elvis Angelaccio
It's equivalent to KJob::uiDelegate() from kcoreaddons.
2017-01-12Add document title to additional informationKai Uwe Broulik
Allows showing the document title of e.g. a PDF alongside the file name BUG: 321356 Differential Revision: https://phabricator.kde.org/D3972
2017-01-03Add missing Q_DECL_OVERRIDEMontel Laurent
2017-01-03Fix 2 container-anti-pattern clazy warningsIlya Bizyaev
REVIEW: 129752
2016-12-03Fix 5 clazy warningsSpencer Brown
This bumps the minimum Qt version to 5.5 (because of Q_ENUM usage). REVIEW: 129604
2016-11-21Call columnWidthChanged with actual previous widthDon Nguyen
REVIEW: 129334
2016-11-20Fix slow scrolling in dock panelsElvis Angelaccio
Commit f688bcd1f1 fixed slow scrolling with xf86-input-libinput on DolphinView. However the commit also exposed a bug in the Dolphin scrolling algorithm, which was previously hidden. This resulted in slow scrolling in dock panels (Places and Folders), with both xf86-input-evdev and xf86-input-libinput drivers, as well as libinput on Wayland. KItemListContainer::updateScrollOffsetScrollBar() relied on the view's itemSize() method to compute the scrollbar's singleStep, but this QSize was invalid for the dock panels' views. We use a new itemSizeHint() method instead, which is always valid and also adapts to the current icon size set in the view. BUG: 365968 FIXED-IN: 16.12.0 REVIEW: 129409
2016-09-25Used KUrlMimeData::setUrls for kfileitemmodel's createMimeData for ↵arnav dhamija
implementing the upcoming stash:/ ioslave
2016-08-06Fix some low-hanging warning fruitsMartin T. H. Sandsmark
2016-07-16Fix scrolling on hidpi screensMartin T. H. Sandsmark
Scrolling with libinput was unbearably slow. QScrollBar is much better at scrolling than us, so let it handle it. REVIEW: 128432 BUG: 357618
2016-06-25add_definitions(-DQT_NO_URL_CAST_FROM_STRING) + fix compilationDavid Faure
This fixes some URLs built from local paths without scheme.
2016-05-21Fix crash when closing split view with ownCloud plugin loadedMartin T. H. Sandsmark
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
2016-05-13use selected icon state for selected sidebar itemMarco Martin
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
2016-04-26Merge branch 'Applications/16.04'Wolfgang Bauer
2016-04-26Specify a fallback icon to QIcon::fromTheme()Wolfgang Bauer
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
2016-04-22Fix exports and linkage, remove sources from tests which are already being ↵Andrius da Costa Ribas
linked. REVIEW: 127709
2016-04-09Selection toggle: Use emblem-remove and emblem-added icons from BreezeEmmanuel Pescosta
This raises the minimum KF5 version to 5.21.0 BUG: 357587 FIXED-IN: 16.08.0 REVIEW: 127400 CCMAIL: [email protected]
2016-04-09Fix crash caused by a out-of-bounds access in KItemListViewAccessible::cellEmmanuel Pescosta
BUG: 359738 FIXED-IN: 16.04.0 REVIEW: 127397
2016-03-16[CLAZY] Fixed all level 1 and level 2 warnings with small exceptionsArtur Puzio
REVIEW: 126771
2016-03-16Add case sensitive sorting modeArnav Dhamija
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
2016-02-09Support KFileMetadata OriginUrl as "Downloaded From"Kai Uwe Broulik
This brings back the functionality to show where a file originally was downloaded from using xattr originUrl. REVIEW: 126927
2016-01-12Take into account QApplication::wheelScrollLines() in wheel eventsMarco Martin
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
2015-12-13Fix compilation when baloo is not presentValentin Rusu
2015-11-28Fix wrong path->URL conversion.David Faure
2015-11-04Use the new KOverlayIconPlugin interface from KIO::WidgetsOlivier Goffart
REVIEW: 125675
2015-10-10Only perform operations with Baloo if it is enabledVishesh Handa
REVIEW: 125584
2015-09-03Merge branch 'Applications/15.08'Frank Reininghaus
2015-09-03Only store modified columns widths after the mouse button was releasedFrank Reininghaus
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
2015-09-01Scrolling fixes for DolphinMaxim Mikityanskiy
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
2015-05-07Fix KFileItemModel performance regressionFrank Reininghaus
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
2015-05-06Scroll by page if Shift Key is pressedAshish Bansal
If shift key is pressed along with scroll, scroll up/down by whole page. REVIEW: 123596
2015-04-23Enable translation scripting for date groupsLasse Liehu
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