Rev 5417 | Go to most recent revision | Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
5416 | punk_joker | 1 | //Leency 2008-2013 |
2 | |||
3 | #define EDITOR_PATH "/sys/tinypad" |
||
4 | #define BROWSER_PATH "/sys/htmlv" |
||
5 | #define BROWSER_LINK "http://kolibri-n.org/index.php" |
||
6 | |||
7 | #ifdef LANG_RUS |
||
8 | ?define TITLE_SETT "Настройки" |
||
9 | ?define SET_1 "Показывать имена устройств" |
||
10 | ?define SET_2 "Реальные имена" |
||
11 | ?define SET_3 "Высота выделения" |
||
12 | ?define CANCEL_T "Отмена" |
||
13 | ?define APPLY_T "Применить" |
||
14 | #elif LANG_EST |
||
15 | ?define TITLE_SETT "Programmis Eolite" |
||
16 | #else |
||
17 | ?define TITLE_SETT "About Eolite" |
||
18 | |||
19 | #endif |
||
20 | |||
21 | int mouse_ddd; |
||
22 | char lineh_s[30]="18\0"; |
||
23 | edit_box LineHeight_ed = {50,10,70,0xffffff,0x94AECE,0x000000,0x000000,2,4,#lineh_s,#mouse_ddd, 1000000000000010b,2,2}; |
||
24 | checkbox2 ShowDeviceName_chb = {10*65536+15, 10*65536+15, 5, 0xffffff, 0x000000, 0x80000000, SET_1, 110b}; |
||
25 | checkbox2 RealFileNamesCase_chb = {10*65536+15, 30*65536+15, 5, 0xffffff, 0x000000, 0x80000000, SET_2, 100b}; |
||
26 | |||
27 | void settings_dialog() |
||
28 | { |
||
29 | byte id; |
||
30 | unsigned int key; |
||
31 | dword eolite_ini_path = abspath("Eolite.ini"); |
||
32 | IF (active_about) ExitProcess(); |
||
33 | active_about=1; |
||
34 | SetEventMask(0x27); |
||
35 | loop() switch(WaitEvent()) |
||
36 | { |
||
37 | case evButton: |
||
38 | id=GetButtonID(); |
||
39 | if (id==10) |
||
40 | { |
||
41 | IF ( asm test ShowDeviceName_chb.flags, 2) ini_set_int stdcall (eolite_ini_path, "Config", "ShowDeviceName", 1); |
||
42 | ELSE ini_set_int stdcall (eolite_ini_path, "Config", "ShowDeviceName", 0); |
||
43 | IF ( asm test RealFileNamesCase_chb.flags, 2) ini_set_int stdcall (eolite_ini_path, "Config", "RealFileNamesCase", 1); |
||
44 | ELSE ini_set_int stdcall (eolite_ini_path, "Config", "RealFileNamesCase", 0); |
||
45 | IF (LineHeight_ed.size) ini_set_int stdcall (eolite_ini_path, "Config", "LineHeight", atoi(#lineh_s)); |
||
46 | active_about=0; |
||
47 | ExitProcess(); |
||
48 | } |
||
49 | IF (id==1) || (id==11) |
||
50 | { |
||
51 | active_about=0; |
||
52 | ExitProcess(); |
||
53 | } |
||
54 | IF (id==23) RunProgram(BROWSER_PATH, BROWSER_LINK); |
||
55 | break; |
||
56 | |||
57 | case evKey: |
||
58 | key = GetKey(); |
||
59 | IF (key==27) |
||
60 | { |
||
61 | active_about=0; |
||
62 | ExitProcess(); |
||
63 | } |
||
64 | EAX=key<<8; |
||
65 | edit_box_key stdcall(#LineHeight_ed); |
||
66 | break; |
||
67 | |||
68 | case evMouse: |
||
69 | check_box_mouse stdcall (#ShowDeviceName_chb); |
||
70 | check_box_mouse stdcall (#RealFileNamesCase_chb); |
||
71 | edit_box_mouse stdcall (#LineHeight_ed); |
||
72 | break; |
||
73 | |||
74 | case evReDraw: |
||
75 | DefineAndDrawWindow(600,150,281,228+GetSkinHeight(),0x34,sc.work,TITLE_SETT); |
||
76 | |||
77 | IF (show_dev_name) ShowDeviceName_chb.flags = 110b; |
||
78 | ELSE ShowDeviceName_chb.flags = 100b; |
||
79 | |||
80 | IF (real_files_names_case) RealFileNamesCase_chb.flags = 110b; |
||
81 | ELSE RealFileNamesCase_chb.flags = 100b; |
||
82 | |||
83 | key = itoa(files.line_h); |
||
84 | strcpy(#lineh_s, key); |
||
85 | |||
86 | check_box_draw stdcall (#ShowDeviceName_chb); |
||
87 | check_box_draw stdcall (#RealFileNamesCase_chb); |
||
88 | edit_box_draw stdcall (#LineHeight_ed); |
||
89 | WriteText(10, 55, 0x80, 0x000000, SET_3); |
||
90 | DrawFlatButton(115,190,70,22,10,0xE4DFE1, APPLY_T); |
||
91 | DrawFlatButton(195,190,70,22,11,0xE4DFE1, CANCEL_T); |
||
92 | } |
||
93 | }8; |