┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
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
2018-07-11[KStandardItemListWidget] Avoid needless image resizingKai Uwe Broulik
There be rounding errors when scaling pixmaps when keeping aspect ratio Differential Revision: https://phabricator.kde.org/D11319
2018-07-08Mark PHONON_INCLUDES dirs as SYSTEM, so compiler omits them for warningsFriedrich W. H. Kossebau
2018-07-07A complete build does not fix the crashes I'm having.Jaime Torres
I prefer to wait until QQCollator is thread safe or someone discovers why this is happening now and not before. Summary: This reverts commit 63825de82f3adc9376b0f0f27e24e21bccf62e2a. Test Plan: revert-hammer Reviewers: Subscribers:
2018-07-06Speedup sortJaime Torres
Summary: Use a lambda function instead of a class. This way the member QCollator is not copied and initialized several times. 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 Reviewed By: #dolphin, markg, elvisangelaccio Subscribers: elvisangelaccio, apol, bruns, markg, kfm-devel Tags: #dolphin Differential Revision: https://phabricator.kde.org/D13814
2018-07-05Modernize Settings windowNathaniel Graham
Summary: This patch modernizes the appearance of Dolphin's configuration window by following the KDE HIG as much as possible and following design cues from Plasma and System Settings. Test Plan: Tested all settings to make sure they still work; they do. Startup page, before: {F5825313} Startup page, after: {F5918574} View page (Icons), before: {F5825319} View page (Icons) after: {F5918575} View page (Compact), before: {F5825321} View page (Compact) after: {F5918700} View page (Detailed), before: {F5825323} View page: (Detailed), after: {F5918701} Navigation page: no change Trash page, before: {F5858748} Trash page, after: {F5866656} (Provided by {D12986}) General page (behavior), before: {F5825316} General page (behavior) after: {F5918572} General page (confirmations), before: {F5866885} General page (confirmations), after: {F5918702} General page (status bar): no change Reviewers: #dolphin, #vdg, broulik, elvisangelaccio Reviewed By: #dolphin, elvisangelaccio Subscribers: fabianr, cfeck, medhefgo, zzag, rkflx, kfm-devel, elvisangelaccio, abetts Tags: #dolphin Differential Revision: https://phabricator.kde.org/D12571
2018-07-04Use more nullptrFriedrich W. H. Kossebau
2018-06-29Remove QT definitions duplicated from KDEFrameworkCompilerSettings or deadFriedrich W. H. Kossebau
2018-06-27Port from KComboBox to QComboBoxNathaniel Graham
Summary: None of Dolphin's current usages of `KComboBox` use any of its additional features beyond `QComboBox`, so let's use `QComboBox` instead. Test Plan: Tested all features that use comboboxes in Dolphin. No visual or functional changes or regressions. Reviewers: #dolphin, elvisangelaccio, broulik Reviewed By: #dolphin, elvisangelaccio Subscribers: broulik, kfm-devel Tags: #dolphin Differential Revision: https://phabricator.kde.org/D13749
2018-06-26Use collapsible box to configure visible rolesElvis Angelaccio
Summary: A modal dialog that opens another modal dialog is bad UX and should be avoided whenever possible. These days we have `KCollapsibleGroupBox` that can be used to show advanced settings without cluttering the default layout. This change removes the `AdditionalInfoDialog` and uses a collapsible groupbox instead. The `Apply` buttons gets enabled whenever a role gets checked or unchecked, consistently with the existing checkboxes. Test Plan: Change visible roles in the view properties dialog. Reviewers: #dolphin, #vdg Reviewed By: #vdg Subscribers: ngraham, kfm-devel Tags: #dolphin Differential Revision: https://phabricator.kde.org/D13569
2018-06-22don't use temporaries when uneededTomaz Canabrava
Summary: Remove unused variable Compiled, Run. Trash still there. Use copy ellision Remove uneeded code Subscribers: kfm-devel Tags: #dolphin Differential Revision: https://phabricator.kde.org/D13680
2018-06-22Use copy ellisionTomaz Canabrava
2018-06-22Remove unused variableTomaz Canabrava
Compiled, Run. Trash still there.
2018-06-22don't use temporaries when uneededTomaz Canabrava
2018-06-22GIT_SILENT made messages (after extraction)l10n daemon script
2018-06-19Move General settings to the topNathaniel Graham
Summary: KDE apps generally (ha ha) have their {nav General} page at the top of the list, so it's the first thing the user sees when they open the {nav Settings} window, but Dolphin is an exception. It puts the {nav General} page //last!// This patch makes Dolphin consistent with other KDE apps by moving the {nav General} page up to the top. Test Plan: {F5918590} Reviewers: #dolphin, #kde_applications, elvisangelaccio, ltoscano Reviewed By: elvisangelaccio, ltoscano Subscribers: kde-doc-english, ltoscano, elvisangelaccio, kfm-devel Tags: #dolphin, #documentation Differential Revision: https://phabricator.kde.org/D13595
2018-06-19Do not duplicate work of KAboutData::setupCommandLine()Laurent Montel
2018-06-13ViewPropertiesDialog: disable Apply button on startupElvis Angelaccio
We call `markAsDirty(false)` at the end of `loadSettings()` but that's not enough, because `m_isDirty` is initialized to false (as it should be). This means `isDirtyChanged` is not emitted and the button is not disabled. By disabling it explicitly, we make it consistent with the Apply button in the settings dialog (which is also initially disabled).
2018-06-13Merge branch 'Applications/18.04'Elvis Angelaccio
2018-06-13Fix loop of FocusIn eventsElvis Angelaccio
Summary: Commit 43da84eefc7d introduced the risk of entering an endless loop of `FocusIn`/`FocusOut` events sent to two DolphinSearchBox instances when opening a second tab (see D11871). This happens because we deactivate the first tab when we open a new one, but since the `setActive(true)` is delayed with a QTimer, both the old tab and the new one become active and receive their own `FocusIn` event (which starts the loop of focus in/out events). To prevent this issue, we schedule the searchbox activation only if the searchbox is not already active. Test Plan: - Search something in dolphin - Open a new tab after the search ends - Check that dolphin does not eat the CPU Reviewers: #dolphin, anthonyfieroni Subscribers: kfm-devel Tags: #dolphin Differential Revision: https://phabricator.kde.org/D13152
2018-06-06Merge branch 'Applications/18.04'Kai Uwe Broulik
2018-06-06[KBalooRolesProvider] Support properties of type QStringListKai Uwe Broulik
QVariant::toString() unwraps a QStringList with a single string to a QString, however a list with multiple entries returns a null string. Explicitly check for KFileMetaData property type and convert accordingly. BUG: 395033 FIXED-IN: 18.04.3 Differential Revision: https://phabricator.kde.org/D13349
2018-06-05Fix scrolling to renamed file when using the rename dialogElvis Angelaccio
Summary: The `RenameDialog::slotResult()` slot is currently never called because the dialog is deleted first, due to the usage of the `WA_DeleteOnClose` attribute. This breaks the scroll-to-renamed-file feature when the inline renaming is disabled. Instead of deleting the dialog on close, we can use `deleteLater()` when we are sure the dialog has actually finished its job, which is when the KIO move job emits the `result` signal. Test Plan: - Disable inline renaming - Rename a file so that it goes out of the view - Check whether the view scrolls to the renamed file. Reviewers: #dolphin, emateli Subscribers: kfm-devel Tags: #dolphin Differential Revision: https://phabricator.kde.org/D13304
2018-06-05SVN_SILENT made messages (.desktop file) - always resolve oursl10n daemon script
In case of conflict in i18n, keep the version of the branch "ours" To resolve a particular conflict, "git checkout --ours path/to/file.desktop"