┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/kitemviews
AgeCommit message (Collapse)Author
2019-05-30handle maps with multiple or single entries from BalooAlexander Stippich
Summary: Handle maps which may contain multiple entries with the same key. Bumps frameworks to 5.58. Equivalent to D20739. Reviewers: #dolphin, elvisangelaccio, bruns Reviewed By: #dolphin, elvisangelaccio, bruns Subscribers: kfm-devel Tags: #dolphin Differential Revision: https://phabricator.kde.org/D21157
2019-05-13Summary: Fixes crash when hiding devicesDavid Hallas
Summary: Fixes crash when hiding devices. The crash is caused by KStandardItem::setDataValue which calls the KStandardItemModel::onItemChanged function, and that function will delete the KStandardItem if the data value being set is the hidden attribute being set to true. To fix this KStandardItem now derives QObject so that we can use deleteLater. Test Plan: Right click a device in the places panel and select hide Right click the places panel and select show hidden Right click the hidden device and select show Right click the same device and select hide BUG: 403064 Reviewers: #dolphin, elvisangelaccio Reviewed By: #dolphin, elvisangelaccio Subscribers: kfm-devel Tags: #dolphin Differential Revision: https://phabricator.kde.org/D21050
2019-05-12Fix indentationElvis Angelaccio
GIT_SILENT
2019-05-12[Inline Rename] Move cursor to correct position on pressing Home and EndChinmoy Ranjan Pradhan
Summary: When pressing home or end key on a wrapped file name the cursor should move to beginning or end of the whole file name instead of the last line (which is the default behaviour of any textedit widget). BUG: 363179 Reviewers: #dolphin, elvisangelaccio Subscribers: kfm-devel Tags: #dolphin Differential Revision: https://phabricator.kde.org/D21031
2019-05-05Get rid of ugly static_cast usages in connect() callsElvis Angelaccio
2019-05-04Fix wrong apidoxElvis Angelaccio
There is no KStandardItemView class in dolphin. This apidox has been wrong since the beginning (see commit ae4d11d918938fd9087f2035dac). GIT_SILENT
2019-04-12Scroll to item if it's not visible on keyPressTranter Madi
Summary: Always scroll to item if it's not visible on keyPress, even if it's the current index. Test Plan: Select the last item, scroll up to make it not visible > press the `End` key > Dolphin now scrolls to that item. Reviewers: #dolphin, ngraham, elvisangelaccio Reviewed By: #dolphin, ngraham, elvisangelaccio Subscribers: elvisangelaccio, kfm-devel Tags: #dolphin Differential Revision: https://phabricator.kde.org/D20152
2019-03-30[KFileItemModel] Fix alignment of rolesInfoMapElvis Angelaccio
GIT_SILENT
2019-03-27Add "Aspect Ratio" and "Frame Rate" to additional video information columnsKochih Wu
Summary: Add options to show aspect ratio and frame rate. BUG: 366524 FIXED-IN: 19.08.0 Test Plan: Under Control -> Additional Info -> Video, there should be options for aspect ratio and frame rate. Reviewers: #dolphin, #kde_applications, ngraham Reviewed By: #dolphin, #kde_applications, ngraham Subscribers: astippich, ngraham, elvisangelaccio, kfm-devel Tags: #dolphin Differential Revision: https://phabricator.kde.org/D20074
2019-03-10port to std::stable_sortLaurent Montel
2019-03-09Fix context for QDateTime::toString() translationsElvis Angelaccio
Summary: The documentation of QDateTime::toString() says that: Any sequence of characters that are enclosed in single quotes will be treated as text and not be used as an expression. This means that translators cannot replace single quotes with other characters such as «...». This is now described in the context of the affected strings. We also check that the translated string contains exactly 2 single quotes, and we use the untraslated string otherwise. BUG: 401382 Reviewers: lueck, aacid, cfeck Subscribers: ltoscano, kfm-devel Tags: #dolphin Differential Revision: https://phabricator.kde.org/D18769
2019-03-01Use new display string function from KFileMetaDataAlexander Stippich
Summary: Delete all the custom formatting functions and use the ones provided from KFileMetaData. Reviewers: #dolphin, elvisangelaccio Reviewed By: #dolphin, elvisangelaccio Subscribers: bcooksley, elvisangelaccio, kfm-devel Tags: #dolphin Differential Revision: https://phabricator.kde.org/D19105
2019-02-24Fixes memory leak of KItemListHeaderDavid Hallas
Summary: Fixes memory leak of KItemListHeader The KItemListHeader passed the listView parent object to the QObject base class, but that pointer seems to always be nullptr causing the KItemListHeader to not be memory managed by anything. Instead simple use the listView as parent pointer. Test Plan: This leak was found using Address Sanitizer Reviewers: elvisangelaccio Reviewed By: elvisangelaccio Subscribers: elvisangelaccio, kfm-devel Tags: #dolphin Differential Revision: https://phabricator.kde.org/D14453
2019-02-18Fix crash during shutdownDavid Hallas
Summary: Fix crash during shutdown. The root cause is that when Dolphin in stopped as part of an activity, the KItemListViewAccessible destructor is called after QApplication::exec has returned causing Qt to already having cleaned up the QAccessibleInterface instances kept in KItemListViewAccessible. Instead of storing the pointers to QAccessibleInterface we store the QAccessible::Id so that we can use the QAccessible::deleteAccessibleInterface function for deleting the instances. BUG: 402784 Test Plan: I wasn't able to reproduce the crash in the first place, but I have just opened and closed Dolphin a few times and verified the the QAccessibleInterface instances are correctly cleaned up. Reviewers: #dolphin, elvisangelaccio, ngraham Reviewed By: #dolphin, elvisangelaccio Subscribers: kfm-devel Tags: #dolphin Differential Revision: https://phabricator.kde.org/D19083
2019-01-11Consti'fyLaurent Montel
2019-01-07Merge branch 'Applications/18.12'Alexander Stippich
2019-01-07fix display of image orientationAlexander Stippich
Summary: The name of the orientation property for baloo/kfilemetadata was false, leading to an always empty image orientation field. Test Plan: Look at an image in Dolphin details view which has the exiv orientation tag set. Orientation column is not empty. Reviewers: #dolphin, ngraham Reviewed By: #dolphin, ngraham Subscribers: ngraham, kfm-devel Tags: #dolphin Differential Revision: https://phabricator.kde.org/D18008
2018-12-07Remove unused parameter warningShubham Jangra
2018-12-04Merge branch 'Applications/18.12'Elvis Angelaccio
2018-12-03KItemListWidget: Use initStyleOptionAnton Kreuzkamp
Instead of using QStyleOption::initFrom, let's use QGraphicsWidget::initStyleOption, which is made for exactly the purpose of KItemListWidget. This is especially important since, according to the docs of QGraphicsItem::paint "The widget argument is optional. [...] For cached painting, widget is always 0.". Even though currently no code in dolphin does cached painting, for the sake of modularity one should not rely on widget to be non-null. Using QStyleOption::initFrom does assume that, though. In fact, GammaRay asks the items to do cached painting when attaching it to the application, causing it to crash.
2018-12-02[KItemListController] Make event-handling functions privateElvis Angelaccio
There is no reason why these event-handling custom functions should be public, so make them private instead.
2018-12-02[KItemListController] Drop virtual keywordsElvis Angelaccio
We are never overriding these functions, so there is no reason to declare them virtual.
2018-12-02[KItemListController] Drop unused functionsElvis Angelaccio
2018-12-01Merge remote-tracking branch 'origin/Applications/18.12'Thomas Surrel
2018-12-01Fix selection when navigating back, with size sorting.Thomas Surrel
Summary: KItemListSelectionManager::itemsMoved (called when sorting by size) was re-activating anchor selection regardless if we actually were doing an anchored selection. This was leading to an incorrect selection when navigating back. BUG: 352296 Test Plan: In any folder, sort by size then move to a subfolder. Navigate back to the parent folder: only the parent folder should be selected. Reviewers: #dolphin, elvisangelaccio Reviewed By: #dolphin, elvisangelaccio Subscribers: elvisangelaccio, broulik, kfm-devel Tags: #dolphin Differential Revision: https://phabricator.kde.org/D17042
2018-12-01Do not sort twice when changing role and order at the same timeThomas Surrel
Summary: When using the list header to change the role and order, if one changes the order to descending and then changes role, dolphin also changes the order back to ascending. This results in sorting the list of files twice in a row. This patch removes the first (useless) sort. Reviewers: #dolphin, elvisangelaccio Reviewed By: #dolphin, elvisangelaccio Subscribers: elvisangelaccio, kfm-devel Tags: #dolphin Differential Revision: https://phabricator.kde.org/D17111
2018-11-21Avoid warning when translatedtext is nullLaurent Montel
2018-10-25Fix minor typosYuri Chornoivan
2018-10-24Merge branch 'Applications/18.08'Kai Uwe Broulik
2018-10-24[KStandardItemListWidget] Pass icon state to overlay painterKai Uwe Broulik
Ensures the overlay is painted in the same icon state, especially the selected one so dark overlays turn white. Differential Revision: https://phabricator.kde.org/D16307
2018-10-10Update hidden state correctlyThomas Surrel
Summary: When renaming a file from '.hidden' to 'not_hidden', the file would still be displayed like a hidden file with a semi-transparent icon and a grey text. BUG: 399599 Reviewers: #dolphin, elvisangelaccio Reviewed By: elvisangelaccio Subscribers: elvisangelaccio, kfm-devel Tags: #dolphin Differential Revision: https://phabricator.kde.org/D16115
2018-10-10Update hidden state correctlyThomas Surrel
Summary: When renaming a file from '.hidden' to 'not_hidden', the file would still be displayed like a hidden file with a semi-transparent icon and a grey text. BUG: 399599 Reviewers: #dolphin, elvisangelaccio Reviewed By: elvisangelaccio Subscribers: elvisangelaccio, kfm-devel Tags: #dolphin Differential Revision: https://phabricator.kde.org/D16115
2018-09-11Revert "[KFileItemModelRolesUpdater] Avoid duplicate indexes to resolve"Kai Uwe Broulik
Sometimes causes the first thumbnail to not be loaded :/ This reverts commit 033eb6b3a35ca60ce78ce7ccfeeec26d70205aa8.
2018-09-11[KFileItemModelRolesUpdater] Avoid duplicate indexes to resolveKai Uwe Broulik
This avoids requesting a thumbnail twice for certain files, typically the first or last one in a folder. Differential Revision: https://phabricator.kde.org/D15404
2018-09-10Merge branch 'Applications/18.08'Kai Uwe Broulik
2018-09-10Do use QIcon::Selected for non-icon viewKai Uwe Broulik
Fixes a regression introduced by not using the selected state. The views other than icon view actually do have a proper highlighted background. Differential Revision: https://phabricator.kde.org/D15387
2018-09-06Make thumbnail frame-and-shadow drawing criteria match those of the file dialogNathaniel Graham
Summary: KIO's file dialog already has logic to avoid drawing frames around images detected as likely to be icons, which is improved with D15071. Since Dolphin doesn't use KIO for any of this (boo) we have to pull it over here too; this patch brings the same feature to Dolphin, as well as the feature to disable frames and shadows for all thumbnails at very small sizes, which improves clarity. With this patch, Dolphin's frame drawing behavior becomes consistent with that of the file dialog (as of D15071). BUG: 295526 FIXED-IN: 18.12.0 Test Plan: Icons no longer have frames: {F6214279} Images without transparency still have frames: {F6214280} Nicer presentation for folders with mixed image types (images without transparency get frames; images without it don't): {F6214278} At small sizes, thumbnail clarity is improved by omitting the frame and shadow. Before: {F6214296} After: {F6214294} Reviewers: #dolphin, broulik, elvisangelaccio Reviewed By: #dolphin, broulik, elvisangelaccio Subscribers: markg, anthonyfieroni, elvisangelaccio, kfm-devel Tags: #dolphin Differential Revision: https://phabricator.kde.org/D15069
2018-09-05Merge branch 'Applications/18.08'Kai Uwe Broulik
2018-09-05[KStandardItemListWidget] Round to icon size before applying scalingKai Uwe Broulik
Otherwise for 22px icons on high dpi we will request either the wrong icons or scale them needlessly. Dolphin requests a pixmap of 22px, this is then multiplied by dpr resulting in 44 which isn't a valid icon size (only 32 or 48 are). Moreover, we will also hit the path where it will scale the pixmap to a proper icon size resulting in blurry icons (and a performance penalty). Differential Revision: https://phabricator.kde.org/D15260
2018-09-04Merge branch 'Applications/18.08'Kai Uwe Broulik
2018-09-04Don't use QIcon::Selected state for selected iconKai Uwe Broulik
This causes selected monochrome Breeze icons to turn white as this state is meant for when the icon is actually painted ontop of e.g. a blue highlighted area in a menu Since the advanced icon configuration (where you could choose a custom hint color and other effects) has been removed in Plasma 5.13 and more importantly the fact that Dolphin always tints the icon in the highlight color disregarding any custom icon effects settings this is an acceptable change. CHANGELOG: Fixed monochrome icons turning invisible when selected BUG: 398014 FIXED-IN: 18.08.2 Differential Revision: https://phabricator.kde.org/D15255
2018-08-30Fix minor EBN issuesYuri Chornoivan
2018-08-20Read UDS entry times directly and pretty-print on-demandKai Uwe Broulik
This avoids creating a QDateTime object with all the timezone processing that comes with it since we're only interested in the actual pretty date once we show the role to the user. Differential Revision: https://phabricator.kde.org/D14880
2018-08-16Pretty-print "creationtime" roleKai Uwe Broulik
It was forgotten and would show up as ISO date string instead of human-readable string. Differential Revision: https://phabricator.kde.org/D14878
2018-07-26Compare UDS entry times directly instead of going through KFileItemKai Uwe Broulik
This avoids creating a QDateTime object with all the timezone processing that comes with it since we're only interested in the relative order, not absolute precise date time values. CHANGELOG: Sorting files by date is significantly faster now Differential Revision: https://phabricator.kde.org/D14394
2018-07-19[KItemListSelectionToggle] Adjust painting icon for high dpi scalingKai Uwe Broulik
Instead of using KIconLoader which currently doesn't support high dpi scaling, use QIcon::fromTheme which can. Differential Revision: https://phabricator.kde.org/D14222
2018-07-18Fixes memory leak in KItemListViewAccessibleDavid Hallas
Summary: The KItemListViewAccessible class has a list of QAccessibleInterface pointers in a member variable m_cells. The problem is that when new entries are created, the newly allocated pointer is not stored in the list, only a nullptr is store, this renders the cleanup code in the destructor useless. This patch simply stores the pointer in the list, causing the destructor to correctly free the memory. Test Plan: I found this issue using address sanitizer. Simply building Dolphin with -fsanitize=address and opening a window caused the memory leak. Reviewers: #dolphin, jtamate, elvisangelaccio Reviewed By: #dolphin, jtamate, elvisangelaccio Subscribers: elvisangelaccio, kfm-devel Tags: #dolphin Differential Revision: https://phabricator.kde.org/D14168
2018-07-14Speedup sortJaime Torres
Summary: Uses a reference to the collator instead of copying and reinitializing it again and again. This is the reason for the speedup. Changing the implementation from a Functor class to a Lambda removes some boilerplate code, but is not relevant for performance. This requires a workaround for https://bugreports.qt.io/browse/QTBUG-69361 Just a single comparison to force the clean state of QCollator. Test Plan: Sorting in a directory with 82874 images: [TIME] Sorting: 19883 (before) [TIME] Sorting: 4198 (after) kfileitemmodelbenchmark before: .............. Passed 29.36 sec kfileitemmodelbenchmark after: .............. Passed 20.39 sec Reviewers: #dolphin, #frameworks, markg, elvisangelaccio, bruns Reviewed By: #dolphin, markg, elvisangelaccio Subscribers: elvisangelaccio, apol, bruns, markg, kfm-devel Tags: #dolphin Differential Revision: https://phabricator.kde.org/D13814
2018-07-14Revert to change the commit message.Jaime Torres
Summary: This reverts commit 765cc968c9dfbd4350226b775377506135c0442d. Test Plan: revert-hammer Reviewers: Subscribers:
2018-07-13Speedup sortJaime Torres
Summary: Use a lambda function to use only one QCollator initialized only once. This requires a workaround for https://bugreports.qt.io/browse/QTBUG-69361 Just a single comparison to force the clean state of QCollator. Test Plan: Sorting in a directory with 82874 images: [TIME] Sorting: 19883 (before) [TIME] Sorting: 4198 (after) kfileitemmodelbenchmark before: .............. Passed 29.36 sec kfileitemmodelbenchmark after: .............. Passed 20.39 sec Reviewers: #dolphin, #frameworks, markg, elvisangelaccio, bruns Reviewed By: #dolphin, markg, elvisangelaccio Subscribers: elvisangelaccio, apol, bruns, markg, kfm-devel Tags: #dolphin Differential Revision: https://phabricator.kde.org/D13814