#include <AppCommon.h>
#include "Mediadata.h"
#include "ExtNameInfo.h"
-#include "SortName.h"
+#include <Sort.h>
+#include <SortMgr.h>
#include "GengridItemClass.h"
#include "InputHandler.h"
#include "FileGrid.h"
void CFileGrid::Action(void)
{
+ _DBG();
m->handle_itinfo = m->ctxt_itinfo;
m_HandleSelection();
m_DeleteContextView();
void CFileGrid::sm_CbSelectItem(void *data, Elm_Object_Item *it, const char *emission, const char *source)
{
+ _DBG();
CFileGrid* root = (CFileGrid*)data;
SItemInfo *pItemInfo;
m->pGengridItemClass = NULL;
}
- if (sort_flag == false) {
+ if (sort_flag == false && m->elFile != NULL) {
eina_list_free(m->elFile);
m->elFile = NULL;
}
else
m_GetFolderList();
}
- m->elFile = CSortName::Sort(m->elFile, (CSortName::ESort)CInfo::SortType());
+
+ const char* sortType;
+ switch(CInfo::SortType())
+ {
+ case 0:
+ sortType = SORT_BY_NAME_AZ;
+ break;
+ case 1:
+ sortType = SORT_BY_NAME_ZA;
+ break;
+ case 2:
+ sortType = SORT_BY_DATE_ASC;
+ break;
+ case 3:
+ sortType = SORT_BY_DATE_DES;
+ break;
+ case 4:
+ sortType = SORT_BY_SIZE_ASC;
+ break;
+ case 5:
+ sortType = SORT_BY_SIZE_DES;
+ break;
+ default:
+ _DBG("Fix your code : sortType is invalid");
+ sortType = SORT_BY_NAME_AZ;
+ break;
+ }
+
+ //ASSERT(m->elFile);
+
+ m->elFile = CSort::Sort(m->elFile, sortType);
t_Fill();
if (fid) // folder
void CFileGrid::OnKeyUp(int id, Evas *e, Evas_Object *obj, Evas_Event_Key_Up *ev) {
- _DBG();
Elm_Object_Item *it;
SItemInfo *pItemInfo;
+
+ if(ev->keyname)
+ _DBG("%s", ev->keyname);
- if (strcmp(ev->keyname, KEY_BACK) == 0) {
+ if (!strcmp(ev->keyname, KEY_BACK) || !strcmp(ev->keyname, KEY_BACK_REMOTE)) {
if (m->depth == 0) {
if (m->callback.cbUnsetFocus)
m->callback.cbUnsetFocus(m->callback.cookie);
elm_object_item_focus_set(it, EINA_TRUE);
}
}
- else if (strcmp(ev->keyname, KEY_MENU) == 0) {
+ else if (!strcmp(ev->keyname, KEY_ENTER) || !strcmp(ev->keyname, KEY_ENTER_REMOTE)) {
+ it = elm_object_focused_item_get(obj);
+ if (!it) {
+ _ERR(" unable to get focused item ");
+ return;
+ }
+ pItemInfo = _find_item_info(m->elItemInfo, it);
+ if (!pItemInfo)
+ return;
+
+ m->handle_itinfo = pItemInfo;
+ m_HandleSelection();
+ }
+ else if (!strcmp(ev->keyname, KEY_MENU) || !strcmp(ev->keyname, KEY_MENU_REMOTE)) {
it = elm_object_focused_item_get(obj);
if (!it) {
_ERR(" unable to get focused item ");