Rabbit Remote Control 0.1.0-bate8
Loading...
Searching...
No Matches
Public Member Functions | Private Types | Private Slots | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
CFrmExtensionStore Class Reference

Chrome 扩展商城 More...

#include <FrmExtensionStore.h>

Inheritance diagram for CFrmExtensionStore:
Inheritance graph
[legend]
Collaboration diagram for CFrmExtensionStore:
Collaboration graph
[legend]

Public Member Functions

 CFrmExtensionStore (QWidget *parent=nullptr)
 
int SetExtensionManager (CFrmExtensionManager *manager)
 设置扩展管理器
 
void SetAPIBaseUrl (const QString &baseUrl)
 设置基础 URL (可以指向自建服务器)
 
void SearchExtensions (const QString &keyword)
 搜索扩展
 
void GetPopularExtensions ()
 获取热门扩展列表
 
void GetRecommendedExtensions ()
 获取推荐扩展列表
 
QString DownloadExtension (const QString &extensionId)
 下载扩展
 
void CancelDownload (const QString &downloadId)
 取消下载
 
int GetDownloadProgress (const QString &downloadId) const
 获取下载进度
 

Private Types

enum  ColumnNo {
  Icon = 0 , Name = 1 , Version = 2 , Rating = 3 ,
  Downloads = 4 , ID = 5 , Status = 6
}
 

Private Slots

void on_pbSearch_clicked ()
 
void on_pbPopular_clicked ()
 
void on_pbRecommended_clicked ()
 
void on_pbDownload_clicked ()
 
void on_pbInstall_clicked ()
 
void on_pbCancel_clicked ()
 
void on_pbDetails_clicked ()
 
void on_pbRefresh_clicked ()
 
void on_pbClearCache_clicked ()
 
void slotExtensionSelected ()
 
void slotCustomContextMenu (const QPoint &pos)
 
void slotDownloadProgress (qint64 bytesReceived, qint64 bytesTotal)
 
void slotSearchFinished ()
 
void slotDownloadFinished ()
 
void slotNetworkError (QNetworkReply::NetworkError error)
 

Private Member Functions

void InitializeUI ()
 
void SetupConnections ()
 
void SetupNetworkManager ()
 
void RefreshExtensionList ()
 
int AddExtensionItem (const QJsonObject &extInfo)
 
void DisplayExtensionDetails (const QJsonObject &extInfo)
 
void ClearExtensionList ()
 
int ProcessDownloadedFile (const QString &filePath, const QString &extensionId)
 
QString GetDownloadPath () const
 
QString GetCachePath () const
 
int SaveToCache (const QString &key, const QJsonObject &data)
 
QJsonObject LoadFromCache (const QString &key) const
 
bool IsCacheValid (const QString &key) const
 
QJsonArray ParseExtensionList (const QByteArray &data) const
 
QJsonObject ParseExtensionDetails (const QByteArray &data) const
 
QString GenerateDownloadId () const
 
bool IsExtensionIdValid (const QString &id) const
 
QString GetExtensionFileUrl (const QString &extensionId) const
 
QString GetChromeWebStoreUrl (const QString &extensionId) const
 

Private Attributes

Ui::CFrmExtensionStore * ui
 
QNetworkAccessManager * m_pNetworkManager
 
CFrmExtensionManagerm_pExtensionManager
 
CParameterWebBrowserm_pPara
 
QStandardItemModel * m_pModelExtensions
 
QString m_apiBaseUrl
 
QMap< QString, QNetworkReply * > m_downloads
 
QMap< QString, QString > m_downloadExtensionId
 
QMap< QString, QJsonObject > m_extensionCache
 

Static Private Attributes

static const int CACHE_VALIDITY_HOURS = 24
 

Detailed Description

Chrome 扩展商城

功能:

Definition at line 31 of file FrmExtensionStore.h.

Member Enumeration Documentation

◆ ColumnNo

enum CFrmExtensionStore::ColumnNo
private

Definition at line 158 of file FrmExtensionStore.h.

Constructor & Destructor Documentation

◆ CFrmExtensionStore()

CFrmExtensionStore::CFrmExtensionStore ( QWidget *  parent = nullptr)
explicit

Definition at line 41 of file FrmExtensionStore.cpp.

◆ ~CFrmExtensionStore()

CFrmExtensionStore::~CFrmExtensionStore ( )
virtual

Definition at line 61 of file FrmExtensionStore.cpp.

Member Function Documentation

◆ AddExtensionItem()

int CFrmExtensionStore::AddExtensionItem ( const QJsonObject &  extInfo)
private

Definition at line 534 of file FrmExtensionStore.cpp.

◆ CancelDownload()

void CFrmExtensionStore::CancelDownload ( const QString &  downloadId)

取消下载

Parameters
downloadId- 下载 ID

Definition at line 340 of file FrmExtensionStore.cpp.

◆ ClearExtensionList()

void CFrmExtensionStore::ClearExtensionList ( )
private

Definition at line 622 of file FrmExtensionStore.cpp.

◆ DisplayExtensionDetails()

void CFrmExtensionStore::DisplayExtensionDetails ( const QJsonObject &  extInfo)
private

Definition at line 598 of file FrmExtensionStore.cpp.

◆ DownloadExtension()

QString CFrmExtensionStore::DownloadExtension ( const QString &  extensionId)

下载扩展

Parameters
extensionId- 扩展 ID
Returns
成功返回下载 ID,失败返回空字符串

Definition at line 284 of file FrmExtensionStore.cpp.

◆ GenerateDownloadId()

QString CFrmExtensionStore::GenerateDownloadId ( ) const
private

Definition at line 744 of file FrmExtensionStore.cpp.

◆ GetCachePath()

QString CFrmExtensionStore::GetCachePath ( ) const
private

Definition at line 661 of file FrmExtensionStore.cpp.

◆ GetChromeWebStoreUrl()

QString CFrmExtensionStore::GetChromeWebStoreUrl ( const QString &  extensionId) const
private

Definition at line 760 of file FrmExtensionStore.cpp.

◆ GetDownloadPath()

QString CFrmExtensionStore::GetDownloadPath ( ) const
private

Definition at line 648 of file FrmExtensionStore.cpp.

◆ GetDownloadProgress()

int CFrmExtensionStore::GetDownloadProgress ( const QString &  downloadId) const

获取下载进度

Parameters
downloadId- 下载 ID
Returns
返回进度百分比 (0-100)

Definition at line 355 of file FrmExtensionStore.cpp.

◆ GetExtensionFileUrl()

QString CFrmExtensionStore::GetExtensionFileUrl ( const QString &  extensionId) const
private

Definition at line 754 of file FrmExtensionStore.cpp.

◆ GetPopularExtensions()

void CFrmExtensionStore::GetPopularExtensions ( )

获取热门扩展列表

Definition at line 222 of file FrmExtensionStore.cpp.

◆ GetRecommendedExtensions()

void CFrmExtensionStore::GetRecommendedExtensions ( )

获取推荐扩展列表

Definition at line 253 of file FrmExtensionStore.cpp.

◆ InitializeUI()

void CFrmExtensionStore::InitializeUI ( )
private

Definition at line 76 of file FrmExtensionStore.cpp.

◆ IsCacheValid()

bool CFrmExtensionStore::IsCacheValid ( const QString &  key) const
private

Definition at line 707 of file FrmExtensionStore.cpp.

◆ IsExtensionIdValid()

bool CFrmExtensionStore::IsExtensionIdValid ( const QString &  id) const
private

Definition at line 749 of file FrmExtensionStore.cpp.

◆ LoadFromCache()

QJsonObject CFrmExtensionStore::LoadFromCache ( const QString &  key) const
private

Definition at line 691 of file FrmExtensionStore.cpp.

◆ on_pbCancel_clicked

void CFrmExtensionStore::on_pbCancel_clicked ( )
privateslot

Definition at line 431 of file FrmExtensionStore.cpp.

◆ on_pbClearCache_clicked

void CFrmExtensionStore::on_pbClearCache_clicked ( )
privateslot

Definition at line 469 of file FrmExtensionStore.cpp.

◆ on_pbDetails_clicked

void CFrmExtensionStore::on_pbDetails_clicked ( )
privateslot

Definition at line 445 of file FrmExtensionStore.cpp.

◆ on_pbDownload_clicked

void CFrmExtensionStore::on_pbDownload_clicked ( )
privateslot

Definition at line 382 of file FrmExtensionStore.cpp.

◆ on_pbInstall_clicked

void CFrmExtensionStore::on_pbInstall_clicked ( )
privateslot

Definition at line 411 of file FrmExtensionStore.cpp.

◆ on_pbPopular_clicked

void CFrmExtensionStore::on_pbPopular_clicked ( )
privateslot

Definition at line 372 of file FrmExtensionStore.cpp.

◆ on_pbRecommended_clicked

void CFrmExtensionStore::on_pbRecommended_clicked ( )
privateslot

Definition at line 377 of file FrmExtensionStore.cpp.

◆ on_pbRefresh_clicked

void CFrmExtensionStore::on_pbRefresh_clicked ( )
privateslot

Definition at line 464 of file FrmExtensionStore.cpp.

◆ on_pbSearch_clicked

void CFrmExtensionStore::on_pbSearch_clicked ( )
privateslot

Definition at line 361 of file FrmExtensionStore.cpp.

◆ ParseExtensionDetails()

QJsonObject CFrmExtensionStore::ParseExtensionDetails ( const QByteArray &  data) const
private

Definition at line 738 of file FrmExtensionStore.cpp.

◆ ParseExtensionList()

QJsonArray CFrmExtensionStore::ParseExtensionList ( const QByteArray &  data) const
private

Definition at line 722 of file FrmExtensionStore.cpp.

◆ ProcessDownloadedFile()

int CFrmExtensionStore::ProcessDownloadedFile ( const QString &  filePath,
const QString &  extensionId 
)
private

Definition at line 629 of file FrmExtensionStore.cpp.

◆ RefreshExtensionList()

void CFrmExtensionStore::RefreshExtensionList ( )
private

Definition at line 529 of file FrmExtensionStore.cpp.

◆ SaveToCache()

int CFrmExtensionStore::SaveToCache ( const QString &  key,
const QJsonObject &  data 
)
private

Definition at line 674 of file FrmExtensionStore.cpp.

◆ SearchExtensions()

void CFrmExtensionStore::SearchExtensions ( const QString &  keyword)

搜索扩展

Parameters
keyword- 搜索关键词

Definition at line 186 of file FrmExtensionStore.cpp.

◆ SetAPIBaseUrl()

void CFrmExtensionStore::SetAPIBaseUrl ( const QString &  baseUrl)

设置基础 URL (可以指向自建服务器)

Parameters
baseUrl- 服务器地址,如 "https://api.example.com"

Definition at line 180 of file FrmExtensionStore.cpp.

◆ SetExtensionManager()

int CFrmExtensionStore::SetExtensionManager ( CFrmExtensionManager manager)

设置扩展管理器

Parameters
manager- 扩展管理器指针
Returns
成功返回 0,失败返回 -1

Definition at line 168 of file FrmExtensionStore.cpp.

◆ SetupConnections()

void CFrmExtensionStore::SetupConnections ( )
private

Definition at line 130 of file FrmExtensionStore.cpp.

◆ SetupNetworkManager()

void CFrmExtensionStore::SetupNetworkManager ( )
private

Definition at line 124 of file FrmExtensionStore.cpp.

◆ slotCustomContextMenu

void CFrmExtensionStore::slotCustomContextMenu ( const QPoint &  pos)
privateslot

Definition at line 496 of file FrmExtensionStore.cpp.

◆ slotDownloadFinished

void CFrmExtensionStore::slotDownloadFinished ( )
privateslot

Definition at line 517 of file FrmExtensionStore.cpp.

◆ slotDownloadProgress

void CFrmExtensionStore::slotDownloadProgress ( qint64  bytesReceived,
qint64  bytesTotal 
)
privateslot

Definition at line 502 of file FrmExtensionStore.cpp.

◆ slotExtensionSelected

void CFrmExtensionStore::slotExtensionSelected ( )
privateslot

Definition at line 483 of file FrmExtensionStore.cpp.

◆ slotNetworkError

void CFrmExtensionStore::slotNetworkError ( QNetworkReply::NetworkError  error)
privateslot

Definition at line 522 of file FrmExtensionStore.cpp.

◆ slotSearchFinished

void CFrmExtensionStore::slotSearchFinished ( )
privateslot

Definition at line 512 of file FrmExtensionStore.cpp.

Member Data Documentation

◆ CACHE_VALIDITY_HOURS

const int CFrmExtensionStore::CACHE_VALIDITY_HOURS = 24
staticprivate

Definition at line 169 of file FrmExtensionStore.h.

◆ m_apiBaseUrl

QString CFrmExtensionStore::m_apiBaseUrl
private

Definition at line 150 of file FrmExtensionStore.h.

◆ m_downloadExtensionId

QMap<QString, QString> CFrmExtensionStore::m_downloadExtensionId
private

Definition at line 154 of file FrmExtensionStore.h.

◆ m_downloads

QMap<QString, QNetworkReply*> CFrmExtensionStore::m_downloads
private

Definition at line 153 of file FrmExtensionStore.h.

◆ m_extensionCache

QMap<QString, QJsonObject> CFrmExtensionStore::m_extensionCache
private

Definition at line 155 of file FrmExtensionStore.h.

◆ m_pExtensionManager

CFrmExtensionManager* CFrmExtensionStore::m_pExtensionManager
private

Definition at line 145 of file FrmExtensionStore.h.

◆ m_pModelExtensions

QStandardItemModel* CFrmExtensionStore::m_pModelExtensions
private

Definition at line 147 of file FrmExtensionStore.h.

◆ m_pNetworkManager

QNetworkAccessManager* CFrmExtensionStore::m_pNetworkManager
private

Definition at line 144 of file FrmExtensionStore.h.

◆ m_pPara

CParameterWebBrowser* CFrmExtensionStore::m_pPara
private

Definition at line 146 of file FrmExtensionStore.h.

◆ ui

Ui::CFrmExtensionStore* CFrmExtensionStore::ui
private

Definition at line 143 of file FrmExtensionStore.h.


The documentation for this class was generated from the following files: