[Notifications] Put history into a ListView

Authored by broulik on Jan 19 2018, 9:55 AM.

Description

[Notifications] Put history into a ListView

Notification uses Repeaters for everything. While this is acceptable for jobs and notifications, of which there are few,
the history can turn into a very long list of items. Using a ListView solves memory consumption by creating delegates only as needed.
Since regular notifications and notification history are quite entangled with each other, I had to configure the ListView
from within the Notifications loader. To keep code changes as little as possible, the rest of the UI is just moved into
the ListView header item.

While this is quite an invasive patch for a feature frozen version it's the least invasive approach I could find and is quite
an important memory leak fix for an LTS.

BUG: 389132
FIXED-IN: 5.12.0

CHANGELOG: Fixed memory leak when there are a lot of items in notification history

Differential Revision: https://phabricator.kde.org/D9978

(cherry picked from commit e8f76cc5386d7bc2878f4b72dc6e177164b3ad85)

Details