Skip to content

Commit

Permalink
UI|Home: Added button for clearing the package search terms
Browse files Browse the repository at this point in the history
  • Loading branch information
skyjake committed Feb 27, 2016
1 parent 28a94c0 commit de51492
Showing 1 changed file with 20 additions and 2 deletions.
22 changes: 20 additions & 2 deletions doomsday/apps/client/src/ui/home/packageswidget.cpp
Expand Up @@ -42,6 +42,7 @@ DENG_GUI_PIMPL(PackagesWidget)
, public ChildWidgetOrganizer::IWidgetFactory
{
LineEditWidget *search;
ButtonWidget *clearSearch;
HomeMenuWidget *menu;
QStringList filterTerms;

Expand Down Expand Up @@ -176,8 +177,12 @@ DENG_GUI_PIMPL(PackagesWidget)
{
auto *btn = new ButtonWidget;
btn->setText(_E(l) + tag.toLower());
btn->setAction([this, tag] () {
_owner.d->search->setText(tag.toLower());
btn->setAction([this, tag] ()
{
String terms = _owner.d->search->text();
if(!terms.isEmpty() && !terms.last().isSpace()) terms += " ";
terms += tag.toLower();
_owner.d->search->setText(terms);
});
updateTagButtonStyle(btn, "accent");
btn->setSizePolicy(ui::Expand, ui::Expand);
Expand Down Expand Up @@ -284,13 +289,25 @@ DENG_GUI_PIMPL(PackagesWidget)

Instance(Public *i) : Base(i)
{
// Search/filter terms.
self.add(search = new LineEditWidget);
search->rule()
.setInput(Rule::Left, self.rule().left())
.setInput(Rule::Right, self.rule().right())
.setInput(Rule::Top, self.rule().top());
search->setEmptyContentHint(tr("Search packages"));

self.add(clearSearch = new ButtonWidget);
clearSearch->set(Background());
clearSearch->setImage(new StyleProceduralImage("close.ring", self));
clearSearch->setOverrideImageSize(style().fonts().font("default").height().value());
clearSearch->setSizePolicy(ui::Expand, ui::Expand);
clearSearch->rule()
.setInput(Rule::Right, search->rule().left())
.setMidAnchorY(search->rule().midY());
clearSearch->setAction([this] () { search->setText(""); });

// Filtered list of packages.
self.add(menu = new HomeMenuWidget);
menu->layout().setRowPadding(Const(0));
menu->rule()
Expand Down Expand Up @@ -352,6 +369,7 @@ DENG_GUI_PIMPL(PackagesWidget)
{
filterTerms = terms;
menu->organizer().refilter();
clearSearch->show(!terms.isEmpty());
}

void focusFirstListedPackge()
Expand Down

0 comments on commit de51492

Please sign in to comment.