/***************************************************************************
- * Copyright (C) 2005-08 by the Quassel Project *
+ * Copyright (C) 2005-2018 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
***************************************************************************/
#ifndef CHATVIEWSEARCHBAR_H
#define CHATVIEWSEARCHBAR_H
-#include "ui_chatviewsearchbar.h"
-
+#include <QTimer>
#include <QWidget>
+#include "ui_chatviewsearchbar.h"
+
class QAction;
-class ChatViewSearchBar : public QWidget {
- Q_OBJECT
+class ChatViewSearchBar : public QWidget
+{
+ Q_OBJECT
public:
- ChatViewSearchBar(QWidget *parent = 0);
+ ChatViewSearchBar(QWidget* parent = nullptr);
- inline QLineEdit *searchEditLine() const { return ui.searchEditLine; }
- inline QCheckBox *caseSensitiveBox() const { return ui.caseSensitiveBox; }
- inline QCheckBox *searchSendersBox() const { return ui.searchSendersBox; }
- inline QCheckBox *searchMsgsBox() const { return ui.searchMsgsBox; }
- inline QCheckBox *searchOnlyRegularMsgsBox() const { return ui.searchOnlyRegularMsgsBox; }
-
- inline QAction *toggleViewAction() const { return _toggleViewAction; }
+ inline QLineEdit* searchEditLine() const { return ui.searchEditLine; }
+ inline QCheckBox* caseSensitiveBox() const { return ui.caseSensitiveBox; }
+ inline QCheckBox* searchSendersBox() const { return ui.searchSendersBox; }
+ inline QCheckBox* searchMsgsBox() const { return ui.searchMsgsBox; }
+ inline QCheckBox* searchOnlyRegularMsgsBox() const { return ui.searchOnlyRegularMsgsBox; }
+ inline QToolButton* searchUpButton() const { return ui.searchUpButton; }
+ inline QToolButton* searchDownButton() const { return ui.searchDownButton; }
public slots:
- void setVisible(bool visible);
+ void setVisible(bool) override;
+
+signals:
+ void searchChanged(const QString&);
+ void hidden();
+
+private slots:
+ void delaySearch();
+ void search();
private:
- Ui::ChatViewSearchBar ui;
- QAction *_toggleViewAction;
+ Ui::ChatViewSearchBar ui;
+ QTimer _searchDelayTimer;
};
-#endif //CHATVIEWSEARCHBAR_H
+#endif // CHATVIEWSEARCHBAR_H