![]() |
Mixxx
|
00001 #ifndef WSEARCHLINEEDIT_H 00002 #define WSEARCHLINEEDIT_H 00003 00004 #include <QLineEdit> 00005 #include <QToolButton> 00006 #include <QLabel> 00007 #include <QTimer> 00008 #include <QDomNode> 00009 #include <QColor> 00010 00011 #include "configobject.h" 00012 00013 class WSearchLineEdit : public QLineEdit { 00014 Q_OBJECT 00015 public: 00016 WSearchLineEdit(ConfigObject<ConfigValue>* pConfig, 00017 QWidget* pParent); 00018 virtual ~WSearchLineEdit(); 00019 void setup(QDomNode node); 00020 00021 protected: 00022 void resizeEvent(QResizeEvent*); 00023 virtual void focusInEvent(QFocusEvent*); 00024 virtual void focusOutEvent(QFocusEvent*); 00025 00026 signals: 00027 void search(const QString& text); 00028 void searchCleared(); 00029 void searchStarting(); 00030 00031 public slots: 00032 void restoreSearch(const QString& text); 00033 00034 private slots: 00035 void updateCloseButton(const QString& text); 00036 void slotSetupTimer(const QString& text); 00037 void triggerSearch(); 00038 00039 private: 00040 void showPlaceholder(); 00041 00042 QTimer m_searchTimer; 00043 QToolButton* m_clearButton; 00044 bool m_place; 00045 QColor m_fgc; //Foreground colour 00046 }; 00047 00048 #endif