Commit graph

6048 commits

Author SHA1 Message Date
Stefan Brüns
05a4d27813 Remove last traces of KFileMetaDataWidget from information panel
Summary:
The whole information panel is not included when Baloo is not found,
so there is no need for the HAVE_BALOO guards.
KFileMetaDataWidget and KFileMetaDataConfigurationWidget were never part
of KF5, see https://git.reviewboard.kde.org/r/113153/

Test Plan: ctest

Reviewers: #frameworks, apol, ngraham, #dolphin, elvisangelaccio

Reviewed By: #dolphin, elvisangelaccio

Subscribers: elvisangelaccio, kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D20513
2019-04-14 14:59:00 +02:00
Stefan Brüns
3b491c3ccd [Information Panel] Remove nullptr checks for MetaDataWidget member
Summary:
The widget has the same livetime as the containing widget, no need to
do any extra checks.

Reviewers: #dolphin, elvisangelaccio

Reviewed By: #dolphin, elvisangelaccio

Subscribers: kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D20514
2019-04-14 14:45:00 +02:00
l10n daemon script
924c883edc GIT_SILENT made messages (after extraction) 2019-04-12 07:49:57 +02:00
Tranter Madi
b7db272af2 Scroll to item if it's not visible on keyPress
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-04-12 09:50:57 +07:00
l10n daemon script
97e9af5ceb GIT_SILENT made messages (after extraction) 2019-04-12 02:51:38 +02:00
Nate Graham
b8f8c90275 Merge branch 'Applications/19.04' 2019-04-09 20:22:23 -06:00
Nate Graham
14f0cd52f6 Don't show "Open With" menu items for empty directories
Summary:
Any app that registers itself as able to open directories generally can't do anything
useful with an empty directory. So, don't show the {nav Open With} menu items for them.

Test Plan:
Before: {F6759793}

After: {F6759794}

The {nav Open With} items still appear for non-empty directories.

Reviewers: #dolphin, elvisangelaccio

Reviewed By: #dolphin, elvisangelaccio

Subscribers: trmdi, kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D20396
2019-04-09 20:19:17 -06:00
Stefan Brüns
9ce757b3d3 Make buttons in seach bar nicer (icon, tooltip, autoselect)
Summary:
The "Everywhere" button actually selects the home directory, so use
an appropriate label ("Your files") and add a "user-home" icon.

Pre-select the right button when entering search, depending on the
location where the "Find ..." action was triggered.

Add tooltips for both buttons, stating where to look for files. Most
importantly, this includes the full path for "From here".

Canonicalize the path correctly (always strip trailing slash), otherwise
QUrl::fileName() will be an empty string, resulting in "From Here (/)"

Do not hide the buttons in case the url is non-local, as it is confusing:
1. The state depends on the previous search. When the user hits "Find"
    when browsing e.g an SMB share, the search was probably in the home dir.
2. The current search location was hidden
3. The user may want to do a local search, give the option to do so.

Reviewers: #dolphin, ngraham, elvisangelaccio

Reviewed By: #dolphin, ngraham, elvisangelaccio

Subscribers: loh.tar, meven, elvisangelaccio, kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D20357
2019-04-09 23:18:50 +02:00
Christoph Feck
dbc5e57192 GIT_SILENT Upgrade KDE Applications version to 19.04.0. 2019-04-08 13:59:05 +02:00
Elvis Angelaccio
93f26f799f Merge branch 'Applications/19.04' 2019-04-07 22:51:05 +02:00
Elvis Angelaccio
30a335cbcf [DolphinMainWindowTest] Fix testNewFileMenuEnabled
The newFileMenu enabled status is updated whenever the KDirLister emits
the `completed` signal: use QTRY_COMPARE so that we can wait for it.
2019-04-07 22:42:50 +02:00
Elvis Angelaccio
11955532d4 Add HACKING file with 'Philosophy' paragraph from the Userbase page
https://userbase.kde.org/Dolphin has a 'Philosophy' paragraph (which
used to be a page on dolphin.kde.org) explaining when a new feature
should be added to dolphin. Userbase is a wiki aimed to actual user of
our applications, while this information is aimed to dolphin developers
who want to add a new feature to dolphin. Thus it is more appropriate to
have this paragraph in the git repo.
2019-04-07 17:29:51 +02:00
Elvis Angelaccio
d47090eb13 [KFileItemModelTest] Port to fastInsert()
We already depend on KF5 > 5.47, so we are ready to switch to the
non-deprecated fastInsert() method.
2019-04-07 17:16:01 +02:00
Nate Graham
b303e3c93a Re-implement Meta-E global launch shortcut using KGlobalAccel
Summary:
FEATURE: 405302
FIXED-IN: 19.08.0

Test Plan:
1. Apply patch
2. Reboot (didn't work until I rebooted or logged out and back in again)
3. Hit {key Meta E}
4. Dolphin Launches

Reviewers: #dolphin, elvisangelaccio, davidedmundson

Reviewed By: #dolphin, elvisangelaccio

Subscribers: kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D20229
2019-04-06 11:40:54 -06:00
Christoph Feck
ff40714773 GIT_SILENT Upgrade KDE Applications version to 19.03.90. 2019-03-31 14:00:39 +02:00
Elvis Angelaccio
f4549a196b [KFileItemModel] Fix alignment of rolesInfoMap
GIT_SILENT
2019-03-30 18:40:04 +01:00
Kochih Wu
4bca03532b Add "Aspect Ratio" and "Frame Rate" to additional video information columns
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-27 14:22:49 -06:00
Yi-Jyun Pan
f0c46c1749 Fix typo in dolphinsettingsdialog.cpp
Summary: Just remove the useless "have".

Reviewers: #dolphin, ngraham

Reviewed By: #dolphin, ngraham

Subscribers: ngraham, kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D20080
2019-03-27 10:02:21 -06:00
Amish Naidu
017cd2322a Prompt user to save/discard changes upon closing config dialog
Summary:
When the configuration dialog is closed with unsaved changes,
a message box is prompted to save/discard them or cancel the event.

BUG: 391206

Reviewers: #dolphin, elvisangelaccio

Reviewed By: #dolphin, elvisangelaccio

Subscribers: ngraham, elvisangelaccio, kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D19904
2019-03-26 14:23:42 +05:30
Nate Graham
3dec3ee092 Merge branch 'Applications/19.04' 2019-03-24 11:31:44 -06:00
Méven Car
405aa4878f [InformationPanel] Hide the video when the preview is disabled, avoid computing the preview when it is disabled
Summary:
Bug symptom : {F6698879}

Fix the bugs and allow to avoid launching a PreviewJob with all files even when the preview is disabled.

Test Plan:
 # In dolphin with an information panel with preview on
 # launch the video preview
 # Disable the preview

  ->bug 1: the video player control is still visible (this bug fix this)

 # re-enable preview

 -> bug 2: the video stays visible and the preview is displayed above (this bug fix this)

Reviewers: #dolphin, elvisangelaccio, ngraham

Reviewed By: #dolphin, elvisangelaccio, ngraham

Subscribers: ngraham, kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D19844
2019-03-24 18:32:58 +01:00
Tigran Gabrielyan
1eaf5d3e03 Move Safely Remove down in places context menu
Summary: BUG: 405620

Reviewers: #dolphin, ngraham, elvisangelaccio

Reviewed By: #dolphin, ngraham, elvisangelaccio

Subscribers: elvisangelaccio, ngraham, kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D19950
2019-03-24 11:31:13 -06:00
Méven Car
d7277e47a6 When hovering over a file on the not-focus view panel, the information panel gets updated
Test Plan:
 - In Dolphin with two views (split view) and with the information panels
 - Hover over a file on the not selected view
 - > the information panel show information about this file

No other changes in behavior

Reviewers: #dolphin, elvisangelaccio, ngraham

Reviewed By: #dolphin, ngraham

Subscribers: kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D19936
2019-03-24 18:38:42 +01:00
Méven Car
35f1fd5c15 [InformationPanel] Hide the video when the preview is disabled, avoid computing the preview when it is disabled
Summary:
Bug symptom : {F6698879}

Fix the bugs and allow to avoid launching a PreviewJob with all files even when the preview is disabled.

Test Plan:
 # In dolphin with an information panel with preview on
 # launch the video preview
 # Disable the preview

  ->bug 1: the video player control is still visible (this bug fix this)

 # re-enable preview

 -> bug 2: the video stays visible and the preview is displayed above (this bug fix this)

Reviewers: #dolphin, elvisangelaccio, ngraham

Reviewed By: #dolphin, elvisangelaccio, ngraham

Subscribers: ngraham, kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D19844
2019-03-24 18:34:32 +01:00
Elvis Angelaccio
3fe6547197 Revert "Create a global launch shortcut (Meta+E)"
This reverts commit 58084cf7da.

Plasma considers khotkeys deprecated, so we shouldn't add new users
making the migration even harder.
Dolphin should use the `X-KDE-Shortcuts` desktop entry instead.

More details in David's comment: https://phabricator.kde.org/D19831#437096
2019-03-24 12:07:24 +01:00
Elvis Angelaccio
0b9cb0f7d9 [PhononWidget] Fix layout warning
`controlsLayout` should not be a direct child of the widget, since it
already has `m_topLayout` as layout.

This fixes the following warning:

    QLayout: Attempting to add QLayout "" to PhononWidget "", which already has a layout
2019-03-24 11:55:12 +01:00
Elvis Angelaccio
aee1b07e26 Merge branch 'Applications/19.04' 2019-03-23 10:51:17 +01:00
Méven Car
6dbabdfee6 Convert foreach to for loops
Test Plan: Compile

Reviewers: #dolphin, elvisangelaccio, ngraham

Reviewed By: #dolphin, elvisangelaccio, ngraham

Subscribers: kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D19911
2019-03-22 10:38:18 +01:00
Harald Sitter
af8c491904 find ruby gems & make coverage conditional on BUILD_COVERAGE
Summary:
new finding tech:
- find_gem function configures gem-specific FindFoo files and wraps around
  find_package
- FindFoo files look for ruby and then attempt to require the gem name
  i.e. it checks if the gem can be successfully loaded by the interpreter
- since this is based on find_package it may be influenced in all the
  regular ways (e.g. forced found or disabled from finding altogether
  via CMAKE_DISABLE_FIND_PACKAGE_$PKGNAME)

various notes for the future:
- technically this isn't 100% correct because the require name of a gem and
  the gem name may not be the same. e.g. the gem `docker-api` has the
  require name `docker`. for all currently used gems the names are however
  the same and so simply requiring the gem name is expected to work
- the implementation doesn't care about versions, again because we don't
  need it to
- test-unit is a bundled gem, some distributions (e.g. Arch) do split it
  out without making suitable dependency arrangements on a package level
  though

the tech is heavily inspired by Aleix Pol's tech for finding QML modules
as seen in extra-cmake-modules

Test Plan:
- ruby not found: none of the modules found
- test-unit not present: error
- simplecov not prseent: never errors
- having a module installed or not is reported in the cmake output

Reviewers: #dolphin, elvisangelaccio

Reviewed By: #dolphin, elvisangelaccio

Subscribers: elvisangelaccio, kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D19856
2019-03-21 10:56:11 +01:00
Elvis Angelaccio
bff373d598 Fix PlacesItemModelTest::testDefaultViewProperties()
The test was assuming that global view properties are off by default,
which is no longer true after d6c086ad04.
2019-03-20 21:36:31 +01:00
Nate Graham
1775002247 Merge branch 'Applications/19.04' 2019-03-20 17:48:26 +01:00
Tigran Gabrielyan
303cd17444 Fix rearranging items in places panel with hidden items
Summary:
`m_sourceModel->movePlace` is called using index from the view model.
This becomes an issue when there are hidden places items.

This change calls `m_sourceModel->movePlace` using the corresponding mapped source index.

BUG: 399430
FIXED-IN: 19.04.0

Test Plan:
  # Create at least 4 Places items
  # Hide first item
  # Drag the now first visible item between second and third item

Actual: The item does not move
Expected: The first visible item should now be second visible item in the list

Reviewers: #dolphin, ngraham

Reviewed By: #dolphin, ngraham

Subscribers: ngraham, kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D19901
2019-03-20 17:46:15 +01:00
Christoph Feck
b2b1f76031 Merge remote-tracking branch 'origin/Applications/19.04' 2019-03-18 23:00:25 +01:00
Elvis Angelaccio
5b463d82fe Bring back KActivities support
Summary: This code has been unused since the KF5 port.

Reviewers: #dolphin, #plasma

Subscribers: kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D18273
2019-03-18 21:18:04 +01:00
Harald Sitter
81ff2a73f9 fix coverage generation when run through ctest
path construction is a bit disappointing and doesn't actually work all that
well for out-of-tree PWDs. in lieu of an upstream fix let's try our best
to get the correct coverage directory set. without this hack no results
get recorded unfortunately.
2019-03-18 15:24:13 +01:00
Harald Sitter
644d6f8522 redo service menu ruby helpers from ground up more or less
Summary:
- apply ruby community style guidelines
- full rewrite fixing, among other things:
  - inefficient/unreadable String#end_with reimplementation
  - inefficient use of Kernel.system (forked shell to fork a shell)
  - inefficient/unreadable Dir.glob reimplementation
  - inefficient File initialization for single chmod
  - invocation conditions are now actually readable
  - invocation conditions now also force +x on argless scripts, not just
    scripts that need arguments
  - repetitive conditions are now expressed as loops on argument arrays
  - mime detection now uses xdg-mime instead of file (xdg-mime internally
    may fall back to mime but will prefer higher level tools such as
    kmimetypefinder5; giving better results overall)
  - return values of "backtick forks" are now checked and will produce
    suitable errors on stderr
  - fail now takes a log_msg argument which is printed to stderr. this
    is in addition to the error raised as notification for the user, as
    that is unfortunately not so useful for diagnostics
  - overall error handling and logging of problem causes is much improved
- add license headers. the original code was actually fairly exhaustive, so
  this really should have had a header to begin with. the code was
  originally introduced in svn r1045663 on Nov 6 14:56:35 2009 UTC
- add blackbox tests. in the interest of keeping the scripts actually
  simple scripts (as opposed to a bunch of classes used by even simpler
  scirpts) they are now also covered by test rigging which runs them as
  scripts (again, as opposed to individual unit testing of distinct units)
  - the tests optionally can use simplecov to gather coverage metrics
  - also wired up to ctest so it actually gets run

structurally there is actually a fair amount of overlap between the two
scripts, but again, in the interest of keeping things simple I think it's
better to live with that instead of refactoring a shared library out of
it and then use heavy-duty meta-programming

Reviewers: #dolphin, elvisangelaccio

Reviewed By: #dolphin, elvisangelaccio

Subscribers: elvisangelaccio, kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D19334
2019-03-18 14:02:16 +01:00
Nate Graham
363fd1afa9 Merge branch 'Applications/19.04' 2019-03-17 16:12:38 -06:00
Nate Graham
58084cf7da Create a global launch shortcut (Meta+E)
Summary:
This patch adds a global shortcut ({key Meta E}) to launch Dolphin, just like Konsole has.

FEATURE: 405302
FIXED-IN: 19.04.0

Test Plan:
1. Apply patch and reboot, or create and log into a new user
2. Hit {key Meta E}
3. Dolphin opens!

Reviewers: #dolphin, #vdg, elvisangelaccio

Reviewed By: #dolphin, elvisangelaccio

Subscribers: hallas, elvisangelaccio, kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D19831
2019-03-17 16:12:18 -06:00
Méven Car
df81f266ca Merge remote-tracking branch 'origin/Applications/19.04' 2019-03-17 21:25:24 +01:00
Méven Car
bf314f2dff When the previewed video stops playing (because of the user or because the media playback has ended), show the regular preview only if the preview setting is on.
Summary:
Bug result after test plan :

{F6698812}

Test Plan:
In dolphin with the information panel
Select a video
Play the video
Disable the preview through the context menu (the video stays playing and visible and this will get fixed in a subsequent review)
Stop the video -> the video preview reappears when it should not

Reviewers: elvisangelaccio

Reviewed By: elvisangelaccio

Subscribers: elvisangelaccio, kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D19843
2019-03-17 21:22:54 +01:00
Méven Car
bc1a99bd11 Merge remote-tracking branch 'origin/Applications/19.04' 2019-03-17 19:38:31 +01:00
Méven Car
1ff74854ec Fix a todo: InformationPanelContent::configureSettings code is moved to InformationPanel::contextMenuEvent
Summary:
Fix a TODO : InformationPanelContent::configureSettings code is moved to InformationPanel::contextMenuEvent
Adding necessary accessors and changing visibility of one slot.

Test Plan:
1 compile
2 in dolphin right on the information panel
3 toggle preview
4 from the same context menu, click configure, metadadata settings appears
5 toggle "condensed date" if available

Reviewers: elvisangelaccio, #dolphin

Reviewed By: elvisangelaccio, #dolphin

Subscribers: kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D19832
2019-03-17 19:29:53 +01:00
David Hallas
bbfa6c4473 Merge remote-tracking branch 'origin/Applications/19.04' 2019-03-17 19:13:05 +01:00
David Hallas
508dc815c7 Fix "Add Network Folder" tooltip icon does not show on Breeze, shows correctly on Breeze Dark
Summary:
Fix "Add Network Folder" tooltip icon does not show on Breeze, shows correctly
on Breeze Dark. The fix is taken from D19596.

Test Plan:
Open Dolphin with the Breeze theme
Hover the mouse over the "Add Network Folder"
The icon is black on black

BUG: 404858

Reviewers: #dolphin, elvisangelaccio, ngraham

Reviewed By: #dolphin, elvisangelaccio, ngraham

Subscribers: broulik, kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D19738
2019-03-17 19:11:37 +01:00
David Hallas
f0a65179d8 Fix crash at shutdown after showing a tooltip
Summary:
Fix crash at shutdown after showing a tooltip. The commit
94d7e1471e introduced a crash that occurs
when closing Dolphin after Dolphin has showed a tooltip. This happens
because the ToolTipManager::showToolTip function calls the
KToopTipWidget::showBelow function passing in the pointer to the
DolphinFileMetaDataWidget. But this also passes the ownership of the
pointer to the KToopTipWidget as long as a new tooltip is not shown. The
problem is that at shutdown, the KToopTipWidget instance will be
destoyed first and therefore also destroy the DolphinFileMetaDataWidget
instance (which the ToolTipManager still owns through the
QScopedPointer) causing it to be deleted twice. The fix for this is
simply to swap the order of these two members so that the
DolphinFileMetaDataWidget is destroyed first by the QScopedPointer
thereby removing it from the KToopTipWidget if it has been set as it's
parent.

Test Plan:
Open Dolphin
Show a Tool Tip
Close Dolphin

Reviewers: #dolphin, elvisangelaccio

Reviewed By: #dolphin, elvisangelaccio

Subscribers: kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D19737
2019-03-17 18:10:11 +01:00
David Hallas
f2b72c1648 Fix crash at shutdown after showing a tooltip
Summary:
Fix crash at shutdown after showing a tooltip. The commit
94d7e1471e introduced a crash that occurs
when closing Dolphin after Dolphin has showed a tooltip. This happens
because the ToolTipManager::showToolTip function calls the
KToopTipWidget::showBelow function passing in the pointer to the
DolphinFileMetaDataWidget. But this also passes the ownership of the
pointer to the KToopTipWidget as long as a new tooltip is not shown. The
problem is that at shutdown, the KToopTipWidget instance will be
destoyed first and therefore also destroy the DolphinFileMetaDataWidget
instance (which the ToolTipManager still owns through the
QScopedPointer) causing it to be deleted twice. The fix for this is
simply to swap the order of these two members so that the
DolphinFileMetaDataWidget is destroyed first by the QScopedPointer
thereby removing it from the KToopTipWidget if it has been set as it's
parent.

Test Plan:
Open Dolphin
Show a Tool Tip
Close Dolphin

Reviewers: #dolphin, elvisangelaccio

Reviewed By: #dolphin, elvisangelaccio

Subscribers: kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D19737
2019-03-17 18:09:02 +01:00
Elvis Angelaccio
d6c086ad04 Make global view properties the default setting
Summary:
Automatic creation of .directory files is one of the most
complained about things in dolphin.

These days applications are supposed to store application-specific data
within $XDG_DATA_HOME. Long-term that's the proper solution for this
issue, but for now we can at least flip the default so that we no longer
create .directory files out of the box.

A tooltip is also added as a kind of warning for the users who want to
change the setting. Ideally a proper warning should be shown using a
KMessageWidget or KMessageBox, but neither play too well with the
setting dialog workflow used by dolphin.

CCBUG: 322922

Reviewers: #dolphin, #vdg, ngraham

Reviewed By: #dolphin, #vdg, ngraham

Subscribers: ngraham, kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D19661
2019-03-17 16:43:20 +01:00
Albert Astals Cid
21b140943d GIT_SILENT Upgrade KDE Applications version to 19.07.70. 2019-03-16 22:11:47 +01:00
Albert Astals Cid
13ae434646 GIT_SILENT Upgrade KDE Applications version to 19.03.80. 2019-03-16 21:54:08 +01:00
Yuri Chornoivan
519a5e2700 Update screenshot 2019-03-13 12:53:12 +02:00