File: SearchLineEdit.h

package info (click to toggle)
equalx 0.7.1-5
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,268 kB
  • sloc: cpp: 7,119; ansic: 98; sql: 10; makefile: 6
file content (69 lines) | stat: -rw-r--r-- 2,056 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
/*
    This file is part of EqualX, based on LineEdit from Martin Rotter http://www.martin-rotter.8u.cz/2013/03/qlineedit-subclass-with-clear-button-in-english/

    EqualX 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 3 of the License, or
    (at your option) any later version.

    EqualX 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 EqualX.  If not, see <http://www.gnu.org/licenses/>.

    Copyright 2012 - 2013 Martin Rotter
    Copyright 2014 Mihai Niculescu
*/

/****************************************************************************
**
** Copyright (c) 2007 Trolltech ASA <info@trolltech.com>
**
** Use, modification and distribution is allowed without limitation,
** warranty, liability or support of any kind.
**
****************************************************************************/

#ifndef LINEEDIT_H
#define LINEEDIT_H

#include <QToolButton>
#include <QLineEdit>


class SearchLineEdit : public QLineEdit {
    Q_OBJECT

  public:
    // Constructors and destructors
    SearchLineEdit(QWidget *parent = 0);
    ~SearchLineEdit();

  public slots:
    // Disables or enables clear button.
    void setClearButtonEnabled(bool enable);

    // Tweak default implementations.
    void setEnabled(bool enable);
    void setReadOnly(bool read_only);

  protected slots:
    void onTextChanged(const QString &new_text);

  protected:
    // Places clear button into the correct position.
    void resizeEvent(QResizeEvent *event);

    // Returns width of QLineEdit frame.
    int frameWidth() const;

  private:
    QToolButton *mClearButton;
    bool mClearButtonEnabled;
    QCompleter *mCompleter;
};

#endif // LIENEDIT_H