mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2024-10-22 10:46:04 +03:00
parent
3ab9fe55e5
commit
a3ac692c25
3 changed files with 26 additions and 20 deletions
|
@ -461,6 +461,9 @@ void OptionsDialog::saveBehaviorTabOptions() const
|
||||||
pref->setLocale(locale);
|
pref->setLocale(locale);
|
||||||
|
|
||||||
#ifdef Q_OS_WIN
|
#ifdef Q_OS_WIN
|
||||||
|
if (const QVariant systemStyle = m_ui->comboStyle->currentData(); systemStyle.isValid())
|
||||||
|
pref->setStyle(systemStyle.toString());
|
||||||
|
else
|
||||||
pref->setStyle(m_ui->comboStyle->currentText());
|
pref->setStyle(m_ui->comboStyle->currentText());
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -1698,18 +1701,27 @@ bool OptionsDialog::isSplashScreenDisabled() const
|
||||||
void OptionsDialog::initializeStyleCombo()
|
void OptionsDialog::initializeStyleCombo()
|
||||||
{
|
{
|
||||||
#ifdef Q_OS_WIN
|
#ifdef Q_OS_WIN
|
||||||
|
m_ui->labelStyleHint->setText(tr("%1 is recommended for best compatibility with Windows dark mode"
|
||||||
|
, "Fusion is recommended for best compatibility with Windows dark mode").arg(u"Fusion"_s));
|
||||||
|
m_ui->comboStyle->addItem(tr("System", "System default Qt style"), u"system"_s);
|
||||||
|
m_ui->comboStyle->setItemData(0, tr("Let Qt decide the style for this system"), Qt::ToolTipRole);
|
||||||
|
m_ui->comboStyle->insertSeparator(1);
|
||||||
|
|
||||||
QStringList styleNames = QStyleFactory::keys();
|
QStringList styleNames = QStyleFactory::keys();
|
||||||
std::sort(styleNames.begin(), styleNames.end(), Utils::Compare::NaturalLessThan<Qt::CaseInsensitive>());
|
std::sort(styleNames.begin(), styleNames.end(), Utils::Compare::NaturalLessThan<Qt::CaseInsensitive>());
|
||||||
m_ui->comboStyle->addItems(styleNames);
|
m_ui->comboStyle->addItems(styleNames);
|
||||||
const QString prefStyleName = Preferences::instance()->getStyle();
|
const QString prefStyleName = Preferences::instance()->getStyle();
|
||||||
const QString selectedStyleName = prefStyleName.isEmpty() ? QApplication::style()->name() : prefStyleName;
|
const QString selectedStyleName = prefStyleName.isEmpty() ? QApplication::style()->name() : prefStyleName;
|
||||||
|
|
||||||
|
if (selectedStyleName.compare(u"system"_s, Qt::CaseInsensitive) != 0)
|
||||||
m_ui->comboStyle->setCurrentText(selectedStyleName);
|
m_ui->comboStyle->setCurrentText(selectedStyleName);
|
||||||
#else
|
#else
|
||||||
m_ui->labelStyle->hide();
|
m_ui->labelStyle->hide();
|
||||||
m_ui->comboStyle->hide();
|
m_ui->comboStyle->hide();
|
||||||
|
m_ui->labelStyleHint->hide();
|
||||||
m_ui->UISettingsBoxLayout->removeWidget(m_ui->labelStyle);
|
m_ui->UISettingsBoxLayout->removeWidget(m_ui->labelStyle);
|
||||||
m_ui->UISettingsBoxLayout->removeWidget(m_ui->comboStyle);
|
m_ui->UISettingsBoxLayout->removeWidget(m_ui->comboStyle);
|
||||||
m_ui->UISettingsBoxLayout->removeItem(m_ui->spacerStyle);
|
m_ui->UISettingsBoxLayout->removeWidget(m_ui->labelStyleHint);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -179,17 +179,13 @@
|
||||||
<widget class="QComboBox" name="comboStyle"/>
|
<widget class="QComboBox" name="comboStyle"/>
|
||||||
</item>
|
</item>
|
||||||
<item row="2" column="2">
|
<item row="2" column="2">
|
||||||
<spacer name="spacerStyle">
|
<widget class="QLabel" name="labelStyleHint">
|
||||||
<property name="orientation">
|
<property name="font">
|
||||||
<enum>Qt::Orientation::Horizontal</enum>
|
<font>
|
||||||
|
<italic>true</italic>
|
||||||
|
</font>
|
||||||
</property>
|
</property>
|
||||||
<property name="sizeHint" stdset="0">
|
</widget>
|
||||||
<size>
|
|
||||||
<width>40</width>
|
|
||||||
<height>20</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</spacer>
|
|
||||||
</item>
|
</item>
|
||||||
<item row="3" column="0">
|
<item row="3" column="0">
|
||||||
<widget class="QLabel" name="labelColorScheme">
|
<widget class="QLabel" name="labelColorScheme">
|
||||||
|
|
|
@ -37,10 +37,6 @@
|
||||||
#include <QStyle>
|
#include <QStyle>
|
||||||
#include <QStyleHints>
|
#include <QStyleHints>
|
||||||
|
|
||||||
#ifdef Q_OS_WIN
|
|
||||||
#include <QOperatingSystemVersion>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "base/global.h"
|
#include "base/global.h"
|
||||||
#include "base/logger.h"
|
#include "base/logger.h"
|
||||||
#include "base/path.h"
|
#include "base/path.h"
|
||||||
|
@ -88,9 +84,11 @@ UIThemeManager::UIThemeManager()
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
#ifdef Q_OS_WIN
|
#ifdef Q_OS_WIN
|
||||||
const QString defaultStyle = (QOperatingSystemVersion::current() >= QOperatingSystemVersion::Windows10) ? u"Fusion"_s : QString();
|
if (const QString styleName = Preferences::instance()->getStyle(); styleName.compare(u"system", Qt::CaseInsensitive) != 0)
|
||||||
if (const QString styleName = Preferences::instance()->getStyle(); !QApplication::setStyle(styleName.isEmpty() ? defaultStyle : styleName))
|
{
|
||||||
|
if (!QApplication::setStyle(styleName.isEmpty() ? u"Fusion"_s : styleName))
|
||||||
LogMsg(tr("Set app style failed. Unknown style: \"%1\"").arg(styleName), Log::WARNING);
|
LogMsg(tr("Set app style failed. Unknown style: \"%1\"").arg(styleName), Log::WARNING);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef QBT_HAS_COLORSCHEME_OPTION
|
#ifdef QBT_HAS_COLORSCHEME_OPTION
|
||||||
|
|
Loading…
Reference in a new issue