~ubuntu-branches/ubuntu/lucid/ktorrent/lucid

« back to all changes in this revision

Viewing changes to libktcore/util/hintlineedit.h

  • Committer: Bazaar Package Importer
  • Author(s): Alessandro Ghersi
  • Date: 2009-12-08 19:17:41 UTC
  • mfrom: (1.2.1 upstream) (0.7.12 sid)
  • Revision ID: james.westby@ubuntu.com-20091208191741-lqlq0xvnlv8ki19u
Tags: 3.3.1+dfsg.1-1ubuntu1
* Merge with Debian Testing remaining changes:
  - Build-depend directly on libboost-serialization1.40-dev since
    libboost-serialization-dev from boost-defaults is not in Main
  - Add in rules: include /usr/lib/kubuntu-desktop-i18n/debhelper/kubuntu.mk
  - Don't use dpkg-source 3.0 format
  - Add quilt to build-depends

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/****************************************************************************
 
2
**
 
3
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
 
4
** Contact: Qt Software Information (qt-info@nokia.com)
 
5
**
 
6
** This file is part of the Qt Designer of the Qt Toolkit.
 
7
**
 
8
** $QT_BEGIN_LICENSE:LGPL$
 
9
** Commercial Usage
 
10
** Licensees holding valid Qt Commercial licenses may use this file in
 
11
** accordance with the Qt Commercial License Agreement provided with the
 
12
** Software or, alternatively, in accordance with the terms contained in
 
13
** a written agreement between you and Nokia.
 
14
**
 
15
** GNU Lesser General Public License Usage
 
16
** Alternatively, this file may be used under the terms of the GNU Lesser
 
17
** General Public License version 2.1 as published by the Free Software
 
18
** Foundation and appearing in the file LICENSE.LGPL included in the
 
19
** packaging of this file.  Please review the following information to
 
20
** ensure the GNU Lesser General Public License version 2.1 requirements
 
21
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
 
22
**
 
23
** In addition, as a special exception, Nokia gives you certain
 
24
** additional rights. These rights are described in the Nokia Qt LGPL
 
25
** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
 
26
** package.
 
27
**
 
28
** GNU General Public License Usage
 
29
** Alternatively, this file may be used under the terms of the GNU
 
30
** General Public License version 3.0 as published by the Free Software
 
31
** Foundation and appearing in the file LICENSE.GPL included in the
 
32
** packaging of this file.  Please review the following information to
 
33
** ensure the GNU General Public License version 3.0 requirements will be
 
34
** met: http://www.gnu.org/copyleft/gpl.html.
 
35
**
 
36
** If you are unsure which license is appropriate for your use, please
 
37
** contact the sales department at qt-sales@nokia.com.
 
38
** $QT_END_LICENSE$
 
39
**
 
40
****************************************************************************/
 
41
#ifndef KT_HINTLINEEDIT_H
 
42
#define KT_HINTLINEEDIT_H
 
43
 
 
44
#include <ktcore_export.h>
 
45
#include <klineedit.h>
 
46
 
 
47
 
 
48
namespace kt 
 
49
{
 
50
        /**
 
51
                Line edit which shows a hint when no text is shown.
 
52
                
 
53
                This class is a modified version of Qt designer's HintLineEdit (hence the copyright above)
 
54
        */
 
55
        class KTCORE_EXPORT HintLineEdit : public KLineEdit 
 
56
        {
 
57
                Q_OBJECT
 
58
        public:
 
59
                HintLineEdit(QWidget *parent = 0);
 
60
                virtual ~HintLineEdit();
 
61
                
 
62
                /// Hint text being used
 
63
                QString hintText() const;
 
64
                
 
65
                /// Are we showing the hint text
 
66
                bool isShowingHintText() const;
 
67
                
 
68
                /// Convenience for accessing the text that returns "" in case of isShowingHintText().
 
69
                QString typedText() const;
 
70
                
 
71
        public slots:
 
72
                void setHintText(const QString &ht);
 
73
                void showHintText(bool force = false);
 
74
                void hideHintText();
 
75
                
 
76
        protected:
 
77
                virtual void mousePressEvent(QMouseEvent *event);
 
78
                virtual void focusInEvent(QFocusEvent *e);
 
79
                virtual void focusOutEvent(QFocusEvent *e);
 
80
                
 
81
        private:
 
82
                void setTextColor(const QColor &newColor, QColor *oldColor = 0);
 
83
                
 
84
                const Qt::FocusPolicy default_focus_policy;
 
85
                const QColor hint_color;
 
86
                QColor text_color;
 
87
                QString hint_text;
 
88
                bool showing_hint_text;
 
89
        };
 
90
}
 
91
 
 
92
#endif // KT_HINTLINEEDIT_H