Commit graph

420 commits

Author SHA1 Message Date
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
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
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
Laurent Montel 1aeea4a6ab port to std::stable_sort 2019-03-10 10:51:27 +01: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
Laurent Montel 4315e5c938 remove deprecated methods 2019-02-27 08:59:18 +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
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
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
Elvis Angelaccio 8bc93b564c Introduce HAVE_TERMINAL
Source code should check for features detected during configure-time,
rather than checking for a specific OS.

See also commit 87e8d0ba5f.
2019-01-28 22:38:21 +01:00
Nate Graham 2100a7a5c8 Ask for confirmation when Closing Dolphin windows with a terminal panel running a program
Summary:
Ask for confirmation when Closing Dolphin windows with a terminal panel running a program.

FEATURE: 304816
FIXED-IN: 19.04.0

Test Plan:
# Open terminal panel
# Run `watch ls`
# Close Dolphin
# Observe confirmation
# Disable confirmation
# Repeat, observe no confirmation
# Enable confirmation in the settings
# Repeat, observe a confirmation

Reviewers: #dolphin, markg, elvisangelaccio, rominf

Reviewed By: #dolphin, elvisangelaccio

Subscribers: kfm-devel, elvisangelaccio, markg, ngraham, rkflx, broulik, #dolphin

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D10960
2019-01-19 08:15:11 -07:00
l10n daemon script 5d9ad8d24f 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-01-06 08:35:14 +01:00
l10n daemon script 1873e2f08f 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-01-06 05:25:48 +01:00
Fabian Vogt e13ffcb1a7 Adjust label in the settings page for changed preview behaviour
Summary: Requested by https://phabricator.kde.org/D15138#318904

Test Plan: Opened the preview settings, label text changed.

Reviewers: #dolphin, elvisangelaccio

Reviewed By: #dolphin, elvisangelaccio

Subscribers: ngraham, markg, broulik, kfm-devel, elvisangelaccio

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D15216
2018-10-27 16:45:36 +02:00
Yuri Chornoivan fd1a078cc4 Fix minor typos 2018-10-25 21:23:44 +03:00
David Edmundson f3c92120aa Merge branch 'Applications/18.08' 2018-09-04 14:21:00 +02:00
David Edmundson 5f252da8b5 Correctly save behaviourOnLaunch
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-04 14:20:33 +02:00
Henrik Fehlauer 79c485a66d Restore settings label and prevent warning when Baloo is unavailable
Summary:
As discussed in D14814, 6674c9c387 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 6674c9c387 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-22 23:49:17 +02:00
Elvis Angelaccio 6674c9c387 Port away from kdelibs4support
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-21 01:03:33 +02:00
David Hallas 43ab5bdc5f Removes unused member variables
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-18 23:20:08 +02:00
Nathaniel Graham 9d1a3abd35 Modernize View Properties window
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-14 13:55:40 -06:00
Nathaniel Graham 02c94b228a Modernize Settings window
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-05 21:24:49 -06:00
Nathaniel Graham b488dc0126 Port from KComboBox to QComboBox
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-27 14:29:48 -06:00
Elvis Angelaccio 280c974481 Use collapsible box to configure visible roles
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-26 22:13:51 +02:00
Nathaniel Graham d7d403379d Move General settings to the top
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-19 16:55:23 -06:00
Elvis Angelaccio 32b8b19ba5 ViewPropertiesDialog: disable Apply button on startup
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-13 23:16:33 +02:00
l10n daemon script a8bd6f4b1f 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"
2018-06-05 05:34:15 +02:00
Antonio Larrosa 720e1a2a3d Remove duplicated entry
Summary:
This gave a warning when running the script, and the value was
overwritten a few lines below, so just remove the unused value.

Reviewers: #dolphin, elvisangelaccio

Reviewed By: #dolphin, elvisangelaccio

Subscribers: kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D12845
2018-05-14 09:08:46 +02:00
l10n daemon script 90e1cc9c03 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"
2018-04-30 05:25:52 +02:00
l10n daemon script aee551e80b 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"
2018-04-03 05:25:54 +02:00
l10n daemon script 6ab76d791c 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"
2018-03-13 05:14:09 +01:00
Roman Inflianskas 48b58f830a Remove unused #include
Summary: I used CLion inspection to hunt all unused #include

Reviewers: #dolphin, elvisangelaccio, markg

Reviewed By: #dolphin, elvisangelaccio, markg

Subscribers: bcooksley, markg, elvisangelaccio, #dolphin

Differential Revision: https://phabricator.kde.org/D10985
2018-03-04 21:00:47 +03:00
Roman Inflianskas 848abc5922 Remove unused #include
Summary: I used CLion inspection to hunt all unused #include

Reviewers: #dolphin, elvisangelaccio, markg

Reviewed By: #dolphin, elvisangelaccio, markg

Subscribers: markg, elvisangelaccio, #dolphin

Differential Revision: https://phabricator.kde.org/D10985
2018-03-03 17:08:01 +03:00
Roman Inflianskas 32bd8efc7f Modernize the syntax of shortcuts
Reviewers: #dolphin, markg

Reviewed By: markg

Subscribers: markg, elvisangelaccio, #dolphin

Differential Revision: https://phabricator.kde.org/D10986
2018-03-03 16:44:29 +03:00
Roman Inflianskas 436ad965e9 Add an option to confirm trash emptying into settings
Summary:
Add an option to confirm trash emptying into settings.

BUG: 340572

Reviewers: #dolphin, ngraham, markg

Reviewed By: #dolphin, ngraham, markg

Subscribers: markg, ngraham, rkflx, #dolphin

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D10968
2018-03-03 08:46:55 +03:00
l10n daemon script e46421bfee 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"
2018-03-03 05:23:49 +01:00
Elvis Angelaccio 5f57256a2f Merge branch 'Applications/17.12' 2018-02-13 23:20:49 +01:00
Robert Hoffmann a618383df3 Fix resetting "View Modes" preferences to defaults
Summary:
Removed call to settings.readConfig() in ViewSettingsTab::loadSettings(),
because it overwrites default settings with user settings even if called
from ViewSettingsTab::restoreDefaultSettings().

Test Plan:
Settings -> Configure Dolphin -> View Modes:
Choose "Custom Font", "Choose...": other font settings than preselected;
alter "Icon Size" slider positions;
click OK; OK;
note modified text font next to icons, icon sizes

Settings -> Configure Dolphin -> View Modes:
Click "Defaults"
check "Font" is reset to "System Font";
check "Icon Size" slider positions are reset to default positions;
click OK
check text font next to icons, icon sizes are reset to defaults

Subscribers: ltoscano, ngraham, elvisangelaccio, michaelh, #dolphin

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D10190
2018-02-13 23:12:44 +01:00
Elvis Angelaccio bf1081a824 Fix all 'explicit constructor' krazy warnings 2018-02-03 22:21:30 +01:00
l10n daemon script 91eb6aa37a 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"
2017-12-20 08:25:12 +01:00
l10n daemon script c0e6342b7f 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"
2017-12-20 07:02:02 +01:00
Kevin Funk a6db5029ac Modernize: Use nullptr everywhere 2017-11-21 10:53:12 +01:00
Kevin Funk 464b13f382 Modernize: Use override where possible
Also use override instead of Q_DECL_OVERRIDE
2017-11-20 23:25:48 +01:00
Nathaniel Graham e60e3f07cf Use KConfig::readEntry()'s default argument properly
Summary: Follow-on patch to D7440 to use KConfig::readEntry()'s default argument properly to reduce some unnecessary code

Test Plan: Tested in KDE Neon. no regressions; by default, all plugins are enabled if the key is not set, and if it is set, user changes to the list are remembered

Reviewers: #dolphin, elvisangelaccio, dfaure, apol

Reviewed By: #dolphin, elvisangelaccio, apol

Differential Revision: https://phabricator.kde.org/D8846
2017-11-16 08:51:09 -07:00
Nathaniel Graham bebcf035d2 Turn on Dolphin icon previews by default
Summary:
BUG: 338492
BUG: 350212

By default, turn on all preview plugins and turn on previews themselves.

Depends on D8347

Test Plan:
Tested this change in an up-to-date KDE Neon: removed the existing dolphinrc file, deployed Dolphin with the change, and observed that previews are now turned on for all file types for which a plugin exists except for text files, which are in the blacklist because they're mostly useless at nearly all icon sizes (still available in case people want them, though).

Here's how Dolphin's main window looks by default now in KDE Neon:

{F5441184}
(You may notice that there are no previews for the video files; that's because Neon doesn't ship with any plugins for them, so that would be expected at this point)

And here is how the Settings > General > Preview window looks like now by default:
{F5435391}

Reviewers: #dolphin, #vdg, markg, abetts, dfaure, aseigo, elvisangelaccio

Reviewed By: #vdg, abetts, dfaure, elvisangelaccio

Subscribers: abetts, cfeck, andreaska, emmanuelp, andreask, markg, broulik, anthonyfieroni, davidedmundson, ltoscano, dfaure, elvisangelaccio, #konqueror

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D7440
2017-11-15 19:49:05 -07:00
Montel Laurent ff3f476ed8 Use nullptr + add explicit keyword
Test Plan: compile

Reviewers: #dolphin, broulik

Reviewed By: broulik

Subscribers: #dolphin

Differential Revision: https://phabricator.kde.org/D8637
2017-11-03 14:54:06 +01:00
Kai Uwe Broulik dfbaf21218 [AdditionalInfoDialog] Prevent hiding "text" role
You cannot do this from the menu but the option was there (but ignored) in the "View Properties" dialog.

BUG: 302622

Differential Revision: https://phabricator.kde.org/D7386
2017-08-25 16:48:48 +02:00