1. 13 Nov, 2020 2 commits
    • Kai Uwe Broulik's avatar
      [Notifications] Check pause button when job is paused · de6ac8e8
      Kai Uwe Broulik authored
      To provide some more direct feedback that the job is paused and an easy to spot
      place to click to resume.
      
      I chose to check the button instead of changing the icon like is done in Media
      Controller for more visual feedback. A job is also seldom paused so having it
      more obvious when it is the case aids the user better.
      de6ac8e8
    • Kai Uwe Broulik's avatar
      [Notifications] Remove unused property · c7c60c44
      Kai Uwe Broulik authored
      We're not doing an animation... :) the expanded loader is just bound
      to the expand button checkable property.
      c7c60c44
  2. 28 Jul, 2020 1 commit
  3. 26 Jul, 2020 1 commit
  4. 23 Jul, 2020 1 commit
    • Nate Graham's avatar
      Begin porting to PlasmaComponents3 · f55b00fe
      Nate Graham authored
      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
      f55b00fe
  5. 18 Dec, 2019 1 commit
  6. 29 May, 2019 1 commit
  7. 27 May, 2019 1 commit
  8. 24 May, 2019 1 commit
  9. 12 Apr, 2019 1 commit
    • Kai Uwe Broulik's avatar
      Kill kuiserver · 08f894ca
      Kai Uwe Broulik authored
      It is supposed to broadcast application job progress to multiple interested parties.
      However, effectively it was just plasmashell. Cut the middleman, including its never finished and unused UI,
      and talk to plasmashell directly.
      
      The applicationjobs dataengine is adjusted to use the new infrastructure instead.
      Since it works only in the same process now, Unity launcher API is used to at least broadcast basic
      application progress information for use in e.g. Latte Dock.
      
      Also, introduce JobViewServerV2 and JobViewV3 APIs which are using desktop entries for identification rather
      than application names, and more importantly are extensible using a QVariantMap hints, so adding new
      fields in the future should be significantly less painful with Frameworks, Applications, and Plasma all having
      their own release schedule. :)
      08f894ca
  10. 03 Apr, 2019 1 commit
    • Kai Uwe Broulik's avatar
      Implement do not disturb mode and grouping collapse · 9cee05eb
      Kai Uwe Broulik authored
      - Rework compact representation animations a bit
        For some reason they often got stuck
      - Implement do not disturb mode for applications
      - Add fallback timeout to ensure notifications eventually timeout
        Otherwise when disabling dnd mode you will get spammed
        and we would also keep apps running indefinitely waiting for the notification to close
      - Install plasmanotifyrc with some sane defaults
        So far only lets Spectacle show its screenshot notifications in dnd mode
      - Introduce Closable role rather than hardcoding that behavior everywhere in the view
      - Better app identification/grouping for jobs
      - Be more lenient about app identification (firefox will match Firefox, too)
      - Cleanups
      9cee05eb
  11. 01 Apr, 2019 3 commits
    • Kai Uwe Broulik's avatar
      Replace old notification plasmoid by new one · e93bba28
      Kai Uwe Broulik authored
      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!
      e93bba28
    • Kai Uwe Broulik's avatar
      Completely wire up old dataengine and further touches · 723b6d13
      Kai Uwe Broulik authored
      - Old dataengine is fully functional now
        Except the inhibition stuff but I'm not sure if this is worth keeping the way it is
      - "More" menu opens on press now and highlights
      - Invoking any action closes the notification now
        KNotification explicitly does that for us but e.g. GTK does not
      - Add clear button for history
      - Restore kbroadcastnotification support
      - Allow forgetting seen application (for KCM)
      - Let users "create" notifications by calling NotificationServer::add
      - When no application name is provided look up the sender's process name as last resort
      - Add kdebugsettings categories file
      723b6d13
    • Kai Uwe Broulik's avatar
      Improvements and cleanups all over the place · 1c4de1d4
      Kai Uwe Broulik authored
      - 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
      1c4de1d4
  12. 21 Mar, 2019 1 commit
    • Kai Uwe Broulik's avatar
      Implement more missing stuff and be more spec-compliant · 3251c280
      Kai Uwe Broulik authored
      - Support replacing notifications properly
        - Now that we have nice models we can finally do the replacing in the way the spec
        asks for "atomically (ie with no flicker or other visual cues)"
      - Catch some more cases in notification details text (trash:/ stuff)
      - Prefer notifyrc name over desktop entry name in case a service within another app sends
        an event (e.g. Discover notifier in Plasma, KNotification automatically sends desktop-entry
        of the parent app)
      - Implement x-kde-urls thumbnailer with drag and drop and fancy blur
        Originally intended to be able to show multiple files but in practise only used for
        single pictures, so the code is significantly simplified for that usecase
      - Add "Open" feature for finished job notification, offers a context menu as well with
        all the KFileItemActions (component from the Thumbnailer)
      - Copy description labels to clipboard
        Once menu opens the update is paused so the text you copy is what you see
      - Fixup sanitizer so we can properly collapse notifications without body text
      
      ... and more
      3251c280
  13. 19 Mar, 2019 1 commit
    • Kai Uwe Broulik's avatar
      Implement all the things · 35c575be
      Kai Uwe Broulik authored
      - 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
      35c575be