elfe: Add a dock wich accepts applications icons
SVN revision: 58041
This commit is contained in:
parent
eaf580da77
commit
ebe8223ad8
|
@ -1,105 +1,3 @@
|
|||
#define TOOLBAR_ITEM_SIZE 72
|
||||
#define TOOLBAR_ICON_SIZE 48
|
||||
#define TOOLBAR_MIDDLE_ITEM 2
|
||||
|
||||
#define TOOLBAR_POSITION(_item_number) (((_item_number)*(TOOLBAR_ITEM_SIZE))-((TOOLBAR_ITEM_SIZE)*(TOOLBAR_MIDDLE_ITEM)))
|
||||
#define TOOLBAR_BUTTON(_button_name,_button_title,_xpos, clip) \
|
||||
part { name: "button-"_button_name"-selected"; \
|
||||
type: IMAGE; \
|
||||
mouse_events: 0; \
|
||||
clip_to: clip; \
|
||||
description { state: "default" 0.0; \
|
||||
visible: 0; \
|
||||
min: TOOLBAR_ITEM_SIZE TOOLBAR_ITEM_SIZE; \
|
||||
max: TOOLBAR_ITEM_SIZE TOOLBAR_ITEM_SIZE; \
|
||||
fixed: 1 1; \
|
||||
rel1 { \
|
||||
to_y: "menu.background.bottom"; \
|
||||
relative: 0 0; \
|
||||
offset: (_xpos+2) 2; \
|
||||
} \
|
||||
rel2 { \
|
||||
offset: (_xpos-2) -2; \
|
||||
to_y: "menu.background.bottom"; \
|
||||
} \
|
||||
image.normal: "sel_bg.png"; \
|
||||
image.border: 12 12 12 12; \
|
||||
color: 255 255 255 0; \
|
||||
} \
|
||||
description { state: "visible" 0.0; \
|
||||
inherit: "default" 0.0; \
|
||||
visible: 1; \
|
||||
color: 255 255 255 255; \
|
||||
} \
|
||||
} \
|
||||
part { name: "button-"_button_name"-normal"; \
|
||||
type: IMAGE; \
|
||||
clip_to: clip; \
|
||||
description { state: "default" 0.0; \
|
||||
min: TOOLBAR_ICON_SIZE TOOLBAR_ICON_SIZE; \
|
||||
max: TOOLBAR_ICON_SIZE TOOLBAR_ICON_SIZE; \
|
||||
fixed: 1 1; \
|
||||
align: 0.5 0.5; \
|
||||
rel1 { \
|
||||
to_y: "menu.background.bottom"; \
|
||||
relative: 0 0; \
|
||||
offset: (_xpos) 0; \
|
||||
} \
|
||||
rel2 { \
|
||||
to_y: "menu.background.bottom"; \
|
||||
offset: (_xpos) 0); \
|
||||
} \
|
||||
image.normal: _button_name".png"; \
|
||||
} \
|
||||
} \
|
||||
part { name: "button-"_button_name"-disable-mask"; \
|
||||
type: RECT; \
|
||||
mouse_events: 1; \
|
||||
clip_to: clip; \
|
||||
description { state: "default" 0.0; \
|
||||
fixed: 1 1; \
|
||||
visible: 0; \
|
||||
} \
|
||||
description { state: "masking" 0.0; \
|
||||
rel1.to: "button-"_button_name"-normal"; \
|
||||
rel1.offset: 0 7; \
|
||||
rel2.to: "button-"_button_name"-normal"; \
|
||||
color: 0 0 0 128; \
|
||||
} \
|
||||
} \
|
||||
programs { \
|
||||
program { name: _button_name"-pressed"; \
|
||||
signal: "mouse,down,*"; \
|
||||
source: "button-"_button_name"-normal"; \
|
||||
action: STATE_SET "visible" 0.0; \
|
||||
target: "button-"_button_name"-selected"; \
|
||||
transition: ACCELERATE 0.3; \
|
||||
} \
|
||||
program { name: _button_name"-released"; \
|
||||
signal: "mouse,up,*"; \
|
||||
source: "button-"_button_name"-normal"; \
|
||||
action: STATE_SET "default" 0.0; \
|
||||
target: "button-"_button_name"-selected"; \
|
||||
transition: DECELERATE 0.6; \
|
||||
} \
|
||||
program { name: _button_name"-clicked"; \
|
||||
signal: "mouse,clicked,*"; \
|
||||
source: "button-"_button_name"-normal"; \
|
||||
action: SIGNAL_EMIT "action,"_button_name _button_name; \
|
||||
} \
|
||||
program { name: _button_name"-disable"; \
|
||||
signal: "button,"_button_name",disable"; \
|
||||
action: STATE_SET "masking" 0.0; \
|
||||
target: "button-"_button_name"-disable-mask"; \
|
||||
} \
|
||||
program { name: _button_name"-enable"; \
|
||||
signal: "button,"_button_name",enable"; \
|
||||
action: STATE_SET "default" 0.0; \
|
||||
target: "button-"_button_name"-disable-mask"; \
|
||||
} \
|
||||
}
|
||||
|
||||
|
||||
#define ICON(icon_file, icon_name) \
|
||||
images { \
|
||||
image: icon_file COMP; \
|
||||
|
@ -115,46 +13,46 @@
|
|||
} \
|
||||
} \
|
||||
|
||||
#define ICON_SET(icon_file, icon_name) \
|
||||
images { \
|
||||
set { \
|
||||
name: icon_file; \
|
||||
image { \
|
||||
image: icon_file"-128.png" COMP; \
|
||||
size: 97 97 512 512; \
|
||||
} \
|
||||
image { \
|
||||
image: icon_file"-96.png" COMP; \
|
||||
size: 65 65 96 96; \
|
||||
} \
|
||||
image { \
|
||||
image: icon_file"-64.png" COMP; \
|
||||
size: 49 49 64 64; \
|
||||
} \
|
||||
image { \
|
||||
image: icon_file"-48.png" COMP; \
|
||||
size: 25 25 48 48; \
|
||||
} \
|
||||
image { \
|
||||
image: icon_file"-24.png" COMP; \
|
||||
size: 17 17 24 24; \
|
||||
} \
|
||||
image { \
|
||||
image: icon_file"-16.png" COMP; \
|
||||
size: 0 0 16 16; \
|
||||
} \
|
||||
} \
|
||||
} \
|
||||
group { \
|
||||
name: icon_name; \
|
||||
parts { \
|
||||
part { name: "icon"; \
|
||||
description { state: "default" 0.0; \
|
||||
image.normal: icon_file; \
|
||||
} \
|
||||
} \
|
||||
} \
|
||||
} \
|
||||
#define ICON_SET(icon_file, icon_name) \
|
||||
images { \
|
||||
set { \
|
||||
name: icon_file; \
|
||||
image { \
|
||||
image: icon_file"-128.png" COMP; \
|
||||
size: 97 97 512 512; \
|
||||
} \
|
||||
image { \
|
||||
image: icon_file"-96.png" COMP; \
|
||||
size: 65 65 96 96; \
|
||||
} \
|
||||
image { \
|
||||
image: icon_file"-64.png" COMP; \
|
||||
size: 49 49 64 64; \
|
||||
} \
|
||||
image { \
|
||||
image: icon_file"-48.png" COMP; \
|
||||
size: 25 25 48 48; \
|
||||
} \
|
||||
image { \
|
||||
image: icon_file"-24.png" COMP; \
|
||||
size: 17 17 24 24; \
|
||||
} \
|
||||
image { \
|
||||
image: icon_file"-16.png" COMP; \
|
||||
size: 0 0 16 16; \
|
||||
} \
|
||||
} \
|
||||
} \
|
||||
group { \
|
||||
name: icon_name; \
|
||||
parts { \
|
||||
part { name: "icon"; \
|
||||
description { state: "default" 0.0; \
|
||||
image.normal: icon_file; \
|
||||
} \
|
||||
} \
|
||||
} \
|
||||
} \
|
||||
|
||||
|
||||
images
|
||||
|
@ -209,18 +107,12 @@ collections
|
|||
public progress_bar_visible;
|
||||
|
||||
public apps_list_hide() {
|
||||
run_program(PROGRAM:"hide-apps-list");
|
||||
set_state(PART:"button-apps-selected", "default", 0.0);
|
||||
set_state(PART:"apps-list", "default", 0.0);
|
||||
set_int(apps_list_visible, 0);
|
||||
run_program(PROGRAM:"hide-view-mask");
|
||||
emit("more,hide", "");
|
||||
}
|
||||
public apps_list_show() {
|
||||
set_int(apps_list_visible, 1);
|
||||
run_program(PROGRAM:"show-apps-list");
|
||||
set_state(PART:"button-apps-selected", "visible", 0.0);
|
||||
run_program(PROGRAM:"show-black-view-mask");
|
||||
emit("more,show", "");
|
||||
set_state(PART:"apps-list", "visible", 0.0);
|
||||
}
|
||||
public apps_list_toggle() {
|
||||
if (get_int(apps_list_visible) == 1) apps_list_hide();
|
||||
|
@ -242,121 +134,6 @@ collections
|
|||
}
|
||||
}
|
||||
}
|
||||
part {
|
||||
type: RECT;
|
||||
name: "top_bar";
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
color: 0 0 0 0;
|
||||
rel2.relative: 1 0;
|
||||
rel2.offset: 0 32;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
part { name: "view-mask";
|
||||
type: RECT;
|
||||
mouse_events: 0;
|
||||
description { state: "default" 0.0;
|
||||
rel1 {
|
||||
relative: 0.0 0.0;
|
||||
}
|
||||
rel2 {
|
||||
relative: 1.0 1.0;
|
||||
}
|
||||
color: 0 0 0 0;
|
||||
}
|
||||
description { state: "hidden" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
color: 0 0 0 0;
|
||||
visible: 0;
|
||||
}
|
||||
description { state: "masking-black" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
color: 0 0 0 230;
|
||||
}
|
||||
}
|
||||
|
||||
part {
|
||||
name: "menu.background.bottom";
|
||||
mouse_events: 0;
|
||||
description {
|
||||
visible: 1;
|
||||
state: "default" 0.0;
|
||||
image.normal: "mainmenu_bg_bottom.png";
|
||||
image.border: 0 0 2 0;
|
||||
rel1.relative: 0.0 0.9;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
part {
|
||||
name: "edit.mode.clip";
|
||||
type: RECT;
|
||||
mouse_events: 0;
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
color: 255 255 255 0;
|
||||
visible: 0;
|
||||
}
|
||||
description {
|
||||
state: "show" 0.0;
|
||||
color: 255 255 255 255;
|
||||
visible: 1;
|
||||
}
|
||||
}
|
||||
|
||||
part {
|
||||
name: "edit.mode.dock.clip";
|
||||
type: RECT;
|
||||
mouse_events: 0;
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
color: 255 255 255 255;
|
||||
visible: 1;
|
||||
}
|
||||
description {
|
||||
state: "show" 0.0;
|
||||
color: 255 255 255 0;
|
||||
visible: 0;
|
||||
}
|
||||
}
|
||||
|
||||
part {
|
||||
name: "fake.clip";
|
||||
clip_to: "edit.mode.dock.clip";
|
||||
type: RECT;
|
||||
mouse_events: 0;
|
||||
description {
|
||||
color: 255 255 255 255;
|
||||
}
|
||||
}
|
||||
|
||||
part {
|
||||
name: "icons.clip";
|
||||
type: RECT;
|
||||
mouse_events: 1;
|
||||
clip_to: "edit.mode.dock.clip";
|
||||
description {
|
||||
state: "hidden" 0.0;
|
||||
visible: 1;
|
||||
color: 255 255 255 255;
|
||||
}
|
||||
description {
|
||||
state: "masking-black" 0.0;
|
||||
visible: 0;
|
||||
color: 255 255 255 0;
|
||||
}
|
||||
}
|
||||
|
||||
TOOLBAR_BUTTON("windows", "Wins", TOOLBAR_POSITION(1), "icons.clip");
|
||||
TOOLBAR_BUTTON("apps", "Apps", TOOLBAR_POSITION(2), "fake.clip");
|
||||
TOOLBAR_BUTTON("badge_delete", "EditMode", TOOLBAR_POSITION(2), "edit.mode.clip");
|
||||
TOOLBAR_BUTTON("settings", "Settings", TOOLBAR_POSITION(3), "icons.clip");
|
||||
|
||||
|
||||
|
||||
part {
|
||||
name: "elfe.swallow.desktop";
|
||||
type: SWALLOW;
|
||||
|
@ -365,9 +142,7 @@ collections
|
|||
state: "default" 0.0;
|
||||
rel1 { relative: 0.0 0.0;
|
||||
}
|
||||
rel2 { relative: 1.0 0.0;
|
||||
to: "menu.background.bottom";
|
||||
offset: -1 0;
|
||||
rel2 { relative: 1.0 1.0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -416,24 +191,8 @@ collections
|
|||
fixed: 1 1;
|
||||
visible: 0;
|
||||
color: 255 255 255 0;
|
||||
|
||||
rel1 {
|
||||
relative: 0.0 0.0;
|
||||
|
||||
}
|
||||
rel2 {
|
||||
relative: 1.0 0.0;
|
||||
to: "menu.background.bottom";
|
||||
}
|
||||
}
|
||||
description { state: "visible" 0.0;
|
||||
rel1 {
|
||||
relative: 0.0 0;
|
||||
}
|
||||
rel2 {
|
||||
relative: 1.0 0.0;
|
||||
to: "menu.background.bottom";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -441,67 +200,9 @@ collections
|
|||
|
||||
}
|
||||
programs {
|
||||
program { name: "theme-load";
|
||||
program { name: "load,hide,appslist";
|
||||
signal: "load";
|
||||
script {
|
||||
set_int(apps_list_visible, 0);
|
||||
set_state(PART:"view-mask", "hidden", 0.0);
|
||||
}
|
||||
}
|
||||
program { name: "press-view-mask";
|
||||
signal: "mouse,down,*";
|
||||
source: "view-mask";
|
||||
script {
|
||||
if (get_int(apps_list_visible) == 1) {
|
||||
apps_list_hide();
|
||||
} else {
|
||||
run_program(PROGRAM:"hide-view-mask");
|
||||
}
|
||||
}
|
||||
}
|
||||
program {
|
||||
name: "load,editmode";
|
||||
signal: "load";
|
||||
action: STATE_SET "default" 0.0;
|
||||
target: "edit.mode.clip";
|
||||
target: "edit.mode.dock.clip";
|
||||
}
|
||||
program {
|
||||
name: "show,editmode";
|
||||
signal: "editmode,show";
|
||||
source: "elfe";
|
||||
action: STATE_SET "show" 0.0;
|
||||
target: "edit.mode.clip";
|
||||
target: "edit.mode.dock.clip";
|
||||
}
|
||||
|
||||
program {
|
||||
name: "hide,editmode";
|
||||
signal: "editmode,hide";
|
||||
source: "elfe";
|
||||
action: STATE_SET "default" 0.0;
|
||||
target: "edit.mode.clip";
|
||||
target: "edit.mode.dock.clip";
|
||||
}
|
||||
|
||||
program { name: "hide-view-mask";
|
||||
action: STATE_SET "hidden" 0.0;
|
||||
target: "view-mask";
|
||||
target: "icons.clip";
|
||||
transition: ACCELERATE 0.2;
|
||||
}
|
||||
program { name: "show-white-view-mask";
|
||||
action: STATE_SET "hidden" 0.0;
|
||||
target: "view-mask";
|
||||
target: "icons.clip";
|
||||
transition: DECELERATE 0.2;
|
||||
}
|
||||
program { name: "show-black-view-mask";
|
||||
action: SIGNAL_EMIT "view,mask,show" "";
|
||||
action: STATE_SET "masking-black" 0.0;
|
||||
target: "view-mask";
|
||||
target: "icons.clip";
|
||||
transition: DECELERATE 0.2;
|
||||
script { apps_list_hide(); }
|
||||
}
|
||||
program { name: "show-apps-list";
|
||||
action: STATE_SET "visible" 0.0;
|
||||
|
@ -516,19 +217,10 @@ collections
|
|||
}
|
||||
|
||||
program { name: "appslist,toggle";
|
||||
action: STATE_SET "visible" 0.0;
|
||||
signal: "appslist,toggle";
|
||||
source: "elfe";
|
||||
script { apps_list_toggle(); }
|
||||
after: "apps-released";
|
||||
}
|
||||
program { name: "toggle-apps-list";
|
||||
signal: "mouse,clicked,*";
|
||||
source: "button-apps-normal";
|
||||
script { apps_list_toggle(); }
|
||||
after: "apps-released";
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
group {
|
||||
|
@ -613,12 +305,6 @@ collections
|
|||
}
|
||||
}
|
||||
programs {
|
||||
/* program { */
|
||||
/* name: "load"; */
|
||||
/* signal: "load"; */
|
||||
/* after: "vib1"; */
|
||||
/* } */
|
||||
|
||||
program {
|
||||
name: "edit,on";
|
||||
signal: "action,edit,on";
|
||||
|
@ -703,9 +389,9 @@ collections
|
|||
scale: 1;
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
align: 0.5 1;
|
||||
rel1.relative: 0 1;
|
||||
rel1.offset: 4 -2;
|
||||
rel1.offset: 4 2;
|
||||
rel1.to_y: "elfe.swallow.content";
|
||||
rel2.relative: 1 1;
|
||||
rel2.offset: -4 -2;
|
||||
color3: 0 0 0 0;
|
||||
|
@ -715,14 +401,14 @@ collections
|
|||
font: "Sans";
|
||||
size: 10;
|
||||
min: 0 1;
|
||||
max: 1 0;
|
||||
max: 1 1;
|
||||
}
|
||||
}
|
||||
description {
|
||||
state: "normal" 0.0;
|
||||
align: 0.5 1;
|
||||
rel1.relative: 0 1;
|
||||
rel1.offset: 4 -2;
|
||||
rel1.offset: 4 2;
|
||||
rel1.to_y: "elfe.swallow.content";
|
||||
rel2.relative: 1 1;
|
||||
rel2.offset: -4 -2;
|
||||
color3: 0 0 0 200;
|
||||
|
@ -731,7 +417,7 @@ collections
|
|||
font: "Sans";
|
||||
size: 10;
|
||||
min: 0 1;
|
||||
max: 1 0;
|
||||
max: 1 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -742,13 +428,106 @@ collections
|
|||
clip_to: "clip";
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
align: 0.5 0.8;
|
||||
rel1.offset: 32 32;
|
||||
rel2.offset: -32 -32;
|
||||
}
|
||||
description {
|
||||
state: "normal" 0.0;
|
||||
align: 0.5 0.5;
|
||||
aspect: 1 1;
|
||||
aspect_preference: BOTH;
|
||||
}
|
||||
description {
|
||||
state: "big" 0.0;
|
||||
rel1.offset: -16 -16;
|
||||
rel2.offset: 16 16;
|
||||
}
|
||||
program {
|
||||
name: "bt_click";
|
||||
signal: "mouse,clicked,1";
|
||||
source: "elfe.swallow.content";
|
||||
action: SIGNAL_EMIT "elfe,action,click" "";
|
||||
}
|
||||
program {
|
||||
name: "bt_down";
|
||||
signal: "mouse,down,1";
|
||||
source: "elfe.swallow.content";
|
||||
action: STATE_SET "active" 0.0;
|
||||
transition: ACCELERATE 0.5;
|
||||
target: "clip";
|
||||
}
|
||||
program {
|
||||
name: "bt_up";
|
||||
signal: "mouse,up,1";
|
||||
source: "elfe.swallow.content";
|
||||
action: STATE_SET "default" 0.0;
|
||||
transition: ACCELERATE 0.5;
|
||||
target: "clip";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
programs {
|
||||
program {
|
||||
name: "load,text";
|
||||
signal: "load";
|
||||
action: STATE_SET "normal" 0.0;
|
||||
target: "elfe.text.label";
|
||||
transition: ACCELERATE 0.2;
|
||||
}
|
||||
program {
|
||||
name: "load";
|
||||
signal: "load";
|
||||
action: STATE_SET "default" 0.0;
|
||||
target: "elfe.swallow.content";
|
||||
transition: ACCELERATE 0.1;
|
||||
after: "big";
|
||||
}
|
||||
program {
|
||||
name: "big";
|
||||
action: STATE_SET "big" 0.0;
|
||||
target: "elfe.swallow.content";
|
||||
transition: ACCELERATE 0.1;
|
||||
after: "normal";
|
||||
}
|
||||
program {
|
||||
name: "normal";
|
||||
action: STATE_SET "normal" 0.0;
|
||||
target: "elfe.swallow.content";
|
||||
transition: ACCELERATE 0.1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
group {
|
||||
name: "elfe/dock/icon/frame";
|
||||
parts {
|
||||
part {
|
||||
name: "clip";
|
||||
type: RECT;
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
color: 255 255 255 255;
|
||||
}
|
||||
description {
|
||||
state: "active" 0.0;
|
||||
color: 255 255 255 128;
|
||||
}
|
||||
}
|
||||
|
||||
part {
|
||||
name: "elfe.swallow.content";
|
||||
type: SWALLOW;
|
||||
clip_to: "clip";
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
align: 0.5 0.5;
|
||||
aspect: 1 1;
|
||||
aspect_preference: BOTH;
|
||||
rel1.offset: 32 32;
|
||||
rel2.relative: 1 0;
|
||||
rel2.relative: 1 1;
|
||||
rel2.offset: -32 -32-4;
|
||||
rel2.to_y: "elfe.text.label";
|
||||
}
|
||||
description {
|
||||
state: "normal" 0.0;
|
||||
|
@ -789,13 +568,6 @@ collections
|
|||
|
||||
}
|
||||
programs {
|
||||
program {
|
||||
name: "load,text";
|
||||
signal: "load";
|
||||
action: STATE_SET "normal" 0.0;
|
||||
target: "elfe.text.label";
|
||||
transition: ACCELERATE 0.2;
|
||||
}
|
||||
program {
|
||||
name: "load";
|
||||
signal: "load";
|
||||
|
@ -919,7 +691,7 @@ collections
|
|||
type: SWALLOW;
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
rel2.offset: 0 -16;
|
||||
rel2.to_y: "elfe.swallow.selector";
|
||||
|
||||
}
|
||||
|
||||
|
@ -930,11 +702,24 @@ collections
|
|||
description {
|
||||
state: "default" 0.0;
|
||||
rel1.offset: 0 -16;
|
||||
rel1.relative: 0 1;
|
||||
rel1.to: "elfe.swallow.dock";
|
||||
rel2.relative: 1 0;
|
||||
rel2.to: "elfe.swallow.dock";
|
||||
fixed: 1 1;
|
||||
}
|
||||
|
||||
}
|
||||
part {
|
||||
name: "elfe.swallow.dock";
|
||||
type: SWALLOW;
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
align: 0.5 1;
|
||||
fixed: 1 1;
|
||||
rel1.relative: 0 1;
|
||||
rel2.relative: 1 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -989,10 +774,41 @@ collections
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
group {
|
||||
name: "elfe/dock/layout";
|
||||
parts {
|
||||
|
||||
part {
|
||||
name: "menu.background.bottom";
|
||||
mouse_events: 1;
|
||||
description {
|
||||
visible: 1;
|
||||
state: "default" 0.0;
|
||||
image.normal: "mainmenu_bg_bottom.png";
|
||||
image.border: 0 0 2 0;
|
||||
}
|
||||
}
|
||||
|
||||
part {
|
||||
name: "elfe.swallow.content";
|
||||
type: SWALLOW;
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
rel1.offset: 4 4;
|
||||
rel2.offset: -3 -3;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ICON_SET("application-default-icon", "icon/application-default");
|
||||
ICON("icon_application.png", "icon/applications");
|
||||
ICON("icon_widgets.png", "icon/widgets");
|
||||
ICON("icon_configuration.png", "icon/configuration");
|
||||
ICON("badge_delete.png", "icon/delete")
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -19,6 +19,8 @@ module_la_SOURCES = main.h \
|
|||
desktop_page.h \
|
||||
desktop_item.c \
|
||||
desktop_item.h \
|
||||
dock.c \
|
||||
dock.h \
|
||||
gadget_list.c \
|
||||
gadget_list.h \
|
||||
utils.c \
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
#include "desktop_page.h"
|
||||
#include "elfe_config.h"
|
||||
#include "utils.h"
|
||||
#include "dock.h"
|
||||
|
||||
#define ELFE_DESKTOP_NUM 5
|
||||
#define ELFE_DESKTOP_PADDING_W 10
|
||||
|
@ -15,6 +16,7 @@ struct _Elfe_Desktop
|
|||
{
|
||||
Evas_Object *layout;
|
||||
Evas_Object *sc;
|
||||
Evas_Object *dock;
|
||||
Eina_List *pads;
|
||||
Eina_List *gadgets;
|
||||
Evas_Object *selector;
|
||||
|
@ -108,6 +110,7 @@ _longpress_timer_cb(void *data)
|
|||
{
|
||||
desk->edit_mode = EINA_TRUE;
|
||||
elfe_desktop_page_edit_mode_set(gad, EINA_TRUE);
|
||||
elfe_dock_edit_mode_set(desk->dock, EINA_TRUE);
|
||||
desk->longpress_timer = NULL;
|
||||
evas_object_smart_callback_call(desk->layout, "editmode,on", NULL);
|
||||
}
|
||||
|
@ -195,8 +198,15 @@ elfe_desktop_app_add(Evas_Object *obj, Efreet_Menu *menu, Evas_Coord x, Evas_Coo
|
|||
{
|
||||
Elfe_Desktop *desk = evas_object_data_get(obj, "elfe_desktop");
|
||||
Evas_Object *gad;
|
||||
Evas_Coord ox, oy, ow, oh;
|
||||
|
||||
gad = eina_list_nth(desk->gadgets, desk->current_desktop);
|
||||
elfe_desktop_page_item_app_add(gad, menu, x, y);
|
||||
|
||||
evas_object_geometry_get(desk->dock, &ox, &oy, &ow, &oh);
|
||||
if (ELM_RECTS_INTERSECT(ox, oy, ow, oh, x, y, 1, 1))
|
||||
elfe_dock_item_app_add(desk->dock, menu, x, y);
|
||||
else
|
||||
elfe_desktop_page_item_app_add(gad, menu, x, y);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -313,6 +323,10 @@ elfe_desktop_add(Evas_Object *parent, E_Zone *zone)
|
|||
elm_scroller_content_set(desk->sc, bx);
|
||||
evas_object_show(bx);
|
||||
|
||||
desk->dock = elfe_dock_add(bx);
|
||||
/* evas_object_size_hint_min_set(desk->dock, 0, 80); */
|
||||
/* evas_object_size_hint_max_set(desk->dock, 9999, 80); */
|
||||
|
||||
evas_object_smart_callback_add(desk->sc, "edge,left", _scroller_edge_left_cb, desk);
|
||||
evas_object_smart_callback_add(desk->sc, "edge,right", _scroller_edge_right_cb, desk);
|
||||
evas_object_smart_callback_add(desk->sc, "scroll", _scroller_scroll_cb, desk);
|
||||
|
@ -333,6 +347,7 @@ elfe_desktop_add(Evas_Object *parent, E_Zone *zone)
|
|||
|
||||
elm_layout_content_set(desk->layout, "elfe.swallow.content", desk->sc);
|
||||
elm_layout_content_set(desk->layout, "elfe.swallow.selector", desk->selector);
|
||||
elm_layout_content_set(desk->layout, "elfe.swallow.dock", desk->dock);
|
||||
|
||||
return desk->layout;
|
||||
|
||||
|
@ -352,6 +367,8 @@ elfe_desktop_edit_mode_set(Evas_Object *obj, Eina_Bool mode)
|
|||
if (desk->edit_mode == mode)
|
||||
return;
|
||||
|
||||
printf("Elfe desktop edit mode\n");
|
||||
|
||||
desk->edit_mode = mode;
|
||||
|
||||
snprintf(buf, sizeof(buf), "%s/default.edj",
|
||||
|
@ -399,5 +416,6 @@ elfe_desktop_edit_mode_set(Evas_Object *obj, Eina_Bool mode)
|
|||
elfe_desktop_page_edit_mode_set(gad, EINA_FALSE);
|
||||
evas_object_smart_callback_call(desk->layout, "editmode,off", desk);
|
||||
}
|
||||
elfe_dock_edit_mode_set(desk->dock, EINA_FALSE);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -74,6 +74,8 @@ _clicked_signal_cb(void *data, Evas_Object *obj, const char *emission, const cha
|
|||
if (dit->desktop && !dit->edit_mode)
|
||||
efreet_desktop_command_get(dit->desktop, NULL,
|
||||
_app_exec_cb, NULL);
|
||||
else if (!dit->desktop)
|
||||
evas_object_smart_callback_call(dit->frame, "clicked", NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -110,6 +112,31 @@ _app_add(Elfe_Desktop_Item *dit, const char *name)
|
|||
return item;
|
||||
}
|
||||
|
||||
static Evas_Object *
|
||||
_icon_add(Elfe_Desktop_Item *dit, const char *name)
|
||||
{
|
||||
Evas_Object *item;
|
||||
Evas_Object *icon;
|
||||
|
||||
item = edje_object_add(evas_object_evas_get(dit->frame));
|
||||
edje_object_file_set(item, elfe_home_cfg->theme, "elfe/dock/icon/frame");
|
||||
|
||||
if (dit->desktop)
|
||||
icon = elfe_utils_fdo_icon_add(dit->frame, dit->desktop->icon, elfe_home_cfg->icon_size);
|
||||
else
|
||||
icon = elfe_utils_fdo_icon_add(dit->frame, name, elfe_home_cfg->icon_size);
|
||||
evas_object_size_hint_min_set(icon, elfe_home_cfg->icon_size, elfe_home_cfg->icon_size);
|
||||
evas_object_size_hint_max_set(icon, elfe_home_cfg->icon_size, elfe_home_cfg->icon_size);
|
||||
|
||||
edje_object_part_swallow(item, "elfe.swallow.content", icon);
|
||||
dit->icon = icon;
|
||||
|
||||
//edje_object_part_text_set(item, "elfe.text.label", name);
|
||||
edje_object_signal_callback_add(item, "mouse,clicked,1", "*", _clicked_signal_cb, dit);
|
||||
|
||||
return item;
|
||||
}
|
||||
|
||||
void
|
||||
elfe_desktop_item_pos_get(Evas_Object *obj, int *row, int *col)
|
||||
{
|
||||
|
@ -181,12 +208,13 @@ elfe_desktop_item_add(Evas_Object *parent,
|
|||
edje_object_file_set(layout, elfe_home_cfg->theme, "elfe/desktop/frame");
|
||||
|
||||
dit->frame = layout;
|
||||
|
||||
printf("ITEM ADD %s\n", name);
|
||||
|
||||
switch (type)
|
||||
{
|
||||
case ELFE_DESKTOP_ITEM_APP:
|
||||
dit->desktop = efreet_desktop_get(name);
|
||||
|
||||
if (!dit->desktop)
|
||||
{
|
||||
printf("ERROR unable to get efreet desktop from %s\n", name);
|
||||
|
@ -207,6 +235,17 @@ elfe_desktop_item_add(Evas_Object *parent,
|
|||
return NULL;
|
||||
}
|
||||
break;
|
||||
case ELFE_DESKTOP_ITEM_ICON:
|
||||
dit->desktop = efreet_desktop_get(name);
|
||||
item = _icon_add(dit, name);
|
||||
if (!item)
|
||||
{
|
||||
printf("ERROR unable to create icon %s\n", name);
|
||||
evas_object_del(layout);
|
||||
free(dit);
|
||||
return NULL;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,249 @@
|
|||
#include <e.h>
|
||||
#include <Elementary.h>
|
||||
|
||||
#include "dock.h"
|
||||
#include "elfe_config.h"
|
||||
#include "desktop_item.h"
|
||||
#include "utils.h"
|
||||
|
||||
typedef struct _Elfe_Dock Elfe_Dock;
|
||||
|
||||
struct _Elfe_Dock
|
||||
{
|
||||
Evas_Object *edje;
|
||||
Evas_Object *table;
|
||||
Eina_Matrixsparse *items;
|
||||
Evas_Object *allapps_icon;
|
||||
Eina_Bool edit_mode;
|
||||
};
|
||||
|
||||
static void _allapps_icon_add(Elfe_Dock *dock, const char *name);
|
||||
|
||||
static void
|
||||
_pos_to_geom(Elfe_Dock *dock,
|
||||
int row, int col,
|
||||
Evas_Coord *x, Evas_Coord *y,
|
||||
Evas_Coord *w, Evas_Coord *h)
|
||||
{
|
||||
Evas_Coord ox, oy, ow, oh;
|
||||
|
||||
if(!dock)
|
||||
return;
|
||||
|
||||
evas_object_geometry_get(dock->edje, &ox, &oy, &ow, &oh);
|
||||
|
||||
if (elfe_home_cfg->cols && w)
|
||||
*w = ow / elfe_home_cfg->cols;
|
||||
if (h)
|
||||
*h = oh;
|
||||
|
||||
if (x && w)
|
||||
*x = col * *w;
|
||||
if (y && h)
|
||||
*y = 0;
|
||||
}
|
||||
|
||||
static void
|
||||
_xy_to_pos(Elfe_Dock *dock, Evas_Coord x, Evas_Coord y,
|
||||
int *col)
|
||||
{
|
||||
Evas_Coord ow, oh;
|
||||
Evas_Coord w = 0, h = 0;
|
||||
|
||||
if(!dock)
|
||||
return;
|
||||
|
||||
evas_object_geometry_get(dock->table, NULL, NULL, &ow, &oh);
|
||||
|
||||
if (elfe_home_cfg->cols && col)
|
||||
{
|
||||
w = ow / elfe_home_cfg->cols;
|
||||
if (w)
|
||||
*col = (x/w) % elfe_home_cfg->cols;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
_item_delete_cb(void *data , Evas_Object *obj, void *event_info)
|
||||
{
|
||||
Evas_Object *item = event_info;
|
||||
Elfe_Dock *dock = data;
|
||||
int row, col;
|
||||
|
||||
elfe_desktop_item_pos_get(item, &row, &col);
|
||||
eina_matrixsparse_cell_idx_clear(dock->items, row, col);
|
||||
evas_object_del(item);
|
||||
// elfe_home_config_dock_item_del(dock->desktop,
|
||||
// row, col);
|
||||
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
_app_icon_clicked_cb(void *data , Evas_Object *obj, void *event_info )
|
||||
{
|
||||
Elfe_Dock *dock = data;
|
||||
printf("Icon clicked\n");
|
||||
if (!dock->edit_mode)
|
||||
elfe_home_win_allapps_togle();
|
||||
else
|
||||
{
|
||||
elfe_home_win_editmode_off();
|
||||
dock->edit_mode = EINA_FALSE;
|
||||
printf("Clicked cb and edit mode %s\n", dock->edit_mode ? "True": "False");
|
||||
_allapps_icon_add(dock, "icon/widgets");
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
_allapps_icon_add(Elfe_Dock *dock, const char *name)
|
||||
{
|
||||
Evas_Object *ic;
|
||||
|
||||
if (dock->allapps_icon)
|
||||
{
|
||||
printf("delete icon\n");
|
||||
evas_object_del(dock->allapps_icon);
|
||||
}
|
||||
|
||||
printf("Add icon %s\n", name);
|
||||
|
||||
ic = elfe_desktop_item_add(dock->table, 0, elfe_home_cfg->cols - 1,
|
||||
name, ELFE_DESKTOP_ITEM_ICON, NULL);
|
||||
evas_object_smart_callback_add(ic, "clicked", _app_icon_clicked_cb, dock);
|
||||
evas_object_show(ic);
|
||||
evas_object_size_hint_min_set(ic, elfe_home_cfg->icon_size, elfe_home_cfg->icon_size);
|
||||
evas_object_size_hint_max_set(ic, elfe_home_cfg->icon_size, elfe_home_cfg->icon_size);
|
||||
evas_object_size_hint_align_set(ic, 0.5, 0.5);
|
||||
|
||||
elm_table_pack(dock->table, ic, elfe_home_cfg->cols - 1, 0, 1, 1);
|
||||
evas_object_show(ic);
|
||||
eina_matrixsparse_data_idx_set(dock->items, 0, elfe_home_cfg->cols - 1, ic);
|
||||
|
||||
dock->allapps_icon = ic;
|
||||
}
|
||||
|
||||
static void
|
||||
_populate_dock(Elfe_Dock *dock)
|
||||
{
|
||||
Elfe_Desktop_Item_Config *dic;
|
||||
Evas_Object *item;
|
||||
Eina_List *l;
|
||||
|
||||
Evas_Coord x = 0, y = 0, w = 0, h = 0;
|
||||
|
||||
EINA_LIST_FOREACH(elfe_home_cfg->dock_items, l, dic)
|
||||
{
|
||||
|
||||
/* This position is already in use, this is a conf issue! */
|
||||
/* FIXME: delete item from config ? */
|
||||
if (eina_matrixsparse_data_idx_get(dock->items, 0, dic->col))
|
||||
continue;
|
||||
|
||||
item = elfe_desktop_item_add(dock->table, 0, dic->col,
|
||||
dic->name, dic->type, NULL);
|
||||
if (!item)
|
||||
continue;
|
||||
|
||||
evas_object_smart_callback_add(item, "item,delete", _item_delete_cb, dock);
|
||||
elm_table_pack(dock->table, item, dic->col, 0, 1, 1);
|
||||
evas_object_show(item);
|
||||
eina_matrixsparse_data_idx_set(dock->items, 0, dic->col, item);
|
||||
}
|
||||
|
||||
_allapps_icon_add(dock, "icon/widgets");
|
||||
}
|
||||
|
||||
void
|
||||
elfe_dock_edit_mode_set(Evas_Object *obj, Eina_Bool mode)
|
||||
{
|
||||
Elfe_Dock *dock = evas_object_data_get(obj, "dock");;
|
||||
Evas_Object *item;
|
||||
Eina_List *l;
|
||||
Eina_Iterator *iter;
|
||||
Eina_Matrixsparse_Cell *cell;
|
||||
|
||||
dock->edit_mode = mode;
|
||||
|
||||
printf("Dock edit mode\n");
|
||||
|
||||
iter = eina_matrixsparse_iterator_new(dock->items);
|
||||
EINA_ITERATOR_FOREACH(iter, cell)
|
||||
{
|
||||
item = eina_matrixsparse_cell_data_get(cell);
|
||||
elfe_desktop_item_edit_mode_set(item, mode);
|
||||
}
|
||||
eina_iterator_free(iter);
|
||||
|
||||
if (mode)
|
||||
_allapps_icon_add(dock, "icon/delete");
|
||||
else
|
||||
_allapps_icon_add(dock, "icon/widgets");
|
||||
}
|
||||
|
||||
void
|
||||
elfe_dock_item_app_add(Evas_Object *obj, Efreet_Menu *menu,
|
||||
Evas_Coord x, Evas_Coord y)
|
||||
{
|
||||
Elfe_Dock *dock = evas_object_data_get(obj, "dock");
|
||||
Evas_Object *item;
|
||||
Evas_Coord ox = 0, oy = 0, ow = 0, oh = 0;
|
||||
int col = 0;
|
||||
|
||||
_xy_to_pos(dock, x, y, &col);
|
||||
|
||||
printf("COLONE : %d\n", col);
|
||||
|
||||
/* This position is already used by another item! */
|
||||
if (eina_matrixsparse_data_idx_get(dock->items, 0, col)) return;
|
||||
|
||||
item = elfe_desktop_item_add(dock->table, 0, col,
|
||||
menu->desktop->orig_path,
|
||||
ELFE_DESKTOP_ITEM_ICON, NULL);
|
||||
evas_object_show(item);
|
||||
evas_object_size_hint_min_set(item, elfe_home_cfg->icon_size, elfe_home_cfg->icon_size);
|
||||
evas_object_size_hint_max_set(item, elfe_home_cfg->icon_size, elfe_home_cfg->icon_size);
|
||||
evas_object_size_hint_align_set(item, 0.5, 0.5);
|
||||
|
||||
elm_table_pack(dock->table, item, col, 0, 1, 1);
|
||||
|
||||
eina_matrixsparse_data_idx_set(dock->items, 0, col, item);
|
||||
/* elfe_home_config_desktop_item_add(page->desktop, */
|
||||
/* ELFE_DESKTOP_ITEM_APP, */
|
||||
/* row, col, */
|
||||
/* 0, 0, 0, 0, */
|
||||
/* menu->desktop->orig_path); */
|
||||
evas_object_smart_callback_add(item, "item,delete", _item_delete_cb, dock);
|
||||
}
|
||||
|
||||
Evas_Object *
|
||||
elfe_dock_add(Evas_Object *parent)
|
||||
{
|
||||
Elfe_Dock *dock;
|
||||
Evas_Object *bx;
|
||||
Evas_Object *ic;
|
||||
int i;
|
||||
|
||||
dock = calloc(1, sizeof(Elfe_Dock));
|
||||
if (!dock)
|
||||
return NULL;
|
||||
|
||||
dock->items = eina_matrixsparse_new(1, elfe_home_cfg->cols,
|
||||
NULL, NULL);
|
||||
|
||||
dock->table = elm_table_add(parent);
|
||||
elm_table_homogenous_set(dock->table, EINA_TRUE);
|
||||
|
||||
_populate_dock(dock);
|
||||
|
||||
dock->edje = elm_layout_add(parent);
|
||||
elm_layout_file_set(dock->edje, elfe_home_cfg->theme, "elfe/dock/layout");
|
||||
evas_object_show(dock->edje);
|
||||
evas_object_data_set(dock->edje, "dock", dock);
|
||||
|
||||
elm_layout_content_set(dock->edje, "elfe.swallow.content", dock->table);
|
||||
|
||||
return dock->edje;
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
#ifndef _DOCK_H_
|
||||
#define _DOCK_H_
|
||||
|
||||
|
||||
Evas_Object *elfe_dock_add(Evas_Object *parent);
|
||||
void elfe_dock_item_app_add(Evas_Object *obj, Efreet_Menu *menu, Evas_Coord x, Evas_Coord y);
|
||||
void elfe_dock_edit_mode_set(Evas_Object *obj, Eina_Bool mode);
|
||||
|
||||
#endif /* _DOCK_H_ */
|
|
@ -59,6 +59,7 @@ elfe_home_config_init(E_Module *m)
|
|||
E_CONFIG_VAL(D, T, cols, INT);
|
||||
E_CONFIG_VAL(D, T, rows, INT);
|
||||
E_CONFIG_VAL(D, T, icon_size, INT);
|
||||
E_CONFIG_LIST(D, T, dock_items, conf_desktop_item_edd);
|
||||
|
||||
elfe_home_cfg = e_config_domain_load("module.elfe", conf_edd);
|
||||
|
||||
|
|
|
@ -12,7 +12,8 @@ typedef enum _Elfe_Desktop_Item_Type Elfe_Desktop_Item_Type;
|
|||
enum _Elfe_Desktop_Item_Type
|
||||
{
|
||||
ELFE_DESKTOP_ITEM_APP,
|
||||
ELFE_DESKTOP_ITEM_GADGET
|
||||
ELFE_DESKTOP_ITEM_GADGET,
|
||||
ELFE_DESKTOP_ITEM_ICON,
|
||||
};
|
||||
|
||||
struct _Elfe_Home_Config
|
||||
|
@ -23,6 +24,7 @@ struct _Elfe_Home_Config
|
|||
int cols;
|
||||
int rows;
|
||||
int icon_size;
|
||||
Eina_List *dock_items;
|
||||
};
|
||||
|
||||
struct _Elfe_Desktop_Config
|
||||
|
|
46
src/main.c
46
src/main.c
|
@ -42,6 +42,7 @@ typedef enum
|
|||
#define DEFAULT_SIZE_H 0.07
|
||||
|
||||
static E_Gadcon *gc = NULL;
|
||||
static Elfe_Home_Win *hwin;
|
||||
|
||||
/* local function prototypes */
|
||||
static void _elfe_home_win_new(E_Zone *zone);
|
||||
|
@ -201,11 +202,11 @@ _app_longpressed_cb(void *data , Evas_Object *obj, void *event_info)
|
|||
Evas_Coord x, y;
|
||||
Evas_Object *o_edje;
|
||||
Evas_Coord ow, oh;
|
||||
Evas_Coord size = 0;
|
||||
Evas_Coord size = elfe_home_cfg->icon_size;
|
||||
|
||||
evas_object_geometry_get(hwin->desktop, NULL, NULL, &ow, &oh);
|
||||
|
||||
size = MIN(ow, oh) / 5;
|
||||
|
||||
|
||||
elfe_desktop_edit_mode_set(hwin->desktop, EINA_TRUE);
|
||||
|
||||
|
@ -321,15 +322,7 @@ static void _edje_signal_cb(void *data, Evas_Object *obj, const char *emission,
|
|||
}
|
||||
else if (!strcmp(emission, "action,apps"))
|
||||
{
|
||||
if (!hwin->allapps)
|
||||
{
|
||||
hwin->allapps = elfe_allapps_add(hwin->layout);
|
||||
evas_object_smart_callback_add(hwin->allapps, "entry,longpressed", _app_longpressed_cb, hwin);
|
||||
evas_object_smart_callback_add(hwin->allapps, "gadget,longpressed", _gadget_longpressed_cb, hwin);
|
||||
evas_object_smart_callback_add(hwin->allapps, "item,selected", _allapps_item_selected_cb, hwin);
|
||||
evas_object_show(hwin->allapps);
|
||||
elm_layout_content_set(hwin->layout, "elfe.swallow.allapps", hwin->allapps);
|
||||
}
|
||||
|
||||
}
|
||||
else if (!strcmp(emission, "action,badge_delete"))
|
||||
{
|
||||
|
@ -337,14 +330,41 @@ static void _edje_signal_cb(void *data, Evas_Object *obj, const char *emission,
|
|||
|
||||
elfe_desktop_edit_mode_set(hwin->desktop, EINA_FALSE);
|
||||
o_edje = elm_layout_edje_get(hwin->layout);
|
||||
edje_object_signal_emit(o_edje, "editmode,hide", "elfe");
|
||||
edje_object_signal_emit(o_edje, "appslist,toggle", "elfe");
|
||||
}
|
||||
}
|
||||
|
||||
void elfe_home_win_allapps_togle(void)
|
||||
{
|
||||
Evas_Object *o_edje;
|
||||
|
||||
if (!hwin->allapps)
|
||||
{
|
||||
printf("Create allapps\n");
|
||||
hwin->allapps = elfe_allapps_add(hwin->layout);
|
||||
evas_object_smart_callback_add(hwin->allapps, "entry,longpressed", _app_longpressed_cb, hwin);
|
||||
evas_object_smart_callback_add(hwin->allapps, "gadget,longpressed", _gadget_longpressed_cb, hwin);
|
||||
evas_object_smart_callback_add(hwin->allapps, "item,selected", _allapps_item_selected_cb, hwin);
|
||||
evas_object_show(hwin->allapps);
|
||||
elm_layout_content_set(hwin->layout, "elfe.swallow.allapps", hwin->allapps);
|
||||
o_edje = elm_layout_edje_get(hwin->layout);
|
||||
edje_object_signal_emit(o_edje, "appslist,toggle", "elfe");
|
||||
}
|
||||
}
|
||||
|
||||
void elfe_home_win_editmode_off()
|
||||
{
|
||||
Evas_Object *o_edje;
|
||||
|
||||
elfe_desktop_edit_mode_set(hwin->desktop, EINA_FALSE);
|
||||
o_edje = elm_layout_edje_get(hwin->layout);
|
||||
edje_object_signal_emit(o_edje, "editmode,hide", "elfe");
|
||||
}
|
||||
|
||||
static void
|
||||
_elfe_home_win_new(E_Zone *zone)
|
||||
{
|
||||
Elfe_Home_Win *hwin;
|
||||
|
||||
Evas *evas;
|
||||
E_Desk *desk;
|
||||
char buf[PATH_MAX];
|
||||
|
|
|
@ -45,7 +45,7 @@ elfe_utils_fdo_icon_add(Evas_Object *parent, const char *icon, int size)
|
|||
|
||||
if (path)
|
||||
elm_icon_file_set(ic, path, NULL);
|
||||
else
|
||||
else if (!elm_icon_file_set(ic, elfe_home_cfg->theme, icon))
|
||||
elm_icon_file_set(ic, elfe_home_cfg->theme, "icon/application-default");
|
||||
|
||||
return ic;
|
||||
|
|
Loading…
Reference in New Issue