PageRenderTime 26ms CodeModel.GetById 11ms app.highlight 10ms RepoModel.GetById 2ms app.codeStats 0ms

/src/libtomahawk/playlist/topbar/searchlineedit.cpp

http://github.com/tomahawk-player/tomahawk
C++ | 69 lines | 31 code | 9 blank | 29 comment | 0 complexity | 87f5e50302bdba8c8e3b18a0d7b10c65 MD5 | raw file
 1/**
 2 * Copyright (c) 2009, Benjamin C. Meyer
 3 *
 4 * Redistribution and use in source and binary forms, with or without
 5 * modification, are permitted provided that the following conditions
 6 * are met:
 7 * 1. Redistributions of source code must retain the above copyright
 8 *    notice, this list of conditions and the following disclaimer.
 9 * 2. Redistributions in binary form must reproduce the above copyright
10 *    notice, this list of conditions and the following disclaimer in the
11 *    documentation and/or other materials provided with the distribution.
12 * 3. Neither the name of the Benjamin Meyer nor the names of its contributors
13 *    may be used to endorse or promote products derived from this software
14 *    without specific prior written permission.
15 *
16 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
17 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
20 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26 * SUCH DAMAGE.
27 */
28
29#include "searchlineedit.h"
30
31#include "clearbutton.h"
32#include "searchbutton.h"
33
34SearchLineEdit::SearchLineEdit(QWidget *parent)
35    : LineEdit(parent)
36{
37    init();
38}
39
40void SearchLineEdit::init()
41{
42    // search button on the left
43    m_searchButton = new SearchButton(this);
44    addWidget(m_searchButton, LeftSide);
45
46    // clear button on the right
47    m_clearButton = new ClearButton(this);
48    connect(m_clearButton, SIGNAL(clicked()),
49            this, SLOT(clear()));
50    connect(this, SIGNAL(textChanged(const QString&)),
51            m_clearButton, SLOT(textChanged(const QString&)));
52    addWidget(m_clearButton, RightSide);
53    m_clearButton->hide();
54
55    setWidgetSpacing(5);
56
57    updateTextMargins();
58    setInactiveText(tr("Search"));
59}
60
61ClearButton *SearchLineEdit::clearButton() const
62{
63    return m_clearButton;
64}
65
66SearchButton *SearchLineEdit::searchButton() const
67{
68    return m_searchButton;
69}