This begins the process of porting plasma-workspace to PlasmaComponents3. At
this point, only the relatively easy work is done. Every file not ported
now has been given the reason for still using PC2 in a comment on the import
line so you can see at a glance what the blocker is by running
`grep -r "org.kde.plasma.components 2.0"` in the repo.
Everything is tested and there are no breakages or functional regressions. In
the process, a few unused imports are removed.
Here are the remaining PC3 omissions blocking what's left from getting easily
ported:
- No Highlight
- No ListItem
- No PageStack
- No ContextMenu
- No QueryDialog
- No ModelContextMenu
- TabBar has no left and right tab states
- ToolButton has no built-in method to show a menu when clicked
Summary:
some optimizations for tablet mode (touch first, but also on
transformable laptops flipped to tablet)
and some for specifically the mobile case (mobile phone)
* hide the top toolbar in phone mode
* in tablet mode (and therefore on phone mode too) don't select text but drag the item laterally to dismiss it
Test Plan:
* on phone form factor for the new behavior
* on touch laptop in tablet mode
* on desktop for its behavior not changing at all
Reviewers: #plasma, broulik
Reviewed By: #plasma, broulik
Subscribers: nicolasfella, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D24765
Since it is a custom `TextEdit` to make text selectable the workaround in the style didn't apply to it.
Differential Revision: https://phabricator.kde.org/D22858
Our dear friend Notification plasmoid has slipped the surly bonds of Earth
to touch the face of eternal preservation in Git history. It leaves a huge
emptiness in the hearts of all of us who loved it, many who here its friends.
Originally concveived in 2011 as a "New QML based notifications plasmoid
for mobile", it quickly outgrew its creator's vision and became a vital
component of the Plasma Desktop. When the new kid on the block arrived in
the form of Plasma 5, it showed its willpower to survive this stark transition
and served us for another half a decade. It taught us to seize every
opportunity to increase productivity and improve user experience,
yet it became evident that it reached its limits and so on April Fools' Day 2019
its heart beat for the last time.
Farewell!
- Improve compact reprsentation
- Keep popup open during interaction (context menu, drag)
- Improve "ago" label (e.g. show "Last Sunday")
- Improve group visuals (still pretty much WIP)
- Hide popups when interacted (opened file, triggered file action, etc)
Closing when having invoked an action isn't implemented yet but is probably neccessary
- Make autohide job popup setting work
- Set critical AlwaysOnTop (requires KWin patch)
- Improve error handling in ThumbnailStrip
Show file icon if thumbnail generation failed instead of a blank space
- Add heuristic for popup placement and make custom setting work
- Add deviceName and displayApplicationName (for KDE Connect)
So it can show from which device and which app this notification originally came from
- Improved service discovery (and defaultComponent handling)
Quite a few notifications, e.g. DrKonqi crashes are in plasma_workspace.notifyrc
When we get an event like this, show the original app instead
- Make blacklist for popup and history work
- Add "lastRead" property for "unread" handling vs "expired" (latter likely to be dropped)
- Add sortMode so history is strictly sorted by date (it's grouped after all)
- Begin work on do not disturb UI in plasmoid
- Introduces a Settings item that can be used to query and write settings
Used from both the applet and the KCM and in the future Task Manager and others
- Wire up delegate to make FullRepresentation somewhat work
- Fix text selection in NotificationItem (workaround QQC1 ScrollView bug)
- Make model writable where it makes sense (rather than having a dedicated setter)
- Let JobsModel also notice jobs that were present at the time of its creation
- Notification action buttons
- Custom icon pixmaps in notifications
- Popup handling
- Notification urgency (low isn't shown as popup TBD, critical always no matter what)
- History stuff (only expired notifications end up there, none that were closed or revoked)
- Text selection and copy for body text
- Basic tray icon support
and many other things
Application jobs are shown as part of regular notifications:
- They show up as little popup that can be hidden in the history
- When finished progress popup turns into a notification
There's still some glitches and missing features, notably
- Screenshot thumbnails
- "Open" functionality for finished jobs
- History layout
- code cleanup
- and basically every configuration option