-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdouban_channel.c
99 lines (78 loc) · 3.46 KB
/
douban_channel.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
#include <rtgui/widgets/list_view.h>
#include "play_list.h"
#include "douban_channel.h"
#include "player_ui.h"
static rtgui_list_view_t *_douban_channel_view = RT_NULL;
static void function_douban(struct rtgui_widget* widget, void *parameter);
static void function_return(struct rtgui_widget* widget, void *paramter);
static const struct rtgui_list_item channel_list[] =
{
{"飪國-呴砩畦溫",RT_NULL,function_douban, (void*)0},
{"飪國樅褲單 - 貌逄Mhz", RT_NULL, function_douban, (void*)1},
{"飪國韁藝MHz", RT_NULL, function_douban, (void*)2},
{"飪國牷幗MHz", RT_NULL, function_douban, (void*)7},
{"飪國埡逄MHz", RT_NULL, function_douban, (void*)6},
{"飪國鏍狴MHz", RT_NULL, function_douban, (void*)8},
{"飪國秞氈MHz", RT_NULL, function_douban, (void*)9},
{"飪國70爛MHz", RT_NULL, function_douban, (void*)3},
{"飪國80爛MHz", RT_NULL, function_douban, (void*)4},
{"殿隙奻撰", RT_NULL, function_return, RT_NULL },
{"飪國90爛MHz", RT_NULL, function_douban, (void*)5},
{"飪國-萇荌埻汒", RT_NULL, function_douban, (void*)10},
{"飪國-橋尪", RT_NULL, function_douban, (void*)13},
{"飪國-萇赽", RT_NULL, function_douban, (void*)14},
{"飪國-佽釭", RT_NULL, function_douban, (void*)15},
{"飪國-R&B", RT_NULL, function_douban, (void*)16},
{"飪國-逄", RT_NULL, function_douban, (void*)17},
{"飪國-澈逄", RT_NULL, function_douban, (void*)18},
{"飪國-躓汒", RT_NULL, function_douban, (void*)20},
{"殿隙奻撰", RT_NULL, function_return, RT_NULL },
{"飪國-楊逄", RT_NULL, function_douban, (void*)22},
{"飪國23", RT_NULL, function_douban, (void*)23},
{"飪國-秞氈", RT_NULL, function_douban, (void*)26},
{"飪國-嘉萎", RT_NULL, function_douban, (void*)27},
{"飪國-雄鞦", RT_NULL, function_douban, (void*)28},
{"飪國29", RT_NULL, function_douban, (void*)29},
{"飪國-縉溜", RT_NULL, function_douban, (void*)32},
{"飪國33", RT_NULL, function_douban, (void*)33},
{"飪國35", RT_NULL, function_douban, (void*)35},
{"殿隙奻撰", RT_NULL, function_return, RT_NULL },
{"飪國42", RT_NULL, function_douban, (void*)42},
{"飪國-傑庈埼俴", RT_NULL, function_douban, (void*)43},
{"殿隙奻撰", RT_NULL, function_return, RT_NULL },
};
static void function_douban(struct rtgui_widget* widget, void *parameter)
{
int channel;
char channel_url[32];
channel = (int)parameter;
rt_kprintf("douban channel %d\n", channel);
rt_snprintf(channel_url, sizeof(channel_url), "douban://%c", channel);
play_list_clear();
play_list_append_radio(channel_url,
channel_list[_douban_channel_view->current_item].name);
player_play_item(play_list_start());
player_update_list();
rtgui_view_end_modal(RTGUI_VIEW(_douban_channel_view), RTGUI_MODAL_OK);
}
static void function_return(struct rtgui_widget* widget, void *paramter)
{
rtgui_view_end_modal(RTGUI_VIEW(_douban_channel_view), RTGUI_MODAL_CANCEL);
}
void douban_channel_view(rtgui_workbench_t* workbench)
{
rtgui_rect_t rect;
/* add function view */
rtgui_widget_get_rect(RTGUI_WIDGET(workbench), &rect);
if (_douban_channel_view == RT_NULL)
{
_douban_channel_view = rtgui_list_view_create(channel_list,
sizeof(channel_list)/sizeof(struct rtgui_list_item),
&rect,
RTGUI_LIST_VIEW_LIST);
rtgui_workbench_add_view(workbench, RTGUI_VIEW(_douban_channel_view));
}
rtgui_view_show(RTGUI_VIEW(_douban_channel_view), RT_TRUE);
rtgui_view_destroy(RTGUI_VIEW(_douban_channel_view));
_douban_channel_view = RT_NULL;
}