diff options
Diffstat (limited to 'SQLiteStudio3/guiSQLiteStudio/common/extlineedit.h')
| -rw-r--r-- | SQLiteStudio3/guiSQLiteStudio/common/extlineedit.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/SQLiteStudio3/guiSQLiteStudio/common/extlineedit.h b/SQLiteStudio3/guiSQLiteStudio/common/extlineedit.h new file mode 100644 index 0000000..b3bffbb --- /dev/null +++ b/SQLiteStudio3/guiSQLiteStudio/common/extlineedit.h @@ -0,0 +1,45 @@ +#ifndef EXTLINEEDIT_H +#define EXTLINEEDIT_H + +#include "guiSQLiteStudio_global.h" +#include <QLineEdit> + +class QToolButton; + +class GUI_API_EXPORT ExtLineEdit : public QLineEdit +{ + Q_OBJECT + + public: + explicit ExtLineEdit(QWidget *parent = 0); + explicit ExtLineEdit(const QString& text, QWidget *parent = 0); + + bool getExpanding() const; + void setExpanding(bool value); + + int getExpandingMinWidth() const; + void setExpandingMinWidth(int value); + + int getExpandingMaxWidth() const; + void setExpandingMaxWidth(int value); + + void setClearButtonEnabled(bool enable); + + private: + void init(); + void updateMinSize(); + + static const int expandingExtraSpace = 4; // QLineEdit has hardcoded horizontal margin of 2 for both sides + + bool expanding = false; + int expandingMinWidth = 0; + int expandingMaxWidth = -1; + + private slots: + void handleTextChanged(); + + signals: + void valueErased(); +}; + +#endif // EXTLINEEDIT_H |
