]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/kitemviews/private/kitemlistkeyboardsearchmanager.h
Add clang-format and format code as in Frameworks
[dolphin.git] / src / kitemviews / private / kitemlistkeyboardsearchmanager.h
index d0161f927c985996ecbdb65d20fb7c6fbfbfc33c..d370bc9ba5c6d73e04d8dc6017142d9e591f80b5 100644 (file)
@@ -1,23 +1,10 @@
-/***************************************************************************
- * Copyright (C) 2011 by Tirtha Chatterjee <tirtha.p.chatterjee@gmail.com> *
- *                                                                         *
- *   Based on the Itemviews NG project from Trolltech Labs                 *
- *                                                                         *
- *   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  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- *   This program is distributed in the hope that it will be useful,       *
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
- *   GNU General Public License for more details.                          *
- *                                                                         *
- *   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.,                                       *
- *   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA            *
- ***************************************************************************/
+/*
+ * SPDX-FileCopyrightText: 2011 Tirtha Chatterjee <tirtha.p.chatterjee@gmail.com>
+ *
+ * Based on the Itemviews NG project from Trolltech Labs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
 
 #ifndef KITEMLISTKEYBOARDSEARCHMANAGER_H
 #define KITEMLISTKEYBOARDSEARCHMANAGER_H
@@ -40,14 +27,18 @@ class DOLPHIN_EXPORT KItemListKeyboardSearchManager : public QObject
     Q_OBJECT
 
 public:
-
-    explicit KItemListKeyboardSearchManager(QObject* parent = nullptr);
+    explicit KItemListKeyboardSearchManager(QObject *parent = nullptr);
     ~KItemListKeyboardSearchManager() override;
 
     /**
      * Add \a keys to the text buffer used for searching.
      */
-    void addKeys(const QString& keys);
+    void addKeys(const QString &keys);
+    /**
+     * @returns true if the next call to addKeys() will trigger a new search.
+     *          Returns false if the next added key char will be added to the search string that was used previously.
+     */
+    bool addKeyBeginsNewSearch() const;
 
     /**
      * Sets the delay after which the search is cancelled to \a milliseconds.
@@ -59,14 +50,13 @@ public:
     qint64 timeout() const;
 
     void cancelSearch();
-    bool shouldClearSearchIfInputTimeReached();
 
-public slots:
+public Q_SLOTS:
 
     void slotCurrentChanged(int current, int previous);
-    void slotSelectionChanged(const KItemSet& current, const KItemSet& previous);
+    void slotSelectionChanged(const KItemSet &current, const KItemSet &previous);
 
-signals:
+Q_SIGNALS:
     /**
      * Is emitted if the current item should be changed corresponding
      * to \a text.
@@ -76,15 +66,18 @@ signals:
      */
     // TODO: Think about getting rid of the bool parameter
     // (see https://doc.qt.io/archives/qq/qq13-apis.html#thebooleanparametertrap)
-    void changeCurrentItem(const QString& string, bool searchFromNextItem);
+    void changeCurrentItem(const QString &string, bool searchFromNextItem);
+
+private:
+    bool shouldClearSearchIfInputTimeReached();
 
 private:
     QString m_searchedString;
     bool m_isSearchRestarted;
+    /** Measures the time since the last key press. */
     QElapsedTimer m_keyboardInputTime;
+    /** Time in milliseconds in which a key press is considered as a continuation of the previous search input. */
     qint64 m_timeout;
 };
 
 #endif
-
-