kwo pushed a commit to branch master.
commit 2a95307f44839bd7d06a21ce901655b2924c1850
Author: Kim Woelders <[email protected]>
Date: Sun Jul 7 23:01:22 2013 +0200
Eliminate BordersForeach().
Also let BordersGetList() do alphabetic sorting.
---
src/borders.c | 16 ++++++++++++----
src/borders.h | 4 +---
src/ipc.c | 14 +++++++-------
src/menus-misc.c | 11 -----------
4 files changed, 20 insertions(+), 25 deletions(-)
diff --git a/src/borders.c b/src/borders.c
index c362d3c..ce787ba 100644
--- a/src/borders.c
+++ b/src/borders.c
@@ -1348,16 +1348,24 @@ BorderCreateFiller(int w, int h, int sw, int sh)
return b;
}
-void
-BordersForeach(void (*func) (Border * b, void *data), void *data)
+static int
+_BorderNameCompare(const void *b1, const void *b2)
{
- ecore_list_for_each(border_list, (Ecore_For_Each) func, data);
+ if (b1 && b2)
+ return strcmp((*(const Border **)b1)->name, (*(const Border
**)b2)->name);
+
+ return 0;
}
Border **
BordersGetList(int *pnum)
{
- return (Border **) ecore_list_items_get(border_list, pnum);
+ Border **lst;
+
+ lst = (Border **) ecore_list_items_get(border_list, pnum);
+ qsort(lst, *pnum, sizeof(Border *), _BorderNameCompare);
+
+ return lst;
}
static ActionClass *
diff --git a/src/borders.h b/src/borders.h
index bdf3ad7..1f5100c 100644
--- a/src/borders.h
+++ b/src/borders.h
@@ -1,6 +1,6 @@
/*
* Copyright (C) 2000-2007 Carsten Haitzler, Geoff Harrison and various
contributors
- * Copyright (C) 2004-2010 Kim Woelders
+ * Copyright (C) 2004-2013 Kim Woelders
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to
@@ -97,8 +97,6 @@ void EwinBorderSetInitially(EWin * ewin, const
char *name);
int BorderWinpartIndex(EWin * ewin, Win win);
void BorderCheckState(EWin * ewin, XEvent * ev);
Border *BorderCreateFiller(int w, int h, int sw, int sh);
-void BordersForeach(void (*func) (Border * b, void *data),
- void *data);
Border **BordersGetList(int *pnum);
#endif /* _BORDERS_H_ */
diff --git a/src/ipc.c b/src/ipc.c
index 0a08353..5d2be04 100644
--- a/src/ipc.c
+++ b/src/ipc.c
@@ -168,12 +168,6 @@ IPC_Nop(const char *params __UNUSED__)
/* Should be elsewhere */
static void
-IPC_Border_CB_List(Border * b, void *data __UNUSED__)
-{
- IpcPrintf("%s\n", BorderGetName(b));
-}
-
-static void
IPC_Border(const char *params)
{
if (!params)
@@ -184,7 +178,13 @@ IPC_Border(const char *params)
if (!strncmp(params, "list", 2))
{
- BordersForeach(IPC_Border_CB_List, NULL);
+ Border **lst;
+ int i, num;
+
+ lst = BordersGetList(&num);
+ for (i = 0; i < num; i++)
+ IpcPrintf("%s\n", BorderGetName(lst[i]));
+ Efree(lst);
}
}
diff --git a/src/menus-misc.c b/src/menus-misc.c
index 9c515d2..a304fae 100644
--- a/src/menus-misc.c
+++ b/src/menus-misc.c
@@ -459,16 +459,6 @@ MenuCreateFromThemes(const char *name, MenuStyle * ms)
return m;
}
-static int
-BorderNameCompare(const void *b1, const void *b2)
-{
- if (b1 && b2)
- return strcmp(BorderGetName(*(const Border **)b1),
- BorderGetName(*(const Border **)b2));
-
- return 0;
-}
-
static Menu *
MenuCreateFromBorders(const char *name, MenuStyle * ms)
{
@@ -485,7 +475,6 @@ MenuCreateFromBorders(const char *name, MenuStyle * ms)
if (!lst)
return m;
- qsort(lst, num, sizeof(Border *), BorderNameCompare);
for (i = 0; i < num; i++)
{
/* if its not internal (ie doesnt start with _ ) */
--
------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:
Build for Windows Store.
http://p.sf.net/sfu/windows-dev2dev