-
Notifications
You must be signed in to change notification settings - Fork 3
/
searchBar.cpp
83 lines (69 loc) · 2.47 KB
/
searchBar.cpp
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
/** This file is part of project comment
*
* File: searchBar.cpp
* Created: 2009-01-31
* Author: Jonathan Verner <[email protected]>
* License: GPL v2 or later
*
* Copyright (C) 2010 Jonathan Verner <[email protected]>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library 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
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public License
* along with this library; see the file COPYING.LIB. If not, write to
* the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
#include "searchBar.h"
#include <QtGui/QHBoxLayout>
#include <QtGui/QLineEdit>
#include <QtGui/QPushButton>
#include <QtGui/QLabel>
#include <QtGui/QAction>
searchBar::searchBar( QWidget *parent ) {
edit = new QLineEdit( this );
next = new QPushButton( "Next", this );
prev = new QPushButton( "Prev", this );
QHBoxLayout *layout = new QHBoxLayout;
QLabel *findLabel = new QLabel( tr("Find") );
QAction *hide = new QAction( this );
hide->setShortcut( (QString) "Esc" );
addAction( hide );
connect( hide, SIGNAL( triggered() ), parent, SLOT( hideEditArea() ) );
connect( edit, SIGNAL( textChanged(const QString &) ), this, SIGNAL( textChanged(const QString &) ) );
connect( next, SIGNAL( clicked() ), this, SIGNAL( nextMatch() ) );
connect( prev, SIGNAL( clicked() ), this, SIGNAL( prevMatch() ) );
edit->setMinimumWidth(10*edit->minimumSizeHint().width());
layout->addWidget( findLabel );
layout->addWidget( edit );
layout->addWidget( next );
layout->addWidget( prev );
setLayout( layout );
}
void searchBar::setText( QString text ) {
edit->setText(text);
}
void searchBar::setNone() {
edit->setStyleSheet("background-color: white");
}
void searchBar::setFound() {
edit->setStyleSheet("background-color: #6EFF69");
}
void searchBar::setMissed() {
edit->setStyleSheet("background-color: #FF5659");
}
void searchBar::setNumOfMatches(int n) {
}
void searchBar::focus() {
edit->selectAll();
edit->setFocus();
}
#include "searchBar.moc"