更新部分样式
增加样式同系统深浅色保持同步
This commit is contained in:
parent
8ac8985bd4
commit
04aafbe408
1
res.qrc
1
res.qrc
@ -3,6 +3,7 @@
|
|||||||
<file>res/img/btn/btn_setting.png</file>
|
<file>res/img/btn/btn_setting.png</file>
|
||||||
<file>res/img/btn/btn_about.png</file>
|
<file>res/img/btn/btn_about.png</file>
|
||||||
<file>res/img/btn/btn_update.png</file>
|
<file>res/img/btn/btn_update.png</file>
|
||||||
|
<file>res/img/btn/btn_download.png</file>
|
||||||
<file>res/img/btn/net_ok.png</file>
|
<file>res/img/btn/net_ok.png</file>
|
||||||
<file>res/img/btn/net_error.png</file>
|
<file>res/img/btn/net_error.png</file>
|
||||||
<file>res/img/btn/net_wait.png</file>
|
<file>res/img/btn/net_wait.png</file>
|
||||||
|
BIN
res/img/btn/btn_download.png
Normal file
BIN
res/img/btn/btn_download.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 439 B |
@ -12,6 +12,11 @@ QLabel{
|
|||||||
color:#F2F2F2;
|
color:#F2F2F2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QPushButton#BTN_DOWNLOAD{
|
||||||
|
width:25px;
|
||||||
|
height:25px;
|
||||||
|
image:url(":/res/img/btn/btn_download.png");
|
||||||
|
}
|
||||||
QPushButton#BTN_SETS{
|
QPushButton#BTN_SETS{
|
||||||
width:25px;
|
width:25px;
|
||||||
height:25px;
|
height:25px;
|
||||||
|
@ -1,7 +1,3 @@
|
|||||||
QWidget#m_widget{
|
|
||||||
background-color: #F3F3F3;
|
|
||||||
color:#2F4F4F;
|
|
||||||
}
|
|
||||||
QWidget#m_widget{
|
QWidget#m_widget{
|
||||||
border-radius:10px;
|
border-radius:10px;
|
||||||
background-color: #F3F3F3;
|
background-color: #F3F3F3;
|
||||||
@ -22,6 +18,11 @@ QPushButton:hover{
|
|||||||
padding-top:1px;
|
padding-top:1px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QPushButton#BTN_DOWNLOAD{
|
||||||
|
width:25px;
|
||||||
|
height:25px;
|
||||||
|
image:url(":/res/img/btn/btn_download.png");
|
||||||
|
}
|
||||||
QPushButton#BTN_SETS{
|
QPushButton#BTN_SETS{
|
||||||
width:25px;
|
width:25px;
|
||||||
height:25px;
|
height:25px;
|
||||||
|
@ -18,6 +18,10 @@ int main(int argc, char *argv[])
|
|||||||
xsteam_init_opts();
|
xsteam_init_opts();
|
||||||
xsteam_ui x;
|
xsteam_ui x;
|
||||||
x.xsteam_init_layout();
|
x.xsteam_init_layout();
|
||||||
|
//仅限于windows平台
|
||||||
|
#if defined(__WIN32__)
|
||||||
|
x.title()->set_type(QD_TYPE::QD_EXIT);
|
||||||
|
#endif
|
||||||
x.show();
|
x.show();
|
||||||
return a.exec();
|
return a.exec();
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#include "sui.h"
|
#include "sui.h"
|
||||||
sui::sui(QDialog *parent)
|
sui::sui(QWidget *parent)
|
||||||
: QDialog(parent),
|
: QWidget(parent),
|
||||||
m_widget(new QDialog),
|
m_widget(new QDialog),
|
||||||
m_layout(new QVBoxLayout),
|
m_layout(new QVBoxLayout),
|
||||||
m_press(false),
|
m_press(false),
|
||||||
|
@ -9,11 +9,11 @@
|
|||||||
#pragma execution_character_set("utf-8")
|
#pragma execution_character_set("utf-8")
|
||||||
#endif
|
#endif
|
||||||
#include "sui_title.h"
|
#include "sui_title.h"
|
||||||
class sui : public QDialog
|
class sui : public QWidget
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
explicit sui(QDialog *parent = 0);
|
explicit sui(QWidget *parent = 0);
|
||||||
~sui();
|
~sui();
|
||||||
sui_title* title() { return m_title; }
|
sui_title* title() { return m_title; }
|
||||||
private:
|
private:
|
||||||
|
30
src/sui_sys_style.cpp
Normal file
30
src/sui_sys_style.cpp
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
#include "sui_sys_style.h"
|
||||||
|
|
||||||
|
sui_sys_style::sui_sys_style(QObject *parent) : QObject(parent)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
sui_sys_style::~sui_sys_style()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
void sui_sys_style::slots_sys_style_thread()
|
||||||
|
{
|
||||||
|
//获取系统注册表信息
|
||||||
|
QSettings style_set(QSettings::UserScope, "Microsoft", "Windows\\CurrentVersion\\Themes\\Personalize");
|
||||||
|
//当前系统主题状态,默认0-深色主题,1-浅色主题
|
||||||
|
bool isDark=true;
|
||||||
|
while (true)
|
||||||
|
{
|
||||||
|
//跟随功能是否开启,0-关闭,1-开启 采用bool类型
|
||||||
|
if (state)
|
||||||
|
{
|
||||||
|
//判断当前临时isDark状态是否和系统主题一致&不一致则更新当前软件主题
|
||||||
|
if (isDark != !style_set.value("AppsUseLightTheme").toBool())
|
||||||
|
{
|
||||||
|
emit signals_sys_style_change(!style_set.value("AppsUseLightTheme").toInt());
|
||||||
|
isDark = !style_set.value("AppsUseLightTheme").toBool();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//刷新间隔5秒
|
||||||
|
QThread::sleep(5);
|
||||||
|
}
|
||||||
|
}
|
20
src/sui_sys_style.h
Normal file
20
src/sui_sys_style.h
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
#ifndef SUI_SYS_STYLE_H
|
||||||
|
#define SUI_SYS_STYLE_H
|
||||||
|
|
||||||
|
#include<QObject>
|
||||||
|
#include<QThread>
|
||||||
|
#include<QSettings>
|
||||||
|
|
||||||
|
class sui_sys_style:public QObject
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
explicit sui_sys_style(QObject *parent = nullptr);
|
||||||
|
~sui_sys_style();
|
||||||
|
bool state;
|
||||||
|
public slots:
|
||||||
|
void slots_sys_style_thread();
|
||||||
|
signals:
|
||||||
|
void signals_sys_style_change(int);
|
||||||
|
};
|
||||||
|
#endif
|
@ -3,10 +3,10 @@ sui_title::sui_title(QWidget *parent)
|
|||||||
: QWidget(parent),
|
: QWidget(parent),
|
||||||
m_menu(nullptr),
|
m_menu(nullptr),
|
||||||
s_menu(nullptr),
|
s_menu(nullptr),
|
||||||
f_menu(nullptr)
|
f_menu(nullptr),
|
||||||
|
m_type(QD_TYPE::QD_EXIT)
|
||||||
{
|
{
|
||||||
m_parent = parent;
|
m_parent = parent;
|
||||||
m_type = QD_TYPE::QD_EXIT;
|
|
||||||
// 给成员变量申请内存
|
// 给成员变量申请内存
|
||||||
m_icon_button = new QPushButton(/*this*/);
|
m_icon_button = new QPushButton(/*this*/);
|
||||||
m_min_button = new QPushButton(this);
|
m_min_button = new QPushButton(this);
|
||||||
@ -65,25 +65,12 @@ sui_title::sui_title(QWidget *parent)
|
|||||||
}
|
}
|
||||||
sui_title::~sui_title()
|
sui_title::~sui_title()
|
||||||
{
|
{
|
||||||
|
if(m_thread){
|
||||||
|
m_thread->quit();
|
||||||
|
m_thread->exit();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
void sui_title::auto_style()
|
|
||||||
{
|
|
||||||
QFuture<void> future = QtConcurrent::run([=]()
|
|
||||||
{
|
|
||||||
QSettings style_set(QSettings::UserScope, "Microsoft", "Windows\\CurrentVersion\\Themes\\Personalize");
|
|
||||||
bool isDark;
|
|
||||||
while (true)
|
|
||||||
{
|
|
||||||
isDark= !style_set.value("AppsUseLightTheme").toBool();
|
|
||||||
if(isDark){
|
|
||||||
change_style(0);
|
|
||||||
}else{
|
|
||||||
change_style(1);
|
|
||||||
}
|
|
||||||
QThread::sleep(5);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
void sui_title::connect_slots()
|
void sui_title::connect_slots()
|
||||||
{
|
{
|
||||||
// 连接三个按钮的信号槽3
|
// 连接三个按钮的信号槽3
|
||||||
@ -106,13 +93,33 @@ void sui_title::slots_ico_menu()
|
|||||||
QAction *s_Action = new QAction(sName, s_QGroup);
|
QAction *s_Action = new QAction(sName, s_QGroup);
|
||||||
s_Action->setObjectName(QString::number(i));
|
s_Action->setObjectName(QString::number(i));
|
||||||
s_Action->setCheckable(true);
|
s_Action->setCheckable(true);
|
||||||
|
if (_data.x_config.style_system)
|
||||||
|
{
|
||||||
|
s_Action->setEnabled(false);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
connect(s_Action, SIGNAL(triggered(bool)), this, SLOT(slots_set_style_change()));
|
||||||
|
}
|
||||||
if (i == _data.x_config.style)
|
if (i == _data.x_config.style)
|
||||||
{
|
{
|
||||||
s_Action->setChecked(true);
|
s_Action->setChecked(true);
|
||||||
}
|
}
|
||||||
connect(s_Action, SIGNAL(triggered(bool)), this, SLOT(slots_set_style_change()));
|
|
||||||
s_menu->addAction(s_Action);
|
s_menu->addAction(s_Action);
|
||||||
}
|
}
|
||||||
|
QAction *separator = new QAction(nullptr);
|
||||||
|
separator->setSeparator(true);
|
||||||
|
s_menu->addAction(separator);
|
||||||
|
QActionGroup *t_group = new QActionGroup(this);
|
||||||
|
QAction *t_action = new QAction("跟随系统", t_group);
|
||||||
|
t_action->setObjectName("track_system");
|
||||||
|
t_action->setCheckable(true);
|
||||||
|
if (_data.x_config.style_system)
|
||||||
|
{
|
||||||
|
t_action->setChecked(true);
|
||||||
|
}
|
||||||
|
connect(t_action, SIGNAL(triggered(bool)), this, SLOT(slots_style_system()));
|
||||||
|
s_menu->addAction(t_action);
|
||||||
}
|
}
|
||||||
// 字体
|
// 字体
|
||||||
if (!f_menu)
|
if (!f_menu)
|
||||||
@ -149,7 +156,29 @@ void sui_title::slots_ico_menu()
|
|||||||
m_menu->addMenu(f_menu);
|
m_menu->addMenu(f_menu);
|
||||||
m_menu->exec(QCursor::pos());
|
m_menu->exec(QCursor::pos());
|
||||||
delete m_menu;
|
delete m_menu;
|
||||||
|
delete s_menu;
|
||||||
|
delete f_menu;
|
||||||
m_menu = nullptr;
|
m_menu = nullptr;
|
||||||
|
s_menu = nullptr;
|
||||||
|
f_menu = nullptr;
|
||||||
|
}
|
||||||
|
void sui_title::slots_style_system()
|
||||||
|
{
|
||||||
|
if (sender() != nullptr)
|
||||||
|
{
|
||||||
|
if (_data.x_config.style_system)
|
||||||
|
{
|
||||||
|
_data.x_config.style_system = 0;
|
||||||
|
m_style->state=0;
|
||||||
|
((QAction *)sender())->setChecked(false);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_data.x_config.style_system = 1;
|
||||||
|
m_style->state=1;
|
||||||
|
((QAction *)sender())->setChecked(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
void sui_title::set_font_style()
|
void sui_title::set_font_style()
|
||||||
{
|
{
|
||||||
@ -205,7 +234,6 @@ void sui_title::slots_set_font_change()
|
|||||||
{
|
{
|
||||||
qDebug() << "Failed to load font.";
|
qDebug() << "Failed to load font.";
|
||||||
}
|
}
|
||||||
|
|
||||||
change_style(_data.x_config.style);
|
change_style(_data.x_config.style);
|
||||||
}
|
}
|
||||||
void sui_title::change_style(int index)
|
void sui_title::change_style(int index)
|
||||||
@ -215,12 +243,13 @@ void sui_title::change_style(int index)
|
|||||||
QFile qss(style);
|
QFile qss(style);
|
||||||
if (qss.open(QFile::ReadOnly))
|
if (qss.open(QFile::ReadOnly))
|
||||||
{
|
{
|
||||||
QString styleSheet = this->styleSheet();
|
QString _styleSheet = QLatin1String(qss.readAll());
|
||||||
styleSheet += QLatin1String(qss.readAll());
|
m_parent->setStyleSheet("");
|
||||||
m_parent->setStyleSheet(styleSheet);
|
m_parent->setStyleSheet(_styleSheet);
|
||||||
|
QApplication::setStyle("Fusion");
|
||||||
}
|
}
|
||||||
qss.close();
|
qss.close();
|
||||||
m_parent->update();
|
//m_parent->update();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 双击标题栏进行界面的最大化/还原
|
// 双击标题栏进行界面的最大化/还原
|
||||||
@ -287,7 +316,20 @@ void sui_title::up_maximize()
|
|||||||
void sui_title::set_type(QD_TYPE _type)
|
void sui_title::set_type(QD_TYPE _type)
|
||||||
{
|
{
|
||||||
m_type = _type;
|
m_type = _type;
|
||||||
disconnect(m_icon_button, SIGNAL(clicked(bool)), this, SLOT(slots_ico_menu()));
|
if (m_type)
|
||||||
|
{
|
||||||
|
//启动系统主题监听线程
|
||||||
|
m_style = new sui_sys_style();
|
||||||
|
m_thread=new QThread();
|
||||||
|
m_style->moveToThread(m_thread);
|
||||||
|
connect(m_style, SIGNAL(signals_sys_style_change(int)), this, SLOT(change_style(int)));
|
||||||
|
connect(m_thread, SIGNAL(started()), m_style, SLOT(slots_sys_style_thread()));
|
||||||
|
m_thread->start();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
disconnect(m_icon_button, SIGNAL(clicked(bool)), this, SLOT(slots_ico_menu()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
void sui_title::set_title(QString str)
|
void sui_title::set_title(QString str)
|
||||||
{
|
{
|
||||||
|
@ -19,7 +19,10 @@
|
|||||||
#include <QStyleFactory>
|
#include <QStyleFactory>
|
||||||
#include <QtConcurrent/QtConcurrent>
|
#include <QtConcurrent/QtConcurrent>
|
||||||
#include "xsteam_ex.h"
|
#include "xsteam_ex.h"
|
||||||
|
#include "sui_sys_style.h"
|
||||||
|
|
||||||
|
//QD_CLOSE->表示子窗口状态
|
||||||
|
//QD_EXIT->表示主窗口状态
|
||||||
typedef enum{
|
typedef enum{
|
||||||
QD_CLOSE,
|
QD_CLOSE,
|
||||||
QD_EXIT
|
QD_EXIT
|
||||||
@ -42,10 +45,8 @@ private slots:
|
|||||||
void on_clicked();
|
void on_clicked();
|
||||||
private:
|
private:
|
||||||
//最大化/还原
|
//最大化/还原
|
||||||
void up_maximize();
|
void up_maximize();
|
||||||
void change_style(int);
|
|
||||||
void connect_slots();
|
void connect_slots();
|
||||||
void auto_style();
|
|
||||||
private:
|
private:
|
||||||
QWidget *m_parent;
|
QWidget *m_parent;
|
||||||
QHBoxLayout *m_layout;
|
QHBoxLayout *m_layout;
|
||||||
@ -59,10 +60,14 @@ private:
|
|||||||
QMenu* s_menu;
|
QMenu* s_menu;
|
||||||
QMenu* f_menu;
|
QMenu* f_menu;
|
||||||
QD_TYPE m_type;
|
QD_TYPE m_type;
|
||||||
|
QThread* m_thread=nullptr;
|
||||||
|
sui_sys_style* m_style=nullptr;
|
||||||
public slots:
|
public slots:
|
||||||
void slots_ico_menu();
|
void slots_ico_menu();
|
||||||
void slots_set_style_change();
|
void slots_set_style_change();
|
||||||
void slots_set_font_change();
|
void slots_set_font_change();
|
||||||
|
void slots_style_system();
|
||||||
|
void change_style(int);
|
||||||
signals:
|
signals:
|
||||||
void signals_close();
|
void signals_close();
|
||||||
};
|
};
|
||||||
|
@ -25,6 +25,7 @@ public:
|
|||||||
_instance = new xsteam_about_ui();
|
_instance = new xsteam_about_ui();
|
||||||
_instance->title()->set_type(QD_CLOSE);
|
_instance->title()->set_type(QD_CLOSE);
|
||||||
_instance->title()->set_title(tr("XSteam关于"));
|
_instance->title()->set_title(tr("XSteam关于"));
|
||||||
|
_instance->setWindowTitle(tr("XSteam关于"));
|
||||||
}
|
}
|
||||||
mutex.unlock();
|
mutex.unlock();
|
||||||
}
|
}
|
||||||
|
@ -61,8 +61,9 @@ typedef struct
|
|||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
int style = 0;
|
int style = 0;
|
||||||
|
int style_system=0;
|
||||||
int font = 0;
|
int font = 0;
|
||||||
int font_bold=0;
|
int font_bold=0;
|
||||||
std::string steam_dir={};
|
std::string steam_dir={};
|
||||||
std::string steamtools_dir={};
|
std::string steamtools_dir={};
|
||||||
std::string steamtools_st_dir={};
|
std::string steamtools_st_dir={};
|
||||||
|
@ -23,7 +23,7 @@ QStringList ex_default_src_name = {QStringLiteral("ikun0014"),
|
|||||||
QStringLiteral("fast_ManifestHub ")
|
QStringLiteral("fast_ManifestHub ")
|
||||||
};
|
};
|
||||||
|
|
||||||
QStringList ex_default_src_url = {QStringLiteral("https://github.com/ikun0014/ManifestHub"),
|
QStringList ex_default_src_url = {QStringLiteral("https://github.com/ikun0014/ManifestHub.git"),
|
||||||
QStringLiteral("https://github.com/ManifestHub/ManifestHub.git"),
|
QStringLiteral("https://github.com/ManifestHub/ManifestHub.git"),
|
||||||
QStringLiteral("https://githubfast.com/ikun0014/ManifestHub.git"),
|
QStringLiteral("https://githubfast.com/ikun0014/ManifestHub.git"),
|
||||||
QStringLiteral("https://githubfast.com/ManifestHub/ManifestHub.git"),
|
QStringLiteral("https://githubfast.com/ManifestHub/ManifestHub.git"),
|
||||||
|
@ -347,6 +347,7 @@ void xsteam_data_unserialize()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
_data.x_config.style = j3.at("xsteam_sets").at("style");
|
_data.x_config.style = j3.at("xsteam_sets").at("style");
|
||||||
|
_data.x_config.style_system = j3.at("xsteam_sets").at("style_system");
|
||||||
_data.x_config.font = j3.at("xsteam_sets").at("font");
|
_data.x_config.font = j3.at("xsteam_sets").at("font");
|
||||||
_data.x_config.font_bold = j3.at("xsteam_sets").at("font_bold");
|
_data.x_config.font_bold = j3.at("xsteam_sets").at("font_bold");
|
||||||
_data.x_config.steam_dir = j3.at("xsteam_sets").at("steam_dir");
|
_data.x_config.steam_dir = j3.at("xsteam_sets").at("steam_dir");
|
||||||
@ -372,6 +373,7 @@ void xsteam_data_unserialize()
|
|||||||
_data.x_config.font = 0;
|
_data.x_config.font = 0;
|
||||||
_data.x_config.font_bold = 0;
|
_data.x_config.font_bold = 0;
|
||||||
_data.x_config.style = 1;
|
_data.x_config.style = 1;
|
||||||
|
_data.x_config.style_system = 0;
|
||||||
QSettings settings("HKEY_CURRENT_USER\\Software\\Valve\\Steam", QSettings::NativeFormat);
|
QSettings settings("HKEY_CURRENT_USER\\Software\\Valve\\Steam", QSettings::NativeFormat);
|
||||||
_data.x_config.steam_dir = (settings.value("SteamPath", "").toString()).toStdString();
|
_data.x_config.steam_dir = (settings.value("SteamPath", "").toString()).toStdString();
|
||||||
_data.x_config.steam_api_url = "https://store.steampowered.com/api/appdetails/?appids=";
|
_data.x_config.steam_api_url = "https://store.steampowered.com/api/appdetails/?appids=";
|
||||||
@ -432,6 +434,7 @@ json xsteam_data_serialize(json jsonData)
|
|||||||
}
|
}
|
||||||
jsonData[toStr(xsteam_sets)][toStr(style)] = _data.x_config.style;
|
jsonData[toStr(xsteam_sets)][toStr(style)] = _data.x_config.style;
|
||||||
jsonData[toStr(xsteam_sets)][toStr(font)] = _data.x_config.font;
|
jsonData[toStr(xsteam_sets)][toStr(font)] = _data.x_config.font;
|
||||||
|
jsonData[toStr(xsteam_sets)][toStr(style_system)] = _data.x_config.style_system;
|
||||||
jsonData[toStr(xsteam_sets)][toStr(font_bold)] = _data.x_config.font_bold;
|
jsonData[toStr(xsteam_sets)][toStr(font_bold)] = _data.x_config.font_bold;
|
||||||
jsonData[toStr(xsteam_sets)][toStr(steam_dir)] = _data.x_config.steam_dir;
|
jsonData[toStr(xsteam_sets)][toStr(steam_dir)] = _data.x_config.steam_dir;
|
||||||
jsonData[toStr(xsteam_sets)][toStr(steamtools_dir)] = _data.x_config.steamtools_dir;
|
jsonData[toStr(xsteam_sets)][toStr(steamtools_dir)] = _data.x_config.steamtools_dir;
|
||||||
|
@ -29,6 +29,7 @@ public:
|
|||||||
_instance = new xsteam_set_ui();
|
_instance = new xsteam_set_ui();
|
||||||
_instance->title()->set_type(QD_CLOSE);
|
_instance->title()->set_type(QD_CLOSE);
|
||||||
_instance->title()->set_title(tr("XSteam设置"));
|
_instance->title()->set_title(tr("XSteam设置"));
|
||||||
|
_instance->setWindowTitle(tr("XSteam设置"));
|
||||||
}
|
}
|
||||||
mutex.unlock();
|
mutex.unlock();
|
||||||
}
|
}
|
||||||
|
@ -14,7 +14,7 @@ void xsteam_src_edit_ui::init_src_edit_ui()
|
|||||||
{
|
{
|
||||||
src_group = new QGroupBox(tr("源信息表"));
|
src_group = new QGroupBox(tr("源信息表"));
|
||||||
src_group->setObjectName("SRC_GROUP");
|
src_group->setObjectName("SRC_GROUP");
|
||||||
|
|
||||||
gr_Layout = new QVBoxLayout();
|
gr_Layout = new QVBoxLayout();
|
||||||
foot_Layout = new QHBoxLayout;
|
foot_Layout = new QHBoxLayout;
|
||||||
m_Table = new QTableView;
|
m_Table = new QTableView;
|
||||||
|
@ -33,6 +33,7 @@ public:
|
|||||||
_instance = new xsteam_src_edit_ui();
|
_instance = new xsteam_src_edit_ui();
|
||||||
_instance->title()->set_type(QD_CLOSE);
|
_instance->title()->set_type(QD_CLOSE);
|
||||||
_instance->title()->set_title(tr("XSteam源地址管理"));
|
_instance->title()->set_title(tr("XSteam源地址管理"));
|
||||||
|
_instance->setWindowTitle(tr("XSteam源地址管理"));
|
||||||
}
|
}
|
||||||
mutex.unlock();
|
mutex.unlock();
|
||||||
}
|
}
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
#include "xsteam_ui.h"
|
#include "xsteam_ui.h"
|
||||||
xsteam_ui::xsteam_ui()
|
xsteam_ui::xsteam_ui()
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
xsteam_ui::~xsteam_ui()
|
xsteam_ui::~xsteam_ui()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
void xsteam_ui::xsteam_init_layout(){
|
void xsteam_ui::xsteam_init_layout()
|
||||||
|
{
|
||||||
xsteam_init_info_layout();
|
xsteam_init_info_layout();
|
||||||
xsteam_init_mind_layout();
|
xsteam_init_mind_layout();
|
||||||
xsteam_init_foot_layout();
|
xsteam_init_foot_layout();
|
||||||
@ -31,7 +31,7 @@ void xsteam_ui::xsteam_init_main_layout()
|
|||||||
{
|
{
|
||||||
layout()->addWidget(mind_widget);
|
layout()->addWidget(mind_widget);
|
||||||
layout()->addWidget(foot_widget);
|
layout()->addWidget(foot_widget);
|
||||||
layout()->setSpacing(0);
|
layout()->setSpacing(2);
|
||||||
layout()->setContentsMargins(5, 5, 5, 5);
|
layout()->setContentsMargins(5, 5, 5, 5);
|
||||||
}
|
}
|
||||||
void xsteam_ui::xsteam_init_info_layout()
|
void xsteam_ui::xsteam_init_info_layout()
|
||||||
@ -45,13 +45,13 @@ void xsteam_ui::xsteam_init_info_layout()
|
|||||||
}
|
}
|
||||||
void xsteam_ui::xsteam_init_mind_layout()
|
void xsteam_ui::xsteam_init_mind_layout()
|
||||||
{
|
{
|
||||||
mind_widget=new QWidget();
|
mind_widget = new QWidget();
|
||||||
mind_layout=new QVBoxLayout();
|
mind_layout = new QVBoxLayout();
|
||||||
server_layout = new QHBoxLayout();
|
server_layout = new QHBoxLayout();
|
||||||
server_tag = new QLabel(tr("源数据:"));
|
server_tag = new QLabel(tr("源数据:"));
|
||||||
server_tag->setObjectName("SRC_SERVER");
|
server_tag->setObjectName("SRC_SERVER");
|
||||||
server_txt = new QComboBox();
|
server_txt = new QComboBox();
|
||||||
server_state=new QLabel();
|
server_state = new QLabel();
|
||||||
btn_server_edit = new QPushButton(tr("编辑源"));
|
btn_server_edit = new QPushButton(tr("编辑源"));
|
||||||
btn_server_edit->setObjectName("EDIT");
|
btn_server_edit->setObjectName("EDIT");
|
||||||
btn_fetch_src_data = new QPushButton(tr("拉取"));
|
btn_fetch_src_data = new QPushButton(tr("拉取"));
|
||||||
@ -145,12 +145,12 @@ void xsteam_ui::xsteam_init_mind_layout()
|
|||||||
mind_layout->addLayout(info_layout);
|
mind_layout->addLayout(info_layout);
|
||||||
mind_layout->addLayout(ip_data_layout);
|
mind_layout->addLayout(ip_data_layout);
|
||||||
mind_layout->setContentsMargins(5, 0, 5, 0);
|
mind_layout->setContentsMargins(5, 0, 5, 0);
|
||||||
mind_widget->setLayout(mind_layout);
|
mind_widget->setLayout(mind_layout);
|
||||||
}
|
}
|
||||||
void xsteam_ui::xsteam_init_foot_layout()
|
void xsteam_ui::xsteam_init_foot_layout()
|
||||||
{
|
{
|
||||||
foot_widget=new QWidget();
|
foot_widget = new QWidget();
|
||||||
foot_layout=new QHBoxLayout();
|
foot_layout = new QHBoxLayout();
|
||||||
foot_status_data_layout = new QHBoxLayout();
|
foot_status_data_layout = new QHBoxLayout();
|
||||||
version_tips = new QLabel(tr("version:"));
|
version_tips = new QLabel(tr("version:"));
|
||||||
version_tips->setObjectName("VERSION_TIPS");
|
version_tips->setObjectName("VERSION_TIPS");
|
||||||
@ -160,14 +160,18 @@ void xsteam_ui::xsteam_init_foot_layout()
|
|||||||
state_tips_txt->setObjectName("STATE_TIPS");
|
state_tips_txt->setObjectName("STATE_TIPS");
|
||||||
state_tips_txt->setAlignment(Qt::AlignCenter);
|
state_tips_txt->setAlignment(Qt::AlignCenter);
|
||||||
|
|
||||||
|
btn_xs_download = new QPushButton();
|
||||||
|
btn_xs_download->setMaximumSize(25, 25);
|
||||||
|
btn_xs_download->setObjectName(tr("BTN_DOWNLOAD"));
|
||||||
|
|
||||||
btn_xs_sets = new QPushButton();
|
btn_xs_sets = new QPushButton();
|
||||||
btn_xs_sets->setMaximumSize(25, 25);
|
btn_xs_sets->setMaximumSize(25, 25);
|
||||||
btn_xs_sets->setObjectName(tr("BTN_SETS"));
|
btn_xs_sets->setObjectName(tr("BTN_SETS"));
|
||||||
|
|
||||||
btn_xs_update = new QPushButton();
|
btn_xs_update = new QPushButton();
|
||||||
btn_xs_update->setMaximumSize(25, 25);
|
btn_xs_update->setMaximumSize(25, 25);
|
||||||
btn_xs_update->setObjectName(tr("BTN_UPDATE"));
|
btn_xs_update->setObjectName(tr("BTN_UPDATE"));
|
||||||
|
|
||||||
btn_xs_about = new QPushButton();
|
btn_xs_about = new QPushButton();
|
||||||
btn_xs_about->setMaximumSize(25, 25);
|
btn_xs_about->setMaximumSize(25, 25);
|
||||||
btn_xs_about->setObjectName(tr("BTN_ABOUT"));
|
btn_xs_about->setObjectName(tr("BTN_ABOUT"));
|
||||||
@ -179,11 +183,12 @@ void xsteam_ui::xsteam_init_foot_layout()
|
|||||||
foot_status_data_layout->addWidget(state_tips_txt);
|
foot_status_data_layout->addWidget(state_tips_txt);
|
||||||
foot_status_data_layout->addItem(sparcer_item);
|
foot_status_data_layout->addItem(sparcer_item);
|
||||||
|
|
||||||
|
foot_status_data_layout->addWidget(btn_xs_download);
|
||||||
foot_status_data_layout->addWidget(btn_xs_sets);
|
foot_status_data_layout->addWidget(btn_xs_sets);
|
||||||
foot_status_data_layout->addWidget(btn_xs_update);
|
foot_status_data_layout->addWidget(btn_xs_update);
|
||||||
foot_status_data_layout->addWidget(btn_xs_about);
|
foot_status_data_layout->addWidget(btn_xs_about);
|
||||||
foot_layout->addLayout(foot_status_data_layout);
|
foot_layout->addLayout(foot_status_data_layout);
|
||||||
foot_layout->setContentsMargins(10, 0, 10, 0);
|
foot_layout->setContentsMargins(5, 0, 5, 0);
|
||||||
foot_widget->setLayout(foot_layout);
|
foot_widget->setLayout(foot_layout);
|
||||||
xs_git_fetch = new xsteam_git_fetch();
|
xs_git_fetch = new xsteam_git_fetch();
|
||||||
}
|
}
|
||||||
@ -217,8 +222,8 @@ void xsteam_ui::slots_change_src_state(int index)
|
|||||||
{
|
{
|
||||||
QPixmap xs_pixmap;
|
QPixmap xs_pixmap;
|
||||||
std::string url;
|
std::string url;
|
||||||
xs_pixmap.load(":res/img/btn/net_wait.png");
|
xs_pixmap.load(":res/img/btn/net_wait.png");
|
||||||
xs_pixmap = xs_pixmap.scaled(20,20,Qt::KeepAspectRatio,Qt::SmoothTransformation);
|
xs_pixmap = xs_pixmap.scaled(20, 20, Qt::KeepAspectRatio, Qt::SmoothTransformation);
|
||||||
server_state->setPixmap(xs_pixmap);
|
server_state->setPixmap(xs_pixmap);
|
||||||
for (auto &i : _data.s_data)
|
for (auto &i : _data.s_data)
|
||||||
{
|
{
|
||||||
@ -230,7 +235,8 @@ void xsteam_ui::slots_change_src_state(int index)
|
|||||||
}
|
}
|
||||||
if (url != "")
|
if (url != "")
|
||||||
{
|
{
|
||||||
QFuture<void> future = QtConcurrent::run([=](std::string _url,QPixmap _pixmap) {
|
QFuture<void> future = QtConcurrent::run([=](std::string _url, QPixmap _pixmap)
|
||||||
|
{
|
||||||
xsteam_curl* xs_curl=new xsteam_curl();
|
xsteam_curl* xs_curl=new xsteam_curl();
|
||||||
if(xs_curl->get_url_state(_url)){
|
if(xs_curl->get_url_state(_url)){
|
||||||
_pixmap.load(":/res/img/btn/net_ok.png");
|
_pixmap.load(":/res/img/btn/net_ok.png");
|
||||||
@ -240,8 +246,7 @@ void xsteam_ui::slots_change_src_state(int index)
|
|||||||
_pixmap=_pixmap.scaled(20,20,Qt::KeepAspectRatio,Qt::SmoothTransformation);
|
_pixmap=_pixmap.scaled(20,20,Qt::KeepAspectRatio,Qt::SmoothTransformation);
|
||||||
server_state->setPixmap(_pixmap);
|
server_state->setPixmap(_pixmap);
|
||||||
delete xs_curl;
|
delete xs_curl;
|
||||||
xs_curl=nullptr;
|
xs_curl=nullptr; }, url, xs_pixmap);
|
||||||
},url,xs_pixmap);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
void xsteam_ui::slots_get_uid_dlcs()
|
void xsteam_ui::slots_get_uid_dlcs()
|
||||||
@ -485,42 +490,57 @@ void xsteam_ui::slots_run_steam_steamtools()
|
|||||||
void xsteam_ui::slots_push_manifest()
|
void xsteam_ui::slots_push_manifest()
|
||||||
{
|
{
|
||||||
xs_push_manifest = xsteam_push_manifest::Instance();
|
xs_push_manifest = xsteam_push_manifest::Instance();
|
||||||
xs_push_manifest->setMaximumSize(width(),height() - 25);
|
if (!xs_push_manifest->isVisible())
|
||||||
xs_push_manifest->setGeometry(geometry());
|
{
|
||||||
xs_push_manifest->exec();
|
xs_push_manifest->setMaximumSize(width(), height() - 25);
|
||||||
|
xs_push_manifest->setGeometry(geometry());
|
||||||
|
xs_push_manifest->show();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
void xsteam_ui::slots_open_server_edit()
|
void xsteam_ui::slots_open_server_edit()
|
||||||
{
|
{
|
||||||
xs_src_edit_ui = xsteam_src_edit_ui::Instance();
|
xs_src_edit_ui = xsteam_src_edit_ui::Instance();
|
||||||
xs_src_edit_ui->setMaximumSize(width(), height());
|
if (!xs_src_edit_ui->isVisible())
|
||||||
xs_src_edit_ui->setGeometry(geometry());
|
{
|
||||||
connect(xs_src_edit_ui, SIGNAL(signals_update()), this, SLOT(slots_server_combobox_load_data()));
|
xs_src_edit_ui->setMaximumSize(width(), height());
|
||||||
xs_src_edit_ui->title()->set_font_style();
|
xs_src_edit_ui->setGeometry(geometry());
|
||||||
xs_src_edit_ui->exec();
|
connect(xs_src_edit_ui, SIGNAL(signals_update()), this, SLOT(slots_server_combobox_load_data()));
|
||||||
|
xs_src_edit_ui->title()->set_font_style();
|
||||||
|
xs_src_edit_ui->show();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
void xsteam_ui::slots_open_update()
|
void xsteam_ui::slots_open_update()
|
||||||
{
|
{
|
||||||
xs_update_ui = xsteam_update_ui::Instance();
|
xs_update_ui = xsteam_update_ui::Instance();
|
||||||
xs_update_ui->setMaximumSize(width()/2, height());
|
if (!xs_update_ui->isVisible())
|
||||||
xs_update_ui->setGeometry(geometry());
|
{
|
||||||
xs_update_ui->title()->set_font_style();
|
xs_update_ui->setMaximumSize(width() / 2, height());
|
||||||
xs_update_ui->exec();
|
xs_update_ui->setGeometry(geometry());
|
||||||
|
xs_update_ui->title()->set_font_style();
|
||||||
|
xs_update_ui->show();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
void xsteam_ui::slots_open_setting()
|
void xsteam_ui::slots_open_setting()
|
||||||
{
|
{
|
||||||
xs_sets_ui = xsteam_set_ui::Instance();
|
xs_sets_ui = xsteam_set_ui::Instance();
|
||||||
xs_sets_ui->setMaximumSize(width(), height());
|
if (!xs_sets_ui->isVisible())
|
||||||
xs_sets_ui->setGeometry(geometry());
|
{
|
||||||
xs_sets_ui->title()->set_font_style();
|
xs_sets_ui->setMaximumSize(width(), height());
|
||||||
xs_sets_ui->exec();
|
xs_sets_ui->setGeometry(geometry());
|
||||||
|
xs_sets_ui->title()->set_font_style();
|
||||||
|
xs_sets_ui->show();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
void xsteam_ui::slots_open_about()
|
void xsteam_ui::slots_open_about()
|
||||||
{
|
{
|
||||||
xs_about_ui = xsteam_about_ui::Instance();
|
xs_about_ui = xsteam_about_ui::Instance();
|
||||||
xs_about_ui->setMaximumSize(width()/2, height());
|
if (!xs_about_ui->isVisible())
|
||||||
xs_about_ui->setGeometry(geometry());
|
{
|
||||||
xs_about_ui->title()->set_font_style();
|
xs_about_ui->setMaximumSize(width() / 2, height());
|
||||||
xs_about_ui->exec();
|
xs_about_ui->setGeometry(geometry());
|
||||||
|
xs_about_ui->title()->set_font_style();
|
||||||
|
xs_about_ui->show();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void xsteam_ui::slots_table_append(UidData u_data)
|
void xsteam_ui::slots_table_append(UidData u_data)
|
||||||
|
@ -80,9 +80,11 @@ private:
|
|||||||
QLabel* version_tips;
|
QLabel* version_tips;
|
||||||
QLabel* version_tips_txt;
|
QLabel* version_tips_txt;
|
||||||
QLabel* state_tips_txt;
|
QLabel* state_tips_txt;
|
||||||
QPushButton* btn_xs_sets;
|
QPushButton* btn_xs_download;
|
||||||
|
QPushButton* btn_xs_sets;
|
||||||
QPushButton* btn_xs_update;
|
QPushButton* btn_xs_update;
|
||||||
QPushButton* btn_xs_about;
|
QPushButton* btn_xs_about;
|
||||||
|
|
||||||
xsteam_src_edit_ui* xs_src_edit_ui;
|
xsteam_src_edit_ui* xs_src_edit_ui;
|
||||||
xsteam_set_ui * xs_sets_ui;
|
xsteam_set_ui * xs_sets_ui;
|
||||||
xsteam_about_ui* xs_about_ui;
|
xsteam_about_ui* xs_about_ui;
|
||||||
|
@ -24,6 +24,7 @@ public:
|
|||||||
_instance = new xsteam_update_ui();
|
_instance = new xsteam_update_ui();
|
||||||
_instance->title()->set_type(QD_CLOSE);
|
_instance->title()->set_type(QD_CLOSE);
|
||||||
_instance->title()->set_title(tr("XSteam更新"));
|
_instance->title()->set_title(tr("XSteam更新"));
|
||||||
|
_instance->setWindowTitle(tr("XSteam更新"));
|
||||||
}
|
}
|
||||||
mutex.unlock();
|
mutex.unlock();
|
||||||
}
|
}
|
||||||
|
12
vcpkg1.json
Normal file
12
vcpkg1.json
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"dependencies": [
|
||||||
|
{
|
||||||
|
"name":"curl",
|
||||||
|
"version>=":"8.10.1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name":"libgit2",
|
||||||
|
"version>=":"1.8.0"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user