/* * Cantata * * Copyright (c) 2011-2012 Craig Drummond * * ---- * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; see the file COPYING. If not, write to * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301, USA. */ /**************************************************************************** ** ** Copyright (c) 2007 Trolltech ASA ** ** Use, modification and distribution is allowed without limitation, ** warranty, liability or support of any kind. ** ****************************************************************************/ #ifndef LINEEDIT_H #define LINEEDIT_H #include #ifdef ENABLE_KDE_SUPPORT #include class LineEdit : public KLineEdit { public: LineEdit(QWidget *parent = 0) : KLineEdit(parent) { setClearButtonShown(true); } virtual ~LineEdit() { } void setReadOnly(bool e) { KLineEdit::setReadOnly(e); if (e) { QPalette p(palette()); p.setColor(QPalette::Active, QPalette::Base, p.color(QPalette::Active, QPalette::Window)); p.setColor(QPalette::Disabled, QPalette::Base, p.color(QPalette::Disabled, QPalette::Window)); p.setColor(QPalette::Inactive, QPalette::Base, p.color(QPalette::Inactive, QPalette::Window)); setPalette(p); } else { setPalette(qApp->palette()); } } }; #else #include class QToolButton; class LineEdit : public QLineEdit { Q_OBJECT public: LineEdit(QWidget *parent = 0); virtual ~LineEdit() { } void setReadOnly(bool e) { QLineEdit::setReadOnly(e); if (e) { QPalette p(palette()); p.setColor(QPalette::Active, QPalette::Base, p.color(QPalette::Active, QPalette::Window)); p.setColor(QPalette::Disabled, QPalette::Base, p.color(QPalette::Disabled, QPalette::Window)); p.setColor(QPalette::Inactive, QPalette::Base, p.color(QPalette::Inactive, QPalette::Window)); setPalette(p); } else { setPalette(qApp->palette()); } } protected: void resizeEvent(QResizeEvent *); private Q_SLOTS: void updateCloseButton(const QString &text); private: QToolButton *clearButton; }; #endif #endif // LIENEDIT_H