Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 9453 → Rev 9452

/programs/cmm/appearance/appearance.c
14,7 → 14,6
 
#include "../lib/patterns/select_list.h"
#include "../lib/patterns/simple_open_dialog.h"
#include "../lib/patterns/restart_process.h"
 
#include "ui_elements_preview.h"
 
26,6 → 25,8
 
#ifdef LANG_RUS
?define WINDOW_HEADER " áâனª¨ ®ä®à¬«¥­¨ï"
?define T_SKINS " ‘â¨«ì ®ª®­"
?define T_WALLPAPERS " Ž¡®¨"
?define T_SELECT_FOLDER "‚ë¡à âì ¯ ¯ªã"
?define MENU_LIST "Žâªàëâì ä ©« |Enter\n“¤ «¨âì ä ©« |Del"
?define T_PICTURE_MODE " ®«®¦¥­¨¥ ª à⨭ª¨ "
32,11 → 33,10
?define T_CHECKBOX_STRETCH " áâï­ãâì"
?define T_CHECKBOX_TILED "‡ ¬®áâ¨âì"
?define T_UPDATE_DOCK "Ž¡­®¢«ïâì Dock-¯ ­¥«ì"
char t_skins[] = " ‘â¨«ì ®ª®­";
char t_wallpapers[] = " Ž¡®¨";
char t_screensaver[] = " ‘ªà¨­á¥©¢¥à";
#else
?define WINDOW_HEADER "Appearance"
?define T_SKINS " Skins"
?define T_WALLPAPERS " Wallpapers"
?define T_SELECT_FOLDER "Select folder"
?define MENU_LIST "Open file |Enter\nDelete file |Del"
?define T_PICTURE_MODE " Picture Mode "
43,22 → 43,17
?define T_CHECKBOX_STRETCH "Stretch"
?define T_CHECKBOX_TILED "Tiled"
?define T_UPDATE_DOCK "Update Dock"
char t_skins[] = " Skins";
char t_wallpapers[] = " Wallpapers";
char t_screensaver[] = " Screensaver";
#endif
 
#define WIN_W 621
#define PANEL_H 58
#define PANEL_H 40
#define LP 10 //LIST_PADDING
char skins_folder_path[4096];
char wallp_folder_path[4096];
 
signed int active_skin=-1, active_wallpaper=-1, active_screensaver=-1;
signed int active_skin=-1, active_wallpaper=-1;
enum {
BASE_TAB_BUTTON_ID=3,
BTN_SELECT_WALLP_FOLDER=10,
BTN_TEST_SCREENSAVER };
BASE_TAB_BUTTON_ID=2,
BTN_SELECT_WALLP_FOLDER=10 };
 
char folder_path[4096];
char cur_file_path[4096];
66,17 → 61,14
char temp_filename[4096];
int files_mas[400];
 
_ini ini = { "/sys/settings/system.ini", "style" };
 
int cur;
 
proc_info Form;
block skp;
 
enum {SKINS, WALLPAPERS, SCREENSAVERS};
enum {SKINS, WALLPAPERS};
 
_tabs tabs = { -sizeof(t_skins)-sizeof(t_wallpapers)-sizeof(t_screensaver)-3*8+WIN_W
- TAB_PADDING / 2, LP, NULL, BASE_TAB_BUTTON_ID };
_tabs tabs = { LP, LP, NULL, BASE_TAB_BUTTON_ID };
 
checkbox update_docky = { T_UPDATE_DOCK, false };
 
94,11 → 86,11
 
void GetRealFolderPathes()
{
char real_kolibrios_path[4096];
char real_skin_path[4096];
SetCurDir("/kolibrios");
GetCurDir(#real_kolibrios_path, sizeof(real_kolibrios_path));
miniprintf(#skins_folder_path, "%s/res/skins", #real_kolibrios_path);
miniprintf(#wallp_folder_path, "%s/res/wallpapers", #real_kolibrios_path);
GetCurDir(#real_skin_path, sizeof(real_skin_path));
sprintf(#skins_folder_path, "%s/res/skins", #real_skin_path);
sprintf(#wallp_folder_path, "%s/res/wallpapers", #real_skin_path);
}
 
void main()
113,9 → 105,8
o_dialog.type = 2; //select folder
OpenDialog_init stdcall (#o_dialog);
 
tabs.add(#t_skins, #EventTabSkinsClick);
tabs.add(#t_wallpapers, #EventTabWallpappersClick);
tabs.add(#t_screensaver, #EventTabScreensaverClick);
tabs.add(T_SKINS, #EventTabSkinsClick);
tabs.add(T_WALLPAPERS, #EventTabWallpappersClick);
tabs.draw_active_tab();
 
SetEventMask(EVM_REDRAW + EVM_KEY + EVM_BUTTON + EVM_MOUSE + EVM_MOUSE_FILTER);
154,14 → 145,8
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_DEL) EventDeleteFile();
if (key_scancode==SCAN_CODE_TAB) {
id = tabs.active_tab+1;
if(id==3)id=0;
tabs.click(id + tabs.base_id);
draw_window();
break;
}
 
if (! edit_cmm.flags & ed_focus) && (! edit_st.flags & ed_focus)
for (id=select_list.cur_y+1; id<select_list.count; id++)
192,7 → 177,7
void draw_window()
{
sc.get();
DefineAndDrawWindow(screen.width-600/2,80,WIN_W+9,504+skin_height,0x34,sc.work,WINDOW_HEADER,0);
DefineAndDrawWindow(screen.width-600/2,80,630,504+skin_height,0x34,sc.work,WINDOW_HEADER,0);
GetProcessInfo(#Form, SelfInfo);
IF (Form.status_window&ROLLED_UP) return;
DrawWindowContent();
201,53 → 186,52
void DrawWindowContent()
{
int id;
int list_w;
 
sc.get();
 
//tabs.w = Form.cwidth-LP-LP;
if (tabs.active_tab == SKINS) list_w=250; else list_w=350;
 
tabs.w = Form.cwidth-LP-LP;
tabs.draw();
draw_icon_16w(tabs.x + TAB_PADDING, 15, 17);
draw_icon_16w(sizeof(t_skins)-1*8 + TAB_PADDING + TAB_PADDING + tabs.x, 15, 6);
draw_icon_16w(sizeof(t_wallpapers)+sizeof(t_skins)-2*8 + TAB_PADDING + TAB_PADDING + TAB_PADDING + tabs.x, 15, 61);
draw_icon_16w(strlen(T_SKINS)*8 + tabs.x + TAB_PADDING + TAB_PADDING, 15, 6);
 
id = select_list.cur_y;
#define LIST_W 280
SelectList_Init(
LP + TAB_PADDING,
PANEL_H,
LIST_W,
Form.cheight-LP-LP - TAB_PADDING - PANEL_H
tabs.x+TAB_PADDING,
tabs.y+TAB_HEIGHT+TAB_PADDING,
list_w,
Form.cheight-LP-LP - TAB_PADDING - TAB_PADDING - TAB_HEIGHT
);
select_list.cur_y = id;
 
skp.set_size(
LP + TAB_PADDING + LIST_W + TAB_PADDING + 30,
PANEL_H,
WIN_W - 400,
select_list.x + select_list.w + TAB_PADDING + scroll1.size_x + 20,
select_list.y + 30 + 50,
list_w,
230 //select_list.h - 50 - 50
);
 
SelectList_Draw();
SelectList_DrawBorder();
//DrawWideRectangle(0, 0, Form.cwidth, Form.cheight, LP, sc.work);
 
if (tabs.active_tab == SKINS)
{
DrawFrame(skp.x, PANEL_H+5, skp.w, skp.h, " Components Preview ");
DrawUiElementsPreview(skp.x+20, PANEL_H+5, skp.h);
if (CheckProcessExists("@DOCKY")) update_docky.draw(skp.x, PANEL_H+250);
update_docky.draw(skp.x, select_list.y+15);
DrawFrame(skp.x, skp.y, skp.w, skp.h, " Components Preview ");
DrawUiElementsPreview(skp.x+20, skp.y, skp.h);
}
if (tabs.active_tab == WALLPAPERS)
{
DrawFrame(skp.x, PANEL_H+5, 180, 80, T_PICTURE_MODE);
optionbox_stretch.draw(skp.x+14, PANEL_H+25);
optionbox_tiled.draw(skp.x+14, PANEL_H+52);
DrawStandartCaptButton(skp.x, PANEL_H+100, BTN_SELECT_WALLP_FOLDER, T_SELECT_FOLDER);
skp.x -= TAB_PADDING + 3;
DrawStandartCaptButton(skp.x, select_list.y, BTN_SELECT_WALLP_FOLDER, T_SELECT_FOLDER);
DrawFrame(skp.x, select_list.y+50, 180, 80, T_PICTURE_MODE);
optionbox_stretch.draw(skp.x+14, select_list.y+70);
optionbox_tiled.draw(skp.x+14, select_list.y+97);
}
if (tabs.active_tab == SCREENSAVERS)
{
DrawStandartCaptButton(skp.x, PANEL_H, BTN_TEST_SCREENSAVER, "Test");
}
}
 
 
void Open_Dir()
348,12 → 332,6
ActivateTab(active_wallpaper);
}
 
void EventTabScreensaverClick()
{
//strcpy(#folder_path, #wallp_folder_path);
ActivateTab(active_screensaver);
}
 
void EventDeleteFile()
{
io.del(#cur_file_path);
364,8 → 342,7
void EventSetNewCurrent()
{
cur = select_list.cur_y;
miniprintf(#cur_file_path,"%s/",#folder_path);
strcat(#cur_file_path, io.dir.position(files_mas[cur]));
sprintf(#cur_file_path,"%s/%s",#folder_path,io.dir.position(files_mas[cur]));
}
 
void EventSelectWallpFolder()
391,6 → 368,7
EventApply();
}
 
#include "..\lib\patterns\restart_process.h"
void EventApply()
{
char kivpath[4096+10];
406,8 → 384,9
if (tabs.active_tab==WALLPAPERS)
{
SelectList_Draw();
if (optionbox_stretch.checked) miniprintf(#kivpath, "\\S__%s", #cur_file_path);
if (optionbox_tiled.checked) miniprintf(#kivpath, "\\T__%s", #cur_file_path);
if (optionbox_stretch.checked) strcpy(#kivpath, "\\S__");
if (optionbox_tiled.checked) strcpy(#kivpath, "\\T__");
strcat(#kivpath, #cur_file_path);
RunProgram("/sys/media/kiv", #kivpath);
}
}
427,6 → 406,7
if (tabs.active_tab==WALLPAPERS) RunProgram("/sys/media/kiv", #cur_file_path);
}
 
_ini ini = { "/sys/settings/system.ini", "style" };
void EventExit()
{
if (cur_skin_path) ini.SetString("skin", #cur_skin_path, strlen(#cur_skin_path));