commit c7c3b394131819707b650628260b6794ab4ef571
Author: Juergen Spitzmueller <[email protected]>
Date:   Sun Dec 11 10:01:09 2022 +0100

    Minor checkedLineEdit fixes
    
    * Do not disallow application if an invalid widget is disabled
    * Fix coloring of text
---
 src/frontends/qt/ButtonController.cpp |    7 +++++++
 src/frontends/qt/GuiDocument.cpp      |   14 +++++++-------
 src/frontends/qt/qt_helpers.cpp       |    4 +++-
 3 files changed, 17 insertions(+), 8 deletions(-)

diff --git a/src/frontends/qt/ButtonController.cpp 
b/src/frontends/qt/ButtonController.cpp
index 85facfd..47d9c7e 100644
--- a/src/frontends/qt/ButtonController.cpp
+++ b/src/frontends/qt/ButtonController.cpp
@@ -53,6 +53,13 @@ CheckedLineEdit::CheckedLineEdit(QLineEdit * input, QWidget 
* label)
 
 bool CheckedLineEdit::check() const
 {
+       if (!input_->isEnabled()) {
+               // we do not check diabled widgets
+               if (label_)
+                       setValid(label_, true);
+               return true;
+       }
+
        QValidator const * validator = input_->validator();
        if (!validator)
                return true;
diff --git a/src/frontends/qt/GuiDocument.cpp b/src/frontends/qt/GuiDocument.cpp
index 4bfda55..beaed5c 100644
--- a/src/frontends/qt/GuiDocument.cpp
+++ b/src/frontends/qt/GuiDocument.cpp
@@ -876,8 +876,8 @@ GuiDocument::GuiDocument(GuiView & lv)
        textLayoutModule->lspacingCO->insertItem(
                Spacing::Other, qt_("Custom"));
        // initialize the length validator
-       bc().addCheckedLineEdit(textLayoutModule->indentLE);
-       bc().addCheckedLineEdit(textLayoutModule->skipLE);
+       bc().addCheckedLineEdit(textLayoutModule->indentLE, 
textLayoutModule->indentRB);
+       bc().addCheckedLineEdit(textLayoutModule->skipLE, 
textLayoutModule->skipRB);
 
        textLayoutModule->tableStyleCO->addItem(qt_("Default"), 
toqstr("default"));
        getTableStyles();
@@ -937,7 +937,7 @@ GuiDocument::GuiDocument(GuiView & lv)
        outputModule->synccustomCB->addItem("\\synctex=-1");
        outputModule->synccustomCB->addItem("\\usepackage[active]{srcltx}");
 
-       outputModule->synccustomCB->setValidator(new NoNewLineValidator(
+       outputModule->synccustomCB->lineEdit()->setValidator(new 
NoNewLineValidator(
                outputModule->synccustomCB));
 
        connect(outputModule->saveTransientPropertiesCB, SIGNAL(clicked()),
@@ -1523,13 +1523,13 @@ GuiDocument::GuiDocument(GuiView & lv)
                this, SLOT(change_adaptor()));
 
        connect(mathsModule->MathIndentCB, SIGNAL(toggled(bool)),
-               this, SLOT(change_adaptor()));
-       connect(mathsModule->MathIndentCB, SIGNAL(toggled(bool)),
                this, SLOT(allowMathIndent()));
-       connect(mathsModule->MathIndentCO, SIGNAL(activated(int)),
+       connect(mathsModule->MathIndentCB, SIGNAL(toggled(bool)),
                this, SLOT(change_adaptor()));
        connect(mathsModule->MathIndentCO, SIGNAL(activated(int)),
                this, SLOT(enableMathIndent(int)));
+       connect(mathsModule->MathIndentCO, SIGNAL(activated(int)),
+               this, SLOT(change_adaptor()));
        connect(mathsModule->MathIndentLE, SIGNAL(textChanged(const QString &)),
                this, SLOT(change_adaptor()));
        connect(mathsModule->MathIndentLengthCO, SIGNAL(activated(int)),
@@ -1541,7 +1541,7 @@ GuiDocument::GuiDocument(GuiView & lv)
        mathsModule->MathIndentLE->setValidator(new LengthValidator(
                mathsModule->MathIndentLE));
        // initialize the length validator
-       bc().addCheckedLineEdit(mathsModule->MathIndentLE);
+       bc().addCheckedLineEdit(mathsModule->MathIndentLE, 
mathsModule->MathIndentCB);
        mathsModule->MathNumberingPosCO->addItem(qt_("Left"));
        mathsModule->MathNumberingPosCO->addItem(qt_("Default"));
        mathsModule->MathNumberingPosCO->addItem(qt_("Right"));
diff --git a/src/frontends/qt/qt_helpers.cpp b/src/frontends/qt/qt_helpers.cpp
index 6891c30..2657f3d 100644
--- a/src/frontends/qt/qt_helpers.cpp
+++ b/src/frontends/qt/qt_helpers.cpp
@@ -239,10 +239,12 @@ void setValid(QWidget * widget, bool valid)
                if (qobject_cast<QCheckBox*>(widget) != nullptr) {
                        // Check boxes need to be treated differenty, see
                        // https://forum.qt.io/topic/93253/
-                       widget->setStyleSheet("QCheckBox:unchecked{ color: red; 
}QCheckBox:checked{ color: red; }");
+                       if (qobject_cast<QCheckBox*>(widget)->isChecked())
+                               widget->setStyleSheet("QCheckBox:unchecked{ 
color: red; }QCheckBox:checked{ color: red; }");
                } else {
                        QPalette pal = widget->palette();
                        pal.setColor(QPalette::Active, QPalette::WindowText, 
QColor(255, 0, 0));
+                       pal.setColor(QPalette::Active, QPalette::Text, 
QColor(255, 0, 0));
                        widget->setPalette(pal);
                }
        }
-- 
lyx-cvs mailing list
[email protected]
http://lists.lyx.org/mailman/listinfo/lyx-cvs

Reply via email to