diff --git a/src/libs/utils/basevalidatinglineedit.cpp b/src/libs/utils/basevalidatinglineedit.cpp deleted file mode 100644 index 044017e54e5..00000000000 --- a/src/libs/utils/basevalidatinglineedit.cpp +++ /dev/null @@ -1,194 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of Qt Creator. -** -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -****************************************************************************/ - -#include "basevalidatinglineedit.h" - -#include - -enum { debug = 0 }; - -/*! - \namespace Utils - General utility library namespace -*/ - -/*! \class Utils::BaseValidatingLineEdit - - \brief The BaseValidatingLineEdit class is the base class for line edits - that perform validation. - - Performs validation in a virtual validate() function to be implemented in - derived classes. - When invalid, the text color will turn red and a tooltip will - contain the error message. This approach is less intrusive than a - QValidator which will prevent the user from entering certain characters. - - The widget has a concept of an "initialText" which can be something like - "". This results in state 'DisplayingInitialText', which - is not valid, but is not marked red. -*/ - - -namespace Utils { - -struct BaseValidatingLineEditPrivate { - explicit BaseValidatingLineEditPrivate(const QWidget *w); - - const QColor m_okTextColor; - QColor m_errorTextColor; - - BaseValidatingLineEdit::State m_state; - QString m_errorMessage; - QString m_initialText; - bool m_firstChange; -}; - -BaseValidatingLineEditPrivate::BaseValidatingLineEditPrivate(const QWidget *w) : - m_okTextColor(BaseValidatingLineEdit::textColor(w)), - m_errorTextColor(Qt::red), - m_state(BaseValidatingLineEdit::Invalid), - m_firstChange(true) -{ -} - -BaseValidatingLineEdit::BaseValidatingLineEdit(QWidget *parent) : - FancyLineEdit(parent), - m_bd(new BaseValidatingLineEditPrivate(this)) -{ - // Note that textChanged() is also triggered automagically by - // QLineEdit::setText(), no need to trigger manually. - connect(this, SIGNAL(textChanged(QString)), this, SLOT(slotChanged(QString))); -} - -BaseValidatingLineEdit::~BaseValidatingLineEdit() -{ - delete m_bd; -} - -QString BaseValidatingLineEdit::initialText() const -{ - return m_bd->m_initialText; -} - -void BaseValidatingLineEdit::setInitialText(const QString &t) -{ - if (m_bd->m_initialText != t) { - m_bd->m_initialText = t; - m_bd->m_firstChange = true; - setText(t); - } -} - -QColor BaseValidatingLineEdit::errorColor() const -{ - return m_bd->m_errorTextColor; -} - -void BaseValidatingLineEdit::setErrorColor(const QColor &c) -{ - m_bd->m_errorTextColor = c; -} - -QColor BaseValidatingLineEdit::textColor(const QWidget *w) -{ - return w->palette().color(QPalette::Active, QPalette::Text); -} - -void BaseValidatingLineEdit::setTextColor(QWidget *w, const QColor &c) -{ - QPalette palette = w->palette(); - palette.setColor(QPalette::Active, QPalette::Text, c); - w->setPalette(palette); -} - -BaseValidatingLineEdit::State BaseValidatingLineEdit::state() const -{ - return m_bd->m_state; -} - -bool BaseValidatingLineEdit::isValid() const -{ - return m_bd->m_state == Valid; -} - -QString BaseValidatingLineEdit::errorMessage() const -{ - return m_bd->m_errorMessage; -} - -void BaseValidatingLineEdit::slotChanged(const QString &t) -{ - m_bd->m_errorMessage.clear(); - // Are we displaying the initial text? - const bool isDisplayingInitialText = !m_bd->m_initialText.isEmpty() && t == m_bd->m_initialText; - const State newState = isDisplayingInitialText ? - DisplayingInitialText : - (validate(t, &m_bd->m_errorMessage) ? Valid : Invalid); - setToolTip(m_bd->m_errorMessage); - if (debug) - qDebug() << Q_FUNC_INFO << t << "State" << m_bd->m_state << "->" << newState << m_bd->m_errorMessage; - // Changed..figure out if valid changed. DisplayingInitialText is not valid, - // but should not show error color. Also trigger on the first change. - if (newState != m_bd->m_state || m_bd->m_firstChange) { - const bool validHasChanged = (m_bd->m_state == Valid) != (newState == Valid); - m_bd->m_state = newState; - m_bd->m_firstChange = false; - setTextColor(this, newState == Invalid ? m_bd->m_errorTextColor : m_bd->m_okTextColor); - if (validHasChanged) { - emit validChanged(newState == Valid); - emit validChanged(); - } - } - bool block = blockSignals(true); - const QString fixedString = fixInputString(t); - if (t != fixedString) { - const int cursorPos = cursorPosition(); - setText(fixedString); - setCursorPosition(qMin(cursorPos, fixedString.length())); - } - blockSignals(block); -} - -void BaseValidatingLineEdit::slotReturnPressed() -{ - if (isValid()) - emit validReturnPressed(); -} - -void BaseValidatingLineEdit::triggerChanged() -{ - slotChanged(text()); -} - -QString BaseValidatingLineEdit::fixInputString(const QString &string) -{ - return string; -} - -} // namespace Utils diff --git a/src/libs/utils/basevalidatinglineedit.h b/src/libs/utils/basevalidatinglineedit.h deleted file mode 100644 index ee3b6926e7d..00000000000 --- a/src/libs/utils/basevalidatinglineedit.h +++ /dev/null @@ -1,89 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of Qt Creator. -** -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -****************************************************************************/ - -#ifndef BASEVALIDATINGLINEEDIT_H -#define BASEVALIDATINGLINEEDIT_H - -#include "fancylineedit.h" - -namespace Utils { - -struct BaseValidatingLineEditPrivate; - -class QTCREATOR_UTILS_EXPORT BaseValidatingLineEdit : public FancyLineEdit -{ - Q_OBJECT - Q_PROPERTY(QString initialText READ initialText WRITE setInitialText DESIGNABLE true) - Q_PROPERTY(QColor errorColor READ errorColor WRITE setErrorColor DESIGNABLE true) - -public: - enum State { Invalid, DisplayingInitialText, Valid }; - - explicit BaseValidatingLineEdit(QWidget *parent = 0); - virtual ~BaseValidatingLineEdit(); - - - State state() const; - bool isValid() const; - QString errorMessage() const; - - QString initialText() const; - void setInitialText(const QString &); - - QColor errorColor() const; - void setErrorColor(const QColor &); - - // Trigger an update (after changing settings) - void triggerChanged(); - - static QColor textColor(const QWidget *w); - static void setTextColor(QWidget *w, const QColor &c); - -signals: - void validChanged(); - void validChanged(bool validState); - void validReturnPressed(); - -protected: - virtual bool validate(const QString &value, QString *errorMessage) const = 0; - virtual QString fixInputString(const QString &string); - -protected slots: - // Custom behaviour can be added here. The base implementation must - // be called. - virtual void slotReturnPressed(); - virtual void slotChanged(const QString &t); - -private: - BaseValidatingLineEditPrivate *m_bd; -}; - -} // namespace Utils - -#endif // BASEVALIDATINGLINEEDIT_H diff --git a/src/libs/utils/classnamevalidatinglineedit.cpp b/src/libs/utils/classnamevalidatinglineedit.cpp index 0e76a3da851..a2a5d4e067d 100644 --- a/src/libs/utils/classnamevalidatinglineedit.cpp +++ b/src/libs/utils/classnamevalidatinglineedit.cpp @@ -65,7 +65,7 @@ ClassNameValidatingLineEditPrivate:: ClassNameValidatingLineEditPrivate() : // --------------------- ClassNameValidatingLineEdit ClassNameValidatingLineEdit::ClassNameValidatingLineEdit(QWidget *parent) : - Utils::BaseValidatingLineEdit(parent), + Utils::FancyLineEdit(parent), d(new ClassNameValidatingLineEditPrivate) { updateRegExp(); @@ -123,9 +123,8 @@ bool ClassNameValidatingLineEdit::validate(const QString &value, QString *errorM return true; } -void ClassNameValidatingLineEdit::slotChanged(const QString &t) +void ClassNameValidatingLineEdit::handleChanged(const QString &t) { - Utils::BaseValidatingLineEdit::slotChanged(t); if (isValid()) { // Suggest file names, strip namespaces QString fileName = d->m_lowerCaseFileName ? t.toLower() : t; diff --git a/src/libs/utils/classnamevalidatinglineedit.h b/src/libs/utils/classnamevalidatinglineedit.h index 22f623d2430..be0d6a7edef 100644 --- a/src/libs/utils/classnamevalidatinglineedit.h +++ b/src/libs/utils/classnamevalidatinglineedit.h @@ -30,14 +30,14 @@ #ifndef CLASSNAMEVALIDATINGLINEEDIT_H #define CLASSNAMEVALIDATINGLINEEDIT_H -#include "basevalidatinglineedit.h" +#include "fancylineedit.h" namespace Utils { struct ClassNameValidatingLineEditPrivate; class QTCREATOR_UTILS_EXPORT ClassNameValidatingLineEdit - : public Utils::BaseValidatingLineEdit + : public Utils::FancyLineEdit { Q_OBJECT Q_PROPERTY(bool namespacesEnabled READ namespacesEnabled WRITE setNamespacesEnabled DESIGNABLE true) @@ -68,9 +68,9 @@ signals: void updateFileName(const QString &t); protected: - virtual bool validate(const QString &value, QString *errorMessage) const; - virtual void slotChanged(const QString &t); - virtual QString fixInputString(const QString &string); + bool validate(const QString &value, QString *errorMessage) const; + void handleChanged(const QString &t); + QString fixInputString(const QString &string); private: void updateRegExp() const; diff --git a/src/libs/utils/fancylineedit.cpp b/src/libs/utils/fancylineedit.cpp index f6ae4d0e222..0fbfe6deceb 100644 --- a/src/libs/utils/fancylineedit.cpp +++ b/src/libs/utils/fancylineedit.cpp @@ -43,15 +43,33 @@ /*! \class Utils::FancyLineEdit - \brief The FancyLineEdit class is a line edit with an embedded pixmap on - one side that is connected to - a menu. + \brief The FancyLineEdit class is an enhanced line edit with several + opt-in features. - Additionally, it can display a grayed hintText (like "Type Here to") + A FancyLineEdit instance can have: + + \list + \li An embedded pixmap on one side that is connected to a menu. + + \li A grayed hintText (like "Type Here to") when not focused and empty. When connecting to the changed signals and querying text, one has to be aware that the text is set to that hint text if isShowingHintText() returns true (that is, does not contain valid user input). + + \li A history completer. + + \li The ability to validate the contents of the text field by overriding + virtual \c validate() function in derived clases. + \endlist + + When invalid, the text color will turn red and a tooltip will + contain the error message. This approach is less intrusive than a + QValidator which will prevent the user from entering certain characters. + + A visible hint text results validation to be in state 'DisplayingInitialText', + which is not valid, but is not marked red. + */ enum { margin = 6 }; @@ -69,7 +87,8 @@ public: virtual bool eventFilter(QObject *obj, QEvent *event); - FancyLineEdit *m_lineEdit; + FancyLineEdit *m_lineEdit; + QString m_oldText; QPixmap m_pixmap[2]; QMenu *m_menu[2]; bool m_menuTabFocusTrigger[2]; @@ -80,11 +99,25 @@ public: bool m_isFiltering; QString m_lastFilterText; + + const QColor m_okTextColor; + QColor m_errorTextColor; + FancyLineEdit::State m_state; + QString m_errorMessage; + QString m_initialText; + bool m_firstChange; }; FancyLineEditPrivate::FancyLineEditPrivate(FancyLineEdit *parent) : - QObject(parent), m_lineEdit(parent), m_historyCompleter(0), m_isFiltering(false) + QObject(parent), + m_lineEdit(parent), + m_historyCompleter(0), + m_isFiltering(false), + m_okTextColor(FancyLineEdit::textColor(parent)), + m_errorTextColor(Qt::red), + m_state(FancyLineEdit::Invalid), + m_firstChange(true) { for (int i = 0; i < 2; ++i) { m_menu[i] = 0; @@ -130,20 +163,9 @@ FancyLineEdit::FancyLineEdit(QWidget *parent) : ensurePolished(); updateMargins(); - connect(this, SIGNAL(textChanged(QString)), this, SLOT(checkButtons(QString))); connect(d->m_iconbutton[Left], SIGNAL(clicked()), this, SLOT(iconClicked())); connect(d->m_iconbutton[Right], SIGNAL(clicked()), this, SLOT(iconClicked())); -} - -void FancyLineEdit::checkButtons(const QString &text) -{ - if (m_oldText.isEmpty() || text.isEmpty()) { - for (int i = 0; i < 2; ++i) { - if (d->m_iconbutton[i]->hasAutoHide()) - d->m_iconbutton[i]->animateShow(!text.isEmpty()); - } - m_oldText = text; - } + connect(this, SIGNAL(textChanged(QString)), this, SLOT(onTextChanged(QString))); } FancyLineEdit::~FancyLineEdit() @@ -322,24 +344,132 @@ void FancyLineEdit::setFiltering(bool on) setButtonToolTip(Right, tr("Clear text")); setAutoHideButton(Right, true); connect(this, SIGNAL(rightButtonClicked()), this, SLOT(clear())); - connect(this, SIGNAL(textChanged(QString)), this, SLOT(slotTextChanged())); } else { disconnect(this, SIGNAL(rightButtonClicked()), this, SLOT(clear())); - disconnect(this, SIGNAL(textChanged(QString)), this, SLOT(slotTextChanged())); } } -void FancyLineEdit::slotTextChanged() +QString FancyLineEdit::initialText() const { - const QString newlyTypedText = text(); - if (newlyTypedText != d->m_lastFilterText) { - d->m_lastFilterText = newlyTypedText; - emit filterChanged(d->m_lastFilterText); + return d->m_initialText; +} + +void FancyLineEdit::setInitialText(const QString &t) +{ + if (d->m_initialText != t) { + d->m_initialText = t; + d->m_firstChange = true; + setText(t); } } +QColor FancyLineEdit::errorColor() const +{ + return d->m_errorTextColor; +} +void FancyLineEdit::setErrorColor(const QColor &c) +{ + d->m_errorTextColor = c; +} + +QColor FancyLineEdit::textColor(const QWidget *w) +{ + return w->palette().color(QPalette::Active, QPalette::Text); +} + +void FancyLineEdit::setTextColor(QWidget *w, const QColor &c) +{ + QPalette palette = w->palette(); + palette.setColor(QPalette::Active, QPalette::Text, c); + w->setPalette(palette); +} + +bool FancyLineEdit::validate(const QString &value, QString *errorMessage) const +{ + Q_UNUSED(value); + Q_UNUSED(errorMessage); + return true; +} + +FancyLineEdit::State FancyLineEdit::state() const +{ + return d->m_state; +} + +bool FancyLineEdit::isValid() const +{ + return d->m_state == Valid; +} + +QString FancyLineEdit::errorMessage() const +{ + return d->m_errorMessage; +} + +void FancyLineEdit::onTextChanged(const QString &t) +{ + if (d->m_isFiltering){ + if (t != d->m_lastFilterText) { + d->m_lastFilterText = t; + emit filterChanged(t); + } + } + + d->m_errorMessage.clear(); + // Are we displaying the initial text? + const bool isDisplayingInitialText = !d->m_initialText.isEmpty() && t == d->m_initialText; + const State newState = isDisplayingInitialText ? + DisplayingInitialText : + (validate(t, &d->m_errorMessage) ? Valid : Invalid); + setToolTip(d->m_errorMessage); + // Changed..figure out if valid changed. DisplayingInitialText is not valid, + // but should not show error color. Also trigger on the first change. + if (newState != d->m_state || d->m_firstChange) { + const bool validHasChanged = (d->m_state == Valid) != (newState == Valid); + d->m_state = newState; + d->m_firstChange = false; + setTextColor(this, newState == Invalid ? d->m_errorTextColor : d->m_okTextColor); + if (validHasChanged) { + emit validChanged(newState == Valid); + emit validChanged(); + } + } + bool block = blockSignals(true); + const QString fixedString = fixInputString(t); + if (t != fixedString) { + const int cursorPos = cursorPosition(); + setText(fixedString); + setCursorPosition(qMin(cursorPos, fixedString.length())); + } + blockSignals(block); + + // Check buttons. + if (d->m_oldText.isEmpty() || t.isEmpty()) { + for (int i = 0; i < 2; ++i) { + if (d->m_iconbutton[i]->hasAutoHide()) + d->m_iconbutton[i]->animateShow(!t.isEmpty()); + } + d->m_oldText = t; + } + + handleChanged(t); +} + +void FancyLineEdit::triggerChanged() +{ + onTextChanged(text()); +} + +QString FancyLineEdit::fixInputString(const QString &string) +{ + return string; +} + + +// // IconButton - helper class to represent a clickable icon +// IconButton::IconButton(QWidget *parent) : QAbstractButton(parent), m_autoHide(false) diff --git a/src/libs/utils/fancylineedit.h b/src/libs/utils/fancylineedit.h index d1432573cc6..ae58dcb7bff 100644 --- a/src/libs/utils/fancylineedit.h +++ b/src/libs/utils/fancylineedit.h @@ -71,6 +71,10 @@ class QTCREATOR_UTILS_EXPORT FancyLineEdit : public CompletingLineEdit Q_OBJECT Q_ENUMS(Side) + // Validation. + Q_PROPERTY(QString initialText READ initialText WRITE setInitialText DESIGNABLE true) + Q_PROPERTY(QColor errorColor READ errorColor WRITE setErrorColor DESIGNABLE true) + public: enum Side {Left = 0, Right = 1}; @@ -97,29 +101,66 @@ public: void setAutoHideButton(Side side, bool h); bool hasAutoHideButton(Side side) const; + + // Completion + // Enable a history completer with a history of entries. void setHistoryCompleter(const QString &historyKey); - // Sets a completer that is not a history completer. void setSpecialCompleter(QCompleter *completer); + + // Filtering + // Enables fitering void setFiltering(bool on); + + // Validation + + enum State { Invalid, DisplayingInitialText, Valid }; + + State state() const; + bool isValid() const; + QString errorMessage() const; + + QString initialText() const; + void setInitialText(const QString &); + + QColor errorColor() const; + void setErrorColor(const QColor &); + + // Trigger an update (after changing settings) + void triggerChanged(); + + static QColor textColor(const QWidget *w); + static void setTextColor(QWidget *w, const QColor &c); + +protected slots: + // Custom behaviour can be added here. + virtual void handleChanged(const QString &) {} + signals: void buttonClicked(Utils::FancyLineEdit::Side side); void leftButtonClicked(); void rightButtonClicked(); + void filterChanged(const QString &); + void validChanged(); + void validChanged(bool validState); + void validReturnPressed(); + private slots: - void checkButtons(const QString &); void iconClicked(); - void slotTextChanged(); // For filtering. + void onTextChanged(const QString &); protected: void resizeEvent(QResizeEvent *e); + virtual bool validate(const QString &value, QString *errorMessage) const; + virtual QString fixInputString(const QString &string); + private: // Unimplemented, to force the user to make a decision on // whether to use setHistoryCompleter() or setSpecialCompleter(). @@ -130,7 +171,6 @@ private: friend class Utils::FancyLineEditPrivate; FancyLineEditPrivate *d; - QString m_oldText; }; } // namespace Utils diff --git a/src/libs/utils/filenamevalidatinglineedit.cpp b/src/libs/utils/filenamevalidatinglineedit.cpp index 9fea015c5bf..22cd32c6881 100644 --- a/src/libs/utils/filenamevalidatinglineedit.cpp +++ b/src/libs/utils/filenamevalidatinglineedit.cpp @@ -66,7 +66,7 @@ static QRegExp &windowsDeviceSubDirPattern() // ----------- FileNameValidatingLineEdit FileNameValidatingLineEdit::FileNameValidatingLineEdit(QWidget *parent) : - BaseValidatingLineEdit(parent), + FancyLineEdit(parent), m_allowDirectories(false), m_forceFirstCapitalLetter(false) { diff --git a/src/libs/utils/filenamevalidatinglineedit.h b/src/libs/utils/filenamevalidatinglineedit.h index f40aeb94360..211455e8c57 100644 --- a/src/libs/utils/filenamevalidatinglineedit.h +++ b/src/libs/utils/filenamevalidatinglineedit.h @@ -30,11 +30,11 @@ #ifndef FILENAMEVALIDATINGLINEEDIT_H #define FILENAMEVALIDATINGLINEEDIT_H -#include "basevalidatinglineedit.h" +#include "fancylineedit.h" namespace Utils { -class QTCREATOR_UTILS_EXPORT FileNameValidatingLineEdit : public BaseValidatingLineEdit +class QTCREATOR_UTILS_EXPORT FileNameValidatingLineEdit : public FancyLineEdit { Q_OBJECT Q_PROPERTY(bool allowDirectories READ allowDirectories WRITE setAllowDirectories) diff --git a/src/libs/utils/ipaddresslineedit.cpp b/src/libs/utils/ipaddresslineedit.cpp index f35e64544d7..c051b1438da 100644 --- a/src/libs/utils/ipaddresslineedit.cpp +++ b/src/libs/utils/ipaddresslineedit.cpp @@ -58,7 +58,7 @@ IpAddressLineEditPrivate::IpAddressLineEditPrivate() } IpAddressLineEdit::IpAddressLineEdit(QWidget* parent) : - BaseValidatingLineEdit(parent), + FancyLineEdit(parent), d(new IpAddressLineEditPrivate()) { const char ipAddressRegExpPatternC[] = "^\\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\." @@ -88,9 +88,9 @@ bool IpAddressLineEdit::validate(const QString &value, QString *errorMessage) co return true; } -void IpAddressLineEdit::slotChanged(const QString &t) +void IpAddressLineEdit::handleChanged(const QString &t) { - Utils::BaseValidatingLineEdit::slotChanged(t); + Utils::FancyLineEdit::handleChanged(t); if (isValid()) emit validAddressChanged(t); else diff --git a/src/libs/utils/ipaddresslineedit.h b/src/libs/utils/ipaddresslineedit.h index 955101e6016..848c78a8397 100644 --- a/src/libs/utils/ipaddresslineedit.h +++ b/src/libs/utils/ipaddresslineedit.h @@ -30,13 +30,13 @@ #ifndef IPADDRESSLINEEDIT_H #define IPADDRESSLINEEDIT_H -#include "basevalidatinglineedit.h" +#include "fancylineedit.h" namespace Utils { class IpAddressLineEditPrivate; -class QTCREATOR_UTILS_EXPORT IpAddressLineEdit : public Utils::BaseValidatingLineEdit +class QTCREATOR_UTILS_EXPORT IpAddressLineEdit : public Utils::FancyLineEdit { Q_OBJECT @@ -50,7 +50,7 @@ signals: protected: virtual bool validate(const QString &value, QString *errorMessage) const; - virtual void slotChanged(const QString &t); + virtual void handleChanged(const QString &t); private: IpAddressLineEditPrivate *d; diff --git a/src/libs/utils/pathchooser.cpp b/src/libs/utils/pathchooser.cpp index 9c22eb186f0..c5f69d1b558 100644 --- a/src/libs/utils/pathchooser.cpp +++ b/src/libs/utils/pathchooser.cpp @@ -30,7 +30,6 @@ #include "pathchooser.h" #include "fancylineedit.h" -#include "basevalidatinglineedit.h" #include "environment.h" #include "qtcassert.h" @@ -64,7 +63,7 @@ namespace Utils { // ------------------ PathValidatingLineEdit -class PathValidatingLineEdit : public BaseValidatingLineEdit +class PathValidatingLineEdit : public FancyLineEdit { public: explicit PathValidatingLineEdit(PathChooser *chooser, QWidget *parent = 0); @@ -77,7 +76,7 @@ private: }; PathValidatingLineEdit::PathValidatingLineEdit(PathChooser *chooser, QWidget *parent) : - BaseValidatingLineEdit(parent), + FancyLineEdit(parent), m_chooser(chooser) { QTC_ASSERT(chooser, return); diff --git a/src/libs/utils/projectintropage.cpp b/src/libs/utils/projectintropage.cpp index 2980cb19396..03654879e54 100644 --- a/src/libs/utils/projectintropage.cpp +++ b/src/libs/utils/projectintropage.cpp @@ -161,12 +161,12 @@ bool ProjectIntroPage::validate() // Name valid? Ignore 'DisplayingInitialText' state. bool nameValid = false; switch (d->m_ui.nameLineEdit->state()) { - case BaseValidatingLineEdit::Invalid: + case FancyLineEdit::Invalid: displayStatusMessage(Error, d->m_ui.nameLineEdit->errorMessage()); return false; - case BaseValidatingLineEdit::DisplayingInitialText: + case FancyLineEdit::DisplayingInitialText: break; - case BaseValidatingLineEdit::Valid: + case FancyLineEdit::Valid: nameValid = true; break; } diff --git a/src/libs/utils/projectnamevalidatinglineedit.cpp b/src/libs/utils/projectnamevalidatinglineedit.cpp index 642f9deed6c..c123a25d58a 100644 --- a/src/libs/utils/projectnamevalidatinglineedit.cpp +++ b/src/libs/utils/projectnamevalidatinglineedit.cpp @@ -35,7 +35,7 @@ namespace Utils { ProjectNameValidatingLineEdit::ProjectNameValidatingLineEdit(QWidget *parent) - : BaseValidatingLineEdit(parent) + : FancyLineEdit(parent) { } diff --git a/src/libs/utils/projectnamevalidatinglineedit.h b/src/libs/utils/projectnamevalidatinglineedit.h index c6a6592bbb8..426555d4432 100644 --- a/src/libs/utils/projectnamevalidatinglineedit.h +++ b/src/libs/utils/projectnamevalidatinglineedit.h @@ -30,11 +30,11 @@ #ifndef PROJECTNAMEVALIDATINGLINEEDIT_H #define PROJECTNAMEVALIDATINGLINEEDIT_H -#include "basevalidatinglineedit.h" +#include "fancylineedit.h" namespace Utils { -class QTCREATOR_UTILS_EXPORT ProjectNameValidatingLineEdit : public BaseValidatingLineEdit +class QTCREATOR_UTILS_EXPORT ProjectNameValidatingLineEdit : public FancyLineEdit { Q_OBJECT diff --git a/src/libs/utils/utils-lib.pri b/src/libs/utils/utils-lib.pri index 6d158ea49eb..8bbf3614fce 100644 --- a/src/libs/utils/utils-lib.pri +++ b/src/libs/utils/utils-lib.pri @@ -27,7 +27,6 @@ SOURCES += $$PWD/environment.cpp \ $$PWD/filewizarddialog.cpp \ $$PWD/filesystemwatcher.cpp \ $$PWD/projectintropage.cpp \ - $$PWD/basevalidatinglineedit.cpp \ $$PWD/filenamevalidatinglineedit.cpp \ $$PWD/projectnamevalidatinglineedit.cpp \ $$PWD/codegeneration.cpp \ @@ -114,7 +113,6 @@ HEADERS += \ $$PWD/filewizarddialog.h \ $$PWD/filesystemwatcher.h \ $$PWD/projectintropage.h \ - $$PWD/basevalidatinglineedit.h \ $$PWD/filenamevalidatinglineedit.h \ $$PWD/projectnamevalidatinglineedit.h \ $$PWD/codegeneration.h \ diff --git a/src/libs/utils/utils.qbs b/src/libs/utils/utils.qbs index 550f1b3f3db..6d9731b9e8f 100644 --- a/src/libs/utils/utils.qbs +++ b/src/libs/utils/utils.qbs @@ -31,8 +31,6 @@ QtcLibrary { "appmainwindow.h", "basetreeview.cpp", "basetreeview.h", - "basevalidatinglineedit.cpp", - "basevalidatinglineedit.h", "bracematcher.cpp", "bracematcher.h", "buildablehelperlibrary.cpp", diff --git a/src/plugins/qbsprojectmanager/qbspropertylineedit.cpp b/src/plugins/qbsprojectmanager/qbspropertylineedit.cpp index 3d06737352e..1080094c894 100644 --- a/src/plugins/qbsprojectmanager/qbspropertylineedit.cpp +++ b/src/plugins/qbsprojectmanager/qbspropertylineedit.cpp @@ -37,7 +37,7 @@ namespace QbsProjectManager { namespace Internal { QbsPropertyLineEdit::QbsPropertyLineEdit(QWidget *parent) : - Utils::BaseValidatingLineEdit(parent) + Utils::FancyLineEdit(parent) { } QList > QbsPropertyLineEdit::properties() const diff --git a/src/plugins/qbsprojectmanager/qbspropertylineedit.h b/src/plugins/qbsprojectmanager/qbspropertylineedit.h index 841f4359a70..3b6870940a3 100644 --- a/src/plugins/qbsprojectmanager/qbspropertylineedit.h +++ b/src/plugins/qbsprojectmanager/qbspropertylineedit.h @@ -30,7 +30,7 @@ #ifndef QBSPROPERTYLINEEDIT_H #define QBSPROPERTYLINEEDIT_H -#include +#include #include #include @@ -38,7 +38,7 @@ namespace QbsProjectManager { namespace Internal { -class QbsPropertyLineEdit : public Utils::BaseValidatingLineEdit +class QbsPropertyLineEdit : public Utils::FancyLineEdit { Q_OBJECT