┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/statusbar/statusbarspaceinfo.cpp
AgeCommit message (Collapse)Author
2026-01-22clang-tidy: use default for trivial constructorMéven Car
2025-04-19Add Filelight menu to Tools menuFelix Ernst
The menu for installing and launching Filelight was only available through the status bar free space info button until now. By default we do no longer show the free space info button because the status bar has been changed to show less information by default. This commit adds the "Manage Disk Space Usage" menu to the "Tools" menu in the menu bar so it is more discoverable for users.
2024-11-12Avoid flickering of space info on startupFelix Ernst
Prior to this commit, when Dolphin was opening in a directory for which the free space information cannot be retrieved, the free space info in the status bar would still briefly be visible before hiding for good. This commit avoids this flickering by keeping the space info hidden until space info has been successfully retrieved. There is no use showing an empty/wrong space info before that anyway. I assume the error in the previous code was that it assumed that one could prevent a widget from being shown by overriding QWidget::showEvent(). This does not work because this method is only called to notify QWidgets of their state change. This commit was primarily written because the brief showing of an empty space info was messing with automatic tests.
2024-07-08Improve Filelight installation UXFelix Ernst
Before this commit pressing the free space button when Filelight is not installed would show a singular action called "Install Filelight to View Disk Usage Statistics…". Pressing this button would open the store page for Filelight. This is an okay user experience, but we can do better. This commit makes it so pressing the free space button when Filelight is not installed shows an attractive UI that makes clear that freeing up disk space can be accomplished nicely by installing Filelight. The "Install Filelight…" button on this UI is connected to PackageKit directly, so we do not need to show a separate store like Discover and instead trigger an installation right then and there. For this, the recently introduced DolphinPackageInstaller KJob is used. Installation progress is reported through the status bar similar to the progress reporting of slowly loading directories or searches. Installation failure or success is ultimately shown within Dolphin as a passive notification above the view. On Microsoft Windows or when PackageKit is not available, the install button will only open a store page for Filelight. CCBUG: 477739
2024-05-30Offer installing Filelight if no disk usage analyzer was foundNicolas Fella
This avoids an empty menu and points the user towards a useful tool BUG: 477739
2024-01-12Explain free space button usage in tooltipFelix Ernst
This is to make sure that users do not have to guess why they would want to press the button.
2023-11-24Reduce status bar minimum widthFelix Ernst
This is to make sure that when the window is resized it is less likely that the places panel will be resized only because the status bar doesn't want to become very narrow in width.
2023-11-24Turn free space label into a flat buttonFelix Ernst
The usage of a label to show this space information is problematic because there are features/actions hidden behind clicking the label. A button makes this clear. It also fixes the accessibility of this control because previously this info would never be read out by screen readers as it couldn't get keyboard focus. A side-effect of this change is that the free disk space bar looks more normal with non-Breeze styles. This had been a long-standing issue.
2023-11-08Port away from KMoreToolsNicolas Fella
The idea behind KMoreTools was to point the user at external tools for a given job. It provides a rather complex framework for that, including suggesting not-yet-installed tools. The UX behind that isn't great though, which somewhat deep menu hierarchies and a somewhat arbitrary list of tools. Most KDE apps have moved away from it, with only Dolphin remaining. Instead provide direct integration with relevant KDE tools (Filelight, KDiskFree, KFind)
2023-07-05Add explicit moc includes to sources for moc-covered headersFriedrich W. H. Kossebau
* 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
2023-02-05Add clang-format and format code as in FrameworksSerg Podtynnyi
2022-09-26Remove unused includesLaurent Montel
2022-05-18Add tooltip to free space info widget showing full disk capacityShubham
BUG: 452867 FIXED-IN: 22.08
2022-05-13Drop KNS3 prefix for KMoreTools includesAlexander Lohnau
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.
2020-08-25Output of licensedigger + manual cleanup afterwards.Elvis Angelaccio
Unfortunately licensedigger does not strip the trailing * characters. While at it, use a common style for all source files.
2020-06-08Status bar: Hide the space free bar when size is unknownMéven Car
Summary: BUG: 420027 BUG: 422226 FIXED-IN: 20.08 Test Plan: {F8312398} Reviewers: #dolphin, ngraham, broulik, #vdg, elvisangelaccio Reviewed By: #dolphin, ngraham, #vdg, elvisangelaccio Subscribers: elvisangelaccio, kfm-devel Tags: #dolphin Differential Revision: https://phabricator.kde.org/D29213
2019-01-15Drop unused includesElvis Angelaccio
GIT_SILENT
2018-09-19Update disk space info on refreshKai Uwe Broulik
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
2018-06-03Drop obsolete version checksElvis Angelaccio
We already depend on KF5 >= 5.43
2018-03-04Remove unused #includeRoman Inflianskas
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-03Remove unused #includeRoman Inflianskas
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
2017-11-21Modernize: Use nullptr everywhereKevin Funk
2017-07-13Fix knewstuff popup menu position on waylandElvis Angelaccio
On Wayland we need to pass a parent to popup menus. See https://community.kde.org/Guidelines_and_HOWTOs/Wayland_Porting_Notes#Popup_Menus So we use the new setParentWidget() method from KNewStuff (introduced in Frameworks 5.37).
2017-03-10Show pointing hand cursor when hovering spaceinfo barElvis Angelaccio
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
2016-03-16[CLAZY] Fixed all level 1 and level 2 warnings with small exceptionsArtur Puzio
REVIEW: 126771
2015-05-03Remove SpaceInfoToolsMenu and use KMoreToolsMenuFactory insteadGregor Mi
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
2015-01-12Add disk usage statistics menu to SpaceInfo widget in the status bar:Gregor Mi
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.
2014-10-21port Dolphin from KUrl to QUrlLukáš Tinkl
REVIEW: 120688
2014-10-18Fix includesMontel Laurent
2014-10-18Fix includesMontel Laurent
2014-09-14Make the statusbar space info use the new KIO::fileSystemFreeSpace job.Mathias Tillman
REVIEW: 120137 BUG: 245226
2014-06-29Remove the automoc noiseChristophe Giboudeaux
2014-05-22Keep the "free space" information updated in all visible viewsFrank Reininghaus
The old code would watch the free space on a mount point, i.e., determine the free space again, in 10-second intervals, only until the view became invisible once (even if it was invisible only for a very short moment, i.e., while splitting the view). This commit ensures that the mount point is watched again as soon as the corresponding view becomes visible again. Moreover, the object that watches the free space for a mount point is shared among all views that show URLs that belong to this mount point. To achieve this, there is a central cache which can be used to obtain an existing MountPointObserver for a certain path. If necessary, a new MountPointObserver is created and added to the cache. The MountPointObserver is removed from the cache and destroyed only if no views use it any more, and no new users appear until the next update (which happens every 10 seconds). This prevents that the free space is measured repeatedly when changing the current directory on the same mount point. Many thanks to Emmanuel Pescosta for the initial ideas to factor out the "free space" code and to establish a central storage for the "observer" objects, and for providing many good suggestions how to improve the code! BUG: 327708 REVIEW: 118208 FIXED-IN: 4.14.0
2012-04-13Use KMessageWidget for error- and information-messagesPeter Penz
See http://agateau.com/2011/04/21/kde-ux-2011/ for more details. This simplifies the statusbar in Dolphin a lot and allows to do a proper eliding in case if status-messages are too long: In this case a tooltip will show the whole status-message (thanks to Wolfgang Mader for the initial patch!). There is still missing some finetuning but the general approach seems to work quite nice. BUG: 249638 BUG: 245618 BUG: 146533 FIXED-IN: 4.9.0
2011-12-29KDiskFreeSpace already uses KMountPoint internally, we can give it any path.David Faure
2011-02-04Use capitalized KDE includesPeter Penz
2010-04-03Cleanup of statusbar widgets:Peter Penz
- Provide proper size hints instead of hiding extensions on small widths - Provide context menu, which allows to enable/disable the zoom level extension and the space info extension. Also copying the status bar text is possible (useful e. g. for error messages). BUG: 188980 svn path=/trunk/KDE/kdebase/apps/; revision=1110498
2009-08-01move statusbar code into the directory "statusbar"Peter Penz
svn path=/trunk/KDE/kdebase/apps/; revision=1005704