File indexing completed on 2024-03-24 15:17:05
0001 /* 0002 SPDX-FileCopyrightText: 2017 Jasem Mutlaq <mutlaqja@ikarustech.com> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #pragma once 0008 0009 #include "ui_opships.h" 0010 #include "ui_opshipsdisplay.h" 0011 #include "ui_opshipscache.h" 0012 0013 class KConfigDialog; 0014 class FileDownloader; 0015 0016 class OpsHIPSDisplay : public QFrame, public Ui::OpsHIPSDisplay 0017 { 0018 Q_OBJECT 0019 0020 public: 0021 explicit OpsHIPSDisplay(); 0022 }; 0023 0024 class OpsHIPSCache : public QFrame, public Ui::OpsHIPSCache 0025 { 0026 Q_OBJECT 0027 0028 public: 0029 explicit OpsHIPSCache(); 0030 }; 0031 0032 /** 0033 * @class OpsHIPS 0034 * 0035 * HIPS Settings including download of external sources and enabling/disabling them accordingly. 0036 * 0037 * @author Jasem Mutlaq 0038 */ 0039 class OpsHIPS : public QFrame, public Ui::OpsHIPS 0040 { 0041 Q_OBJECT 0042 0043 public: 0044 explicit OpsHIPS(); 0045 virtual ~OpsHIPS() override = default; 0046 0047 public slots: 0048 void slotRefresh(); 0049 0050 protected slots: 0051 void downloadReady(); 0052 void downloadError(const QString &errorString); 0053 void previewReady(); 0054 void slotItemUpdated(QListWidgetItem *item); 0055 void slotItemClicked(QListWidgetItem *item); 0056 0057 private: 0058 0059 void setPreview(const QString &id, const QString &url); 0060 0061 KConfigDialog *m_ConfigDialog { nullptr }; 0062 FileDownloader *downloadJob { nullptr }; 0063 FileDownloader *previewJob { nullptr }; 0064 0065 QList<QMap<QString,QString>> sources; 0066 bool dirty { false }; 0067 };