dolphin/Source/Core/DolphinQt/SearchBar.cpp

54 lines
1.1 KiB
C++

// Copyright 2018 Dolphin Emulator Project
// Licensed under GPLv2+
// Refer to the license.txt file included.
#include "DolphinQt/SearchBar.h"
#include <QHBoxLayout>
#include <QLineEdit>
#include <QPushButton>
SearchBar::SearchBar(QWidget* parent) : QWidget(parent)
{
CreateWidgets();
ConnectWidgets();
setFixedHeight(32);
setHidden(true);
}
void SearchBar::CreateWidgets()
{
m_search_edit = new QLineEdit;
m_close_button = new QPushButton(tr("Close"));
m_search_edit->setPlaceholderText(tr("Search games..."));
auto* layout = new QHBoxLayout;
layout->addWidget(m_search_edit);
layout->addWidget(m_close_button);
layout->setSizeConstraint(QLayout::SetMinAndMaxSize);
setLayout(layout);
}
void SearchBar::Toggle()
{
m_search_edit->clear();
setHidden(isVisible());
if (isVisible())
m_search_edit->setFocus();
else
m_search_edit->clearFocus();
}
void SearchBar::ConnectWidgets()
{
connect(m_search_edit, &QLineEdit::textChanged, this, &SearchBar::Search);
connect(m_close_button, &QPushButton::pressed, this, &SearchBar::Toggle);
}