diff --git a/src/lib/gui/Styles.h b/src/lib/gui/Styles.h index 74044b859..0096e97d0 100644 --- a/src/lib/gui/Styles.h +++ b/src/lib/gui/Styles.h @@ -12,9 +12,6 @@ namespace deskflow::gui { const auto kColorError = "#ec4c47"; -const auto kStyleLineEditErrorBorder = - QStringLiteral("border: 1px solid %1; border-radius: 2px; padding: 2px;").arg(kColorError); - const auto kStyleErrorActiveLabel = // QStringLiteral( "padding: 3px 5px; border-radius: 3px; " diff --git a/src/lib/gui/validators/LineEditValidator.cpp b/src/lib/gui/validators/LineEditValidator.cpp index a0edbf924..73e65ae54 100644 --- a/src/lib/gui/validators/LineEditValidator.cpp +++ b/src/lib/gui/validators/LineEditValidator.cpp @@ -1,5 +1,6 @@ /* * Deskflow -- mouse and keyboard sharing utility + * SPDX-FileCopyrightText: (C) 2025 Deskflow Developers * SPDX-FileCopyrightText: (C) 2021 Symless Ltd. * SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception */ @@ -8,6 +9,8 @@ #include "gui/Styles.h" +#include +#include #include using namespace deskflow::gui; @@ -42,9 +45,29 @@ QValidator::State LineEditValidator::validate(QString &input, int &) const } if (errorMessage.isEmpty()) { - m_pLineEdit->setStyleSheet(""); - } else { - m_pLineEdit->setStyleSheet(kStyleLineEditErrorBorder); + m_pLineEdit->setStyleSheet({}); + } else { // The values here are for fusion style + int radius = 3; + int padVer = 2; + int padHor = 0; + int borderWidth = 1; + if (const auto wStyle = QApplication::style()->name().toLower(); wStyle == QStringLiteral("breeze")) { + radius = 6; + padVer = 5; + padHor = 5; + } else if (wStyle == QStringLiteral("macos")) { + radius = 4; + padVer = 1; + borderWidth = 3; + } else if (wStyle == QStringLiteral("windows")) { + padVer = 1; + padHor = 1; + } + m_pLineEdit->setStyleSheet(QStringLiteral("border-radius: %1px; padding: %2px %3px; border: %4px solid %5;") + .arg( + QString::number(radius), QString::number(padVer), QString::number(padHor), + QString::number(borderWidth), kColorError + )); } if (m_pError) {