准备整理代码
This commit is contained in:
@ -1,4 +1,4 @@
|
||||
#include "sqlitehelper.h"
|
||||
#include "sqlitehelper.h"
|
||||
|
||||
#include <complex.h>
|
||||
#include <QMessageBox>
|
||||
@ -126,7 +126,7 @@ SQLiteHelper::SQLiteHelper(QObject *parent)
|
||||
}
|
||||
if (!db.open())
|
||||
{
|
||||
QMessageBox::critical(nullptr, QString::fromLocal8Bit("<EFBFBD><EFBFBD>ʾ"), QString::fromLocal8Bit("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>"));
|
||||
QMessageBox::critical(nullptr, QString::fromLocal8Bit("提示"), QString::fromLocal8Bit("无法打开数据库"));
|
||||
exit_manager.exit(1);
|
||||
}
|
||||
}
|
||||
@ -172,9 +172,9 @@ bool SQLiteHelper::update_software()
|
||||
path.remove(path.length() - 1, 1);
|
||||
records.insert(path, record);
|
||||
}*/
|
||||
//<EFBFBD><EFBFBD>ʼ<EFBFBD>˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѱ<EFBFBD>װ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
|
||||
//开始菜单中已安装软件列表
|
||||
WCHAR path[MAX_PATH];
|
||||
HRESULT hr = SHGetFolderPathW(nullptr, CSIDL_COMMON_PROGRAMS, nullptr, 0, path);//<EFBFBD><EFBFBD>ȡProgramData<EFBFBD>п<EFBFBD>ʼ<EFBFBD>˵<EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD>
|
||||
HRESULT hr = SHGetFolderPathW(nullptr, CSIDL_COMMON_PROGRAMS, nullptr, 0, path);//获取ProgramData中开始菜单的路径
|
||||
std::wstring path_str(path);
|
||||
getMenu(path_str, paths);
|
||||
|
||||
@ -182,11 +182,11 @@ bool SQLiteHelper::update_software()
|
||||
{
|
||||
path[i] = 0;
|
||||
}
|
||||
hr = SHGetFolderPathW(nullptr, CSIDL_PROGRAMS, nullptr, 0, path);//<EFBFBD><EFBFBD>ȡ<EFBFBD>û<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>п<EFBFBD>ʼ<EFBFBD>˵<EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD>
|
||||
hr = SHGetFolderPathW(nullptr, CSIDL_PROGRAMS, nullptr, 0, path);//获取用户文件夹中开始菜单的路径
|
||||
path_str.clear();
|
||||
path_str = std::wstring(path);
|
||||
getMenu(path_str, paths);
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><EFBFBD>Ѱ<EFBFBD>װ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
|
||||
// 打开注册表中的已安装软件列表
|
||||
QHash<QString, Record> reg_records;
|
||||
HKEY hKey;
|
||||
if (RegOpenKeyExW(HKEY_LOCAL_MACHINE,
|
||||
@ -226,7 +226,7 @@ bool SQLiteHelper::update_software()
|
||||
&cbSecurityDescriptor, // security descriptor
|
||||
&ftLastWriteTime); // last write time
|
||||
|
||||
// ö<EFBFBD>ٸ<EFBFBD><EFBFBD>б<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӽ<EFBFBD>
|
||||
// 枚举该列表下所有子键
|
||||
for (DWORD i = 0; i < cSubKeys; i++)
|
||||
{
|
||||
WCHAR szSubKey[MAX_PATH] = { 0 };
|
||||
@ -234,7 +234,7 @@ bool SQLiteHelper::update_software()
|
||||
if (RegEnumKeyExW(hKey, i, szSubKey, &dwSize, NULL, NULL, NULL, NULL)
|
||||
== ERROR_SUCCESS)
|
||||
{
|
||||
// <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
||||
// 读取软件属性值
|
||||
HKEY hSubKey;
|
||||
if (RegOpenKeyExW(hKey, szSubKey, 0, KEY_READ | KEY_WOW64_64KEY, &hSubKey) == ERROR_SUCCESS)
|
||||
{
|
||||
@ -243,7 +243,7 @@ bool SQLiteHelper::update_software()
|
||||
WCHAR buffer[MAX_PATH] = { 0 };
|
||||
DWORD buffer_num;
|
||||
dwSize = MAX_PATH * sizeof(WCHAR);
|
||||
//<EFBFBD><EFBFBD>װ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>
|
||||
//安装文件夹
|
||||
if (RegQueryValueExW(hSubKey, L"InstallLocation", NULL, NULL,
|
||||
(LPBYTE)szProductPath, &dwSize) != ERROR_SUCCESS)
|
||||
{
|
||||
@ -251,7 +251,7 @@ bool SQLiteHelper::update_software()
|
||||
continue;
|
||||
}
|
||||
QString path = QString::fromWCharArray(szProductPath);
|
||||
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//软件名
|
||||
if (RegQueryValueExW(hSubKey, L"DisplayName", NULL, NULL,
|
||||
(LPBYTE)buffer, &dwSize) != ERROR_SUCCESS)
|
||||
{
|
||||
@ -260,22 +260,22 @@ bool SQLiteHelper::update_software()
|
||||
}
|
||||
record.name = QString::fromWCharArray(buffer);
|
||||
record.orig_name = QString::fromWCharArray(buffer);
|
||||
//ͼ<EFBFBD><EFBFBD>
|
||||
//图标
|
||||
RegQueryValueExW(hSubKey, L"DisplayIcon", NULL, NULL,
|
||||
(LPBYTE)buffer, &dwSize);
|
||||
record.logo = QString::fromWCharArray(buffer);
|
||||
//<EFBFBD><EFBFBD><EFBFBD>汾<EFBFBD><EFBFBD>
|
||||
//主版本号
|
||||
RegQueryValueExW(hSubKey, L"VersionMajor", NULL, NULL,
|
||||
(LPBYTE)&buffer_num, &dwSize);
|
||||
QString versionMajor = QString::number(buffer_num);
|
||||
//<EFBFBD>ΰ汾<EFBFBD><EFBFBD>
|
||||
//次版本号
|
||||
RegQueryValueExW(hSubKey, L"VersionMinor", NULL, NULL,
|
||||
(LPBYTE)&buffer_num, &dwSize);
|
||||
QString versionMinor = QString::number(buffer_num);
|
||||
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>汾<EFBFBD>źʹΰ汾<EFBFBD><EFBFBD>ƴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>
|
||||
//将主版本号和次版本号拼接在一起
|
||||
QString version = versionMajor + "." + versionMinor;
|
||||
record.version = version;
|
||||
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//开发者
|
||||
RegQueryValueExW(hSubKey, L"Publisher", NULL, NULL,
|
||||
(LPBYTE)buffer, &dwSize);
|
||||
record.dev = QString::fromWCharArray(buffer);
|
||||
@ -336,7 +336,7 @@ bool SQLiteHelper::update_software()
|
||||
&cbSecurityDescriptor, // security descriptor
|
||||
&ftLastWriteTime); // last write time
|
||||
|
||||
// ö<EFBFBD>ٸ<EFBFBD><EFBFBD>б<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӽ<EFBFBD>
|
||||
// 枚举该列表下所有子键
|
||||
for (DWORD i = 0; i < cSubKeys; i++)
|
||||
{
|
||||
WCHAR szSubKey[MAX_PATH] = { 0 };
|
||||
@ -344,7 +344,7 @@ bool SQLiteHelper::update_software()
|
||||
if (RegEnumKeyExW(hkey2, i, szSubKey, &dwSize, NULL, NULL, NULL, NULL)
|
||||
== ERROR_SUCCESS)
|
||||
{
|
||||
// <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
||||
// 读取软件属性值
|
||||
HKEY hSubKey;
|
||||
if (RegOpenKeyExW(hkey2, szSubKey, 0, KEY_READ | KEY_WOW64_64KEY, &hSubKey) == ERROR_SUCCESS)
|
||||
{
|
||||
@ -353,7 +353,7 @@ bool SQLiteHelper::update_software()
|
||||
WCHAR buffer[MAX_PATH] = { 0 };
|
||||
DWORD buffer_num;
|
||||
dwSize = MAX_PATH * sizeof(WCHAR);
|
||||
//<EFBFBD><EFBFBD>װ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>
|
||||
//安装文件夹
|
||||
if (RegQueryValueExW(hSubKey, L"InstallLocation", NULL, NULL,
|
||||
(LPBYTE)szProductPath, &dwSize) != ERROR_SUCCESS)
|
||||
{
|
||||
@ -361,7 +361,7 @@ bool SQLiteHelper::update_software()
|
||||
continue;
|
||||
}
|
||||
QString path = QString::fromWCharArray(szProductPath);
|
||||
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//软件名
|
||||
if (RegQueryValueExW(hSubKey, L"DisplayName", NULL, NULL,
|
||||
(LPBYTE)buffer, &dwSize) != ERROR_SUCCESS)
|
||||
{
|
||||
@ -370,22 +370,22 @@ bool SQLiteHelper::update_software()
|
||||
}
|
||||
record.name = QString::fromWCharArray(buffer);
|
||||
record.orig_name = QString::fromWCharArray(buffer);
|
||||
//ͼ<EFBFBD><EFBFBD>
|
||||
//图标
|
||||
RegQueryValueExW(hSubKey, L"DisplayIcon", NULL, NULL,
|
||||
(LPBYTE)buffer, &dwSize);
|
||||
record.logo = QString::fromWCharArray(buffer);
|
||||
//<EFBFBD><EFBFBD><EFBFBD>汾<EFBFBD><EFBFBD>
|
||||
//主版本号
|
||||
RegQueryValueExW(hSubKey, L"VersionMajor", NULL, NULL,
|
||||
(LPBYTE)&buffer_num, &dwSize);
|
||||
QString versionMajor = QString::number(buffer_num);
|
||||
//<EFBFBD>ΰ汾<EFBFBD><EFBFBD>
|
||||
//次版本号
|
||||
RegQueryValueExW(hSubKey, L"VersionMinor", NULL, NULL,
|
||||
(LPBYTE)&buffer_num, &dwSize);
|
||||
QString versionMinor = QString::number(buffer_num);
|
||||
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>汾<EFBFBD>źʹΰ汾<EFBFBD><EFBFBD>ƴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>
|
||||
//将主版本号和次版本号拼接在一起
|
||||
QString version = versionMajor + "." + versionMinor;
|
||||
record.version = version;
|
||||
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//开发者
|
||||
RegQueryValueExW(hSubKey, L"Publisher", NULL, NULL,
|
||||
(LPBYTE)buffer, &dwSize);
|
||||
record.dev = QString::fromWCharArray(buffer);
|
||||
@ -445,7 +445,7 @@ bool SQLiteHelper::update_software()
|
||||
&cbSecurityDescriptor, // security descriptor
|
||||
&ftLastWriteTime); // last write time
|
||||
|
||||
// ö<EFBFBD>ٸ<EFBFBD><EFBFBD>б<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӽ<EFBFBD>
|
||||
// 枚举该列表下所有子键
|
||||
for (DWORD i = 0; i < cSubKeys; i++)
|
||||
{
|
||||
WCHAR szSubKey[MAX_PATH] = { 0 };
|
||||
@ -453,7 +453,7 @@ bool SQLiteHelper::update_software()
|
||||
if (RegEnumKeyExW(hkey3, i, szSubKey, &dwSize, NULL, NULL, NULL, NULL)
|
||||
== ERROR_SUCCESS)
|
||||
{
|
||||
// <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
||||
// 读取软件属性值
|
||||
HKEY hSubKey;
|
||||
if (RegOpenKeyExW(hkey3, szSubKey, 0, KEY_READ | KEY_WOW64_64KEY, &hSubKey) == ERROR_SUCCESS)
|
||||
{
|
||||
@ -462,7 +462,7 @@ bool SQLiteHelper::update_software()
|
||||
WCHAR buffer[MAX_PATH] = { 0 };
|
||||
DWORD buffer_num;
|
||||
dwSize = MAX_PATH * sizeof(WCHAR);
|
||||
//<EFBFBD><EFBFBD>װ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>
|
||||
//安装文件夹
|
||||
if (RegQueryValueExW(hSubKey, L"InstallLocation", NULL, NULL,
|
||||
(LPBYTE)szProductPath, &dwSize) != ERROR_SUCCESS)
|
||||
{
|
||||
@ -470,7 +470,7 @@ bool SQLiteHelper::update_software()
|
||||
continue;
|
||||
}
|
||||
QString path = QString::fromWCharArray(szProductPath);
|
||||
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//软件名
|
||||
if (RegQueryValueExW(hSubKey, L"DisplayName", NULL, NULL,
|
||||
(LPBYTE)buffer, &dwSize) != ERROR_SUCCESS)
|
||||
{
|
||||
@ -479,22 +479,22 @@ bool SQLiteHelper::update_software()
|
||||
}
|
||||
record.name = QString::fromWCharArray(buffer);
|
||||
record.orig_name = QString::fromWCharArray(buffer);
|
||||
//ͼ<EFBFBD><EFBFBD>
|
||||
//图标
|
||||
RegQueryValueExW(hSubKey, L"DisplayIcon", NULL, NULL,
|
||||
(LPBYTE)buffer, &dwSize);
|
||||
record.logo = QString::fromWCharArray(buffer);
|
||||
//<EFBFBD><EFBFBD><EFBFBD>汾<EFBFBD><EFBFBD>
|
||||
//主版本号
|
||||
RegQueryValueExW(hSubKey, L"VersionMajor", NULL, NULL,
|
||||
(LPBYTE)&buffer_num, &dwSize);
|
||||
QString versionMajor = QString::number(buffer_num);
|
||||
//<EFBFBD>ΰ汾<EFBFBD><EFBFBD>
|
||||
//次版本号
|
||||
RegQueryValueExW(hSubKey, L"VersionMinor", NULL, NULL,
|
||||
(LPBYTE)&buffer_num, &dwSize);
|
||||
QString versionMinor = QString::number(buffer_num);
|
||||
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>汾<EFBFBD>źʹΰ汾<EFBFBD><EFBFBD>ƴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>
|
||||
//将主版本号和次版本号拼接在一起
|
||||
QString version = versionMajor + "." + versionMinor;
|
||||
record.version = version;
|
||||
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//开发者
|
||||
RegQueryValueExW(hSubKey, L"Publisher", NULL, NULL,
|
||||
(LPBYTE)buffer, &dwSize);
|
||||
record.dev = QString::fromWCharArray(buffer);
|
||||
@ -551,7 +551,7 @@ bool SQLiteHelper::update_software()
|
||||
&cbSecurityDescriptor, // security descriptor
|
||||
&ftLastWriteTime); // last write time
|
||||
|
||||
// ö<EFBFBD>ٸ<EFBFBD><EFBFBD>б<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӽ<EFBFBD>
|
||||
// 枚举该列表下所有子键
|
||||
for (DWORD i = 0; i < cSubKeys; i++)
|
||||
for (DWORD i = 0; ; i++)
|
||||
{
|
||||
@ -560,7 +560,7 @@ bool SQLiteHelper::update_software()
|
||||
if (RegEnumKeyExW(hkey4, i, szSubKey, &dwSize, NULL, NULL, NULL, NULL)
|
||||
== ERROR_SUCCESS)
|
||||
{
|
||||
//<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
||||
//读取软件属性值
|
||||
HKEY hSubKey;
|
||||
if (RegOpenKeyExW(hkey3, szSubKey, 0, KEY_READ | KEY_WOW64_64KEY, &hSubKey) == ERROR_SUCCESS)
|
||||
{
|
||||
@ -569,7 +569,7 @@ bool SQLiteHelper::update_software()
|
||||
WCHAR buffer[MAX_PATH] = { 0 };
|
||||
DWORD buffer_num;
|
||||
dwSize = MAX_PATH * sizeof(WCHAR);
|
||||
//<EFBFBD><EFBFBD>װ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>
|
||||
//安装文件夹
|
||||
if (RegQueryValueExW(hSubKey, L"InstallLocation", NULL, NULL,
|
||||
(LPBYTE)szProductPath, &dwSize) != ERROR_SUCCESS)
|
||||
{
|
||||
@ -577,7 +577,7 @@ bool SQLiteHelper::update_software()
|
||||
continue;
|
||||
}
|
||||
QString path = QString::fromWCharArray(szProductPath);
|
||||
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//软件名
|
||||
if (RegQueryValueExW(hSubKey, L"DisplayName", NULL, NULL,
|
||||
(LPBYTE)buffer, &dwSize) != ERROR_SUCCESS)
|
||||
{
|
||||
@ -586,22 +586,22 @@ bool SQLiteHelper::update_software()
|
||||
}
|
||||
record.name = QString::fromWCharArray(buffer);
|
||||
record.orig_name = QString::fromWCharArray(buffer);
|
||||
//ͼ<EFBFBD><EFBFBD>
|
||||
//图标
|
||||
RegQueryValueExW(hSubKey, L"DisplayIcon", NULL, NULL,
|
||||
(LPBYTE)buffer, &dwSize);
|
||||
record.logo = QString::fromWCharArray(buffer);
|
||||
//<EFBFBD><EFBFBD><EFBFBD>汾<EFBFBD><EFBFBD>
|
||||
//主版本号
|
||||
RegQueryValueExW(hSubKey, L"VersionMajor", NULL, NULL,
|
||||
(LPBYTE)&buffer_num, &dwSize);
|
||||
QString versionMajor = QString::number(buffer_num);
|
||||
//<EFBFBD>ΰ汾<EFBFBD><EFBFBD>
|
||||
//次版本号
|
||||
RegQueryValueExW(hSubKey, L"VersionMinor", NULL, NULL,
|
||||
(LPBYTE)&buffer_num, &dwSize);
|
||||
QString versionMinor = QString::number(buffer_num);
|
||||
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>汾<EFBFBD>źʹΰ汾<EFBFBD><EFBFBD>ƴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>
|
||||
//将主版本号和次版本号拼接在一起
|
||||
QString version = versionMajor + "." + versionMinor;
|
||||
record.version = version;
|
||||
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//开发者
|
||||
RegQueryValueExW(hSubKey, L"Publisher", NULL, NULL,
|
||||
(LPBYTE)buffer, &dwSize);
|
||||
record.dev = QString::fromWCharArray(buffer);
|
||||
@ -622,7 +622,7 @@ bool SQLiteHelper::update_software()
|
||||
}
|
||||
}
|
||||
|
||||
//<EFBFBD>Ա<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֣<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//对比两个路径,找出公共部分(划掉)
|
||||
QHash<QString, Record> public_programs_list;
|
||||
/*for(auto path:*paths)
|
||||
{
|
||||
@ -679,7 +679,7 @@ bool SQLiteHelper::update_software()
|
||||
}
|
||||
}
|
||||
|
||||
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD>ֶ<EFBFBD>
|
||||
//进行网络请求,补全字段
|
||||
SoftwareRequest software_request;
|
||||
bool ok=software_request.sendRequest(*paths,&public_programs_list,array);
|
||||
if(!ok)
|
||||
@ -882,7 +882,7 @@ void SetSVGBackColor(QDomElement& elem, QString strtagname, QString strattr, QSt
|
||||
bool SQLiteHelper::get_software(QList<ButtonStruct>* button_structs, ConfigResponse* config_response)
|
||||
{
|
||||
QSqlQuery query(db);
|
||||
QString sql = "select * from kmd_menu where type='navbar' order by sort,orig_name asc ;";
|
||||
QString sql = "select * from kmd_menu where is_navbar=1 order by sort,orig_name asc ;";
|
||||
if (!query.exec(sql))
|
||||
{
|
||||
return false;
|
||||
@ -906,7 +906,7 @@ bool SQLiteHelper::get_software(QList<ButtonStruct>* button_structs, ConfigRespo
|
||||
buffer = file.readAll();
|
||||
QJsonDocument result;
|
||||
result = QJsonDocument::fromJson(buffer);
|
||||
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//如果数据完整
|
||||
if (result.isObject()) {
|
||||
QJsonObject obj_root = result.object();
|
||||
QJsonArray array;
|
||||
@ -1003,19 +1003,19 @@ bool SQLiteHelper::get_software(QList<ButtonStruct>* button_structs, ConfigRespo
|
||||
|
||||
QSvgRenderer* render_image = new QSvgRenderer(*buffer);
|
||||
QPainter painter_image(image);
|
||||
painter_image.setCompositionMode(QPainter::CompositionMode_Clear); // <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
painter_image.fillRect(image->rect(), Qt::transparent); // <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
||||
painter_image.setCompositionMode(QPainter::CompositionMode_SourceOver); // <EFBFBD>ָ<EFBFBD>Ĭ<EFBFBD><EFBFBD>ֵ
|
||||
painter_image.setCompositionMode(QPainter::CompositionMode_Clear); // 清除画布
|
||||
painter_image.fillRect(image->rect(), Qt::transparent); // 填充透明色
|
||||
painter_image.setCompositionMode(QPainter::CompositionMode_SourceOver); // 恢复默认值
|
||||
render_image->render(&painter_image);
|
||||
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
||||
//修改颜色
|
||||
QDomDocument doc;
|
||||
doc.setContent(*buffer);
|
||||
SetSVGBackColor(doc.documentElement(), "path", "fill", title_cover_color);
|
||||
QSvgRenderer* render_image_cover = new QSvgRenderer(doc.toByteArray());
|
||||
QPainter painter_image_cover(image_cover);
|
||||
painter_image_cover.setCompositionMode(QPainter::CompositionMode_Clear); // <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
painter_image_cover.fillRect(image_cover->rect(), Qt::transparent); // <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
||||
painter_image_cover.setCompositionMode(QPainter::CompositionMode_SourceOver); // <EFBFBD>ָ<EFBFBD>Ĭ<EFBFBD><EFBFBD>ֵ
|
||||
painter_image_cover.setCompositionMode(QPainter::CompositionMode_Clear); // 清除画布
|
||||
painter_image_cover.fillRect(image_cover->rect(), Qt::transparent); // 填充透明色
|
||||
painter_image_cover.setCompositionMode(QPainter::CompositionMode_SourceOver); // 恢复默认值
|
||||
render_image_cover->render(&painter_image_cover);
|
||||
|
||||
delete render_image;
|
||||
@ -1048,19 +1048,19 @@ bool SQLiteHelper::get_software(QList<ButtonStruct>* button_structs, ConfigRespo
|
||||
file.close();
|
||||
QSvgRenderer* render_image = new QSvgRenderer(svg_buffer);
|
||||
QPainter painter_image(image);
|
||||
painter_image.setCompositionMode(QPainter::CompositionMode_Clear); // <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
painter_image.fillRect(image->rect(), Qt::transparent); // <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
||||
painter_image.setCompositionMode(QPainter::CompositionMode_SourceOver); // <EFBFBD>ָ<EFBFBD>Ĭ<EFBFBD><EFBFBD>ֵ
|
||||
painter_image.setCompositionMode(QPainter::CompositionMode_Clear); // 清除画布
|
||||
painter_image.fillRect(image->rect(), Qt::transparent); // 填充透明色
|
||||
painter_image.setCompositionMode(QPainter::CompositionMode_SourceOver); // 恢复默认值
|
||||
render_image->render(&painter_image);
|
||||
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
||||
//修改颜色
|
||||
QDomDocument doc;
|
||||
doc.setContent(svg_buffer);
|
||||
SetSVGBackColor(doc.documentElement(), "path", "fill", title_cover_color);
|
||||
QSvgRenderer* render_image_cover = new QSvgRenderer(doc.toByteArray());
|
||||
QPainter painter_image_cover(image_cover);
|
||||
painter_image_cover.setCompositionMode(QPainter::CompositionMode_Clear); // <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
painter_image_cover.fillRect(image_cover->rect(), Qt::transparent); // <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
||||
painter_image_cover.setCompositionMode(QPainter::CompositionMode_SourceOver); // <EFBFBD>ָ<EFBFBD>Ĭ<EFBFBD><EFBFBD>ֵ
|
||||
painter_image_cover.setCompositionMode(QPainter::CompositionMode_Clear); // 清除画布
|
||||
painter_image_cover.fillRect(image_cover->rect(), Qt::transparent); // 填充透明色
|
||||
painter_image_cover.setCompositionMode(QPainter::CompositionMode_SourceOver); // 恢复默认值
|
||||
render_image_cover->render(&painter_image_cover);
|
||||
|
||||
delete render_image;
|
||||
@ -1076,19 +1076,19 @@ bool SQLiteHelper::get_software(QList<ButtonStruct>* button_structs, ConfigRespo
|
||||
file.close();
|
||||
QSvgRenderer* render_image = new QSvgRenderer(svg_buffer);
|
||||
QPainter painter_image(image);
|
||||
painter_image.setCompositionMode(QPainter::CompositionMode_Clear); // <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
painter_image.fillRect(image->rect(), Qt::transparent); // <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
||||
painter_image.setCompositionMode(QPainter::CompositionMode_SourceOver); // <EFBFBD>ָ<EFBFBD>Ĭ<EFBFBD><EFBFBD>ֵ
|
||||
painter_image.setCompositionMode(QPainter::CompositionMode_Clear); // 清除画布
|
||||
painter_image.fillRect(image->rect(), Qt::transparent); // 填充透明色
|
||||
painter_image.setCompositionMode(QPainter::CompositionMode_SourceOver); // 恢复默认值
|
||||
render_image->render(&painter_image);
|
||||
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
||||
//修改颜色
|
||||
QDomDocument doc;
|
||||
doc.setContent(svg_buffer);
|
||||
SetSVGBackColor(doc.documentElement(), "path", "fill", title_cover_color);
|
||||
QSvgRenderer* render_image_cover = new QSvgRenderer(doc.toByteArray());
|
||||
QPainter painter_image_cover(image_cover);
|
||||
painter_image_cover.setCompositionMode(QPainter::CompositionMode_Clear); // <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
painter_image_cover.fillRect(image_cover->rect(), Qt::transparent); // <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
||||
painter_image_cover.setCompositionMode(QPainter::CompositionMode_SourceOver); // <EFBFBD>ָ<EFBFBD>Ĭ<EFBFBD><EFBFBD>ֵ
|
||||
painter_image_cover.setCompositionMode(QPainter::CompositionMode_Clear); // 清除画布
|
||||
painter_image_cover.fillRect(image_cover->rect(), Qt::transparent); // 填充透明色
|
||||
painter_image_cover.setCompositionMode(QPainter::CompositionMode_SourceOver); // 恢复默认值
|
||||
render_image_cover->render(&painter_image_cover);
|
||||
|
||||
delete render_image;
|
||||
@ -1258,7 +1258,7 @@ bool SQLiteHelper::insert_software(QString name, QString orig_name, QString path
|
||||
query.addBindValue(true);
|
||||
if(!query.exec())
|
||||
{
|
||||
//QMessageBox::critical(nullptr, QString::fromLocal8Bit("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"), QString::fromLocal8Bit("д<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>ʧ<EFBFBD><EFBFBD>"));
|
||||
//QMessageBox::critical(nullptr, QString::fromLocal8Bit("错误"), QString::fromLocal8Bit("写入数据库失败"));
|
||||
return false;
|
||||
}
|
||||
for (int i = 0; i < 8; i++)
|
||||
@ -1324,7 +1324,7 @@ bool SQLiteHelper::get_category(QList<Categrory>& categrories,bool is_edit,bool
|
||||
}
|
||||
while (query.next())
|
||||
{
|
||||
if (query.value("name") == QString::fromLocal8Bit("ȫ<EFBFBD><EFBFBD>"))
|
||||
if (query.value("name") == QString::fromLocal8Bit("全部"))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@ -1361,7 +1361,7 @@ bool SQLiteHelper::get_category(QList<Categrory>& categrories,bool is_edit,bool
|
||||
}
|
||||
while (query.next())
|
||||
{
|
||||
if (query.value("name") == QString::fromLocal8Bit("ȫ<EFBFBD><EFBFBD>"))
|
||||
if (query.value("name") == QString::fromLocal8Bit("全部"))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
Reference in New Issue
Block a user