source: titan/plugins/panel/panel_main.h @ 16055

Last change on this file since 16055 was 16055, checked in by nit, 9 years ago

fix panel

File size: 6.2 KB
Line 
1#ifndef PANEL_MAIN_H
2#define PANEL_MAIN_H
3
4struct skin* panel_menu(struct skin* panel_menu)
5{
6        debug(1000, "in");
7        int rcret = 0, ret = 0;
8        struct skin* listbox = getscreennode(panel_menu, "listbox");
9
10        if(listbox == NULL || panel_menu == NULL)
11        {
12                debug(1000, "out -> NULL detect");
13                return NULL;
14        }
15
16        drawscreen(panel_menu, 0);
17        addscreenrc(panel_menu, listbox);
18
19        while(1)
20        {
21                rcret = waitrc(panel_menu, 0, 0);
22
23                if (rcret == getrcconfigint("rcexit", NULL)) break;
24                if(rcret == getrcconfigint("rcok", NULL))
25                {
26                        clearscreen(panel_menu);
27                        ret = panel_menucall(listbox->select);
28                        if(ret != 0)
29                                textbox(_("Message"), _("Menu not implemented !"), _("OK"), getrcconfigint("rcok", NULL), _("EXIT"), getrcconfigint("rcexit", NULL), NULL, 0, NULL, 0, 600, 200, 0, 0);
30                        drawscreen(panel_menu, 0);
31                }
32        }
33
34        delownerrc(panel_menu);
35        clearscreen(panel_menu);
36        debug(1000, "out");
37        return listbox->select;
38}
39
40int panel_menucall(struct skin* panel_menuentry)
41{
42        debug(1000, "in");
43//      void (*startplugin) (void);
44        int ret = 0;
45
46        if(panel_menuentry == NULL)
47        {
48                debug(1000, "out -> NULL detect");
49                return 1;
50        }
51       
52        if(!(panel_menuentry->type & MENU)) return 1;
53
54        printf("MENU: %s\n", panel_menuentry->name);    // must be removed later
55
56        if(ostrcmp("panel_settings", panel_menuentry->name) == 0)
57        {
58                struct skin* screen = getscreen("panel_settings_main");
59
60                if(checkbox("UFS922") != 1)
61                        delscreennode(screen, "panel_settings_fancontrol");
62
63                if(isfile("/proc/cpu_frequ/pll0_ndiv_mdiv") != 1)
64                        delscreennode(screen, "panel_settings_overclocking");
65
66                panel_menu(screen);
67        }
68        else if(ostrcmp("panel_settings_overclocking", panel_menuentry->name) == 0)
69                screenpanel_settings_overclocking();
70        else if(ostrcmp("panel_settings_automount", panel_menuentry->name) == 0)
71                screenpanel_settings(0);
72        else if(ostrcmp("panel_settings_wizard", panel_menuentry->name) == 0)
73                screenpanel_wizard();
74        else if(ostrcmp("panel_settings_autostart", panel_menuentry->name) == 0)
75        {
76                struct skin* screen = getscreen("panel_autostart_main");
77                panel_menu(screen);
78        }
79        else if(ostrcmp("panel_settings_fancontrol", panel_menuentry->name) == 0)
80                screenpanel_settings_fancontrol();
81        else if(ostrcmp("panel_infos_main", panel_menuentry->name) == 0)
82        {
83                struct skin* screen = getscreen("panel_infos_main");
84                panel_menu(screen);
85        }
86        else if(ostrcmp("panel_infos_default", panel_menuentry->name) == 0)
87                screenpanel_infos(0);
88        else if(ostrcmp("panel_infos_free", panel_menuentry->name) == 0)
89                screenpanel_infos(1);
90        else if(ostrcmp("panel_infos_kernel", panel_menuentry->name) == 0)
91                screenpanel_infos(2);
92        else if(ostrcmp("panel_infos_mounts", panel_menuentry->name) == 0)
93                screenpanel_infos(3);
94        else if(ostrcmp("panel_infos_network", panel_menuentry->name) == 0)
95                screenpanel_infos(4);
96        else if(ostrcmp("panel_infos_ram", panel_menuentry->name) == 0)
97                screenpanel_infos(5);
98        else if(ostrcmp("panel_infos_sysinfo", panel_menuentry->name) == 0)
99        {
100                struct skin* screen = getscreen("panel_sysinfos_main");
101                panel_menu(screen);
102        }
103        else if(ostrcmp("panel_sysinfos_cpu", panel_menuentry->name) == 0)
104                screenpanel_infos_sysinfo(0);
105        else if(ostrcmp("panel_sysinfos_mem", panel_menuentry->name) == 0)
106                screenpanel_infos_sysinfo(1);
107        else if(ostrcmp("panel_sysinfos_mtd", panel_menuentry->name) == 0)
108                screenpanel_infos_sysinfo(2);
109        else if(ostrcmp("panel_sysinfos_module", panel_menuentry->name) == 0)
110                screenpanel_infos_sysinfo(3);
111        else if(ostrcmp("panel_sysinfos_devices", panel_menuentry->name) == 0)
112                screenpanel_infos_sysinfo(4);
113        else if(ostrcmp("panel_sysinfos_swap", panel_menuentry->name) == 0)
114                screenpanel_infos_sysinfo(5);
115        else if(ostrcmp("panel_sysinfos_top", panel_menuentry->name) == 0)
116                screenpanel_infos_sysinfo(6);
117        else if(ostrcmp("panel_autostart_default", panel_menuentry->name) == 0)
118                screenpanel_settings_autostart(0);
119        else if(ostrcmp("panel_autostart_audiovideo", panel_menuentry->name) == 0)
120                screenpanel_settings_autostart(1);
121        else if(ostrcmp("panel_autostart_usb", panel_menuentry->name) == 0)
122                screenpanel_settings_autostart(2);
123        else if(ostrcmp("panel_autostart_emu", panel_menuentry->name) == 0)
124                screenpanel_settings_autostart(3);
125        else if(ostrcmp("panel_autostart_network", panel_menuentry->name) == 0)
126                screenpanel_settings_autostart(4);
127        else if(ostrcmp("panel_autostart_safety", panel_menuentry->name) == 0)
128                screenpanel_settings_autostart(5);
129        else if(ostrcmp("panel_settings_videotune", panel_menuentry->name) == 0)
130                screenvideosettings();
131        else
132                ret = 1;
133
134        debug(1000, "out");
135        return ret;
136}
137
138void panel_main()
139{
140        debug(1000, "in");
141        status.hangtime = 99999;
142        int rcret = 0, ret = 0;
143
144        struct skin* panel_main = getscreen("panel_main");
145        struct skin* listbox = getscreennode(panel_main, "listbox");
146        struct skin* panel_main_selected = getscreennode(panel_main, "panel_main_selected_pic");
147
148        addscreenrc(panel_main, listbox);
149
150        listbox->aktpage = -1;
151        listbox->aktline = 1;
152
153        drawscreen(panel_main, 0);
154        if(listbox->select != NULL)
155        {
156                status.updatevfd = PAUSE;
157                writevfd(listbox->select->text);
158        }
159
160        while(1)
161        {
162                status.screencalc = 1;
163                rcret = waitrc(panel_main, 0, 0);
164                status.screencalc = 0;
165
166                if (rcret == getrcconfigint("rcexit", NULL)) break;
167
168                if(rcret == getrcconfigint("rcok", NULL))
169                {
170                        clearscreen(panel_main);
171                        ret = panel_menucall(listbox->select);
172                        if(ret != 0)
173                                textbox(_("Message"), _("Menu not implemented !"), _("OK"), getrcconfigint("rcok", NULL), _("EXIT"), getrcconfigint("rcexit", NULL), NULL, 0, NULL, 0, 600, 200, 0, 0);
174                        drawscreen(panel_main, 0);
175                }
176                debug(10, "[panal_main] (select) menu=%s", listbox->select->name);
177                if(listbox->select != NULL && (rcret == getrcconfigint("rcup", NULL) || rcret == getrcconfigint("rcdown", NULL)))
178                {
179                        debug(10, "[panal_main] (select) menu=%s", listbox->select->name);
180                        if(ostrcmp(listbox->select->name, "panel_settings") == 0)
181                                changepic(panel_main_selected, "panel/skin/panel_settings.png");
182                        else if(ostrcmp(listbox->select->name, "panel_infos") == 0)
183                                changepic(panel_main_selected, "panel/skin/panel_infos.png");
184                }
185                drawscreen(panel_main, 0);
186                if(listbox->select != NULL)
187                        writevfd(listbox->select->text);
188        }
189
190        delownerrc(panel_main);
191        clearscreen(panel_main);
192        //delscreen(panel_main);
193        status.hangtime = getconfigint("hangtime", NULL);
194        debug(1000, "out");
195}
196
197
198#endif
Note: See TracBrowser for help on using the repository browser.