6,19 → 6,18 |
#endif |
|
#define MEMSIZE 200*1024 |
#include "../lib/mem.h" |
#include "../lib/strings.h" |
#include "../lib/io.h" |
#include "../lib/list_box.h" |
#include "../lib/obj/libimg.h" |
#include "../lib/gui.h" |
#include "..\lib\mem.h" |
#include "..\lib\strings.h" |
#include "..\lib\io.h" |
#include "..\lib\list_box.h" |
#include "..\lib\gui.h" |
|
#include "../lib/obj/box_lib.h" |
#include "../lib/obj/proc_lib.h" |
#include "../lib/obj/libini.h" |
#include "..\lib\obj\box_lib.h" |
#include "..\lib\obj\proc_lib.h" |
#include "..\lib\obj\libini.h" |
|
#include "../lib/patterns/select_list.h" |
#include "../lib/patterns/simple_open_dialog.h" |
#include "..\lib\patterns\select_list.h" |
#include "..\lib\patterns\simple_open_dialog.h" |
|
#include "ui_elements_preview.h" |
|
57,8 → 56,9 |
|
signed int active_skin=-1, active_wallpaper=-1; |
enum { |
BASE_TAB_BUTTON_ID=2, |
BTN_SELECT_WALLP_FOLDER=10 }; |
SKINS=2, |
WALLPAPERS, |
BTN_SELECT_WALLP_FOLDER }; |
|
char folder_path[4096]; |
char cur_file_path[4096]; |
71,10 → 71,8 |
proc_info Form; |
block skp; |
|
enum {SKINS, WALLPAPERS}; |
_tabs tabs = { SKINS, LP, LP, NULL, NULL }; |
|
_tabs tabs = { LP, LP, NULL, BASE_TAB_BUTTON_ID }; |
|
checkbox update_docky = { T_UPDATE_DOCK, false }; |
|
char default_dir[] = "/rd/1"; |
100,21 → 98,17 |
|
void main() |
{ |
int id; |
int id, mouse_clicked; |
|
GetRealFolderPathes(); |
|
load_dll(boxlib, #box_lib_init,0); |
load_dll(libini, #lib_init,1); |
load_dll(libio, #libio_init,1); |
load_dll(libimg, #libimg_init,1); |
load_dll(Proc_lib, #OpenDialog_init,0); |
o_dialog.type = 2; //select folder |
OpenDialog_init stdcall (#o_dialog); |
|
tabs.add(T_SKINS, #EventTabSkinsClick); |
tabs.add(T_WALLPAPERS, #EventTabWallpappersClick); |
tabs.draw_active_tab(); |
EventTabClick(SKINS); |
|
SetEventMask(EVM_REDRAW + EVM_KEY + EVM_BUTTON + EVM_MOUSE + EVM_MOUSE_FILTER); |
loop() switch(WaitEvent()) |
139,8 → 133,9 |
case evButton: |
id=GetButtonID(); |
if (id==1) EventExit(); |
if (id==SKINS) EventTabClick(SKINS); |
if (id==WALLPAPERS) EventTabClick(WALLPAPERS); |
if (id==BTN_SELECT_WALLP_FOLDER) EventSelectWallpFolder(); |
tabs.click(id); |
checkbox1.click(id); |
spinbox1.click(id); |
if (update_docky.click(id)) EventUpdateDocky(); |
152,7 → 147,10 |
GetKeys(); |
if (select_list.ProcessKey(key_scancode)) EventApply(); |
if (key_scancode==SCAN_CODE_ENTER) EventOpenFile(); |
if (key_scancode==SCAN_CODE_TAB) tabs.click(tabs.active_tab ^ 1); |
if (key_scancode==SCAN_CODE_TAB) { |
if (tabs.active_tab==SKINS) EventTabClick(WALLPAPERS); |
else EventTabClick(SKINS); |
} |
if (key_scancode==SCAN_CODE_DEL) EventDeleteFile(); |
|
if (! edit_cmm.flags & ed_focus) && (! edit_st.flags & ed_focus) |
200,19 → 198,17 |
if (tabs.active_tab == SKINS) list_w=250; else list_w=350; |
|
tabs.w = Form.cwidth-LP-LP; |
tabs.draw(); |
DrawIcon16(tabs.x + TAB_PADDING, 15, sc.work, 17); |
DrawIcon16(strlen(T_SKINS)*8 + tabs.x + TAB_PADDING + TAB_PADDING, 15, sc.work, 6); |
tabs.h = Form.cheight-LP-LP; |
tabs.draw_wrapper(); |
tabs.draw_button(tabs.x+TAB_PADDING, SKINS, T_SKINS); |
tabs.draw_button(strlen(T_SKINS)*8+tabs.x+TAB_PADDING+TAB_PADDING, WALLPAPERS, T_WALLPAPERS); |
|
if (select_list.cur_y>select_list.visible) select_list.first=select_list.cur_y; |
select_list.CheckDoesValuesOkey(); |
|
id = select_list.cur_y; |
SelectList_Init( |
tabs.x+TAB_PADDING, |
tabs.y+TAB_HEIGHT+TAB_PADDING, |
list_w, |
Form.cheight-LP-LP - TAB_PADDING - TAB_PADDING - TAB_HEIGHT, |
tabs.h - TAB_PADDING - TAB_PADDING - TAB_HEIGHT, |
false |
); |
select_list.cur_y = id; |
303,8 → 299,11 |
// // |
//===================================================// |
|
void EventTabSkinsClick() |
void EventTabClick(int N) |
{ |
tabs.click(N); |
if (tabs.active_tab == SKINS) |
{ |
active_wallpaper = select_list.cur_y; |
strcpy(#folder_path, #skins_folder_path); |
select_list.ClearList(); |
311,11 → 310,8 |
Open_Dir(); |
if (!select_list.count) notify("'No skins were found' -E"); |
select_list.cur_y = active_skin; |
|
if (select_list.w) draw_window(); |
} |
|
void EventTabWallpappersClick() |
if (tabs.active_tab == WALLPAPERS) |
{ |
active_skin = select_list.cur_y; |
strcpy(#folder_path, #wallp_folder_path); |
323,7 → 319,8 |
Open_Dir(); |
if (!select_list.count) notify("'No wallpapers were found' -E"); |
select_list.cur_y = active_wallpaper; |
|
} |
if (select_list.cur_y>select_list.visible) select_list.first=select_list.cur_y; select_list.CheckDoesValuesOkey(); |
if (select_list.w) draw_window(); |
} |
|
345,7 → 342,7 |
OpenDialog_start stdcall (#o_dialog); |
if (o_dialog.status) { |
strcpy(#wallp_folder_path, #opendir_path); |
EventTabWallpappersClick(); |
EventTabClick(WALLPAPERS); |
} |
} |
|