~ubuntu-branches/ubuntu/quantal/kde-baseapps/quantal

« back to all changes in this revision

Viewing changes to dolphin/src/kitemviews/private/kitemlistkeyboardsearchmanager.h

  • Committer: Package Import Robot
  • Author(s): Philip Muškovac
  • Date: 2012-05-25 17:26:17 UTC
  • mfrom: (1.1.12)
  • Revision ID: package-import@ubuntu.com-20120525172617-xr9bzhlugldbflvq
Tags: 4:4.8.80a-0ubuntu1
* Merge with debian git, remainging changes:
  - keep breaks/replaces
  - keep symbol files
  - keep kubuntu patches
  - dolphin suggests and not recommends ruby
  - add kfind, konsole and kompare to dolphin suggests
* konq-plugins breaks/replaces kde-baseapps-data << 4:4.8.80

* Drop squence numbers from kubuntu patches 

* New upstream beta release
  - refresh kubuntu_fix_systemsettings_about_me.diff
  - add new doc images to {konqueror,dolphin}.install

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/***************************************************************************
 
2
 * Copyright (C) 2011 by Tirtha Chatterjee <tirtha.p.chatterjee@gmail.com> *
 
3
 *                                                                         *
 
4
 *   Based on the Itemviews NG project from Trolltech Labs:                *
 
5
 *   http://qt.gitorious.org/qt-labs/itemviews-ng                          *
 
6
 *                                                                         *
 
7
 *   This program is free software; you can redistribute it and/or modify  *
 
8
 *   it under the terms of the GNU General Public License as published by  *
 
9
 *   the Free Software Foundation; either version 2 of the License, or     *
 
10
 *   (at your option) any later version.                                   *
 
11
 *                                                                         *
 
12
 *   This program is distributed in the hope that it will be useful,       *
 
13
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
 
14
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
 
15
 *   GNU General Public License for more details.                          *
 
16
 *                                                                         *
 
17
 *   You should have received a copy of the GNU General Public License     *
 
18
 *   along with this program; if not, write to the                         *
 
19
 *   Free Software Foundation, Inc.,                                       *
 
20
 *   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA            *
 
21
 ***************************************************************************/
 
22
 
 
23
#ifndef KITEMLISTKEYBOARDMANAGER_H
 
24
#define KITEMLISTKEYBOARDMANAGER_H
 
25
 
 
26
#include <libdolphin_export.h>
 
27
 
 
28
#include <QObject>
 
29
#include <QString>
 
30
#include <QElapsedTimer>
 
31
 
 
32
/**
 
33
 * @brief Controls the keyboard searching ability for a KItemListController.
 
34
 *
 
35
 * @see KItemListController
 
36
 * @see KItemModelBase
 
37
 */
 
38
class LIBDOLPHINPRIVATE_EXPORT KItemListKeyboardSearchManager : public QObject
 
39
{
 
40
    Q_OBJECT
 
41
 
 
42
public:
 
43
 
 
44
    KItemListKeyboardSearchManager(QObject* parent = 0);
 
45
    virtual ~KItemListKeyboardSearchManager();
 
46
 
 
47
    /**
 
48
     * Add \a keys to the text buffer used for searching.
 
49
     */
 
50
    void addKeys(const QString& keys);
 
51
 
 
52
    /**
 
53
     * Sets the delay after which the search is cancelled to \a milliseconds.
 
54
     * If the time interval between two calls of addKeys(const QString&) is
 
55
     * larger than this, the second call will start a new search, rather than
 
56
     * combining the keys received from both calls to a single search string.
 
57
     */
 
58
    void setTimeout(qint64 milliseconds);
 
59
    qint64 timeout() const;
 
60
 
 
61
    void cancelSearch();
 
62
 
 
63
public slots:
 
64
 
 
65
    void slotCurrentChanged(int current, int previous);
 
66
 
 
67
signals:
 
68
    /**
 
69
     * Is emitted if the current item should be changed corresponding
 
70
     * to \a text.
 
71
     * @param searchFromNextItem If true start searching from item next to the
 
72
     *                           current item. Otherwise, search from the
 
73
     *                           current item.
 
74
     */
 
75
    // TODO: Think about getting rid of the bool parameter
 
76
    // (see http://doc.qt.nokia.com/qq/qq13-apis.html#thebooleanparametertrap)
 
77
    void changeCurrentItem(const QString& string, bool searchFromNextItem);
 
78
 
 
79
private:
 
80
    QString m_searchedString;
 
81
    QElapsedTimer m_keyboardInputTime;
 
82
    qint64 m_timeout;
 
83
};
 
84
 
 
85
#endif
 
86
 
 
87