1. 06 May, 2019 1 commit
    • Kai Uwe Broulik's avatar
      Address review comments and other clean up · 86260aba
      Kai Uwe Broulik authored
      * Use index(n, m, parent) instead of parent.child(n, m)
      * Update unity count when job is closed without stopping it first
      * Iterate whole dataChanged range [topLeft, bottomRight] when group is resolved
      * Generate roleNames from meta object
      * Use checkIndex()
      * Increase default timeout for notifications with thumbnail
      * Improved keyboard nav, support Home/End, let Return open thumbnail
  2. 24 Apr, 2019 2 commits
    • Kai Uwe Broulik's avatar
      Address review comments and some more cleanups · 4269a3b4
      Kai Uwe Broulik authored
      * Make dataengines work fully standalone
      * Fix panel icon sizing
        There's still an issue with the popup size when resizing the vertical panel smaller so it collapses
      * Implement keyboard navigation for the list with focus hacks...
        Delete key closes notifications or groups, Arrow left/right expand/collapse groups, Enter invokes default action, if any
      * Fix DND times that are supposed to be hidden showing
        ModelContextMenu doesn't respect "visible" property
      * Move "Notifications" header to ListView header so it scrolls away and leaves more room for the notifications in systray popup
      * Fix finished jobs in history showing as failed when app is closed
      * Don't remember apps that spawned jobs, only for notifications
      * Use CriticalNotification window type (patches pending)
    • Marco Martin's avatar
  3. 18 Apr, 2019 1 commit
  4. 17 Apr, 2019 2 commits
  5. 14 Apr, 2019 1 commit
    • Friedrich W. H. Kossebau's avatar
      [analog-clock] Render hand also smooth during animation · 74ccb591
      Friedrich W. H. Kossebau authored
      Due to a bug SvgItem had effectively ignoring the value of the smooth
      property and acted as if it was "true".
      With the bug now fixed, the "false" value as set during hand animation
      now is effective again. As result for sensitive eyes this results in
      visual glitches, while nobody before ever complained about performance
      issues (also does Qt API claim that "In Qt Quick 2.0, this property has
      minimal impact on performance.". i.e. linear interpolation vs nearest
      neighbor filters as also done in the SvgItem implementation has not
      a big effect).
      Reviewers: #plasma, davidedmundson
      Reviewed By: #plasma, davidedmundson
      Subscribers: plasma-devel
      Tags: #plasma
      Differential Revision: https://phabricator.kde.org/D20561
  6. 12 Apr, 2019 6 commits
    • Kai Uwe Broulik's avatar
    • 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. :)
    • Kai Uwe Broulik's avatar
      More cleanups and finish · 789eedc5
      Kai Uwe Broulik authored
      * Ship some more default rules in plasmanotifyrc
      * Improved do not disturb menu (add "for 4 hours" and "until disabled")
      * Expand unread notifications by default, overall improved expansion/collapse handling
      * Show unread count in panel and reset when plasmoid is closed again
      * Move notification sanitizer and its test from dataengine to lib
      * Load pixmaps into model also for files and limit their physical size
      * Enforce maximum limit for notifications (1000...)
    • Friedrich W. H. Kossebau's avatar
      [analog-clock] Allow themes to define hand shadow offset & hand rot center · 2558f362
      Friedrich W. H. Kossebau authored
      Currently the shadow offset of the hands as well as the rotation center of
      the hands is hard-coded to match the light model and the hands shape of the
      Breeze theme. As well did some older change to move the rotation center to
      width/2 in y direction break older themes which relied on the y=0 offset.
      This patch adds the option for themes to control the shadow offset as well
      as define the rotation offset for each hand (to avoid the need to create
      large pixmaps as workaround with empty space to match the assumption of
      the center to be at (width/2, width/2), by these new hints:
      One shadow offset for all hands, as the simulated physical model can be
      assumed to have all hands almost on same layer (also matching that we have
      only one shadow for stacked objects, like windows, elsewhere):
      * hint-hands-shadow-offset-to-west/hint-hands-shadows-offset-to-east
      * hint-hands-shadow-offset-to-north/hint-hands-shadow-offset-to-south
      (west vs. east & north vs. south as negative rect size is not possible).
      If no hint is set, defaults to 0.
      The default of 0 is a small breakage, but almost all themes from
      store.kde.org do not use a shadow, also was the hour shadow broken/not shown
      until recently and only fixed for upcoming Plasma 5.16, where the offset of
      the shadows was tuned as well,  so any themes with hand shadows will need
      some tuning for Plasma 5.16 in any case.
      Separate rotation offsets for all hands & their shadows, so pixmaps can be
      as small as needed, with no transparent area padding needed:
      * hint-hourhand-rotation-center-offset
      * hint-hourhandshadow-rotation-center-offset
      * hint-minutehand-rotation-center-offset
      * hint-minutehandshadow-rotation-center-offset
      * hint-secondhand-rotation-center-offset
      * hint-secondhandshadow-rotation-center-offset
      The offset is taken from the center of the hint element, relative
      to the position of the hand element, so visually in the SVG file
      the hint element directly marks the rotation center for the hand.
      If no hint is set, defaults to (width/2, width/2).
      Test Plan:
      Clocks of unmodified themes from store.kde.org still look as before.
      Themes with hints added have shadows at proper place as well as rotation
      center of hands at the expected offset.
      Reviewers: #plasma, #vdg, mart, davidedmundson, ngraham
      Reviewed By: #plasma, #vdg, mart, ngraham
      Subscribers: plasma-devel
      Tags: #plasma
      Differential Revision: https://phabricator.kde.org/D20112
    • Script Kiddy's avatar
      SVN_SILENT made messages (.desktop file) - always resolve ours · ff61cc34
      Script Kiddy authored
      In case of conflict in i18n, keep the version of the branch "ours"
      To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
    • Script Kiddy's avatar
      SVN_SILENT made messages (.desktop file) - always resolve ours · d86d3a92
      Script Kiddy authored
      In case of conflict in i18n, keep the version of the branch "ours"
      To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
  7. 09 Apr, 2019 5 commits
  8. 08 Apr, 2019 1 commit
    • Friedrich W. H. Kossebau's avatar
      Fix always full rect blur mask for panels ignoring shape from Plasma themes · 65367689
      Friedrich W. H. Kossebau authored
      Plasma themes might define non-full-rect shapes for panels (e.g. round
      borders for panels not filling the whole width/height).
      The old code tells the window manager to blur the full rect of a panel
      window, resulting in unwanted artifacts around the panel shape for
      non-full-rect themed panels.
      With the Panel.qml item of the desktop packages exposing some optional
      "panelMask" property now, we can query for the shape and only use the
      painted area when telling the window manager where to blur behind or
      changing the background contrast.
      This also follows the logic as already applied for dialogs or other window
      elements like tooltips which are rendered using a Plasma theme.
      Test Plan:
      The Oxygen Plasma theme no longer has blurry corners on panel edges.
      Also still works as before when using non-composing window manager.
      Reviewers: #plasma, mart
      Reviewed By: #plasma, mart
      Subscribers: plasma-devel
      Tags: #plasma
      Differential Revision: https://phabricator.kde.org/D20204
  9. 07 Apr, 2019 1 commit
  10. 05 Apr, 2019 4 commits
  11. 04 Apr, 2019 2 commits
    • Aleix Pol Gonzalez's avatar
      Add --replace option in krunner · f546973b
      Aleix Pol Gonzalez authored
      Useful for developing it.
      Inspired in the plasmashell --replace option.
      Test Plan: Replaced krunner
      Reviewers: davidedmundson
      Reviewed By: davidedmundson
      Subscribers: plasma-devel
      Tags: #plasma
      Differential Revision: https://phabricator.kde.org/D20256
    • Kai Uwe Broulik's avatar
      Final touches · 2d1b66fb
      Kai Uwe Broulik authored
      - Rename some of the classes:
        NotificationServer -> Server (there's namespaces, you know)
        NotificationModel -> NotificationsModel (so it's plural like JobsModel)
      - Introduce NotificationGroupingCollapse
      - Wire up PulseAudio-qt for eventual notification silence in dnd mode
      - Touch up notification looks
        - Add indentation and "line" for grouped plasmoids
        - Rethink "show more" button to be at the end
        - Fix buttons overlapping
        - Remove NotificationDelegate item and do those few adjustments in FullRepresentation
      - Cleanup job details, handle when processed > total
      - Use States {} more
      - Show low urgency popups by default but don't add them to history
  12. 03 Apr, 2019 4 commits
    • Filip Fila's avatar
      [image-wallpaper] Port to Kirigami.FormLayout and use twinFormLayouts · 4516ab53
      Filip Fila authored
      Porting to Kirigami.FormLayout and using twinFormLayouts in order to ensure alignment with the main layout.
      NOTE: Vertical spacing is still clearly wrong, but I could fix that as well if someone could offer a suggestion on how to do it.
      Test Plan:
      D19932 needed before testing.
      Everything still worked.
      Reviewers: #plasma, ngraham, mart, hein
      Reviewed By: #plasma, ngraham, mart, hein
      Subscribers: hein, davidre, mart, abetts, plasma-devel
      Tags: #plasma
      Differential Revision: https://phabricator.kde.org/D19873
    • 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
    • Script Kiddy's avatar
      SVN_SILENT made messages (.desktop file) - always resolve ours · d5efe544
      Script Kiddy authored
      In case of conflict in i18n, keep the version of the branch "ours"
      To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
    • Script Kiddy's avatar
      SVN_SILENT made messages (.desktop file) - always resolve ours · 1cf7f1d6
      Script Kiddy authored
      In case of conflict in i18n, keep the version of the branch "ours"
      To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
  13. 02 Apr, 2019 5 commits
  14. 01 Apr, 2019 5 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.
    • Kai Uwe Broulik's avatar
    • 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
    • David Redondo's avatar
      Allow single images to be excluded from the slideshow · b1ae890a
      David Redondo authored and Nate Graham's avatar Nate Graham committed
      This allows to exlude single images from the slideshow by unchecking the little checkbox in the top right corner.
      Feature or todo?: If a folder is removed I don't touch the unchecked Slides. So the list could get very big but if a formerly removed folder is
      added again an excluded image will be excluded again.
      Test Plan:
      - Uncheck some images
      - They don't appear in the slideshow
      Reviewers: #plasma, #vdg, ngraham, davidedmundson
      Reviewed By: #plasma, #vdg, ngraham, davidedmundson
      Subscribers: davidedmundson, filipf, abetts, ngraham, plasma-devel
      Tags: #plasma
      Differential Revision: https://phabricator.kde.org/D19687
    • Friedrich W. H. Kossebau's avatar
      Do not try to set shadows for panels if theme does not provide elements · 2a63696f
      Friedrich W. H. Kossebau authored
      Older Plasma themes, which are still offered also for current Plasma 5 e.g.
      from store.kde.org, are missing out "shadow-*" elements for
      "widgets/panel-background". The old code of the PanelShadows class does not
      handle that case though, and as result for X11 sets a _KDE_NET_WM_SHADOW
      property with "0" for most of the pixmaps due to them being an empty pixmap
      in at least one dimension (except for the emtpy corner pixmap which is
      always 1,1). The resulting behaviour with current KWin (X11) is this:
      * when starting a Plasma shell with a theme without panel shadow elements,
        KWin does not show shadows
      * when switching from a theme with shadow elements to one without, the
        shadow of the previous theme is continued to be used.
      Reason is that KWin when parsing that property cancels the parsing when it
      comes across a "0"/null id for a shadow pixmap, without further error
      handling, so either does not create a shadow or keeps the old.
      This patch catches the case of themes without any panel shadow elements and
      only sets the _KDE_NET_WM_SHADOW property or wayland shadow if there are
      shadows, otherwise removes them if needed.
      Test Plan:
      Switch between Plasma themes with and without separate shadow elements
      defined (e.g. Breeze <-> Fluffy Bunny).
      Reviewers: #plasma, mart
      Reviewed By: #plasma, mart
      Subscribers: plasma-devel
      Tags: #plasma
      Differential Revision: https://phabricator.kde.org/D20051