┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2018-10-03Merge branch 'Applications/18.08'Andreas Krutzler
2018-10-03Fix that dragging a file can trigger inline rename.Andreas Krutzler
Summary: Inline renaming is aborted as soon as an item is dragged. Previously, ’m_dragging' was used to determine if an item was being dragged. However, inline renaming is triggered after a certain amount of time, during which time the user may have stopped dragging items. BUG: 398375 FIXED-IN: 18.08.2 Test Plan: When dragging an selected item, inline renaming should never be started, regardless of where you drag it (Places panel, other split-view window, out of the Dolphin window, ...). Reviewers: wbauer, elvisangelaccio, #dolphin, ngraham Reviewed By: wbauer, elvisangelaccio, #dolphin, ngraham Subscribers: kfm-devel Tags: #dolphin Differential Revision: https://phabricator.kde.org/D15904
2018-09-27Track search mode in variableKai Uwe Broulik
Rather than relying on a widget being visible which might not be the case for e.g. non-active tabs Differential Revision: https://phabricator.kde.org/D15774
2018-09-27Fix window / tab caption in search modeKai Uwe Broulik
A search URL is never local, so this part of the code was never reached, resulting in raw baloosearch or filenamesearch URLs showing up as window and tab title Differential Revision: https://phabricator.kde.org/D15772
2018-09-24[Places Panel] Cleanup includesKai Uwe Broulik
Some leftovers from when Dolphin managed the places entirely on its own Differential Revision: https://phabricator.kde.org/D15636
2018-09-19Update disk space info on refreshKai Uwe Broulik
When explicitly refreshing the view (e.g. F5) also refresh disk space info. This would also allow us to raise the refresh interval somewhat. CCBUG: 398612 Differential Revision: https://phabricator.kde.org/D15508
2018-09-17[ViewProperties] Check part of home first before doing file system stuffKai Uwe Broulik
There's no point in creating a QFileInfo instance and checking for file properties if we're not going to do anything with it when not inside home. Differential Revision: https://phabricator.kde.org/D15237
2018-09-17Keep org.freedesktop.FileManager1 registered across processesDavid Edmundson
Summary: Currently if someone starts 2 dolphins, the second cannot register org.freedesktop.FileManager1 meaning and when the first dolphin quits, no-one has it registered. It doesn't cause a huge problem right now as we just dbus-activate a new one if needed, but it means the behaviour is a bit inconsistent and non-optimal. DBus has a system to queue names, meaning that as long as any dolphin is running this name is owned by one of the processes. Also this patch registers the service after the object which is technically safer. Test Plan: Ran d-feet Opened 2 dolphins, closed the first Service was still registered and the PID of the owning process changed. Reviewers: #dolphin, elvisangelaccio Reviewed By: #dolphin, elvisangelaccio Subscribers: elvisangelaccio, kfm-devel Tags: #dolphin Differential Revision: https://phabricator.kde.org/D15539
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-10Don't assign twice the same key to the action New TabJaime Torres Amate
Summary: QKeySequence::AddTab = Qt::CTRL + Qt::Key_T. Leaving only the first avoids the warning window "There are two actions (New Tab, New Tab) that want to use the same shortcut (Ctrl+T)" BUG: 398324 Test Plan: su - test unset KDE_FULL_SESSION dolphin After: No more the warning window. Reviewers: #dolphin, elvisangelaccio Reviewed By: #dolphin, elvisangelaccio Subscribers: elvisangelaccio, kfm-devel Tags: #dolphin Differential Revision: https://phabricator.kde.org/D15371
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-05[DolphinContextMenu] Use the view's already existing root KFileItemKai Uwe Broulik
Saves creating a new KFileItem from scratch which stats the file. Only when the root item isn't available (as can happen when you're currently looking at an non-existing directory) will it create a new KFileItem Differential Revision: https://phabricator.kde.org/D15266
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'David Edmundson
2018-09-04Correctly save behaviourOnLaunchDavid Edmundson
Summary: We only wrote out a checkbox value if the checkbox was checked. Unchecking it would not do anything. BUG: 398022 Test Plan: Read KRun's exepcted values Unchecked config option Reloaded dolphin Checkbox remained off Reviewers: #dolphin, ngraham, elvisangelaccio Reviewed By: #dolphin, ngraham, elvisangelaccio Subscribers: ngraham, kfm-devel Tags: #dolphin Differential Revision: https://phabricator.kde.org/D15147
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-09-02Renames DolphinViewContainer::getCaption to captionDavid Hallas
Summary: This commit renames the DolphinViewContainer::getCaption to simply caption, this was a review comment that I failed to fix in a previous commit. Test Plan: None Reviewers: elvisangelaccio Reviewed By: elvisangelaccio Subscribers: kfm-devel Tags: #dolphin Differential Revision: https://phabricator.kde.org/D15114
2018-09-02Changes the tabName function to return the name of a specific tabDavid Hallas
Summary: Changes the tabName function to return the name of the passed in DolphinTabPage. Previously it would return the name of the active tab, which causes in-active tabs to get the wrong name. Test Plan: Open Dolphin Right click a folder and select 'Open in new tab' Notice that the new tab has the wrong title BUG: 397910 Reviewers: #dolphin, ngraham, elvisangelaccio Reviewed By: #dolphin, ngraham, elvisangelaccio Subscribers: kfm-devel Tags: #dolphin Differential Revision: https://phabricator.kde.org/D15112
2018-09-02Add test case for open-in-new-tab title regressionElvis Angelaccio
Fix will be in D15112. CCBUG: 397910
2018-08-30Fix minor EBN issuesYuri Chornoivan
2018-08-29Consider all thumbnailers for the information panel and tooltipsFabian Vogt
Summary: The text thumbnail is really useful in tooltips, but disabled by default in KIO. Having just a larger version of the placeholder icon from the theme doesn't make a lot of sense, so try the best to get a proper preview. Same applies to the information panel, which would otherwise just show the same icon. Test Plan: Got textfile previews in tooltips and in the information panel even if disabled. Reviewers: #dolphin, elvisangelaccio, broulik, markg, ngraham Reviewed By: #dolphin, broulik, ngraham Subscribers: abetts, markg, kfm-devel, ngraham Tags: #dolphin Differential Revision: https://phabricator.kde.org/D15138
2018-08-24Unify window and tab titleDavid Hallas
Summary: Previously the title of tabs was a prettyfied version of the URL. This is inconsistent with the title of the Window and in some cases for specials URLs kind of misleading. This commit generalizes the code from DolphinMainWindow so that both the DolphinMainWindow title and the tab title uses the same function for the title. This also means that the 'Show Full Path in Title Bar' also applies to the tab title, and also that searches changes the tab title. FEATURE: 387851 Test Plan: Open a new tab from the places panel and navigate around. Reviewers: #dolphin, ngraham, elvisangelaccio, markg Reviewed By: #dolphin, ngraham, markg Subscribers: markg, kfm-devel Tags: #dolphin Differential Revision: https://phabricator.kde.org/D14442
2018-08-22Restore settings label and prevent warning when Baloo is unavailableHenrik Fehlauer
Summary: As discussed in D14814, 6674c9c387d0 removed the {nav Show tooltips} checkbox in Dolphin's preferences when Baloo is unavailabe at compile time and thus the tooltip would not be functional. The {nav Miscellaneous} label in front of the checkbox was also removed, even though it relates to all options in that group. In addition, after 6674c9c387d0 running Dolphin without Baloo support would print QWidget::insertAction: Attempt to insert null action on startup. Both issues can be fixed with more `#ifdefs`. Test Plan: After building with `-DCMAKE_DISABLE_FIND_PACKAGE_KF5Baloo=ON`, the {nav Show tooltips} checkbox is removed, the {nav Miscellaneous} label is still there, and there is no warning printed. Reviewers: elvisangelaccio Reviewed By: elvisangelaccio Subscribers: kfm-devel Tags: #dolphin Differential Revision: https://phabricator.kde.org/D14980
2018-08-21Port away from kdelibs4supportElvis Angelaccio
Summary: It was only used as fallback when baloo was not found, but `KFileMetaDataWidget` is useless without nepomuk. The result of this patch is that the information panel and the tooltips won't be available from platforms without baloo (instead of being available but broken). The baloo dependency remains optional. Closes T8720 Test Plan: Build dolphin with `cmake -DCMAKE_DISABLE_FIND_PACKAGE_KF5Baloo=ON ..` and make sure it doesn't show tooltips or the information panel. Reviewers: #dolphin, broulik, ngraham Subscribers: kfm-devel Tags: #dolphin Maniphest Tasks: T8720 Differential Revision: https://phabricator.kde.org/D14814
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-16Merge branch 'Applications/18.08'Kai Uwe Broulik
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-08-16Make this test work again with new uds implementationJaime Torres Amate
Summary: With the new uds implementation, when some data is meant to replace an old one, it has to use replace() instead of insert() to avoid an assert of data already exists. Use 3 different entries and only insert(). Test Plan: before: crash in the uds assert after: passes the test Reviewers: #dolphin, #frameworks, elvisangelaccio Reviewed By: #dolphin, elvisangelaccio Subscribers: bcooksley, bshah, nalvarez, cfeck, dfaure, aacid, ngraham, bruns, elvisangelaccio, kfm-devel Tags: #dolphin Differential Revision: https://phabricator.kde.org/D13813
2018-08-16wrong name and email addressJaime Torres Amate
Summary: This reverts commit 2104d18a6760d28d24665a3281ef090c198c44e7. Test Plan: revert-hammer Reviewers: Subscribers:
2018-08-16Make this test work again with new uds implementationTravis CI Bot
Summary: With the new uds implementation, when some data is meant to replace an old one, it has to use replace() instead of insert() to avoid an assert of data already exists. Use 3 different entries and only insert(). Test Plan: before: crash in the uds assert after: passes the test Reviewers: #dolphin, #frameworks, elvisangelaccio Reviewed By: #dolphin, elvisangelaccio Subscribers: dfaure, aacid, ngraham, bruns, elvisangelaccio, kfm-devel Tags: #dolphin Differential Revision: https://phabricator.kde.org/D13813
2018-08-04Merge branch 'Applications/18.08'Nathaniel Graham
2018-08-04Remove custom icon selection for trashShubham Jangra
Summary: CCBUG: 391200 Test Plan: 1. Open Dolphin 2. Edit trash in places item Result: No custom icon option available Reviewers: ngraham, #dolphin, broulik, pino, elvisangelaccio, cfeck Reviewed By: ngraham, #dolphin, elvisangelaccio, cfeck Subscribers: rkflx, cfeck, elvisangelaccio, pino, kfm-devel Tags: #dolphin Differential Revision: https://phabricator.kde.org/D14378
2018-07-30GIT_SILENT made messages (after extraction)l10n daemon script
2018-07-30GIT_SILENT made messages (after extraction)l10n daemon script
2018-07-29Drop redundant setAttribute for WA_DeleteOnCloseElvis Angelaccio
Every KMainWindow (which DolphinMainWindow inherits) already has this attribute set.
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-19Fixes small memory leak in DolphinContextMenuDavid Hallas
Summary: When DolphinContextMenu::baseFileItem is called a KFileItem is allocated and stored in DolphinContextMenu::m_baseFileItem, which is of type KFileItem*, but the destructor failed to delete this. Test Plan: This leak was found using Address Sanitizer Reviewers: broulik, elvisangelaccio Reviewed By: broulik, elvisangelaccio Subscribers: ngraham, kfm-devel Tags: #dolphin Differential Revision: https://phabricator.kde.org/D14178
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-18Removes unused member variablesDavid Hallas
Summary: The InformationPanel::m_pendingPreview and ApplyViewPropsJob::m_currentItem member variables are not used and can therefore be removed. Reviewers: broulik, elvisangelaccio Reviewed By: broulik, elvisangelaccio Subscribers: kfm-devel Tags: #dolphin Differential Revision: https://phabricator.kde.org/D14180
2018-07-14Modernize View Properties windowNathaniel Graham
Summary: Like D12571, but for the {nav View Properties} Window. Also did a little bit of re-organization. This allows us to use a `QFormLayout` as the top-level layout and simplify the code a lot, including no longer using the now-unnecessary paradigm of putting a layout inside a `QWidget`, and ending the use of `QGridLayout` to make a fake and more complicated form-style layout. Depends on D13749 Test Plan: Window still resizes properly when the Additional Information content is shown or hidden. Global view properties, additional information hidden: {F6035943} Global view properties, additional information shown: {F6035945} Per-folder view properties, additional information hidden: {F6035869} Per-folder view properties, additional information shown: {F6035870} Reviewers: #dolphin, elvisangelaccio, broulik, #vdg Reviewed By: #dolphin, elvisangelaccio Subscribers: abetts, kfm-devel Tags: #dolphin Differential Revision: https://phabricator.kde.org/D13768
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
2018-07-11[KFileItemModelRolesUpdater] Fix preview scaling for frameless previewsKai Uwe Broulik
Follow-up to D11319 for e.g. folder previews Differential Revision: https://phabricator.kde.org/D14047