KVIrc 5.2.6
Developer APIs
KviWebPackageManagementDialog.h
Go to the documentation of this file.
1#ifndef _KviWebPackageManagementDialog_h_
2#define _KviWebPackageManagementDialog_h_
3//=============================================================================
4//
5// File : KviWebPackageManagementDialog.h
6// Creation date : Thu 17 Mar 2011 15:21:06
7//
8// This file is part of the KVIrc IRC Client distribution
9// Copyright (C) 2011 Alessandro Carbone <elfonol at gmail dot com>
10// Copyright (C) 2011 Szymon Stefanek <pragma at kvirc dot net>
11//
12// This program is FREE software. You can redistribute it and/or
13// modify it under the terms of the GNU General Public License
14// as published by the Free Software Foundation; either version 2
15// of the License, or (at your option) any later version.
16//
17// This program is distributed in the HOPE that it will be USEFUL,
18// but WITHOUT ANY WARRANTY; without even the implied warranty of
19// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
20// See the GNU General Public License for more details.
21//
22// You should have received a copy of the GNU General Public License
23// along with this program. If not, write to the Free Software Foundation,
24// Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
25//
26//=============================================================================
27
28#include "kvi_settings.h"
29
30#include <QWidget>
31#include <QJsonObject>
32#include "KviTalListWidget.h"
33
34class QToolBar;
35class QToolButton;
36class QFile;
37class QProgressBar;
38class QUrl;
39class QTableWidget;
40class QMehu;
41
42class KviWebPackageListItem : public QObject, public KviTalListWidgetItem
43{
44 Q_OBJECT
45
46public:
47 KviWebPackageListItem(KviTalListWidget * pBox, QJsonObject obj, const QString & szBaseUrl);
49
50protected:
51 QString m_szName;
52 QString m_szVersion;
53 QString m_szAuthor;
54 QString m_szDesc;
55 QString m_szScreen;
56 QString m_szDownload;
57
58 void downloadIcon(const QString & szIconUrl);
59public:
60 const QString & name() { return m_szName; };
61 const QString & version() { return m_szVersion; };
62 const QString & download() { return m_szDownload; };
63public slots:
64 void showPopupImage();
65};
66
74{
75 Q_OBJECT
76
77public:
81 KviWebPackageManagementDialog(QWidget * pParent = nullptr);
82
88
89private:
90 QToolBar * m_pToolBar;
93 bool m_bBusy;
94 QProgressBar * m_pProgressBar;
98 QToolButton * m_pPreviewButton;
99 QToolButton * m_pDeleteButton;
100
101protected:
102 void setPackagePageUrl(const QString & szUrl);
103 void showEvent(QShowEvent * e) override;
104
105 virtual bool packageIsInstalled(const QString & szId, const QString & szVersion) = 0;
106 virtual bool installPackage(const QString & szPath, QString & szError) = 0;
107
108protected slots:
110 void contextMenuRequested(const QPoint & pos);
111 void showItemPreview();
112 void downloadItem();
113 void slotDataTransferProgress(qint64 iDone, qint64 iTotal);
115}; // class KviWebPackageManagementDialog
116
117#endif
Toolkit Abstraction Layer: itemdelegate class.
Definition KviTalIconAndRichTextItemDelegate.h:54
KviTalListWidgetItem()
Definition KviTalListWidget.h:53
Definition KviTalListWidget.h:35
const QString & download()
Definition KviWebPackageManagementDialog.h:62
QString m_szAuthor
Definition KviWebPackageManagementDialog.h:53
void showPopupImage()
Definition KviWebPackageManagementDialog.cpp:115
QString m_szDownload
Definition KviWebPackageManagementDialog.h:56
QString m_szName
Definition KviWebPackageManagementDialog.h:51
KviWebPackageListItem(KviTalListWidget *pBox, QJsonObject obj, const QString &szBaseUrl)
Definition KviWebPackageManagementDialog.cpp:57
const QString & version()
Definition KviWebPackageManagementDialog.h:61
const QString & name()
Definition KviWebPackageManagementDialog.h:60
QString m_szDesc
Definition KviWebPackageManagementDialog.h:54
~KviWebPackageListItem()
Definition KviWebPackageManagementDialog.h:48
void downloadIcon(const QString &szIconUrl)
Definition KviWebPackageManagementDialog.cpp:99
QString m_szScreen
Definition KviWebPackageManagementDialog.h:55
QString m_szVersion
Definition KviWebPackageManagementDialog.h:52
void showEvent(QShowEvent *e) override
Definition KviWebPackageManagementDialog.cpp:343
QMenu * m_pContextPopup
Definition KviWebPackageManagementDialog.h:97
QProgressBar * m_pProgressBar
Definition KviWebPackageManagementDialog.h:94
void slotDataTransferProgress(qint64 iDone, qint64 iTotal)
Definition KviWebPackageManagementDialog.cpp:291
void downloadItem()
Definition KviWebPackageManagementDialog.cpp:269
QToolButton * m_pPreviewButton
Definition KviWebPackageManagementDialog.h:98
KviWebPackageManagementDialog(QWidget *pParent=nullptr)
Definition KviWebPackageManagementDialog.cpp:125
bool m_bBusy
Definition KviWebPackageManagementDialog.h:93
virtual bool installPackage(const QString &szPath, QString &szError)=0
void setPackagePageUrl(const QString &szUrl)
Definition KviWebPackageManagementDialog.cpp:186
QToolBar * m_pToolBar
Definition KviWebPackageManagementDialog.h:90
QString m_szPackagePageUrl
Definition KviWebPackageManagementDialog.h:95
KviTalIconAndRichTextItemDelegate * m_pItemDelegate
Definition KviWebPackageManagementDialog.h:91
KviTalListWidget * m_pListWidget
Definition KviWebPackageManagementDialog.h:92
QString m_szLocalTemporaryPath
Definition KviWebPackageManagementDialog.h:96
void showItemPreview()
Definition KviWebPackageManagementDialog.cpp:259
void enableDisableButtons()
Definition KviWebPackageManagementDialog.cpp:223
void slotDownloadFinished()
Definition KviWebPackageManagementDialog.cpp:298
void contextMenuRequested(const QPoint &pos)
Definition KviWebPackageManagementDialog.cpp:239
QToolButton * m_pDeleteButton
Definition KviWebPackageManagementDialog.h:99
virtual bool packageIsInstalled(const QString &szId, const QString &szVersion)=0
#define e
Definition detector.cpp:70
This file contains compile time settings.
#define KVIRC_API
Definition kvi_settings.h:127
QString szUrl
Definition libkvisetup.cpp:49