Commit graph

6015 commits

Author SHA1 Message Date
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
Méven Car
40896c02d9 Correctly position context menu of the information panel under wayland with a secondary screen
Summary:
According to my testing this bug occurs because Qcursor::pos() does not work as expected under wayland on a secondary screen, then it returns inaccurate data.
This could hide bugs elsewhere.

BUG: 404799
FIXED-IN: 19.04.0

Test Plan:
Under Wayland test the context menu on both screens.
Do the same under Xorg.

Reviewers: #dolphin, elvisangelaccio

Reviewed By: #dolphin, elvisangelaccio

Subscribers: elvisangelaccio, ngraham, nicolasfella, kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D19535
2019-03-12 09:25:31 -06:00
David Hallas
94d7e1471e Fixes leak of DolphinFileMetaDataWidget in ToolTipManager
Summary:
Fixes leak of DolphinFileMetaDataWidget in ToolTipManager. The
destructor of ToolTipManager failed to delete the m_fileMetaDataWidget
member. This is seen at shutdown but also when you close a tab that has
displayed a tooltip.

Test Plan:
Compile Dolphin with address sanitizer
Open Dolphin
Show a tooltip
Close Dolphin

Reviewers: #dolphin, elvisangelaccio

Reviewed By: #dolphin, elvisangelaccio

Subscribers: kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D19485
2019-03-10 17:41:42 +01:00
Elvis Angelaccio
9f2bb143b5 [FoldersPanel] Stop ignoring positions from the controller
This fixes the position of Folder panel's context menus on multi-screens
on Wayland, because `QCursor::pos()` is not reliable on those setups.
2019-03-10 12:45:43 +01:00
Elvis Angelaccio
3c9efb362a [FoldersPanel] Don't show 'Limit to Home Directory' in the view context menu
The `viewContextMenuRequested` signal is emitted without a valid
KFileItem, so `m_fileItem` will always be null in `TreeViewContextMenu::open()`.
2019-03-10 12:37:25 +01:00
Elvis Angelaccio
b7e84ed42f Fix clazy-fully-qualified-moc-types warning
Slot arguments should be fully-qualified.
2019-03-10 11:34:40 +01:00
Laurent Montel
1aeea4a6ab port to std::stable_sort 2019-03-10 10:51:27 +01:00
Elvis Angelaccio
1a32594617 Fix context for QDateTime::toString() translations
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-09 12:34:36 +01:00
David Hallas
e602e532c0 New tab placed after current tab when middle-clicking
Summary:
New tabs should be placed after the currently active tab when using
middle click.

Test Plan:
Open new tab from the places panel using middle click, verify that the
Open new tab from the folders panel using middle click, verify that the
tab is opened after the current tab
Open new tab by middle clicking on the Back button, verify that the tab
is opened after the current tab
Open new tab by middle clicking on the Forward button, verify that the tab
is opened after the current tab

FEATURE: 403690

Reviewers: #dolphin, ngraham, elvisangelaccio

Reviewed By: #dolphin, ngraham, elvisangelaccio

Subscribers: kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D19201
2019-03-09 12:11:58 +01:00
Yuri Chornoivan
4ae68e8445 Sync docs with code (screenshot of Behavior page is still unsynced) 2019-03-09 08:56:46 +02:00
Simon Depiets
c148eff8ca Improve wording of split view/pane settings
Summary:
I found these strings very hard to understand then translate without looking into the code because the use of "view" refers to both "the split view" and "the left pane and the right pane of the split view".

This patch attempts to explicitly mention panes when needed.

Reviewers: #dolphin, angeloevertonjr, ngraham

Reviewed By: #dolphin, ngraham

Subscribers: ngraham, kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D19579
2019-03-06 10:46:54 +08:00
Alexander Stippich
7a57be9812 Use new display string function from KFileMetaData
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-03-01 12:02:03 +01:00
Laurent Montel
4315e5c938 remove deprecated methods 2019-02-27 08:59:18 +01:00
Nate Graham
1c6240964b Give the "Sort by" menu an appropriate icon 2019-02-24 14:09:53 -07:00
David Hallas
d2783df310 Fixes memory leak of KItemListHeader
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-24 18:22:55 +01:00
l10n daemon script
16edd9ccec GIT_SILENT made messages (after extraction) 2019-02-24 02:53:48 +01:00
l10n daemon script
33581c60c7 SVN_SILENT made messages (.desktop file) - always resolve ours
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"
2019-02-22 05:30:16 +01:00
Yuri Chornoivan
ed82cca0c0 Update screenshots and some minor bits in docs 2019-02-18 17:36:07 +02:00
David Hallas
c72fdaa773 Fix crash during shutdown
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-02-18 08:58:11 +01:00
Nate Graham
6e88d7cef0 Merge branch 'Applications/18.12' 2019-02-17 14:07:49 -07:00
Nate Graham
cf2da56c5e Word-wrap KMessageWidget text
Summary:
Word-wrap KMessageWidget text to prevent the window from being widened
when the text is very long.

CCBUG: 404232

Only `CCBUG: ` because word wrap only works where QLabel detects a word boundary;
it will not wrap a string with no spaces or other word boundaries (e.g.
"aaaaaaaaaaaaaaaaaaaa...")

Test Plan:
- Create a new text file with a 300-character name that has spaces in it
- In the KMessageWidget's error message, the file name is wrapped at the word
boundaries

Reviewers: #dolphin, #frameworks, cfeck, elvisangelaccio

Reviewed By: #dolphin, cfeck, elvisangelaccio

Subscribers: elvisangelaccio, cfeck, kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D18968
2019-02-17 14:07:28 -07:00
Yuri Chornoivan
a17a826e24 Add new option to close the inactive split view to the docs 2019-02-17 11:59:34 +02:00
David Hallas
17af8ae0ad New tab should be placed after the current tab
Summary:
When opening a new using the context menu the new tab should be placed
after the currently open tab, not at the end of the tab list.

BUG: 403690

Test Plan:
Open multiple tabs and select a different tab than the last one.
Open a new tab using the context menu and see that it opens after the currently
selected tab.
Open a tab using Ctrl+T and see that it opens at the end.

Reviewers: #dolphin, ngraham, elvisangelaccio

Reviewed By: #dolphin, ngraham, elvisangelaccio

Subscribers: elvisangelaccio, ngraham, kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D18945
2019-02-16 16:51:44 +01:00
Angelo Oliveira Jr
92368c1e4d Add option to choose which view to close
Summary:
This Diff make configurable which view will close when toggling off
the split view mode, if it's the active one or the inactive one.

A new checkbox was added to the Dolphin configuration window,
and defaults to the original behavior.

FEATURE: 312834
FIXED-IN: 19.03.80

Test Plan: {F6535432}

Reviewers: ngraham, #dolphin, elvisangelaccio

Reviewed By: ngraham, #dolphin

Subscribers: elvisangelaccio, cfeck, kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D18040
2019-02-16 16:09:27 +01:00
l10n daemon script
36da6c7e32 GIT_SILENT made messages (after extraction) 2019-02-13 07:36:24 +01:00
l10n daemon script
037a394ec7 GIT_SILENT made messages (after extraction) 2019-02-13 02:57:24 +01:00
Kai Uwe Broulik
d5744305f6 Merge branch 'Applications/18.12' 2019-02-08 09:02:00 +01:00
Kai Uwe Broulik
585cc994e6 [DolphinView] Use correct color group
Use the inactive color group when the window is inactive and update when window state changes.

CCBUG: 404053

Differential Revision: https://phabricator.kde.org/D18811
2019-02-08 09:01:38 +01:00
Kai Uwe Broulik
9da33680ad Merge branch 'Applications/18.12' 2019-02-06 16:24:01 +01:00
Kai Uwe Broulik
bf44548ad1 Sort preview plugins case-insensitively
"eBook thumbnails" would show up all the way at the bottom otherwise

Test Plan: 18.12 branch It now shows where it should

Differential Revision: https://phabricator.kde.org/D18787
2019-02-06 16:23:19 +01:00
Kai Uwe Broulik
b2b913c844 Use more suitable default view mode for recent documents and Downloads folder
Sort them descending by date as well as:
* for Recent Documents: switch to details view
* for Downloads enable grouping and disable sorting folders first

Differential Revision: https://phabricator.kde.org/D18697
2019-02-04 09:12:35 +01:00
Christoph Feck
959439ec1b GIT_SILENT Upgrade KDE Applications version to 18.12.2. 2019-02-03 05:46:38 +01:00
Elvis Angelaccio
fb4b4465f9 Merge branch 'Applications/18.12' 2019-02-02 21:37:06 +01:00
Anthony Fieroni
83912a6de8 Fix member initialization
Signed-off-by: Anthony Fieroni <bvbfan@abv.bg>
2019-02-02 19:48:09 +02:00