};
enum source_type {
- E_SOURCE_INTERNAL = 0,
- E_SOURCE_EXTERNAL,
- E_SOURCE_ALL,
- E_SOURCE_MAX
+ E_SOURCE_INTERNAL = MEDIA_CONTENT_STORAGE_INTERNAL,
+ E_SOURCE_EXTERNAL = MEDIA_CONTENT_STORAGE_EXTERNAL_USB
};
struct data_ops {
UPDATE_RECENT,
UPDATE_FOCUS_STATE,
UPDATE_VIEW_MODE,
+ UPDATE_SOURCE_TYPE,
UPDATE_TOAST
};
{
struct albumdata *ad;
- if (!media_type || source_type < 0 || source_type >= E_SOURCE_MAX) {
+ if (!media_type) {
_ERR("invalid argument");
return NULL;
}
return;
}
- if (source_type < 0 || source_type >= E_SOURCE_MAX) {
- _ERR("invalid argument");
- return;
- }
-
ad = handle;
ad->source_type = source_type;
struct data_ops *ops;
void *handle;
- if (!media_type || data_type < 0 || data_type >= E_DATA_MAX ||
- source_type < 0 || source_type >= E_SOURCE_MAX) {
+ if (!media_type || data_type < 0 || data_type >= E_DATA_MAX) {
_ERR("invalid argument");
return NULL;
}
{
struct folderdata *fd;
- if (!media_type || source_type < 0 || source_type >= E_SOURCE_MAX) {
+ if (!media_type) {
_ERR("invalid argument");
return NULL;
}
return;
}
- if (source_type < 0 || source_type >= E_SOURCE_MAX) {
- _ERR("invalid argument");
- return;
- }
-
fd = handle;
fd->source_type = source_type;
{
struct mediadata *md;
- if (!media_type || source_type < 0 || source_type >= E_SOURCE_MAX) {
+ if (!media_type) {
_ERR("invalid argument");
return NULL;
}
return;
}
- if (source_type < 0 || source_type >= E_SOURCE_MAX) {
- _ERR("invalid argument");
- return;
- }
-
md = handle;
md->source_type = source_type;
Eina_List *media_list;
int view_mode;
+ int source_type;
+
struct grid_data *gdata;
struct locmgr *locmgr;
priv->media_list = NULL;
}
+ elm_object_part_text_set(priv->layout, PART_NOCONTENT, "");
+
listmgr_clear_content_list(priv->listmgr);
}
int i;
for (i = 0; i < E_DATA_MAX; i++) {
- dmgr = datamgr_create(i, GALLERY_MEDIA_COND, E_SOURCE_ALL);
+ dmgr = datamgr_create(i, GALLERY_MEDIA_COND, E_SOURCE_INTERNAL);
if (!dmgr) {
_ERR("failed to create datamgr");
_destroy_datamgr(priv);
{
struct view_update_data *vdata;
struct _priv *priv;
+ struct datamgr *dmgr;
int mode;
if (!layout_data) {
priv->view_mode = mode;
_update_content_list(priv);
break;
+ case UPDATE_SOURCE_TYPE:
+ if (!data) {
+ _ERR("invalid argument");
+ return;
+ }
+
+ vdata = data;
+ mode = vdata->index;
+
+ if (mode == priv->source_type)
+ return;
+
+ priv->source_type = mode;
+
+ dmgr = priv->dmgr[E_DATA_MEDIA];
+ dmgr->ops->set_source(dmgr->handle, mode);
+
+ _clear_content_list(priv);
+
+ _update_content_list(priv);
+ break;
default:
break;
}
app_media *recent_info;
int view_mode;
+ int source_type;
+
struct grid_data *gdata;
};
priv->media_list = NULL;
}
+ elm_object_part_text_set(priv->layout, PART_NOCONTENT, "");
+
listmgr_clear_content_list(priv->listmgr);
}
int i;
for (i = 0; i < E_DATA_MAX; i++) {
- dmgr = datamgr_create(i, MOVIE_MEDIA_COND, E_SOURCE_ALL);
+ dmgr = datamgr_create(i, MOVIE_MEDIA_COND, E_SOURCE_INTERNAL);
if (!dmgr) {
_ERR("failed to create datamgr");
_destroy_datamgr(priv);
{
struct view_update_data *vdata;
struct _priv *priv;
+ struct datamgr *dmgr;
int mode;
if (!layout_data) {
priv->view_mode = mode;
_update_content_list(priv);
break;
+ case UPDATE_SOURCE_TYPE:
+ if (!data) {
+ _ERR("invalid argument");
+ return;
+ }
+
+ vdata = data;
+ mode = vdata->index;
+
+ if (mode == priv->source_type)
+ return;
+
+ priv->source_type = mode;
+
+ dmgr = priv->dmgr[E_DATA_MEDIA];
+ dmgr->ops->set_source(dmgr->handle, mode);
+
+ _clear_content_list(priv);
+
+ _update_content_list(priv);
+ break;
default:
break;
}
app_media *playing_info;
int view_mode;
+ int source_type;
+
struct grid_data *gdata;
};
priv->media_list = NULL;
}
+ elm_object_part_text_set(priv->layout, PART_NOCONTENT, "");
+
listmgr_clear_content_list(priv->listmgr);
}
_ERR("failed to update now playing item");
}
+static void _set_source(struct _priv *priv)
+{
+ struct datamgr *dmgr;
+ int i;
+
+ for (i = 0; i < E_DATA_MAX; i++) {
+ dmgr = priv->dmgr[i];
+ dmgr->ops->set_source(dmgr->handle, priv->source_type);
+ }
+}
+
static void _destroy_datamgr(struct _priv *priv)
{
int i;
int i;
for (i = 0; i < E_DATA_MAX; i++) {
- dmgr = datamgr_create(i, MUSIC_MEDIA_COND, E_SOURCE_ALL);
+ dmgr = datamgr_create(i, MUSIC_MEDIA_COND, E_SOURCE_INTERNAL);
if (!dmgr) {
_ERR("failed to create datamgr");
_destroy_datamgr(priv);
priv->view_mode = mode;
_update_content_list(priv);
break;
+ case UPDATE_SOURCE_TYPE:
+ if (!data) {
+ _ERR("invalid argument");
+ return;
+ }
+
+ vdata = data;
+ mode = vdata->index;
+
+ if (mode == priv->source_type)
+ return;
+
+ priv->source_type = mode;
+ _set_source(priv);
+
+ _clear_content_list(priv);
+
+ _update_content_list(priv);
+ break;
default:
break;
}
#include "define.h"
#include "layout.h"
#include "view.h"
+#include "data/datamgr.h"
#include "util/ctxpopup.h"
#include "util/util.h"
"USB",
};
+static int source_type[] = {
+ E_SOURCE_INTERNAL,
+ E_SOURCE_EXTERNAL
+};
+
struct _menu_item {
const char *name;
const char *layout_id;
static void _source_selected_cb(void *data, int mode)
{
- /* It will be implemented later */
+ struct view_update_data vdata;
+ struct _priv *priv;
+ int i;
+
+ if (!data)
+ return;
+
+ priv = data;
+
+ elm_object_text_set(priv->source_btn, source[mode]);
+
+ vdata.index = source_type[mode];
+
+ for (i = 0; i < E_LAYOUT_MAX; i++) {
+ layoutmgr_update_layout(priv->lmgr,
+ g_menu_item[i].layout_id,
+ UPDATE_SOURCE_TYPE, &vdata);
+ }
+
+ priv->source_type = mode;
}
static void _key_down_cb(int id, void *data, Evas *e, Evas_Object *obj,
EVAS_HINT_EXPAND);
elm_win_resize_object_add(win, base);
- dmgr = datamgr_create(E_DATA_ALBUM, MUSIC_MEDIA_COND, E_SOURCE_ALL);
+ dmgr = datamgr_create(E_DATA_ALBUM, MUSIC_MEDIA_COND,
+ E_SOURCE_INTERNAL);
if (!dmgr) {
_ERR("failed to create datamgr");
free(priv);