* speeds up incremental builds as changes to a header will not always
need the full mocs_compilation.cpp for all the target's headers rebuild,
while having a moc file sourced into a source file only adds minor
extra costs, due to small own code and the used headers usually
already covered by the source file, being for the same class/struct
* seems to not slow down clean builds, due to empty mocs_compilation.cpp
resulting in those quickly processed, while the minor extra cost of the
sourced moc files does not outweigh that in summary.
Measured times actually improved by some percent points.
(ideally CMake would just skip empty mocs_compilation.cpp & its object
file one day)
* enables compiler to see all methods of a class in same compilation unit
to do some sanity checks
* potentially more inlining in general, due to more in the compilation unit
* allows to keep using more forward declarations in the header, as with the
moc code being sourced into the cpp file there definitions can be ensured
and often are already for the needs of the normal class methods
In KF6 KMoreTools should become it's own library and thus the KNS3 prefix should get removed.
Considering that the classes are not in any namespace, having a namespaced include is not needed and only causes noise.
"Extensions" is additions to the status bar like free space bar
and zoom slider which should hide while loading.
The status bar itself should only show/hide based on the global setting.
BUG: 443132
This makes more room for the new explanatory label for the zoom slider.
The zoom slider in particular was huge, and probably would have stood to
be reduced in width anyway even if we didn't add an explanaory label.
When the font height is more than the zoom slider height, use the former
to set the fixed height of the free space widget on the status bar.
Otherwise the text is cut-off.
This works with Breeze, Oxygen and Fusion styles.
Summary:
Currently when hovering over a file we have its name, mimetype type and size display in the status bar for 1 second, after which the status of the folder is displayed.
This patch removes this timer making the status bar behavior more predictable and user friendly.
Instead there is a 50ms delay between when the status bar gets new text to display (for instance mouse hovering or keyboard navigation) and when the status bar displayed text is updated. This is to avoid flickering.
FIXED-IN: 19.12
BUG: 399267
Reviewers: #dolphin, elvisangelaccio, ngraham
Reviewed By: #dolphin, elvisangelaccio, ngraham
Subscribers: kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D25218
Summary:
This commit adds "What's This?" help to nearly everything in the
Dolphin main window (panels, views, buttons, ...). It adds the "?"
to the title bar so this help can easily be called.
For links in those help texts to work the WhatsThisClickedEvents are
handled in the main window class. This doesn't work for menus because
events from them aren't forwarded to the main window for some
reason so EventFilters are installed for the Control button menus.
Modifying the "Help" menu of KXmlGui is deprecated so no EventFilter
can be installed in the menubar. Therefore help texts without links
are provided for the menubar.
Test Plan:
Check if the event handling might make any problems.
Check for any big mistakes in the help messages.
Reviewers: #dolphin, elvisangelaccio
Subscribers: broulik, elvisangelaccio, yurchor, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D20471
Even on fastest disks, filling up the disk in 10 seconds is unlikely.
Moreover, Plasma's "low disk" warning only polls every minute as well and Dolphin doesn't warn you about the fact that it's full.
Reduces needless wake ups of disks and network.
CCBUG: 398612
Differential Revision: https://phabricator.kde.org/D15507
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
- "include own header first line"
- "put config.h in angle brackets line"
- "do not include QtModule/QtClass line"
`QElapsedTimer` was implicitly included by
kfileitemmodelsortalgorithm.h, now we need to explicitly include it in
kfileitemmodel.cpp.
We also need to explicitly link to `Qt5::Concurrent`, otherwise we
cannot `#include <QtConcurrentRun>`.
Summary:
Following up from D8927; use kSqueezedTextLabel for the label text on the statusbar:
- This simplifies the code in updateLabelText()
- Remove the eventFilter as it's not needed any more since kSqueezedTextLabel has a resizeEvent function
- Specify a stretch factor, 1, for m_label, m_zoomSlider and m_spaceInfo, this prevents the changing of the width of m_label when the label text is updated from changing the widths of the zoomSlider and the spaceInfo widgets as that is a bit too jumpy.
(Thanks to the code of konversation statusbar for the hint about using the stretch factor in addWidget()).
Reviewers: elvisangelaccio
Subscribers: elvisangelaccio, #dolphin
Differential Revision: https://phabricator.kde.org/D8991
Summary:
BUG: 387189
Currently the label text on the statusbar is elided in on the right, but that means that when the text gets elided the size of the file isn't shown.
The label text on the statusbar shows the file name, the mime type and the size; the name is already shown in the main window and the mimetype can usually be guessed from the icon or from the extension, so it's usually the size that the user wants to see on the statusbar.
Reviewers: #dolphin, ngraham, elvisangelaccio
Reviewed By: #dolphin, ngraham, elvisangelaccio
Subscribers: elvisangelaccio, ngraham, anthonyfieroni
Differential Revision: https://phabricator.kde.org/D8927
Summary:
This patch gives the status bar a little more vertical whitespace, prevents the status bar from "jumping up and down" when showing a progress bar, and adds a bit of padding on the sides so the labels are more clearly separated when using dual panes.
Reviewers: #dolphin, #vdg, ngraham, elvisangelaccio
Differential Revision: https://phabricator.kde.org/D8540
Summary:
This improves the discoverability of the diskspace menu, a feature
otherwise almost impossible to find.
Reviewers: gregormi, emmanuelp
Differential Revision: https://phabricator.kde.org/D4873
Reduces the amount of needed code.
NEW: by using KMoreTools the menu is now user-configurable and
will automatically extended when KMoreToolsPresets gets new tools.
REVIEW: 122911
the menu has the following entries:
1. Filelight location
2. Filelight device
3. Filelight
4. KDiskFree
KService is used to find the applications and display proper
translations.
KRun is used to run the applications.
REVIEW: 121478
CHANGELOG: Add a menu on left-click on the SpaceInfo widget in the status bar to show Disk Usage statistics.