source: titan/titan/screensaveradjust.h @ 40087

Last change on this file since 40087 was 24011, checked in by nit, 11 years ago

[titan] fix screensaver path

File size: 5.8 KB
Line 
1#ifndef SCREENSAVERADJUST_H
2#define SCREENSAVERADJUST_H
3
4void screenscreensaveradjust()
5{
6        int rcret = 0;
7        struct skin* screensaveradjust = getscreen("screensaveradjust");
8        struct skin* listbox = getscreennode(screensaveradjust, "listbox");
9        struct skin* screensaver = getscreennode(screensaveradjust, "screensaver");
10        struct skin* screensaver_delay = getscreennode(screensaveradjust, "screensaver_delay");
11        struct skin* screensaver_interval = getscreennode(screensaveradjust, "screensaver_interval");
12        struct skin* screensaver_type = getscreennode(screensaveradjust, "screensaver_type");
13        struct skin* screensaver_background_color = getscreennode(screensaveradjust, "screensaver_background_color");
14        struct skin* screensaver_pic = getscreennode(screensaveradjust, "screensaver_pic");
15        struct skin* filelist = getscreennode(screensaveradjust, "filelist");
16        struct skin* node = NULL;
17        struct skin* tmp = NULL;
18
19        addchoicebox(screensaver, "0", _("no"));       
20        addchoicebox(screensaver, "1", _("yes"));
21        setchoiceboxselection(screensaver, getconfig("screensaver", NULL));
22
23        changeinput(screensaver_delay, "5\n6\n7\n8\n9\n10\n15\n20\n30\n40\n50\n60");
24        setchoiceboxselection(screensaver_delay, getconfig("screensaver_delay", NULL));
25
26        changeinput(screensaver_interval, "2\n5\n10\n20\n30\n40\n50\n60\n70\n80\n90\n100");
27        setchoiceboxselection(screensaver_interval, getconfig("screensaver_interval", NULL));
28
29        addchoicebox(screensaver_background_color, "0x000000", _("black"));
30        addchoicebox(screensaver_background_color, "0x0000ff", _("blue"));
31        addchoicebox(screensaver_background_color, "0x00ff00", _("green"));
32        addchoicebox(screensaver_background_color, "0xff0000", _("red"));
33        addchoicebox(screensaver_background_color, "0xffff00", _("yellow"));
34        addchoicebox(screensaver_background_color, "0xffffff", _("white"));
35        addchoicebox(screensaver_background_color, "0xBEBEBE", _("grey"));
36        addchoicebox(screensaver_background_color, "0xFFD39B", _("burlywood1"));
37        addchoicebox(screensaver_background_color, "0x020202", _("lila"));
38        addchoicebox(screensaver_background_color, "mixed", _("mixed mode"));
39        setchoiceboxselection(screensaver_background_color, getconfig("screensaver_background_color", NULL));
40
41        addchoicebox(screensaver_pic, "skin/screensaver1.png", _("Icon 1"));
42        addchoicebox(screensaver_pic, "skin/screensaver2.png", _("Icon 2"));
43        addchoicebox(screensaver_pic, "skin/screensaver3.png", _("Icon 3"));
44        addchoicebox(screensaver_pic, "skin/screensaver4.png", _("Icon 4"));
45        setchoiceboxselection(screensaver_pic, getconfig("screensaver_pic", NULL));
46
47        addchoicebox(screensaver_type, "0000000000", _("Song TitleText"));
48        addchoicebox(screensaver_type, "1111111111", _("Logo 1"));
49        addchoicebox(screensaver_type, "2222222222", _("Logo 2"));
50
51        char* imdb_directory = getconfig("mediadbpath", NULL);
52        if(imdb_directory != NULL)
53        {
54                char* imdbdir = NULL;
55                imdbdir = ostrcat(imdb_directory, "/", 0, 0);
56       
57                if(file_exist(imdbdir))
58                        addchoicebox(screensaver_type, imdbdir, _("imdb mvis (network/hdd)"));
59                free(imdbdir); imdbdir = NULL;
60        }
61       
62        //TODO: use config instread fix path
63        if(file_exist("/var/swap/usr/local/share/titan/saver"))
64        {
65                char* path = NULL;
66                delmarkedscreennodes(screensaveradjust, FILELISTDELMARK);
67                changeinput(filelist, "/var/swap/usr/local/share/titan/saver");
68                createfilelist(screensaveradjust, filelist, 0);
69               
70                node = filelist;
71                while(node != NULL)
72                {
73                        if(node->del == FILELISTDELMARK && node->text != NULL && ostrcmp(node->text, "..") != 0)
74                        {
75                                path = ostrcat("/var/swap/usr/local/share/titan/saver/" , node->text, 0, 0);
76                                addchoicebox(screensaver_type, path, node->text);
77                                free(path); path = NULL;
78                        }
79                        node = node->next;
80                }
81        }
82        //TODO: use config instread fix path
83        if(file_exist("/mnt/swapextensions/usr/local/share/titan/saver"))
84        {
85                char* path = NULL;
86                delmarkedscreennodes(screensaveradjust, FILELISTDELMARK);
87                changeinput(filelist, "/mnt/swapextensions/usr/local/share/titan/saver");
88                createfilelist(screensaveradjust, filelist, 0);
89               
90                node = filelist;
91                while(node != NULL)
92                {
93                        if(node->del == FILELISTDELMARK && node->text != NULL && ostrcmp(node->text, "..") != 0)
94                        {
95                                path = ostrcat("/mnt/swapextensions/usr/local/share/titan/saver/" , node->text, 0, 0);
96                                addchoicebox(screensaver_type, path, node->text);
97                                free(path); path = NULL;
98                        }
99                        node = node->next;
100                }
101        }
102        //TODO: use config instread fix path
103        if(file_exist("/var/usr/local/share/titan/saver"))
104        {
105                char* path = NULL;
106                delmarkedscreennodes(screensaveradjust, FILELISTDELMARK);
107                changeinput(filelist, "/var/usr/local/share/titan/saver");
108                createfilelist(screensaveradjust, filelist, 0);
109               
110                node = filelist;
111                while(node != NULL)
112                {
113                        if(node->del == FILELISTDELMARK && node->text != NULL && ostrcmp(node->text, "..") != 0)
114                        {
115                                path = ostrcat("/var/usr/local/share/titan/saver/" , node->text, 0, 0);
116                                addchoicebox(screensaver_type, path, node->text);
117                                free(path); path = NULL;
118                        }
119                        node = node->next;
120                }
121        }
122        setchoiceboxselection(screensaver_type, getconfig("screensaver_type", NULL));
123
124        drawscreen(screensaveradjust, 0, 0);
125        addscreenrc(screensaveradjust, listbox);
126
127        tmp = listbox->select;
128        while(1)
129        {
130                addscreenrc(screensaveradjust, tmp);
131                rcret = waitrc(screensaveradjust, 0, 0);
132                tmp = listbox->select;
133       
134                if(rcret == getrcconfigint("rcexit", NULL)) break;
135                if(rcret == getrcconfigint("rcok", NULL))
136                {
137                        addconfigscreencheck("screensaver", screensaver, NULL);
138                        addconfigscreencheck("screensaver_delay", screensaver_delay, NULL);
139                        addconfigscreencheck("screensaver_interval", screensaver_interval, NULL);
140                        addconfigscreencheck("screensaver_type", screensaver_type, NULL);
141                        addconfigscreencheck("screensaver_background_color", screensaver_background_color, NULL);
142                        addconfigscreencheck("screensaver_pic", screensaver_pic, NULL);
143                        break;
144                }
145        }
146        delownerrc(screensaveradjust);
147        clearscreen(screensaveradjust);
148        writeallconfig(1);
149}
150
151#endif
Note: See TracBrowser for help on using the repository browser.