Download Manager rewrite
Open, Needs TriagePublic

Description

Overview

  • proper model QAbstractListModel for downloads
  • support for multiple GUIs (like download manager window, popup from toolbar, webpage, ..)
  • support for various types of downloads (qtwebengine downlods, qnetworkreply downloads, download history)
  • possible to add new download type + observe all changes (new/changed/removed download)
  • all of this also accessible for plugins (c++, python, qml)

Implementation

DownloadManager - change to QObject (instead of QWidget as it is now)
signals:
void downloadAdded(DownloadItem *item);
void downloadRemoved(DownloadItem *item);

// DownloadItem - base class for all download types
enum Flags {
    CanPause,
    ActiveDownload, // inactive download = eg. download from history
};

Other

  • Drop support for keeping downloads running after all browser windows are closed - instead just show message box that the download will be stopped if last browser window is closed

All of this is just a draft, final implementation can differ

drosca created this task.Jan 27 2019, 11:51 AM
drosca updated the task description. (Show Details)Jan 27 2019, 12:03 PM