source: titan/titan/language.h @ 11338

Last change on this file since 11338 was 11338, checked in by nit, 12 years ago

[titan] change default lang to de

File size: 1.7 KB
Line 
1#ifndef LANGUAGE_H
2#define LANGUAGE_H
3
4//flag 0: with reboot
5//flag 1: without reboot
6//flag 2: reload skin
7int screenlanguage(int flag)
8{
9        debug(1000, "in");
10        int rcret = 0, change = 0, reloadskin = 0;
11        struct skin* language = getscreen("language");
12        struct skin* listbox = getscreennode(language, "listbox");
13
14        if(listbox == NULL || language == NULL)
15        {
16                debug(1000, "out -> NULL detect");
17                return 1;
18        }
19
20        setlistboxselection(listbox, getconfig("lang", NULL));
21
22        drawscreen(language, 0);
23        addscreenrc(language, listbox);
24
25        while(1)
26        {
27                rcret = waitrc(language, 0, 0);
28
29                if (rcret == getrcconfigint("rcexit", NULL)) break;
30
31                if(rcret == getrcconfigint("rcok", NULL) || rcret == getrcconfigint("rcgreen", NULL))
32                {
33                        if(listbox->select != NULL && ostrcmp(listbox->select->name, getconfig("lang", NULL)) != 0)
34                        {
35                                if(ostrcmp(listbox->select->name, "po/en") == 0)
36                                {
37                                        setlang(listbox->select->name);
38                                        initlocale(getconfig("localepath", NULL));
39                                        addconfig("lang", listbox->select->name);
40                                        change = 1;
41                                }
42                                else if(setlang(listbox->select->name) == 0 && initlocale(getconfig("localepath", NULL)) == 0)
43                                {
44                                        addconfig("lang", listbox->select->name);
45                                        change = 1;
46                                }
47
48                                if(flag == 0 && change == 1)
49                                {
50                                        textbox(_("Message"), _("Change language needs reboot"), _("OK"), getrcconfigint("rcok", NULL), NULL, 0, NULL, 0, NULL, 0, 600, 200, 5, 0);
51                                        oshutdown(3, 1);
52                                }
53                                if(flag == 2 && change == 1)
54                                        reloadskin = 1;
55                        }
56                        break;
57                }
58        }
59
60        delownerrc(language);
61        clearscreen(language);
62
63        if(reloadskin == 1)
64        {
65                status.skinerr = NULL;
66                freescreen();
67                if(createstartscreen() != 0) return 2;
68                readscreen(getconfig("skinfile", NULL), 0, 0);
69        }
70        debug(1000, "out");
71        return 0;
72}
73
74#endif
Note: See TracBrowser for help on using the repository browser.