]> cloud.milkyroute.net Git - dolphin.git/commitdiff
Fix compile issue resulted by commit 2caff15b
authorPeter Penz <peter.penz19@gmail.com>
Wed, 11 Apr 2012 18:45:19 +0000 (20:45 +0200)
committerPeter Penz <peter.penz19@gmail.com>
Wed, 11 Apr 2012 18:45:19 +0000 (20:45 +0200)
src/kitemviews/private/kitemlistkeyboardsearchmanager.h [new file with mode: 0644]
src/kitemviews/private/kitemlistrubberband.h [new file with mode: 0644]

diff --git a/src/kitemviews/private/kitemlistkeyboardsearchmanager.h b/src/kitemviews/private/kitemlistkeyboardsearchmanager.h
new file mode 100644 (file)
index 0000000..d6a6686
--- /dev/null
@@ -0,0 +1,81 @@
+/***************************************************************************
+ * Copyright (C) 2011 by Tirtha Chatterjee <tirtha.p.chatterjee@gmail.com> *
+ *                                                                         *
+ *   Based on the Itemviews NG project from Trolltech Labs:                *
+ *   http://qt.gitorious.org/qt-labs/itemviews-ng                          *
+ *                                                                         *
+ *   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            *
+ ***************************************************************************/
+
+#ifndef KITEMLISTKEYBOARDMANAGER_H
+#define KITEMLISTKEYBOARDMANAGER_H
+
+#include <libdolphin_export.h>
+
+#include <QObject>
+#include <QString>
+#include <QElapsedTimer>
+
+/**
+ * @brief Controls the keyboard searching ability for a KItemListController.
+ *
+ * @see KItemListController
+ * @see KItemModelBase
+ */
+class LIBDOLPHINPRIVATE_EXPORT KItemListKeyboardSearchManager : public QObject
+{
+    Q_OBJECT
+
+public:
+
+    KItemListKeyboardSearchManager(QObject* parent = 0);
+    virtual ~KItemListKeyboardSearchManager();
+
+    /**
+     * Add \a keys to the text buffer used for searching.
+     */
+    void addKeys(const QString& keys);
+
+    /**
+     * Sets the delay after which the search is cancelled to \a milliseconds.
+     * If the time interval between two calls of addKeys(const QString&) is
+     * larger than this, the second call will start a new search, rather than
+     * combining the keys received from both calls to a single search string.
+     */
+    void setTimeout(qint64 milliseconds);
+    qint64 timeout() const;
+
+signals:
+    /**
+     * Is emitted if the current item should be changed corresponding
+     * to \a text.
+     * @param searchFromNextItem If true start searching from item next to the
+     *                           current item. Otherwise, search from the
+     *                           current item.
+     */
+    // TODO: Think about getting rid of the bool parameter
+    // (see http://doc.qt.nokia.com/qq/qq13-apis.html#thebooleanparametertrap)
+    void changeCurrentItem(const QString& string, bool searchFromNextItem);
+
+private:
+    QString m_searchedString;
+    QElapsedTimer m_keyboardInputTime;
+    qint64 m_timeout;
+};
+
+#endif
+
+
diff --git a/src/kitemviews/private/kitemlistrubberband.h b/src/kitemviews/private/kitemlistrubberband.h
new file mode 100644 (file)
index 0000000..aea58af
--- /dev/null
@@ -0,0 +1,60 @@
+/***************************************************************************
+ *   Copyright (C) 2011 by Peter Penz <peter.penz19@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  *
+ *   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            *
+ ***************************************************************************/
+
+#ifndef KITEMLISTRUBBERBAND_H
+#define KITEMLISTRUBBERBAND_H
+
+#include <libdolphin_export.h>
+#include <QObject>
+#include <QPointF>
+
+/**
+ * @brief Manages the rubberband when selecting items.
+ */
+class LIBDOLPHINPRIVATE_EXPORT KItemListRubberBand : public QObject
+{
+    Q_OBJECT
+
+public:
+    explicit KItemListRubberBand(QObject* parent = 0);
+    virtual ~KItemListRubberBand();
+
+    void setStartPosition(const QPointF& pos);
+    QPointF startPosition() const;
+
+    void setEndPosition(const QPointF& pos);
+    QPointF endPosition() const;
+
+    void setActive(bool active);
+    bool isActive() const;
+
+signals:
+    void activationChanged(bool active);
+    void startPositionChanged(const QPointF& current, const QPointF& previous);
+    void endPositionChanged(const QPointF& current, const QPointF& previous);
+
+private:
+    bool m_active;
+    QPointF m_startPos;
+    QPointF m_endPos;
+};
+
+#endif
+
+