#ifndef FILTERBAR_H
#define FILTERBAR_H
-#include <QWidget>
+#include "animatedheightwidget.h"
class QLineEdit;
class QToolButton;
*
* @author Gregor Kališnik <gregor@podnapisi.net>
*/
-class FilterBar : public QWidget
+class FilterBar : public AnimatedHeightWidget
{
Q_OBJECT
public:
- explicit FilterBar(QWidget* parent = nullptr);
+ explicit FilterBar(QWidget *parent = nullptr);
~FilterBar() override;
/** Called by view container to hide this **/
*/
void selectAll();
-public slots:
+public Q_SLOTS:
/** Clears the input field. */
void clear();
/** Clears the input field if the "lock button" is disabled. */
- void slotUrlChanged();
+ void clearIfUnlocked();
/** The input field is cleared also if the "lock button" is released. */
void slotToggleLockButton(bool checked);
-signals:
+Q_SIGNALS:
/**
* Signal that reports the name filter has been
* changed to \a nameFilter.
*/
- void filterChanged(const QString& nameFilter);
+ void filterChanged(const QString &nameFilter);
/**
* Emitted as soon as the filterbar should get closed.
void focusViewRequest();
protected:
- void showEvent(QShowEvent* event) override;
- void keyReleaseEvent(QKeyEvent* event) override;
+ void showEvent(QShowEvent *event) override;
+ void keyPressEvent(QKeyEvent *event) override;
+
+ /** @see AnimatedHeightWidget::preferredHeight() */
+ int preferredHeight() const override;
private:
- QLineEdit* m_filterInput;
- QToolButton* m_lockButton;
+ QLineEdit *m_filterInput;
+ QToolButton *m_lockButton;
};
#endif