summaryrefslogtreecommitdiff
path: root/lib/filter.c
diff options
context:
space:
mode:
authorJari Vetoniemi <mailroxas@gmail.com>2014-04-10 20:04:06 +0300
committerJari Vetoniemi <mailroxas@gmail.com>2014-04-10 20:04:06 +0300
commita6d0413b972580f3bbfde8750090270b0d8d463e (patch)
tree7ed26f9c4978dfc213c89a6ec2008cccc9670dbb /lib/filter.c
parent16e023aa3eb495a4b48af1784e5e78dcf4e9ba0b (diff)
downloadbemenu-a6d0413b972580f3bbfde8750090270b0d8d463e.tar.gz
bemenu-a6d0413b972580f3bbfde8750090270b0d8d463e.tar.bz2
bemenu-a6d0413b972580f3bbfde8750090270b0d8d463e.zip
Implement list structure, and feature for multiple selections.
Diffstat (limited to 'lib/filter.c')
-rw-r--r--lib/filter.c28
1 files changed, 14 insertions, 14 deletions
diff --git a/lib/filter.c b/lib/filter.c
index 33126c0..4677e73 100644
--- a/lib/filter.c
+++ b/lib/filter.c
@@ -8,33 +8,33 @@
*
* @param menu bmMenu instance to filter.
* @param outNmemb unsigned int reference to filtered items outNmemb.
- * @param outSelected unsigned int reference to new outSelected item index.
+ * @param outHighlighted unsigned int reference to new outHighlighted item index.
* @return Pointer to array of bmItem pointers.
*/
-bmItem** _bmFilterDmenu(bmMenu *menu, unsigned int *outNmemb, unsigned int *outSelected)
+bmItem** _bmFilterDmenu(bmMenu *menu, unsigned int *outNmemb, unsigned int *outHighlighted)
{
assert(menu);
assert(outNmemb);
- assert(outSelected);
- *outNmemb = *outSelected = 0;
+ assert(outHighlighted);
+ *outNmemb = *outHighlighted = 0;
/* FIXME: not real dmenu like filtering at all */
- bmItem **filtered = calloc(menu->itemsCount, sizeof(bmItem*));
+ bmItem **filtered = calloc(menu->items.count, sizeof(bmItem*));
if (!filtered)
return NULL;
unsigned int i, f;
- for (f = i = 0; i < menu->itemsCount; ++i) {
- bmItem *item = menu->items[i];
+ for (f = i = 0; i < menu->items.count; ++i) {
+ bmItem *item = menu->items.list[i];
if (item->text && strstr(item->text, menu->filter)) {
- if (f == 0 || item == bmMenuGetSelectedItem(menu))
- *outSelected = f;
+ if (f == 0 || item == bmMenuGetHighlightedItem(menu))
+ *outHighlighted = f;
filtered[f++] = item;
}
}
- return _bmShrinkItemList(&filtered, menu->itemsCount, (*outNmemb = f));
+ return _bmShrinkItemList(&filtered, menu->items.count, (*outNmemb = f));
}
/**
@@ -42,15 +42,15 @@ bmItem** _bmFilterDmenu(bmMenu *menu, unsigned int *outNmemb, unsigned int *outS
*
* @param menu bmMenu instance to filter.
* @param outNmemb unsigned int reference to filtered items outNmemb.
- * @param outSelected unsigned int reference to new outSelected item index.
+ * @param outHighlighted unsigned int reference to new outHighlighted item index.
* @return Pointer to array of bmItem pointers.
*/
-bmItem** _bmFilterDmenuCaseInsensitive(bmMenu *menu, unsigned int *outNmemb, unsigned int *outSelected)
+bmItem** _bmFilterDmenuCaseInsensitive(bmMenu *menu, unsigned int *outNmemb, unsigned int *outHighlighted)
{
assert(menu);
assert(outNmemb);
- assert(outSelected);
- *outNmemb = *outSelected = 0;
+ assert(outHighlighted);
+ *outNmemb = *outHighlighted = 0;
/* FIXME: stub */