]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/filterbar/filterbar.h
Merge branch 'release/20.04'
[dolphin.git] / src / filterbar / filterbar.h
index bf1bce684f7ae5dafe297eb2bd2ed78f3ab27a3a..0c7dcb6cd0d16bbfc68a4b3e3d29a574812333af 100644 (file)
@@ -1,6 +1,7 @@
 /***************************************************************************
- *   Copyright (C) 2006 by Peter Penz <peter.penz@gmx.at>                  *
+ *   Copyright (C) 2006-2010 by Peter Penz <peter.penz19@gmail.com>        *
  *   Copyright (C) 2006 by Gregor Kališnik <gregor@podnapisi.net>          *
+ *   Copyright (C) 2012 by Stuart Citrin <ctrn3e8@gmail.com>               *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
  *   it under the terms of the GNU General Public License as published by  *
  *   Free Software Foundation, Inc.,                                       *
  *   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA            *
  ***************************************************************************/
+
 #ifndef FILTERBAR_H
 #define FILTERBAR_H
 
-#include <QtGui/QWidget>
+#include <QWidget>
 
-class KLineEdit;
+class QLineEdit;
+class QToolButton;
 
 /**
  * @brief Provides an input field for filtering the currently shown items.
  *
  * @author Gregor Kališnik <gregor@podnapisi.net>
- * @author Peter Penz <peter.penz@gmx.at>
  */
 class FilterBar : public QWidget
 {
     Q_OBJECT
 
 public:
-    FilterBar(QWidget* parent = 0);
-    virtual ~FilterBar();
+    explicit FilterBar(QWidget* parent = nullptr);
+    ~FilterBar() override;
+
+    /** Called by view container to hide this **/
+    void closeFilterBar();
+
+    /**
+     * Selects the whole text of the filter bar.
+     */
+    void selectAll();
 
 public slots:
     /** Clears the input field. */
     void clear();
+    /** Clears the input field if the "lock button" is disabled. */
+    void slotUrlChanged();
+    /** The input field is cleared also if the "lock button" is released. */
+    void slotToggleLockButton(bool checked);
 
 signals:
     /**
@@ -54,12 +68,18 @@ signals:
      */
     void closeRequest();
 
+    /*
+     * Emitted as soon as the focus should be returned back to the view.
+     */
+    void focusViewRequest();
+
 protected:
-    virtual void showEvent(QShowEvent* event);
-    virtual void keyReleaseEvent(QKeyEvent* event);
+    void showEvent(QShowEvent* event) override;
+    void keyReleaseEvent(QKeyEvent* event) override;
 
 private:
-    KLineEdit* m_filterInput;
+    QLineEdit* m_filterInput;
+    QToolButton* m_lockButton;
 };
 
 #endif