summaryrefslogtreecommitdiff
path: root/src/lineedit.cpp
blob: c9df7bfaeef375dd11e0cbcbb834dfc79c62e3be (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
/* ============================================================
*
* This file is a part of the rekonq project
*
* Copyright (C) 2009 by Paweł Prażak <pawelprazak at gmail dot 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, 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.
*
* ============================================================ */

// Self Includes
#include "lineedit.h"
#include "lineedit.moc"

// Qt Includes
#include <QContextMenuEvent>
#include <QFocusEvent>
#include <QKeyEvent>

// KDE Includes
#include <KDebug>

// Local Includes

LineEdit::LineEdit(QWidget* parent)
        : KLineEdit(parent)
{
    setMinimumWidth(180);
    setFocusPolicy(Qt::WheelFocus);

    setHandleSignals(true);
}


LineEdit::~LineEdit()
{
}


void LineEdit::keyPressEvent(QKeyEvent *event)
{
    if (event->key() == Qt::Key_Escape)
    {
        clearFocus();
        event->accept();
    }

    KLineEdit::keyPressEvent(event);
}


void LineEdit::contextMenuEvent(QContextMenuEvent *event)
{
    KLineEdit::contextMenuEvent(event);
}


void LineEdit::focusInEvent(QFocusEvent *event)
{
    selectAll();

    KLineEdit::focusInEvent(event);
}


void LineEdit::focusOutEvent(QFocusEvent *event)
{
    KLineEdit::focusOutEvent(event);

    // reset cursor state and deselect
    setCursorPosition(0);
    deselect();
}