1. 01 Apr, 2019 2 commits
    • 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
  2. 26 Mar, 2019 1 commit
    • Kai Uwe Broulik's avatar
      Begin on inhibition / do not disturb stuff · eab83389
      Kai Uwe Broulik authored
      - Also moe the NotificationPopup item back to the root folder
      - Implement tracking of unknown apps, ie. once an app shows a notificaton it will show up
        in the KCM so it can be configured
      - Make blacklisting of notification popups (via setting in KCM) work
      - Start on inhibition stuff (DBus API proposal sent to XDG mailing list)
      eab83389
  3. 25 Mar, 2019 1 commit
    • Kai Uwe Broulik's avatar
      Begin settings stuff and further cleanup · ff9ca8e4
      Kai Uwe Broulik authored
      - 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
      ff9ca8e4
  4. 23 Mar, 2019 1 commit
    • Kai Uwe Broulik's avatar
      Cleanup, export, and start on settings and inhibition API · 79427e3d
      Kai Uwe Broulik authored
      - Cleanup, pimpl NotificationServer and Notification for export
      - Wire the old dataengine up to use it for compat:
        it shows notifications but is otherwise pretty broken right now
      - Start writing kconfigxt and Settings code (no real code yet)
      - Add a Inhibition DBus interface (no actual server-side code yet)
      - Group notifications by application
        Pretty much tasks grouping model from libtaskmanager slightly adjusted
      - Let widget take full height when expanded in vertical panel "side bar usecase"
      - Fix bugs here and there
      79427e3d
  5. 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
  6. 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