source: titan/titan/epgsettings.h @ 45014

Last change on this file since 45014 was 38864, checked in by Stephan, 8 years ago

better text

File size: 11.7 KB
Line 
1
2#ifndef EPGSETTINGS_H
3#define EPGSETTINGS_H
4
5void createepgscanlist(struct skin* scanlist, struct skin* listbox)
6{
7        struct epgscanlist *node = epgscanlist;
8        struct skin* tmp = NULL;
9
10        while(node != NULL)
11        {
12                struct channel* chnode = getchannel(node->serviceid, node->transponderid);
13                if(chnode != NULL)
14                {
15                        tmp = addlistbox(scanlist, listbox, tmp, 1);
16                        if(tmp != NULL)
17                        {
18                                changetext(tmp, chnode->name);
19                                tmp->handle = (char*)node;
20                        }
21                }
22                node = node->next;
23        }
24}
25
26void screenepgscanlist()
27{
28        int rcret = 0;
29        struct skin* scanlist = getscreen("epgscanlist");
30        struct skin* listbox = getscreennode(scanlist, "listbox");
31        char* tmpstr = NULL, *tmpchannellist = NULL;
32
33        if(status.servicetype == 0)
34                tmpchannellist = ostrcat(getconfig("channellist", NULL), NULL, 0, 0);
35        else
36                tmpchannellist = ostrcat(getconfig("rchannellist", NULL), NULL, 0, 0);
37
38        scanlist->aktline = 1;
39        scanlist->aktpage = -1;
40
41        createepgscanlist(scanlist, listbox);
42
43        drawscreen(scanlist, 0, 0);
44        addscreenrc(scanlist, listbox);
45
46        while(1)
47        {
48                rcret = waitrc(scanlist, 0, 0);
49
50                if(rcret == getrcconfigint("rcok", NULL)) break;
51                if(rcret == getrcconfigint("rcred", NULL) && listbox->select != NULL && listbox->select->handle != NULL)
52                {
53                        if(delepgscanlist(((struct epgscanlist*)listbox->select->handle)->serviceid, ((struct epgscanlist*)listbox->select->handle)->transponderid) == 0)
54                        {
55                                listbox->aktline--;
56                                listbox->aktpage = -1;
57                                delmarkedscreennodes(scanlist, 1);
58                                createepgscanlist(scanlist, listbox);
59                                drawscreen(scanlist, 0, 0);
60                        }
61                }
62                if(rcret == getrcconfigint("rcgreen", NULL))
63                {
64                        clearscreen(scanlist);
65                        int saveservicetype = status.servicetype;
66                        struct channel* tmpchnode = NULL;
67
68                        screenchannellist(&tmpchnode, &tmpchannellist, 1);
69                        status.servicetype = saveservicetype;
70
71                        if(tmpchnode != NULL && getepgscanlist(tmpchnode->serviceid, tmpchnode->transponderid) == NULL)
72                        {
73                                tmpstr = ostrcat(oitoa(tmpchnode->serviceid), "#", 1, 0);
74                                tmpstr = ostrcat(tmpstr, ollutoa(tmpchnode->transponderid), 1, 1);
75                                if(addepgscanlist(tmpstr, 1, NULL) != NULL)
76                                {
77                                        delmarkedscreennodes(scanlist, 1);
78                                        createepgscanlist(scanlist, listbox);
79                                }
80                                free(tmpstr); tmpstr = NULL;
81                        }
82
83                        drawscreen(scanlist, 0, 0);
84                }
85                if(rcret == getrcconfigint("rcyellow", NULL))
86                {
87                        clearscreen(scanlist);
88                        struct mainbouquet* mbouquet = screenmainbouquet();
89
90                        mainbouquet2epgscanlist(mbouquet);
91                        delmarkedscreennodes(scanlist, 1);
92                        createepgscanlist(scanlist, listbox);
93
94                        drawscreen(scanlist, 0, 0);
95                }
96        }
97
98        delmarkedscreennodes(scanlist, 1);
99        delownerrc(scanlist);
100        clearscreen(scanlist);
101}
102
103void screenepgsettings()
104{
105        int rcret = 0;
106        char* ret = NULL;
107        struct skin* epgsettings = getscreen("epgsettings");
108        struct skin* listbox = getscreennode(epgsettings, "listbox");
109        struct skin* epgpath = getscreennode(epgsettings, "epgpath");
110        struct skin* epgdays = getscreennode(epgsettings, "epgdays");
111        struct skin* epgdel = getscreennode(epgsettings, "epgdel");
112        struct skin* epgscreen = getscreennode(epgsettings, "epgscreen");
113        struct skin* epgfreespace = getscreennode(epgsettings, "epgfreespace");
114        struct skin* epglistmode = getscreennode(epgsettings, "epglistmode");
115        struct skin* epgrefresh = getscreennode(epgsettings, "epgrefresh");
116        struct skin* epgbutton = getscreennode(epgsettings, "epgbutton");
117        struct skin* epgzoom = getscreennode(epgsettings, "epgzoom");
118        struct skin* epgpicon = getscreennode(epgsettings, "epgpicon");
119        struct skin* epgsave = getscreennode(epgsettings, "epgsave");
120        struct skin* delepgbeforescan = getscreennode(epgsettings, "delepgbeforescan");
121        struct skin* mhwepg = getscreennode(epgsettings, "mhwepg");
122        struct skin* mhw2epg = getscreennode(epgsettings, "mhw2epg");
123        struct skin* opentv = getscreennode(epgsettings, "opentv");
124        struct skin* epg_afterevent = getscreennode(epgsettings, "epg_afterevent");
125        struct skin* epg_primetime = getscreennode(epgsettings, "epg_primetime");
126        struct skin* b4 = getscreennode(epgsettings, "b4");
127        struct skin* load = getscreen("loading");
128        struct skin* tmp = NULL;
129
130        changeinput(epgpath, getconfig("epg_path", NULL));
131
132        changeinput(epgdays, "0\n2\n4\n6\n8\n10\n12\n14\n16\n18\n20");
133        setchoiceboxselection(epgdays, getconfig("epg_days", NULL));
134
135        addchoicebox(epgdel, "0", _("no"));
136        addchoicebox(epgdel, "1", _("yes"));
137        setchoiceboxselection(epgdel, getconfig("epg_del", NULL));
138
139        addchoicebox(epgscreen, "0", _("Channel EPG"));
140        addchoicebox(epgscreen, "1", _("Single EPG"));
141        addchoicebox(epgscreen, "2", _("Multi EPG"));
142        addchoicebox(epgscreen, "3", _("Graphic Multi EPG"));
143        setchoiceboxselection(epgscreen, getconfig("epg_screen", NULL));
144
145        changeinput(epgfreespace, "50\n100\n200\n300\n400\n500\n600\n700\n800\n900\n1000");
146        setchoiceboxselection(epgfreespace, getconfig("epgfreespace", NULL));
147
148        addchoicebox(epglistmode, "0", _("disable"));
149        addchoicebox(epglistmode, "1", _("scan"));
150        addchoicebox(epglistmode, "2", _("whitelist"));
151        addchoicebox(epglistmode, "3", _("scan and whitelist"));
152        setchoiceboxselection(epglistmode, getconfig("epg_listmode", NULL));
153
154        addchoicebox(epgrefresh, "0", _("disable"));
155        addchoicebox(epgrefresh, "01:00", "01:00");
156        addchoicebox(epgrefresh, "02:00", "02:00");
157        addchoicebox(epgrefresh, "03:00", "03:00");
158        addchoicebox(epgrefresh, "04:00", "04:00");
159        addchoicebox(epgrefresh, "05:00", "05:00");
160        addchoicebox(epgrefresh, "06:00", "06:00");
161        addchoicebox(epgrefresh, "07:00", "07:00");
162        addchoicebox(epgrefresh, "08:00", "08:00");
163        addchoicebox(epgrefresh, "09:00", "09:00");
164        addchoicebox(epgrefresh, "10:00", "10:00");
165        addchoicebox(epgrefresh, "11:00", "11:00");
166        addchoicebox(epgrefresh, "12:00", "12:00");
167        addchoicebox(epgrefresh, "13:00", "13:00");
168        addchoicebox(epgrefresh, "14:00", "14:00");
169        addchoicebox(epgrefresh, "15:00", "15:00");
170        addchoicebox(epgrefresh, "16:00", "16:00");
171        addchoicebox(epgrefresh, "17:00", "17:00");
172        addchoicebox(epgrefresh, "18:00", "18:00");
173        addchoicebox(epgrefresh, "19:00", "19:00");
174        addchoicebox(epgrefresh, "20:00", "20:00");
175        addchoicebox(epgrefresh, "21:00", "21:00");
176        addchoicebox(epgrefresh, "22:00", "22:00");
177        addchoicebox(epgrefresh, "23:00", "23:00");
178        addchoicebox(epgrefresh, "23:59", "24:00");
179        setchoiceboxselection(epgrefresh, getconfig("epg_refreshtime", NULL));
180
181        addchoicebox(epgbutton, "0", _("Single EPG"));
182        addchoicebox(epgbutton, "1", _("Multi EPG"));
183        setchoiceboxselection(epgbutton, getconfig("epgbutton", NULL));
184
185        changeinput(epgzoom, "1\n2\n3\n4\n5\n6\n7");
186        setchoiceboxselection(epgzoom, getconfig("gmultiepgzoom", NULL));
187
188        addchoicebox(epgpicon, "0", _("no"));
189        addchoicebox(epgpicon, "1", _("yes"));
190        setchoiceboxselection(epgpicon, getconfig("epgpicon", NULL));
191
192        addchoicebox(epgsave, "0", _("always"));
193        addchoicebox(epgsave, "1", _("only on power off / restart"));
194        addchoicebox(epgsave, "2", _("never"));
195        setchoiceboxselection(epgsave, getconfig("epgsave", NULL));
196
197        addchoicebox(delepgbeforescan, "0", _("no"));
198        addchoicebox(delepgbeforescan, "1", _("yes"));
199        setchoiceboxselection(delepgbeforescan, getconfig("delepgbeforescan", NULL));
200
201        addchoicebox(mhwepg, "0", _("no"));
202        addchoicebox(mhwepg, "1", _("only for scan"));
203        addchoicebox(mhwepg, "2", _("always"));
204        setchoiceboxselection(mhwepg, getconfig("mhwepg", NULL));
205
206        addchoicebox(mhw2epg, "0", _("no"));
207        addchoicebox(mhw2epg, "1", _("only for scan"));
208        addchoicebox(mhw2epg, "2", _("always"));
209        setchoiceboxselection(mhw2epg, getconfig("mhw2epg", NULL));
210
211        addchoicebox(opentv, "0", _("no"));
212        addchoicebox(opentv, "1", _("only for scan"));
213        addchoicebox(opentv, "2", _("always"));
214        setchoiceboxselection(opentv, getconfig("opentv", NULL));
215
216        addchoicebox(epg_afterevent, "0", _("nothing"));
217        addchoicebox(epg_afterevent, "1", _("poweroff"));
218        setchoiceboxselection(epg_afterevent, getconfig("epg_afterevent", NULL));
219
220        addchoicebox(epg_primetime, "18:00", "18:00");
221        addchoicebox(epg_primetime, "18:30", "18:30");
222        addchoicebox(epg_primetime, "19:00", "19:00");
223        addchoicebox(epg_primetime, "19:30", "19:30");
224        addchoicebox(epg_primetime, "20:00", "20:00");
225        addchoicebox(epg_primetime, "20:15", "20:15");
226        addchoicebox(epg_primetime, "20:30", "20:30");
227        setchoiceboxselection(epg_primetime, getconfig("epg_primetime", NULL));
228
229        b4->usesavebg = 1;
230
231        drawscreen(epgsettings, 0, 0);
232        addscreenrc(epgsettings, listbox);
233
234        tmp = listbox->select;
235        while(1)
236        {
237                addscreenrc(epgsettings, tmp);
238
239                if(listbox->select != NULL && ostrcmp(listbox->select->name, "epgpath") == 0)
240                        b4->hidden = NO;
241                else
242                        b4->hidden = YES;
243                drawscreen(epgsettings, 0, 0);
244
245                rcret = waitrc(epgsettings, 0, 0);
246                tmp = listbox->select;
247
248                if(epglistmode->ret != NULL && (ostrcmp(epglistmode->ret, "1") == 0 || ostrcmp(epglistmode->ret, "3") == 0))
249                {
250                        epgrefresh->hidden = YES;
251                        epg_afterevent->hidden = YES;
252                }
253                else
254                {
255                        epgrefresh->hidden = NO;
256                        epg_afterevent->hidden = NO;
257                }
258
259                if(rcret == getrcconfigint("rcexit", NULL)) break;
260                if(rcret == getrcconfigint("rcok", NULL))
261                {
262                        addconfigscreen("epg_path", epgpath);
263                        addconfigscreen("epg_days", epgdays);
264                        status.epgdays = getconfigint("epg_days", NULL);
265                        addconfigscreen("epg_del", epgdel);
266                        addconfigscreen("epg_screen", epgscreen);
267                        addconfigscreen("epgfreespace", epgfreespace);
268                        addconfigscreencheck("epg_listmode", epglistmode, "0");
269                        status.epglistmode = getconfigint("epg_listmode", NULL);
270                        addconfigscreencheck("epg_refreshtime", epgrefresh, "0");
271                        addconfigscreencheck("epgbutton", epgbutton, "0");
272                        addconfigscreen("gmultiepgzoom", epgzoom);
273                        addconfigscreencheck("epgpicon", epgpicon, "0");
274                        addconfigscreencheck("epgsave", epgsave, "0");
275                        addconfigscreencheck("delepgbeforescan", delepgbeforescan, "0");
276                        addconfigscreencheck("mhwepg", mhwepg, "0");
277                        addconfigscreencheck("mhw2epg", mhw2epg, "0");
278                        addconfigscreencheck("opentv", opentv, "0");
279                        addconfigscreencheck("epg_afterevent", epg_afterevent, "0");
280                        addconfigscreencheck("epg_primetime", epg_primetime, "0");
281
282                        if(getconfig("epg_refreshtime", NULL) == NULL || ostrcmp(getconfig("epg_refreshtime", NULL), "0") == 0)
283                                epgscandeltimer();
284                        else
285                                epgscancreatetimer();
286
287                        if(getconfig("epg_refreshtime", NULL) != NULL || getconfigint("epg_afterevent", NULL) != 0)
288                        {
289                                if(getconfigint("epg_listmode", NULL) == 1 || getconfigint("epg_listmode", NULL) == 3)
290                                {
291//                                      textbox(_("Message"), _("Deavtivate Refresh Time and After EPG in scan-mode"), _("OK"), getrcconfigint("rcok", NULL), _("EXIT"), getrcconfigint("rcexit", NULL), NULL, 0, NULL, 0, 800, 200, 15, 0);
292                                        delconfig("epg_refreshtime");
293                                        delconfig("epg_afterevent");
294                                }
295                        }
296
297                        break;
298                }
299                if(rcret == getrcconfigint("rcgreen", NULL))
300                {
301                        if(listbox->select != NULL && ostrcmp(listbox->select->name, "epgpath") == 0)
302                        {
303                                clearscreen(epgsettings);
304                                ret = screendir(listbox->select->ret, "", NULL, NULL, NULL, NULL, 0, "SELECT", 0, NULL, 0, NULL, 0, 750, 0, 650, 0, 0);
305                                if(ret != NULL)
306                                        changeinput(listbox->select, ret);
307                                free(ret);
308
309                                drawscreen(epgsettings, 0, 0);
310                        }
311                }
312                if(rcret == getrcconfigint("rcred", NULL))
313                {
314                        drawscreen(load, 0, 0);
315                        resetepg(0);
316                        clearscreen(load);
317                        textbox(_("Message"), _("EPG resetet and now clear."), _("OK"), getrcconfigint("rcok", NULL), _("EXIT"), getrcconfigint("rcexit", NULL), NULL, 0, NULL, 0, 600, 200, 0, 0);
318                        drawscreen(epgsettings, 0, 0);
319                }
320                if(rcret == getrcconfigint("rcyellow", NULL))
321                {
322                        clearscreen(epgsettings);
323                        screenepgscanlist();
324                        drawscreen(epgsettings, 0, 0);
325                }
326                if(rcret == getrcconfigint("rcblue", NULL))
327                {
328                        clearscreen(epgsettings);
329                        char* log = readfiletomem(EPGSCANLOG, 0);
330                        if(log == NULL) log = ostrcat("No log infos available.", NULL, 0, 0);
331                        textbox(_("EPG Scan Log"), _(log), _("OK"), getrcconfigint("rcok", NULL), _("EXIT"), getrcconfigint("rcexit", NULL), NULL, 0, NULL, 0, 1000, 600, 0, 0);
332                        free(log); log = NULL;
333                        drawscreen(epgsettings, 0, 0);
334                }
335        }
336
337        delownerrc(epgsettings);
338        clearscreen(epgsettings);
339}
340
341#endif
Note: See TracBrowser for help on using the repository browser.