Rev 7870 | Rev 7960 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 7870 | Rev 7909 | ||
---|---|---|---|
Line 4... | Line 4... | ||
4 | #ifndef AUTOBUILD |
4 | #ifndef AUTOBUILD |
5 | ?include "lang.h--" |
5 | ?include "lang.h--" |
6 | #endif |
6 | #endif |
Line 7... | Line 7... | ||
7 | 7 | ||
8 | #define MEMSIZE 200*1024 |
8 | #define MEMSIZE 200*1024 |
9 | #include "..\lib\mem.h" |
9 | #include "../lib/mem.h" |
10 | #include "..\lib\strings.h" |
10 | #include "../lib/strings.h" |
11 | #include "..\lib\io.h" |
11 | #include "../lib/io.h" |
- | 12 | #include "../lib/list_box.h" |
|
12 | #include "..\lib\list_box.h" |
13 | #include "../lib/obj/libimg.h" |
13 | #include "..\lib\gui.h" |
14 | #include "../lib/gui.h" |
14 | 15 | ||
15 | #include "..\lib\obj\box_lib.h" |
16 | #include "../lib/obj/box_lib.h" |
16 | #include "..\lib\obj\proc_lib.h" |
17 | #include "../lib/obj/proc_lib.h" |
Line 17... | Line 18... | ||
17 | #include "..\lib\obj\libini.h" |
18 | #include "../lib/obj/libini.h" |
18 | 19 | ||
Line 19... | Line 20... | ||
19 | #include "..\lib\patterns\select_list.h" |
20 | #include "../lib/patterns/select_list.h" |
Line 20... | Line 21... | ||
20 | #include "..\lib\patterns\simple_open_dialog.h" |
21 | #include "../lib/patterns/simple_open_dialog.h" |
21 | 22 | ||
Line 54... | Line 55... | ||
54 | char skins_folder_path[4096]; |
55 | char skins_folder_path[4096]; |
55 | char wallp_folder_path[4096]; |
56 | char wallp_folder_path[4096]; |
Line 56... | Line 57... | ||
56 | 57 | ||
57 | signed int active_skin=-1, active_wallpaper=-1; |
58 | signed int active_skin=-1, active_wallpaper=-1; |
58 | enum { |
59 | enum { |
59 | SKINS=2, |
- | |
60 | WALLPAPERS, |
60 | BASE_TAB_BUTTON_ID=2, |
Line 61... | Line 61... | ||
61 | BTN_SELECT_WALLP_FOLDER }; |
61 | BTN_SELECT_WALLP_FOLDER=10 }; |
62 | 62 | ||
63 | char folder_path[4096]; |
63 | char folder_path[4096]; |
64 | char cur_file_path[4096]; |
64 | char cur_file_path[4096]; |
Line 69... | Line 69... | ||
69 | int cur; |
69 | int cur; |
Line 70... | Line 70... | ||
70 | 70 | ||
71 | proc_info Form; |
71 | proc_info Form; |
Line -... | Line 72... | ||
- | 72 | block skp; |
|
- | 73 | ||
72 | block skp; |
74 | enum {SKINS, WALLPAPERS}; |
Line 73... | Line 75... | ||
73 | 75 | ||
Line 74... | Line 76... | ||
74 | _tabs tabs = { SKINS, LP, LP, NULL, NULL }; |
76 | _tabs tabs = { LP, LP, NULL, BASE_TAB_BUTTON_ID }; |
75 | 77 | ||
Line 96... | Line 98... | ||
96 | sprintf(#wallp_folder_path, "%s/res/wallpapers", #real_skin_path); |
98 | sprintf(#wallp_folder_path, "%s/res/wallpapers", #real_skin_path); |
97 | } |
99 | } |
Line 98... | Line 100... | ||
98 | 100 | ||
99 | void main() |
101 | void main() |
100 | { |
102 | { |
Line 101... | Line 103... | ||
101 | int id, mouse_clicked; |
103 | int id; |
Line 102... | Line 104... | ||
102 | 104 | ||
103 | GetRealFolderPathes(); |
105 | GetRealFolderPathes(); |
- | 106 | ||
- | 107 | load_dll(boxlib, #box_lib_init,0); |
|
104 | 108 | load_dll(libini, #lib_init,1); |
|
105 | load_dll(boxlib, #box_lib_init,0); |
109 | load_dll(libio, #libio_init,1); |
106 | load_dll(libini, #lib_init,1); |
110 | load_dll(libimg, #libimg_init,1); |
Line -... | Line 111... | ||
- | 111 | load_dll(Proc_lib, #OpenDialog_init,0); |
|
- | 112 | o_dialog.type = 2; //select folder |
|
107 | load_dll(Proc_lib, #OpenDialog_init,0); |
113 | OpenDialog_init stdcall (#o_dialog); |
Line 108... | Line 114... | ||
108 | o_dialog.type = 2; //select folder |
114 | |
109 | OpenDialog_init stdcall (#o_dialog); |
115 | tabs.add(T_SKINS, #EventTabSkinsClick); |
110 | 116 | tabs.add(T_WALLPAPERS, #EventTabWallpappersClick); |
|
111 | EventTabClick(SKINS); |
117 | tabs.draw_active_tab(); |
Line 131... | Line 137... | ||
131 | break; |
137 | break; |
Line 132... | Line 138... | ||
132 | 138 | ||
133 | case evButton: |
139 | case evButton: |
134 | id=GetButtonID(); |
140 | id=GetButtonID(); |
135 | if (id==1) EventExit(); |
- | |
136 | if (id==SKINS) EventTabClick(SKINS); |
- | |
137 | if (id==WALLPAPERS) EventTabClick(WALLPAPERS); |
141 | if (id==1) EventExit(); |
- | 142 | if (id==BTN_SELECT_WALLP_FOLDER) EventSelectWallpFolder(); |
|
138 | if (id==BTN_SELECT_WALLP_FOLDER) EventSelectWallpFolder(); |
143 | tabs.click(id); |
139 | checkbox1.click(id); |
144 | checkbox1.click(id); |
140 | spinbox1.click(id); |
145 | spinbox1.click(id); |
141 | if (update_docky.click(id)) EventUpdateDocky(); |
146 | if (update_docky.click(id)) EventUpdateDocky(); |
142 | if (!optionbox_stretch.checked) && (optionbox_stretch.click(id)) EventSetWallpMode_Stretch(); |
147 | if (!optionbox_stretch.checked) && (optionbox_stretch.click(id)) EventSetWallpMode_Stretch(); |
Line 145... | Line 150... | ||
145 | 150 | ||
146 | case evKey: |
151 | case evKey: |
147 | GetKeys(); |
152 | GetKeys(); |
148 | if (select_list.ProcessKey(key_scancode)) EventApply(); |
153 | if (select_list.ProcessKey(key_scancode)) EventApply(); |
149 | if (key_scancode==SCAN_CODE_ENTER) EventOpenFile(); |
154 | if (key_scancode==SCAN_CODE_ENTER) EventOpenFile(); |
150 | if (key_scancode==SCAN_CODE_TAB) { |
- | |
151 | if (tabs.active_tab==SKINS) EventTabClick(WALLPAPERS); |
- | |
152 | else EventTabClick(SKINS); |
- | |
153 | } |
155 | if (key_scancode==SCAN_CODE_TAB) tabs.click(tabs.active_tab ^ 1); |
Line 154... | Line 156... | ||
154 | if (key_scancode==SCAN_CODE_DEL) EventDeleteFile(); |
156 | if (key_scancode==SCAN_CODE_DEL) EventDeleteFile(); |
155 | 157 | ||
156 | if (! edit_cmm.flags & ed_focus) && (! edit_st.flags & ed_focus) |
158 | if (! edit_cmm.flags & ed_focus) && (! edit_st.flags & ed_focus) |
Line 196... | Line 198... | ||
196 | sc.get(); |
198 | sc.get(); |
Line 197... | Line 199... | ||
197 | 199 | ||
Line 198... | Line 200... | ||
198 | if (tabs.active_tab == SKINS) list_w=250; else list_w=350; |
200 | if (tabs.active_tab == SKINS) list_w=250; else list_w=350; |
199 | - | ||
200 | tabs.w = Form.cwidth-LP-LP; |
201 | |
201 | tabs.h = Form.cheight-LP-LP; |
202 | tabs.w = Form.cwidth-LP-LP; |
202 | tabs.draw_wrapper(); |
203 | tabs.draw(); |
- | 204 | DrawIcon16(tabs.x + TAB_PADDING, 15, sc.work, 17); |
|
- | 205 | DrawIcon16(strlen(T_SKINS)*8 + tabs.x + TAB_PADDING + TAB_PADDING, 15, sc.work, 6); |
|
- | 206 | ||
Line 203... | Line 207... | ||
203 | tabs.draw_button(tabs.x+TAB_PADDING, SKINS, T_SKINS); |
207 | if (select_list.cur_y>select_list.visible) select_list.first=select_list.cur_y; |
204 | tabs.draw_button(strlen(T_SKINS)*8+tabs.x+TAB_PADDING+TAB_PADDING, WALLPAPERS, T_WALLPAPERS); |
208 | select_list.CheckDoesValuesOkey(); |
205 | 209 | ||
206 | id = select_list.cur_y; |
210 | id = select_list.cur_y; |
207 | SelectList_Init( |
211 | SelectList_Init( |
208 | tabs.x+TAB_PADDING, |
212 | tabs.x+TAB_PADDING, |
209 | tabs.y+TAB_HEIGHT+TAB_PADDING, |
213 | tabs.y+TAB_HEIGHT+TAB_PADDING, |
210 | list_w, |
214 | list_w, |
211 | tabs.h - TAB_PADDING - TAB_PADDING - TAB_HEIGHT, |
215 | Form.cheight-LP-LP - TAB_PADDING - TAB_PADDING - TAB_HEIGHT, |
Line 212... | Line 216... | ||
212 | false |
216 | false |
Line 297... | Line 301... | ||
297 | // // |
301 | // // |
298 | // EVENTS // |
302 | // EVENTS // |
299 | // // |
303 | // // |
300 | //===================================================// |
304 | //===================================================// |
Line 301... | Line 305... | ||
301 | 305 | ||
302 | void EventTabClick(int N) |
- | |
303 | { |
- | |
304 | tabs.click(N); |
- | |
305 | if (tabs.active_tab == SKINS) |
306 | void EventTabSkinsClick() |
306 | { |
307 | { |
307 | active_wallpaper = select_list.cur_y; |
308 | active_wallpaper = select_list.cur_y; |
308 | strcpy(#folder_path, #skins_folder_path); |
309 | strcpy(#folder_path, #skins_folder_path); |
309 | select_list.ClearList(); |
310 | select_list.ClearList(); |
310 | Open_Dir(); |
311 | Open_Dir(); |
311 | if (!select_list.count) notify("'No skins were found' -E"); |
312 | if (!select_list.count) notify("'No skins were found' -E"); |
- | 313 | select_list.cur_y = active_skin; |
|
- | 314 | ||
312 | select_list.cur_y = active_skin; |
315 | if (select_list.w) draw_window(); |
- | 316 | } |
|
313 | } |
317 | |
314 | if (tabs.active_tab == WALLPAPERS) |
318 | void EventTabWallpappersClick() |
315 | { |
319 | { |
316 | active_skin = select_list.cur_y; |
320 | active_skin = select_list.cur_y; |
317 | strcpy(#folder_path, #wallp_folder_path); |
321 | strcpy(#folder_path, #wallp_folder_path); |
318 | select_list.ClearList(); |
322 | select_list.ClearList(); |
319 | Open_Dir(); |
323 | Open_Dir(); |
320 | if (!select_list.count) notify("'No wallpapers were found' -E"); |
324 | if (!select_list.count) notify("'No wallpapers were found' -E"); |
321 | select_list.cur_y = active_wallpaper; |
325 | select_list.cur_y = active_wallpaper; |
322 | } |
- | |
323 | if (select_list.cur_y>select_list.visible) select_list.first=select_list.cur_y; select_list.CheckDoesValuesOkey(); |
326 | |
324 | if (select_list.w) draw_window(); |
327 | if (select_list.w) draw_window(); |
Line 325... | Line 328... | ||
325 | } |
328 | } |
326 | 329 | ||
Line 340... | Line 343... | ||
340 | void EventSelectWallpFolder() |
343 | void EventSelectWallpFolder() |
341 | { |
344 | { |
342 | OpenDialog_start stdcall (#o_dialog); |
345 | OpenDialog_start stdcall (#o_dialog); |
343 | if (o_dialog.status) { |
346 | if (o_dialog.status) { |
344 | strcpy(#wallp_folder_path, #opendir_path); |
347 | strcpy(#wallp_folder_path, #opendir_path); |
345 | EventTabClick(WALLPAPERS); |
348 | EventTabWallpappersClick(); |
346 | } |
349 | } |
347 | } |
350 | } |
Line 348... | Line 351... | ||
348 | 351 | ||
349 | void EventSetWallpMode_Stretch() |
352 | void EventSetWallpMode_Stretch() |