修复样式跟随系统问题
路径选择采用闭包形式
This commit is contained in:
parent
04aafbe408
commit
dfd46be74e
@ -21,6 +21,7 @@ int main(int argc, char *argv[])
|
||||
//仅限于windows平台
|
||||
#if defined(__WIN32__)
|
||||
x.title()->set_type(QD_TYPE::QD_EXIT);
|
||||
x.title()->set_font_style();
|
||||
#endif
|
||||
x.show();
|
||||
return a.exec();
|
||||
|
@ -11,20 +11,20 @@ void sui_sys_style::slots_sys_style_thread()
|
||||
//获取系统注册表信息
|
||||
QSettings style_set(QSettings::UserScope, "Microsoft", "Windows\\CurrentVersion\\Themes\\Personalize");
|
||||
//当前系统主题状态,默认0-深色主题,1-浅色主题
|
||||
bool isDark=true;
|
||||
bool isDark=style_set.value("AppsUseLightTheme").toBool();
|
||||
while (true)
|
||||
{
|
||||
//跟随功能是否开启,0-关闭,1-开启 采用bool类型
|
||||
if (state)
|
||||
if (state==1)
|
||||
{
|
||||
//判断当前临时isDark状态是否和系统主题一致&不一致则更新当前软件主题
|
||||
if (isDark != !style_set.value("AppsUseLightTheme").toBool())
|
||||
if (isDark != style_set.value("AppsUseLightTheme").toBool())
|
||||
{
|
||||
emit signals_sys_style_change(!style_set.value("AppsUseLightTheme").toInt());
|
||||
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);
|
||||
QThread::sleep(2);
|
||||
}
|
||||
}
|
@ -60,7 +60,6 @@ sui_title::sui_title(QWidget *parent)
|
||||
m_layout->setContentsMargins(5, 0, 5, 0);
|
||||
setFixedHeight(40);
|
||||
setLayout(m_layout);
|
||||
set_font_style();
|
||||
connect_slots();
|
||||
}
|
||||
sui_title::~sui_title()
|
||||
@ -166,16 +165,16 @@ void sui_title::slots_style_system()
|
||||
{
|
||||
if (sender() != nullptr)
|
||||
{
|
||||
if (_data.x_config.style_system)
|
||||
if (_data.x_config.style_system!=0)
|
||||
{
|
||||
_data.x_config.style_system = 0;
|
||||
m_style->state=0;
|
||||
m_style->state=_data.x_config.style_system;
|
||||
((QAction *)sender())->setChecked(false);
|
||||
}
|
||||
else
|
||||
{
|
||||
_data.x_config.style_system = 1;
|
||||
m_style->state=1;
|
||||
m_style->state=_data.x_config.style_system;
|
||||
((QAction *)sender())->setChecked(true);
|
||||
}
|
||||
}
|
||||
@ -246,7 +245,7 @@ void sui_title::change_style(int index)
|
||||
QString _styleSheet = QLatin1String(qss.readAll());
|
||||
m_parent->setStyleSheet("");
|
||||
m_parent->setStyleSheet(_styleSheet);
|
||||
QApplication::setStyle("Fusion");
|
||||
//QApplication::setStyle("Fusion");
|
||||
}
|
||||
qss.close();
|
||||
//m_parent->update();
|
||||
@ -322,6 +321,7 @@ void sui_title::set_type(QD_TYPE _type)
|
||||
m_style = new sui_sys_style();
|
||||
m_thread=new QThread();
|
||||
m_style->moveToThread(m_thread);
|
||||
m_style->state=_data.x_config.style_system;
|
||||
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();
|
||||
|
@ -106,34 +106,42 @@ void xsteam_set_ui::slotsSaveDone()
|
||||
}
|
||||
void xsteam_set_ui::slots_set_path_change()
|
||||
{
|
||||
QString set_dir;
|
||||
if (sender()->objectName() == "STEAM_PATH_BTN")
|
||||
auto select_dir = [=](QString sender_name)
|
||||
{
|
||||
set_dir = QFileDialog::getExistingDirectory(new QWidget(), "选择目录", steam_path_edit->text());
|
||||
QString default_dir;
|
||||
if (sender_name == "STEAM_PATH_BTN")
|
||||
{
|
||||
default_dir = steam_path_edit->text();
|
||||
}
|
||||
else if (sender()->objectName() == "STEAMTOOLS_PATH_BTN")
|
||||
else if (sender_name == "STEAMTOOLS_PATH_BTN")
|
||||
{
|
||||
set_dir = QFileDialog::getExistingDirectory(new QWidget(), "选择目录", steamtools_path_edit->text());
|
||||
default_dir = steamtools_path_edit->text();
|
||||
}
|
||||
else if (sender()->objectName() == "STEAMTOOLS_ST_PATH_BTN")
|
||||
else if (sender_name == "STEAMTOOLS_ST_PATH_BTN")
|
||||
{
|
||||
set_dir = QFileDialog::getExistingDirectory(new QWidget(), "选择目录", steamtools_st_path_edit->text());
|
||||
default_dir = steamtools_st_path_edit->text();
|
||||
}
|
||||
|
||||
if (set_dir != nullptr)
|
||||
return QFileDialog::getExistingDirectory(new QWidget(), "选择目录", default_dir);
|
||||
};
|
||||
auto set_dir = [=](QString sender_name,QString dir_str)
|
||||
{
|
||||
if (sender()->objectName() == "STEAM_PATH_BTN")
|
||||
if (sender_name == "STEAM_PATH_BTN")
|
||||
{
|
||||
_data.x_config.steam_dir = set_dir.toStdString();
|
||||
_data.x_config.steam_dir = dir_str.toStdString();
|
||||
}
|
||||
else if (sender()->objectName() == "STEAMTOOLS_PATH_BTN")
|
||||
else if (sender_name == "STEAMTOOLS_PATH_BTN")
|
||||
{
|
||||
_data.x_config.steamtools_dir = set_dir.toStdString();
|
||||
_data.x_config.steamtools_dir = dir_str.toStdString();
|
||||
}
|
||||
else if (sender()->objectName() == "STEAMTOOLS_ST_PATH_BTN")
|
||||
else if (sender_name == "STEAMTOOLS_ST_PATH_BTN")
|
||||
{
|
||||
_data.x_config.steamtools_st_dir = set_dir.toStdString();
|
||||
_data.x_config.steamtools_st_dir = dir_str.toStdString();
|
||||
}
|
||||
};
|
||||
QString dir_str=select_dir(sender()->objectName());
|
||||
if ( dir_str!= nullptr)
|
||||
{
|
||||
set_dir(sender()->objectName(),dir_str);
|
||||
load_data_set();
|
||||
}
|
||||
}
|
@ -42,6 +42,7 @@ void xsteam_ui::xsteam_init_info_layout()
|
||||
info_layout->addItem(sparcer_item);
|
||||
info_layout->addWidget(info_txt_tag);
|
||||
info_layout->addItem(sparcer_item);
|
||||
info_txt_tag->setVisible(false);
|
||||
}
|
||||
void xsteam_ui::xsteam_init_mind_layout()
|
||||
{
|
||||
@ -492,7 +493,7 @@ void xsteam_ui::slots_push_manifest()
|
||||
xs_push_manifest = xsteam_push_manifest::Instance();
|
||||
if (!xs_push_manifest->isVisible())
|
||||
{
|
||||
xs_push_manifest->setMaximumSize(width(), height() - 25);
|
||||
xs_push_manifest->setMaximumSize(width(), height() - 30);
|
||||
xs_push_manifest->setGeometry(geometry());
|
||||
xs_push_manifest->show();
|
||||
}
|
||||
@ -502,7 +503,7 @@ void xsteam_ui::slots_open_server_edit()
|
||||
xs_src_edit_ui = xsteam_src_edit_ui::Instance();
|
||||
if (!xs_src_edit_ui->isVisible())
|
||||
{
|
||||
xs_src_edit_ui->setMaximumSize(width(), height());
|
||||
xs_src_edit_ui->setMaximumSize(width(), height()- 30);
|
||||
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->title()->set_font_style();
|
||||
@ -525,7 +526,7 @@ void xsteam_ui::slots_open_setting()
|
||||
xs_sets_ui = xsteam_set_ui::Instance();
|
||||
if (!xs_sets_ui->isVisible())
|
||||
{
|
||||
xs_sets_ui->setMaximumSize(width(), height());
|
||||
xs_sets_ui->setMaximumSize(width(), height()- 30);
|
||||
xs_sets_ui->setGeometry(geometry());
|
||||
xs_sets_ui->title()->set_font_style();
|
||||
xs_sets_ui->show();
|
||||
|
Loading…
Reference in New Issue
Block a user