priv->sort_popup = NULL;
}
+static int _sort_by_a_to_z(const void *first_data, const void *second_data)
+{
+ struct app_data *adata1, *adata2;
+
+ adata1 = (struct app_data *)first_data;
+ adata2 = (struct app_data *)second_data;
+
+ if (!adata1 || !get_app_name(adata1))
+ return 1;
+
+ if (!adata2 || !get_app_name(adata2))
+ return -1;
+
+ return strcmp(get_app_name(adata1), get_app_name(adata2));
+}
+
+static int _sort_by_z_to_a(const void *first_data, const void *second_data)
+{
+ struct app_data *adata1, *adata2;
+
+ adata1 = (struct app_data *)first_data;
+ adata2 = (struct app_data *)second_data;
+
+ if (!adata1 || !get_app_name(adata1))
+ return -1;
+
+ if (!adata2 || !get_app_name(adata2))
+ return 1;
+
+ return strcmp(get_app_name(adata2), get_app_name(adata1));
+}
+
static void _option_key_down_cb(int id, void *data, Evas *e, Evas_Object *obj,
Evas_Event_Key_Down *ev)
{
struct _priv *priv;
- if (!data || !ev) {
+ if (!data || !obj || !ev) {
_ERR("Invalid argument.");
return;
}
break;
case SORT_A_TO_Z:
- /* It should be implemented later. */
+ priv->app_list = eina_list_sort(priv->app_list, 0,
+ _sort_by_a_to_z);
+ priv->sort_type = SORT_A_TO_Z;
break;
case SORT_Z_TO_A:
- /* It should be implemented later. */
+ priv->app_list = eina_list_sort(priv->app_list, 0,
+ _sort_by_z_to_a);
+ priv->sort_type = SORT_Z_TO_A;
break;
default:
}
_destroy_sort_ctxpopup(priv);
+ elm_object_text_set(priv->sort_btn, elm_object_text_get(obj));
+ gridmgr_append_list(priv->gmgr, STR_MYAPPS, priv->app_list);
}
}