[linux] fix bug 75552

This commit is contained in:
SimplestStudio
2025-08-25 21:06:03 +03:00
parent 7790e83ecc
commit 7211947498
12 changed files with 180 additions and 11 deletions

View File

@ -0,0 +1,132 @@
/*
@download-widget-background: %1;
@download-widget-border: %2;
@text-normal: %3;
@tool-button-hover-background: %4;
@tool-button-pressed-background: %5;
@border-control-focus: %6;
*/
QDialog {background: %1;}
QDialog[rtl-font=true] QAbstractButton,
QDialog[rtl-font=true] QLineEdit,
QDialog[rtl-font=true] QLabel {font-family: "Segoe UI", "Traditional Arabic", "Noto Sans";}
QAbstractButton,
QLineEdit,
QLabel {font-family: "Arial", "Helvetica", "Helvetica Neue", sans-serif;}
QAbstractButton,
QLineEdit,
QLabel {color: %3; background: transparent;}
QAbstractButton {font-weight: bold; padding: 0px; margin: 0px;}
QPushButton::menu-indicator {width: 0px; height: 0px;}
QAbstractButton:hover {background: %4;}
QAbstractButton:pressed {background: %5;}
/* 1.0x */
QAbstractButton,
QLineEdit {border: 1px solid %2; border-radius: 3px; height: 14px; font-size: 11px; icon-size: 12px;}
QAbstractButton:focus,
QLineEdit:focus {border-color: %6; border-width: 2px;}
QLineEdit {padding-left: 3px; padding-right: 3px;}
QLabel {font-size: 11px; max-height: 14px; min-height: 14px;}
/* 1.25x */
QDialog[zoom="1.25x"] QAbstractButton,
QDialog[zoom="1.25x"] QLineEdit {border-width: 1px; border-radius: 4px; height: 18px; font-size: 14px; icon-size: 15px;}
QDialog[zoom="1.25x"] QAbstractButton:focus,
QDialog[zoom="1.25x"] QLineEdit:focus {border-width: 3px;}
QDialog[zoom="1.25x"] QLineEdit {padding-left: 4px; padding-right: 4px;}
QDialog[zoom="1.25x"] QLabel {font-size: 14px; max-height: 18px; min-height: 18px;}
/* 1.5x */
QDialog[zoom="1.5x"] QAbstractButton,
QDialog[zoom="1.5x"] QLineEdit {border-width: 2px; border-radius: 5px; height: 21px; font-size: 17px; icon-size: 18px;}
QDialog[zoom="1.5x"] QAbstractButton:focus,
QDialog[zoom="1.5x"] QLineEdit:focus {border-width: 3px;}
QDialog[zoom="1.5x"] QLineEdit {padding-left: 5px; padding-right: 5px;}
QDialog[zoom="1.5x"] QLabel {font-size: 17px; max-height: 21px; min-height: 21px;}
/* 1.75x */
QDialog[zoom="1.75x"] QAbstractButton,
QDialog[zoom="1.75x"] QLineEdit {border-width: 2px; border-radius: 5px; height: 25px; font-size: 19px; icon-size: 21px;}
QDialog[zoom="1.75x"] QAbstractButton:focus,
QDialog[zoom="1.75x"] QLineEdit:focus {border-width: 4px;}
QDialog[zoom="1.75x"] QLineEdit {padding-left: 5px; padding-right: 5px;}
QDialog[zoom="1.75x"] QLabel {font-size: 19px; max-height: 25px; min-height: 25px;}
/* 2.0x */
QDialog[zoom="2x"] QAbstractButton,
QDialog[zoom="2x"] QLineEdit {border-width: 2px; border-radius: 8px; height: 28px; font-size: 22px; icon-size: 24px;}
QDialog[zoom="2x"] QAbstractButton:focus,
QDialog[zoom="2x"] QLineEdit:focus {border-width: 4px;}
QDialog[zoom="2x"] QLineEdit {padding-left: 6px; padding-right: 6px;}
QDialog[zoom="2x"] QLabel {font-size: 22px; max-height: 28px; min-height: 28px;}
/* 2.25x */
QDialog[zoom="2.25x"] QAbstractButton,
QDialog[zoom="2.25x"] QLineEdit {border-width: 2px; border-radius: 7px; height: 32px; font-size: 25px; icon-size: 27px;}
QDialog[zoom="2.25x"] QAbstractButton:focus,
QDialog[zoom="2.25x"] QLineEdit:focus {border-width: 5px;}
QDialog[zoom="2.25x"] QLineEdit {padding-left: 7px; padding-right: 7px;}
QDialog[zoom="2.25x"] QLabel {font-size: 25px; max-height: 32px; min-height: 32px;}
/* 2.5x */
QDialog[zoom="2.5x"] QAbstractButton,
QDialog[zoom="2.5x"] QLineEdit {border-width: 3px; border-radius: 8px; height: 35px; font-size: 28px; icon-size: 30px;}
QDialog[zoom="2.5x"] QAbstractButton:focus,
QDialog[zoom="2.5x"] QLineEdit:focus {border-width: 5px;}
QDialog[zoom="2.5x"] QLineEdit {padding-left: 8px; padding-right: 8px;}
QDialog[zoom="2.5x"] QLabel {font-size: 28px; max-height: 35px; min-height: 35px;}
/* 2.75x */
QDialog[zoom="2.75x"] QAbstractButton,
QDialog[zoom="2.75x"] QLineEdit {border-width: 3px; border-radius: 8px; height: 39px; font-size: 30px; icon-size: 33px;}
QDialog[zoom="2.75x"] QAbstractButton:focus,
QDialog[zoom="2.75x"] QLineEdit:focus {border-width: 6px;}
QDialog[zoom="2.75x"] QLineEdit {padding-left: 8px; padding-right: 8px;}
QDialog[zoom="2.75x"] QLabel {font-size: 30px; max-height: 39px; min-height: 39px;}
/* 3.0x */
QDialog[zoom="3x"] QAbstractButton,
QDialog[zoom="3x"] QLineEdit {border-width: 3px; border-radius: 9px; height: 42px; font-size: 33px; icon-size: 36px;}
QDialog[zoom="3x"] QAbstractButton:focus,
QDialog[zoom="3x"] QLineEdit:focus {border-width: 6px;}
QDialog[zoom="3x"] QLineEdit {padding-left: 9px; padding-right: 9px;}
QDialog[zoom="3x"] QLabel {font-size: 33px; max-height: 42px; min-height: 42px;}
/* 3.5x */
QDialog[zoom="3.5x"] QAbstractButton,
QDialog[zoom="3.5x"] QLineEdit {border-width: 4px; border-radius: 11px; height: 49px; font-size: 39px; icon-size: 42px;}
QDialog[zoom="3.5x"] QAbstractButton:focus,
QDialog[zoom="3.5x"] QLineEdit:focus {border-width: 7px;}
QDialog[zoom="3.5x"] QLineEdit {padding-left: 11px; padding-right: 11px;}
QDialog[zoom="3.5x"] QLabel {font-size: 39px; max-height: 49px; min-height: 49px;}
/* 4.0x */
QDialog[zoom="4x"] QAbstractButton,
QDialog[zoom="4x"] QLineEdit {border-width: 4px; border-radius: 12px; height: 56px; font-size: 44px; icon-size: 48px;}
QDialog[zoom="4x"] QAbstractButton:focus,
QDialog[zoom="4x"] QLineEdit:focus {border-width: 8px;}
QDialog[zoom="4x"] QLineEdit {padding-left: 12px; padding-right: 12px;}
QDialog[zoom="4x"] QLabel {font-size: 44px; max-height: 56px; min-height: 56px;}
/* 4.5x */
QDialog[zoom="4.5x"] QAbstractButton,
QDialog[zoom="4.5x"] QLineEdit {border-width: 5px; border-radius: 14px; height: 63px; font-size: 50px; icon-size: 54px;}
QDialog[zoom="4.5x"] QAbstractButton:focus,
QDialog[zoom="4.5x"] QLineEdit:focus {border-width: 9px;}
QDialog[zoom="4.5x"] QLineEdit {padding-left: 14px; padding-right: 14px;}
QDialog[zoom="4.5x"] QLabel {font-size: 50px; max-height: 63px; min-height: 63px;}
/* 5.0x */
QDialog[zoom="5x"] QAbstractButton,
QDialog[zoom="5x"] QLineEdit {border-width: 5px; border-radius: 15px; height: 70px; font-size: 55px; icon-size: 60px;}
QDialog[zoom="5x"] QAbstractButton:focus,
QDialog[zoom="5x"] QLineEdit:focus {border-width: 10px;}
QDialog[zoom="5x"] QLineEdit {padding-left: 15px; padding-right: 15px;}
QDialog[zoom="5x"] QLabel {font-size: 55px; max-height: 70px; min-height: 70px;}

View File

@ -11,6 +11,8 @@
"window-background": "#e4e4e4",
"window-border": "#888",
"border-control-focus": "#4a87e7",
"text-normal": "#444",
"text-pretty": "#fff",
"text-inverse": "#fff",

View File

@ -11,6 +11,8 @@
"window-background": "#181818",
"window-border": "#616161",
"border-control-focus": "#4a87e7",
"text-normal": "#e8e8e8",
"text-pretty": "#e8e8e8",
"text-inverse": "#444",

View File

@ -11,6 +11,8 @@
"window-background": "#282828",
"window-border": "#616161",
"border-control-focus": "#4a87e7",
"text-normal": "#d9d9d9",
"text-pretty": "#d9d9d9",
"text-inverse": "#444",

View File

@ -11,6 +11,8 @@
"window-background": "#d9d9d9",
"window-border": "#cbcbcb",
"border-control-focus": "#4a87e7",
"text-normal": "#444",
"text-pretty": "#fff",
"text-inverse": "#fff",

View File

@ -11,6 +11,8 @@
"window-background": "#E4E4E4",
"window-border": "#888",
"border-control-focus": "#4a87e7",
"text-normal": "#444",
"text-pretty": "#fff",
"text-inverse": "#fff",

View File

@ -11,6 +11,8 @@
"window-background": "#383838",
"window-border": "#616161",
"border-control-focus": "#4a87e7",
"text-normal": "#d9d9d9",
"text-pretty": "#d9d9d9",
"text-inverse": "#444",

View File

@ -11,6 +11,8 @@
"window-background": "#eaeaea",
"window-border": "#d9d9d9",
"border-control-focus": "#4a87e7",
"text-normal": "#444",
"text-pretty": "#fff",
"text-inverse": "#fff",

View File

@ -148,6 +148,7 @@
<file alias="message.qss">res/styles/message.qss</file>
<file alias="tabbar.qss">res/styles/tabbar.qss</file>
<file alias="download.qss">res/styles/download.qss</file>
<file alias="openssl.qss">res/styles/openssl.qss</file>
</qresource>
<qresource prefix="/styles@1.5x">
<file alias="styles.qss">res/styles/styles@1.5x.qss</file>

View File

@ -49,6 +49,8 @@ namespace NSTheme {
{CTheme::ColorRole::ecrWindowBackground, "window-background"},
{CTheme::ColorRole::ecrWindowBorder, "window-border"},
{CTheme::ColorRole::ecrBorderControlFocus, "border-control-focus"},
{CTheme::ColorRole::ecrTextNormal, "text-normal"},
{CTheme::ColorRole::ecrTextPretty, "text-pretty"},
{CTheme::ColorRole::ecrTextInverse, "text-inverse"},

View File

@ -25,6 +25,7 @@ public:
enum class ColorRole {
ecrWindowBackground
, ecrWindowBorder
, ecrBorderControlFocus
, ecrTextNormal
, ecrTextPretty
, ecrTextInverse

View File

@ -1,5 +1,7 @@
#include "cdialogopenssl.h"
#include "components/cmessage.h"
#include "cscalingwrapper.h"
#include "cascapplicationmanagerwrapper.h"
#include "utils.h"
#include "components/cfiledialog.h"
#include <QPushButton>
@ -97,14 +99,21 @@ CDialogOpenSsl::CDialogOpenSsl(QWidget *parent)
: QDialog(parent)
, m_private(new CSslDialog_Private)
{
setMinimumWidth(300);
setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint);
double dpiRatio = CScalingWrapper::parentScalingFactor(topLevelWidget());
setMinimumWidth(300 * dpiRatio);
setWindowTitle(tr("Select certificate"));
setProperty("zoom", QString::number(dpiRatio) + "x");
QGridLayout * _main_layout = new QGridLayout(this);
m_private->_txtCertPath->setFixedHeight(24 * dpiRatio);
m_private->_txtCertPath->setPlaceholderText(tr("select certificate file..."));
m_private->_txtCertPass->setFixedHeight(24 * dpiRatio);
m_private->_labelCertPass->setText(tr("Certificate password:"));
m_private->_txtKeyPath->setFixedHeight(24 * dpiRatio);
m_private->_txtKeyPath->setPlaceholderText(tr("select key file..."));
m_private->_txtKeyPass->setFixedHeight(24 * dpiRatio);
m_private->_labelKeyPass->setText(tr("Key password:"));
connect(m_private->_btnCertFile, &QToolButton::clicked, this, &CDialogOpenSsl::onBtnCertificateClick);
@ -118,9 +127,11 @@ CDialogOpenSsl::CDialogOpenSsl(QWidget *parent)
_keypass_layout->addWidget(m_private->_labelKeyPass);
_keypass_layout->addWidget(m_private->_txtKeyPass, 1);
_main_layout->setColumnStretch(0, 1);
_main_layout->setRowStretch(3, 2);
_main_layout->setColumnMinimumWidth(1, 20);
_main_layout->setContentsMargins(16 * dpiRatio, 24 * dpiRatio, 16 * dpiRatio, 16 * dpiRatio);
_main_layout->setSpacing(6 * dpiRatio);
_main_layout->setColumnStretch(0, 1 * dpiRatio);
_main_layout->setRowStretch(3, 2 * dpiRatio);
_main_layout->setColumnMinimumWidth(1, 20 * dpiRatio);
_main_layout->addWidget(m_private->_txtCertPath, 0, 0);
_main_layout->addWidget(m_private->_btnCertFile, 0, 1);
@ -128,8 +139,8 @@ CDialogOpenSsl::CDialogOpenSsl(QWidget *parent)
_main_layout->addWidget(m_private->_txtKeyPath, 2, 0);
_main_layout->addWidget(m_private->_btnKeyFile, 2, 1);
_main_layout->addLayout(_keypass_layout, 3, 0);
_main_layout->addWidget(new QWidget, 4, 0);
_main_layout->setRowStretch(4, 1);
_main_layout->addItem(new QSpacerItem(6, 6, QSizePolicy::Fixed, QSizePolicy::Expanding), 4, 0);
// _main_layout->setRowStretch(4, 1 * dpiRatio);
m_private->setKeyDisabled(true);
m_private->setPassDisabled();
@ -141,9 +152,9 @@ CDialogOpenSsl::CDialogOpenSsl(QWidget *parent)
_btn_ok->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Fixed);
_ok_layout->addWidget(_btn_ok);
_btn_ok->setFixedSize(80, 28);
m_private->_btnCertFile->setFixedSize(40,28);
m_private->_btnKeyFile->setFixedSize(40,28);
_btn_ok->setFixedSize(84 * dpiRatio, 24 * dpiRatio);
m_private->_btnCertFile->setFixedSize(40 * dpiRatio, 24 * dpiRatio);
m_private->_btnKeyFile->setFixedSize(40 * dpiRatio, 24 * dpiRatio);
connect(_btn_ok, &QPushButton::clicked, [=]{
if ( checkCertificate() ) {
@ -155,8 +166,8 @@ CDialogOpenSsl::CDialogOpenSsl(QWidget *parent)
int nX = rect.x();
int nY = rect.y();
int nW = 500;
int nH = 170;
int nW = 420 * dpiRatio;
int nH = 210 * dpiRatio;
if (parent)
{
@ -167,6 +178,14 @@ CDialogOpenSsl::CDialogOpenSsl(QWidget *parent)
this->setGeometry(nX, nY, nW, nH);
QString css = Utils::readStylesheets(":/styles/openssl.qss");
setStyleSheet(css.arg(GetColorQValueByRole(ecrDownloadWidgetBackground),
GetColorQValueByRole(ecrDownloadWidgetBorder),
GetColorQValueByRole(ecrTextNormal),
GetColorQValueByRole(ecrButtonHoverBackground),
GetColorQValueByRole(ecrButtonPressedBackground),
GetColorQValueByRole(ecrBorderControlFocus)));
// Set native dialog from command line arguments
}