Subversion Repositories Kolibri OS

Rev

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()