From 981f7411d378ff1f95f26c80d86ae57fb1184c2e Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Tue, 13 Oct 2015 15:16:08 +0200 Subject: [PATCH] PathChooser: Add interface to set ok/error color for lineedit Change-Id: I4fcd72e8b9281d1cdb404ccc268c453417ec35db Reviewed-by: Eike Ziller --- src/libs/utils/pathchooser.cpp | 20 ++++++++++++++++++++ src/libs/utils/pathchooser.h | 8 ++++++++ 2 files changed, 28 insertions(+) diff --git a/src/libs/utils/pathchooser.cpp b/src/libs/utils/pathchooser.cpp index 2ea0f591790..997f4c2f76f 100644 --- a/src/libs/utils/pathchooser.cpp +++ b/src/libs/utils/pathchooser.cpp @@ -336,6 +336,16 @@ void PathChooser::setFileName(const FileName &fn) d->m_lineEdit->setText(fn.toUserOutput()); } +void PathChooser::setErrorColor(const QColor &errorColor) +{ + d->m_lineEdit->setErrorColor(errorColor); +} + +void PathChooser::setOkColor(const QColor &okColor) +{ + d->m_lineEdit->setOkColor(okColor); +} + bool PathChooser::isReadOnly() const { return d->m_lineEdit->isReadOnly(); @@ -461,6 +471,16 @@ void PathChooser::setAboutToShowContextMenuHandler(PathChooser::AboutToShowConte s_aboutToShowContextMenuHandler = handler; } +QColor PathChooser::errorColor() const +{ + return d->m_lineEdit->errorColor(); +} + +QColor PathChooser::okColor() const +{ + return d->m_lineEdit->okColor(); +} + FancyLineEdit::ValidationFunction PathChooser::defaultValidationFunction() const { return std::bind(&PathChooser::validatePath, this, std::placeholders::_1, std::placeholders::_2); diff --git a/src/libs/utils/pathchooser.h b/src/libs/utils/pathchooser.h index 8f21d503277..10f01ad162a 100644 --- a/src/libs/utils/pathchooser.h +++ b/src/libs/utils/pathchooser.h @@ -62,6 +62,8 @@ class QTCREATOR_UTILS_EXPORT PathChooser : public QWidget // Designer does not know this type, so force designable to false: Q_PROPERTY(Utils::FileName fileName READ fileName WRITE setFileName DESIGNABLE false) Q_PROPERTY(Utils::FileName baseFileName READ baseFileName WRITE setBaseFileName DESIGNABLE false) + Q_PROPERTY(QColor errorColor READ errorColor WRITE setErrorColor DESIGNABLE true) + Q_PROPERTY(QColor okColor READ okColor WRITE setOkColor DESIGNABLE true) public: static QString browseButtonLabel(); @@ -145,6 +147,9 @@ public: using AboutToShowContextMenuHandler = std::function; static void setAboutToShowContextMenuHandler(AboutToShowContextMenuHandler handler); + QColor errorColor() const; + QColor okColor() const; + private: bool validatePath(FancyLineEdit *edit, QString *errorMessage) const; // Returns overridden title or the one from @@ -165,6 +170,9 @@ public slots: void setPath(const QString &); void setFileName(const Utils::FileName &); + void setErrorColor(const QColor &errorColor); + void setOkColor(const QColor &okColor); + private: PathChooserPrivate *d; static AboutToShowContextMenuHandler s_aboutToShowContextMenuHandler;