玉兔远程控制 0.1.0-bate8
载入中...
搜索中...
未找到
FrmQWebEnginePluginManager.h
1// Author: Kang Lin <kl222@126.com>
2// QWebEngine Plugin Manager Form
3
4#pragma once
5
6#include <QWidget>
7#include <QStandardItemModel>
8#include <QWebEngineProfile>
9#include <QVariant>
10
11namespace Ui {
12class CFrmQWebEnginePluginManagerUI;
13}
14
16
26class CFrmQWebEnginePluginManager : public QWidget
27{
28 Q_OBJECT
29
30public:
31 explicit CFrmQWebEnginePluginManager(QWidget *parent = nullptr);
33
40
45 QMap<QString, QVariant> GetPluginConfiguration() const;
46
52 int SetPluginConfiguration(const QMap<QString, QVariant> &config);
53
54private slots:
55 // UI 操作槽函数
56 void on_pbEnableAll_clicked();
57 void on_pbDisableAll_clicked();
58 void on_pbAdd_clicked();
59 void on_pbRemove_clicked();
60 void on_pbDetails_clicked();
61 void on_pbExport_clicked();
62 void on_pbImport_clicked();
63 void on_pbApply_clicked();
64 void on_pbReset_clicked();
65
66 // 模型槽函数
67 void slotPluginItemChanged(QStandardItem *item);
68 void slotSelectionChanged();
69 void slotCustomContextMenu(const QPoint &pos);
70
71private:
72 // 初始化函数
73 void InitializeUI();
74 void LoadPluginList();
75 void SetupConnections();
76
77 // 插件操作函数
78 int RefreshPluginList();
79 int AddPluginItem(const QString &pluginName, const QString &pluginPath, bool enabled);
80 int RemovePluginItem(int row);
81 int UpdatePluginItem(int row, bool enabled);
82
83 // 配置管理
84 int SavePluginConfiguration();
85 int LoadPluginConfiguration();
86
87 // 工具函数
88 QString GetPluginInfo(const QString &pluginPath) const;
89 bool IsValidPlugin(const QString &pluginPath) const;
90
91private:
92 Ui::CFrmQWebEnginePluginManagerUI* ui;
93 CParameterWebBrowser* m_pPara;
94 QStandardItemModel* m_pModelPlugins;
95
96 // 模型列号枚举
97 enum ColumnNo {
98 Enabled = 0, // 启用状态复选框
99 Name = 1, // 插件名称
100 Type = 2, // 插件类型
101 Version = 3, // 版本
102 Path = 4, // 文件路径
103 Description = 5 // 描述
104 };
105
106 // 插件配置缓存
107 QMap<QString, QVariant> m_pluginConfig;
108};
CFrmQWebEnginePluginManager - QWebEngine 插件管理窗体
QMap< QString, QVariant > GetPluginConfiguration() const
获取插件管理器配置
int SetPluginConfiguration(const QMap< QString, QVariant > &config)
设置插件管理器配置
int SetParameter(CParameterWebBrowser *pPara)
设置 WebEngine 参数