implemented search filter
This commit is contained in:
parent
74e1df9551
commit
259193de8b
2 changed files with 9 additions and 2 deletions
|
@ -47,6 +47,7 @@ namespace Buypeeb {
|
||||||
private Box selectionViewBox;
|
private Box selectionViewBox;
|
||||||
private Label endingLabel;
|
private Label endingLabel;
|
||||||
private bool queueActive;
|
private bool queueActive;
|
||||||
|
private SearchEntry searchEntry;
|
||||||
private Dictionary<string, CheckButton> filterChecks = new Dictionary<string, CheckButton>();
|
private Dictionary<string, CheckButton> filterChecks = new Dictionary<string, CheckButton>();
|
||||||
|
|
||||||
// ...to here.
|
// ...to here.
|
||||||
|
@ -108,6 +109,7 @@ namespace Buypeeb {
|
||||||
|
|
||||||
this.selectionViewBox = (Box)builder.GetObject("SelectionViewBox");
|
this.selectionViewBox = (Box)builder.GetObject("SelectionViewBox");
|
||||||
this.endingLabel = (Label)builder.GetObject("LabelSelectedEnding");
|
this.endingLabel = (Label)builder.GetObject("LabelSelectedEnding");
|
||||||
|
this.searchEntry = (SearchEntry)builder.GetObject("FilterSearchEntry");
|
||||||
foreach (var name in new List<string> { "Favourites", "NonFavourites", "Active", "Ended", "EndingToday", "EndingAfterToday", "WithWinPrice", "WithNoWinPrice" }) {
|
foreach (var name in new List<string> { "Favourites", "NonFavourites", "Active", "Ended", "EndingToday", "EndingAfterToday", "WithWinPrice", "WithNoWinPrice" }) {
|
||||||
this.filterChecks.Add(name, (CheckButton)builder.GetObject($"CheckButtonFilter{name}"));
|
this.filterChecks.Add(name, (CheckButton)builder.GetObject($"CheckButtonFilter{name}"));
|
||||||
this.filterChecks[name].Active = false;
|
this.filterChecks[name].Active = false;
|
||||||
|
@ -123,7 +125,10 @@ namespace Buypeeb {
|
||||||
(item.endingToday != this.filterChecks["EndingToday"].Active ||
|
(item.endingToday != this.filterChecks["EndingToday"].Active ||
|
||||||
item.endingToday == this.filterChecks["EndingAfterToday"].Active) &&
|
item.endingToday == this.filterChecks["EndingAfterToday"].Active) &&
|
||||||
(item.hasWinPrice != this.filterChecks["WithWinPrice"].Active ||
|
(item.hasWinPrice != this.filterChecks["WithWinPrice"].Active ||
|
||||||
item.hasWinPrice == this.filterChecks["WithNoWinPrice"].Active)
|
item.hasWinPrice == this.filterChecks["WithNoWinPrice"].Active) &&
|
||||||
|
(String.IsNullOrWhiteSpace(this.searchEntry.Text) ||
|
||||||
|
item.name.ToLower().Contains(this.searchEntry.Text.ToLower()) ||
|
||||||
|
item.originalName.ToLower().Contains(this.searchEntry.Text.ToLower()))
|
||||||
select item;
|
select item;
|
||||||
|
|
||||||
Console.WriteLine(this.filterChecks["Favourites"].Active);
|
Console.WriteLine(this.filterChecks["Favourites"].Active);
|
||||||
|
|
|
@ -457,13 +457,15 @@
|
||||||
<property name="margin_end">3</property>
|
<property name="margin_end">3</property>
|
||||||
<property name="spacing">3</property>
|
<property name="spacing">3</property>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkSearchEntry">
|
<object class="GtkSearchEntry" id="FilterSearchEntry">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">True</property>
|
<property name="can_focus">True</property>
|
||||||
<property name="hexpand">True</property>
|
<property name="hexpand">True</property>
|
||||||
<property name="primary_icon_name">edit-find-symbolic</property>
|
<property name="primary_icon_name">edit-find-symbolic</property>
|
||||||
<property name="primary_icon_activatable">False</property>
|
<property name="primary_icon_activatable">False</property>
|
||||||
<property name="primary_icon_sensitive">False</property>
|
<property name="primary_icon_sensitive">False</property>
|
||||||
|
<signal name="activate" handler="RunFilter" swapped="no"/>
|
||||||
|
<signal name="changed" handler="RunFilter" swapped="no"/>
|
||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="expand">False</property>
|
<property name="expand">False</property>
|
||||||
|
|
Loading…
Reference in a new issue