forked from enlightenment/enlightenment
make evrything handle mouse events.
- double click on item runs action, right click runs action and keep evry open - same with selectors - mouse down and move 150px browses that item. and back. TODO needs an indicator - mouse wheel selects next/prev on plugin bar or selectors SVN revision: 48949
This commit is contained in:
parent
24188afa26
commit
5f9084b7d7
|
@ -32800,9 +32800,7 @@ collections {
|
||||||
data.item: "shaped" "1";
|
data.item: "shaped" "1";
|
||||||
data.item: "shadow_offset" "50";
|
data.item: "shadow_offset" "50";
|
||||||
parts {
|
parts {
|
||||||
|
|
||||||
/*************** list ***************/
|
/*************** list ***************/
|
||||||
|
|
||||||
part {
|
part {
|
||||||
name: "list_win";
|
name: "list_win";
|
||||||
type: RECT;
|
type: RECT;
|
||||||
|
@ -32862,14 +32860,14 @@ collections {
|
||||||
rel2 {
|
rel2 {
|
||||||
relative: 1.0 1.0;
|
relative: 1.0 1.0;
|
||||||
to: "base";
|
to: "base";
|
||||||
offset: 47 47;
|
offset: 47 40;
|
||||||
}
|
}
|
||||||
image {
|
image {
|
||||||
normal: "everything_drop.png";
|
normal: "everything_drop.png";
|
||||||
middle: 0;
|
middle: 0;
|
||||||
border: 50 50 50 50;
|
border: 50 50 50 50;
|
||||||
}
|
}
|
||||||
fill.smooth: 0;
|
fill.smooth: 1;
|
||||||
}
|
}
|
||||||
description {
|
description {
|
||||||
state: "composite" 0.0;
|
state: "composite" 0.0;
|
||||||
|
@ -32940,6 +32938,7 @@ collections {
|
||||||
part {
|
part {
|
||||||
name: "bar_base";
|
name: "bar_base";
|
||||||
type: RECT;
|
type: RECT;
|
||||||
|
mouse_events: 0;
|
||||||
description {
|
description {
|
||||||
state: "default" 0.0;
|
state: "default" 0.0;
|
||||||
visible: 0;
|
visible: 0;
|
||||||
|
@ -32958,6 +32957,7 @@ collections {
|
||||||
part {
|
part {
|
||||||
name: "bar_clip";
|
name: "bar_clip";
|
||||||
type: RECT;
|
type: RECT;
|
||||||
|
mouse_events: 0;
|
||||||
description {
|
description {
|
||||||
state: "default" 0.0;
|
state: "default" 0.0;
|
||||||
rel1 {
|
rel1 {
|
||||||
|
@ -32978,6 +32978,7 @@ collections {
|
||||||
part {
|
part {
|
||||||
name: "bar_bg";
|
name: "bar_bg";
|
||||||
clip_to: "base";
|
clip_to: "base";
|
||||||
|
mouse_events: 0;
|
||||||
description {
|
description {
|
||||||
state: "default" 0.0;
|
state: "default" 0.0;
|
||||||
min: 32 25;
|
min: 32 25;
|
||||||
|
@ -33013,6 +33014,7 @@ collections {
|
||||||
part {
|
part {
|
||||||
name: "bar_over2";
|
name: "bar_over2";
|
||||||
clip_to: "base";
|
clip_to: "base";
|
||||||
|
mouse_events: 0;
|
||||||
description {
|
description {
|
||||||
state: "default" 0.0;
|
state: "default" 0.0;
|
||||||
rel1.to: "bar_bg";
|
rel1.to: "bar_bg";
|
||||||
|
@ -33029,6 +33031,7 @@ collections {
|
||||||
part {
|
part {
|
||||||
name: "bar_over1";
|
name: "bar_over1";
|
||||||
clip_to: "base";
|
clip_to: "base";
|
||||||
|
mouse_events: 0;
|
||||||
description {
|
description {
|
||||||
state: "default" 0.0;
|
state: "default" 0.0;
|
||||||
rel1.to: "bar_bg";
|
rel1.to: "bar_bg";
|
||||||
|
@ -33182,6 +33185,7 @@ collections {
|
||||||
name: "e.swallow.list";
|
name: "e.swallow.list";
|
||||||
type: SWALLOW;
|
type: SWALLOW;
|
||||||
clip_to: "list_clip";
|
clip_to: "list_clip";
|
||||||
|
mouse_events: 1;
|
||||||
description {
|
description {
|
||||||
state: "default" 0.0;
|
state: "default" 0.0;
|
||||||
min: 32 170;
|
min: 32 170;
|
||||||
|
@ -33206,6 +33210,7 @@ collections {
|
||||||
part {
|
part {
|
||||||
name: "list_over";
|
name: "list_over";
|
||||||
clip_to: "base";
|
clip_to: "base";
|
||||||
|
mouse_events: 0;
|
||||||
description {
|
description {
|
||||||
state: "default" 0.0;
|
state: "default" 0.0;
|
||||||
rel1 {
|
rel1 {
|
||||||
|
@ -33228,6 +33233,7 @@ collections {
|
||||||
part {
|
part {
|
||||||
name: "list_over2";
|
name: "list_over2";
|
||||||
clip_to: "base";
|
clip_to: "base";
|
||||||
|
mouse_events: 0;
|
||||||
description {
|
description {
|
||||||
state: "default" 0.0;
|
state: "default" 0.0;
|
||||||
rel1 {
|
rel1 {
|
||||||
|
@ -33249,6 +33255,7 @@ collections {
|
||||||
}
|
}
|
||||||
part {
|
part {
|
||||||
name: "box";
|
name: "box";
|
||||||
|
mouse_events: 0;
|
||||||
description {
|
description {
|
||||||
state: "default" 0.0;
|
state: "default" 0.0;
|
||||||
rel1 {
|
rel1 {
|
||||||
|
@ -33267,6 +33274,7 @@ collections {
|
||||||
color: 255 255 255 255;
|
color: 255 255 255 255;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/*************** top ***************/
|
||||||
part {
|
part {
|
||||||
name: "win";
|
name: "win";
|
||||||
type: RECT;
|
type: RECT;
|
||||||
|
@ -33315,13 +33323,13 @@ collections {
|
||||||
|
|
||||||
rel1.offset: 4 4;
|
rel1.offset: 4 4;
|
||||||
rel2.offset: -5 -5;
|
rel2.offset: -5 -5;
|
||||||
fill.smooth: 1;
|
fill.smooth: 0;
|
||||||
color: 255 255 255 255;
|
|
||||||
}
|
}
|
||||||
description {
|
description {
|
||||||
state: "composite" 0.0;
|
state: "composite" 0.0;
|
||||||
inherit: "default" 0.0;
|
inherit: "default" 0.0;
|
||||||
visible: 1;
|
visible: 1;
|
||||||
|
color: 255 255 255 200;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
part {
|
part {
|
||||||
|
@ -33639,6 +33647,7 @@ collections {
|
||||||
name: "inner_clip";
|
name: "inner_clip";
|
||||||
type: RECT;
|
type: RECT;
|
||||||
clip_to: "clip";
|
clip_to: "clip";
|
||||||
|
mouse_events: 0;
|
||||||
description {
|
description {
|
||||||
state: "default" 0.0;
|
state: "default" 0.0;
|
||||||
rel1.offset: 10 10;
|
rel1.offset: 10 10;
|
||||||
|
@ -33649,6 +33658,7 @@ collections {
|
||||||
name: "icon_clip";
|
name: "icon_clip";
|
||||||
type: RECT;
|
type: RECT;
|
||||||
clip_to: "inner_clip";
|
clip_to: "inner_clip";
|
||||||
|
mouse_events: 0;
|
||||||
description {
|
description {
|
||||||
state: "default" 0.0;
|
state: "default" 0.0;
|
||||||
color: 255 255 255 255;
|
color: 255 255 255 255;
|
||||||
|
@ -33662,6 +33672,7 @@ collections {
|
||||||
name: "e.swallow.icons";
|
name: "e.swallow.icons";
|
||||||
type: SWALLOW;
|
type: SWALLOW;
|
||||||
clip_to: "icon_clip";
|
clip_to: "icon_clip";
|
||||||
|
mouse_events: 0;
|
||||||
description {
|
description {
|
||||||
state: "default" 0.0;
|
state: "default" 0.0;
|
||||||
min: 64 64;
|
min: 64 64;
|
||||||
|
@ -33683,6 +33694,7 @@ collections {
|
||||||
name: "e.swallow.thumb";
|
name: "e.swallow.thumb";
|
||||||
type: SWALLOW;
|
type: SWALLOW;
|
||||||
clip_to: "icon_clip";
|
clip_to: "icon_clip";
|
||||||
|
mouse_events: 0;
|
||||||
description {
|
description {
|
||||||
state: "default" 0.0;
|
state: "default" 0.0;
|
||||||
min: 86 64;
|
min: 86 64;
|
||||||
|
@ -33755,6 +33767,14 @@ collections {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
part {
|
||||||
|
name: "event";
|
||||||
|
type: RECT;
|
||||||
|
description {
|
||||||
|
state: "default" 0.0;
|
||||||
|
color: 0 0 0 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
programs {
|
programs {
|
||||||
program {
|
program {
|
||||||
|
@ -33831,6 +33851,7 @@ collections {
|
||||||
type: TEXT;
|
type: TEXT;
|
||||||
scale: 1;
|
scale: 1;
|
||||||
clip_to: "clip";
|
clip_to: "clip";
|
||||||
|
mouse_events: 0;
|
||||||
description {
|
description {
|
||||||
state: "default" 0.0;
|
state: "default" 0.0;
|
||||||
align: 0.5 0.5;
|
align: 0.5 0.5;
|
||||||
|
@ -33877,6 +33898,7 @@ collections {
|
||||||
mouse_events: 0;
|
mouse_events: 0;
|
||||||
clip_to: "clip";
|
clip_to: "clip";
|
||||||
scale: 1;
|
scale: 1;
|
||||||
|
mouse_events: 0;
|
||||||
description {
|
description {
|
||||||
state: "default" 0.0;
|
state: "default" 0.0;
|
||||||
align: 0.5 0.5;
|
align: 0.5 0.5;
|
||||||
|
@ -33900,6 +33922,14 @@ collections {
|
||||||
visible: 1;
|
visible: 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
part {
|
||||||
|
name: "event";
|
||||||
|
type: RECT;
|
||||||
|
description {
|
||||||
|
state: "default" 0.0;
|
||||||
|
color: 0 0 0 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
programs {
|
programs {
|
||||||
program {
|
program {
|
||||||
|
@ -33929,53 +33959,7 @@ collections {
|
||||||
|
|
||||||
group {
|
group {
|
||||||
name: "e/modules/everything/thumbview/main/window";
|
name: "e/modules/everything/thumbview/main/window";
|
||||||
images {
|
|
||||||
image: "vgrad_dark.png" COMP;
|
|
||||||
image: "dia_botshad.png" COMP;
|
|
||||||
image: "big_arrow_up.png" COMP;
|
|
||||||
image: "busy-1.png" COMP;
|
|
||||||
image: "busy-2.png" COMP;
|
|
||||||
image: "busy-3.png" COMP;
|
|
||||||
image: "busy-4.png" COMP;
|
|
||||||
image: "busy-5.png" COMP;
|
|
||||||
image: "busy-6.png" COMP;
|
|
||||||
image: "busy-7.png" COMP;
|
|
||||||
image: "busy-8.png" COMP;
|
|
||||||
image: "busy-9.png" COMP;
|
|
||||||
}
|
|
||||||
parts {
|
parts {
|
||||||
part {
|
|
||||||
name: "base";
|
|
||||||
mouse_events: 0;
|
|
||||||
type: RECT;
|
|
||||||
description {
|
|
||||||
state: "default" 0.0;
|
|
||||||
visible: 0;
|
|
||||||
rel1 {
|
|
||||||
relative: 0.0 0.0;
|
|
||||||
offset: 0 -3;
|
|
||||||
}
|
|
||||||
rel2 {
|
|
||||||
relative: 1.0 1.0;
|
|
||||||
offset: -1 6;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
part {
|
|
||||||
name: "e.swallow.preview";
|
|
||||||
type: SWALLOW;
|
|
||||||
description {
|
|
||||||
state: "default" 0.0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
part {
|
|
||||||
name: "events";
|
|
||||||
type: RECT;
|
|
||||||
description {
|
|
||||||
state: "default" 0.0;
|
|
||||||
color: 0 0 0 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
part {
|
part {
|
||||||
name: "e.swallow.list";
|
name: "e.swallow.list";
|
||||||
type: SWALLOW;
|
type: SWALLOW;
|
||||||
|
@ -33991,115 +33975,6 @@ collections {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
part {
|
|
||||||
name: "cover";
|
|
||||||
type: RECT;
|
|
||||||
description {
|
|
||||||
state: "default" 0.0;
|
|
||||||
color: 0 0 0 0;
|
|
||||||
visible: 0;
|
|
||||||
}
|
|
||||||
description {
|
|
||||||
state: "out" 0.0;
|
|
||||||
inherit: "default" 0.0;
|
|
||||||
visible: 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
part {
|
|
||||||
name: "shadow2";
|
|
||||||
mouse_events: 0;
|
|
||||||
description {
|
|
||||||
state: "default" 0.0;
|
|
||||||
rel1.relative: 0.0 1.0;
|
|
||||||
rel1.offset: 0 -4;
|
|
||||||
image.normal: "dia_botshad.png";
|
|
||||||
fill {
|
|
||||||
smooth: 0;
|
|
||||||
size {
|
|
||||||
relative: 0.0 1.0;
|
|
||||||
offset: 64 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
part {
|
|
||||||
name: "busy_clip";
|
|
||||||
type: RECT;
|
|
||||||
description {
|
|
||||||
state: "default" 0.0;
|
|
||||||
visible: 0;
|
|
||||||
color: 255 255 255 0;
|
|
||||||
}
|
|
||||||
description {
|
|
||||||
state: "visible" 0.0;
|
|
||||||
visible: 1;
|
|
||||||
color: 255 255 255 255;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
part {
|
|
||||||
name: "busy";
|
|
||||||
mouse_events: 0;
|
|
||||||
clip_to: "busy_clip";
|
|
||||||
description {
|
|
||||||
state: "default" 0.0;
|
|
||||||
min: 32 32;
|
|
||||||
max: 32 32;
|
|
||||||
aspect: 1.0 1.0;
|
|
||||||
aspect_preference: BOTH;
|
|
||||||
rel1 {
|
|
||||||
relative: 0.5 0.5;
|
|
||||||
offset: 0 0;
|
|
||||||
}
|
|
||||||
rel2 {
|
|
||||||
relative: 0.5 0.5;
|
|
||||||
offset: -1 1;
|
|
||||||
}
|
|
||||||
image {
|
|
||||||
normal: "busy-9.png";
|
|
||||||
tween: "busy-1.png";
|
|
||||||
tween: "busy-2.png";
|
|
||||||
tween: "busy-3.png";
|
|
||||||
tween: "busy-4.png";
|
|
||||||
tween: "busy-5.png";
|
|
||||||
tween: "busy-6.png";
|
|
||||||
tween: "busy-7.png";
|
|
||||||
tween: "busy-8.png";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
programs {
|
|
||||||
program {
|
|
||||||
name: "busy1";
|
|
||||||
signal: "e,state,busy,on";
|
|
||||||
source: "e";
|
|
||||||
action: STATE_SET "visible" 0.0;
|
|
||||||
transition: LINEAR 1.0;
|
|
||||||
target: "busy_clip";
|
|
||||||
}
|
|
||||||
program {
|
|
||||||
name: "busy_anim";
|
|
||||||
signal: "e,state,busy,on";
|
|
||||||
source: "e";
|
|
||||||
action: STATE_SET "default" 0.0;
|
|
||||||
transition: LINEAR 0.3333;
|
|
||||||
target: "busy";
|
|
||||||
after: "busy_anim";
|
|
||||||
}
|
|
||||||
program {
|
|
||||||
name: "busy2";
|
|
||||||
signal: "e,state,busy,off";
|
|
||||||
source: "e";
|
|
||||||
action: STATE_SET "default" 0.0;
|
|
||||||
transition: LINEAR 1.0;
|
|
||||||
target: "busy_clip";
|
|
||||||
after: "busy3";
|
|
||||||
}
|
|
||||||
program {
|
|
||||||
name: "busy3";
|
|
||||||
action: ACTION_STOP;
|
|
||||||
target: "busy_anim";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
group {
|
group {
|
||||||
|
@ -34207,6 +34082,7 @@ collections {
|
||||||
name: "e.swallow.icon";
|
name: "e.swallow.icon";
|
||||||
clip_to: "clip";
|
clip_to: "clip";
|
||||||
type: SWALLOW;
|
type: SWALLOW;
|
||||||
|
mouse_events: 0;
|
||||||
description {
|
description {
|
||||||
state: "default" 0.0;
|
state: "default" 0.0;
|
||||||
rel1 {
|
rel1 {
|
||||||
|
@ -34225,6 +34101,7 @@ collections {
|
||||||
name: "e.swallow.thumb";
|
name: "e.swallow.thumb";
|
||||||
clip_to: "clip";
|
clip_to: "clip";
|
||||||
type: SWALLOW;
|
type: SWALLOW;
|
||||||
|
mouse_events: 0;
|
||||||
description {
|
description {
|
||||||
state: "default" 0.0;
|
state: "default" 0.0;
|
||||||
rel1 {
|
rel1 {
|
||||||
|
@ -34263,6 +34140,14 @@ collections {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
part {
|
||||||
|
name: "event";
|
||||||
|
type: RECT;
|
||||||
|
description {
|
||||||
|
state: "default" 0.0;
|
||||||
|
color: 0 0 0 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
programs {
|
programs {
|
||||||
program {
|
program {
|
||||||
|
@ -34452,6 +34337,7 @@ collections {
|
||||||
name: "e.swallow.icon";
|
name: "e.swallow.icon";
|
||||||
clip_to: "clip";
|
clip_to: "clip";
|
||||||
type: SWALLOW;
|
type: SWALLOW;
|
||||||
|
mouse_events: 0;
|
||||||
description {
|
description {
|
||||||
state: "default" 0.0;
|
state: "default" 0.0;
|
||||||
rel1 {
|
rel1 {
|
||||||
|
@ -34466,6 +34352,7 @@ collections {
|
||||||
name: "e.swallow.thumb";
|
name: "e.swallow.thumb";
|
||||||
clip_to: "clip";
|
clip_to: "clip";
|
||||||
type: SWALLOW;
|
type: SWALLOW;
|
||||||
|
mouse_events: 0;
|
||||||
description {
|
description {
|
||||||
state: "default" 0.0;
|
state: "default" 0.0;
|
||||||
rel1 {
|
rel1 {
|
||||||
|
@ -34478,6 +34365,7 @@ collections {
|
||||||
}
|
}
|
||||||
part {
|
part {
|
||||||
name: "arrow";
|
name: "arrow";
|
||||||
|
mouse_events: 0;
|
||||||
description {
|
description {
|
||||||
state: "default" 0.0;
|
state: "default" 0.0;
|
||||||
align: 0.0 0.5;
|
align: 0.0 0.5;
|
||||||
|
@ -34604,6 +34492,14 @@ collections {
|
||||||
visible: 1;
|
visible: 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
part {
|
||||||
|
name: "event";
|
||||||
|
type: RECT;
|
||||||
|
description {
|
||||||
|
state: "default" 0.0;
|
||||||
|
color: 0 0 0 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
programs {
|
programs {
|
||||||
program {
|
program {
|
||||||
|
|
|
@ -36,6 +36,8 @@ struct _Evry_Window
|
||||||
Evry_Selector **sel_list;
|
Evry_Selector **sel_list;
|
||||||
|
|
||||||
int level;
|
int level;
|
||||||
|
|
||||||
|
int down_out;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct _Evry_Selector
|
struct _Evry_Selector
|
||||||
|
@ -120,9 +122,11 @@ struct _Evry_View
|
||||||
|
|
||||||
struct _Tab_View
|
struct _Tab_View
|
||||||
{
|
{
|
||||||
Evas *evas;
|
|
||||||
const Evry_State *state;
|
const Evry_State *state;
|
||||||
|
|
||||||
|
Evry_View *view;
|
||||||
|
Evas *evas;
|
||||||
|
|
||||||
Evas_Object *o_tabs;
|
Evas_Object *o_tabs;
|
||||||
Eina_List *tabs;
|
Eina_List *tabs;
|
||||||
|
|
||||||
|
@ -259,7 +263,7 @@ Evry_Type evry_type_register(const char *type);
|
||||||
const char *evry_type_get(Evry_Type type);
|
const char *evry_type_get(Evry_Type type);
|
||||||
|
|
||||||
|
|
||||||
Tab_View *evry_tab_view_new(const Evry_State *s, Evas *e);
|
Tab_View *evry_tab_view_new(Evry_View *view, const Evry_State *s, Evas *e);
|
||||||
void evry_tab_view_free(Tab_View *v);
|
void evry_tab_view_free(Tab_View *v);
|
||||||
|
|
||||||
Eina_Bool view_thumb_init(void);
|
Eina_Bool view_thumb_init(void);
|
||||||
|
@ -295,6 +299,8 @@ void evry_history_free(void);
|
||||||
int evry_browse_item(Evry_Selector *sel);
|
int evry_browse_item(Evry_Selector *sel);
|
||||||
int evry_browse_back(Evry_Selector *sel);
|
int evry_browse_back(Evry_Selector *sel);
|
||||||
|
|
||||||
|
void evry_plugin_action(int finished);
|
||||||
|
|
||||||
extern Evry_History *evry_hist;
|
extern Evry_History *evry_hist;
|
||||||
extern Evry_Config *evry_conf;
|
extern Evry_Config *evry_conf;
|
||||||
|
|
||||||
|
|
|
@ -57,6 +57,7 @@ static void _evry_item_sel(Evry_State *s, Evry_Item *it);
|
||||||
|
|
||||||
static int _evry_cb_key_down(void *data, int type, void *event);
|
static int _evry_cb_key_down(void *data, int type, void *event);
|
||||||
static int _evry_cb_selection_notify(void *data, int type, void *event);
|
static int _evry_cb_selection_notify(void *data, int type, void *event);
|
||||||
|
static int _evry_cb_mouse(void *data, int type, void *event);
|
||||||
|
|
||||||
|
|
||||||
/* local subsystem globals */
|
/* local subsystem globals */
|
||||||
|
@ -194,16 +195,39 @@ evry_show(E_Zone *zone, const char *params)
|
||||||
|
|
||||||
win->handlers = eina_list_append
|
win->handlers = eina_list_append
|
||||||
(win->handlers, ecore_event_handler_add
|
(win->handlers, ecore_event_handler_add
|
||||||
(ECORE_EVENT_KEY_DOWN, _evry_cb_key_down, NULL));
|
(ECORE_EVENT_KEY_DOWN,
|
||||||
|
_evry_cb_key_down, NULL));
|
||||||
|
|
||||||
win->handlers = eina_list_append
|
win->handlers = eina_list_append
|
||||||
(win->handlers, ecore_event_handler_add
|
(win->handlers, ecore_event_handler_add
|
||||||
(ECORE_X_EVENT_SELECTION_NOTIFY,
|
(ECORE_X_EVENT_SELECTION_NOTIFY,
|
||||||
_evry_cb_selection_notify, win));
|
_evry_cb_selection_notify, win));
|
||||||
|
|
||||||
win->handlers = eina_list_append
|
win->handlers = eina_list_append
|
||||||
(win->handlers, ecore_event_handler_add
|
(win->handlers, ecore_event_handler_add
|
||||||
(EVRY_EVENT_ITEM_CHANGED,
|
(EVRY_EVENT_ITEM_CHANGED,
|
||||||
_evry_cb_item_changed, NULL));
|
_evry_cb_item_changed, NULL));
|
||||||
|
|
||||||
|
win->handlers = eina_list_append
|
||||||
|
(win->handlers, ecore_event_handler_add
|
||||||
|
(ECORE_EVENT_MOUSE_BUTTON_DOWN,
|
||||||
|
_evry_cb_mouse, win));
|
||||||
|
|
||||||
|
win->handlers = eina_list_append
|
||||||
|
(win->handlers, ecore_event_handler_add
|
||||||
|
(ECORE_EVENT_MOUSE_BUTTON_UP,
|
||||||
|
_evry_cb_mouse, win));
|
||||||
|
|
||||||
|
win->handlers = eina_list_append
|
||||||
|
(win->handlers, ecore_event_handler_add
|
||||||
|
(ECORE_EVENT_MOUSE_MOVE,
|
||||||
|
_evry_cb_mouse, win));
|
||||||
|
|
||||||
|
win->handlers = eina_list_append
|
||||||
|
(win->handlers, ecore_event_handler_add
|
||||||
|
(ECORE_EVENT_MOUSE_WHEEL,
|
||||||
|
_evry_cb_mouse, win));
|
||||||
|
|
||||||
e_popup_layer_set(win->popup, 255);
|
e_popup_layer_set(win->popup, 255);
|
||||||
e_popup_show(win->popup);
|
e_popup_show(win->popup);
|
||||||
|
|
||||||
|
@ -376,7 +400,7 @@ _evry_selectors_shift(int dir)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
void
|
||||||
evry_clear_input(Evry_Plugin *p)
|
evry_clear_input(Evry_Plugin *p)
|
||||||
{
|
{
|
||||||
Evry_Selector *sel = _evry_selector_for_plugin_get(p);
|
Evry_Selector *sel = _evry_selector_for_plugin_get(p);
|
||||||
|
@ -402,7 +426,7 @@ evry_clear_input(Evry_Plugin *p)
|
||||||
static int item_cnt = 0;
|
static int item_cnt = 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
EAPI Evry_Item *
|
Evry_Item *
|
||||||
evry_item_new(Evry_Item *base, Evry_Plugin *p, const char *label,
|
evry_item_new(Evry_Item *base, Evry_Plugin *p, const char *label,
|
||||||
Evas_Object *(*icon_get) (Evry_Item *it, Evas *e),
|
Evas_Object *(*icon_get) (Evry_Item *it, Evas *e),
|
||||||
void (*cb_free) (Evry_Item *item))
|
void (*cb_free) (Evry_Item *item))
|
||||||
|
@ -437,7 +461,7 @@ evry_item_new(Evry_Item *base, Evry_Plugin *p, const char *label,
|
||||||
return it;
|
return it;
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
void
|
||||||
evry_item_free(Evry_Item *it)
|
evry_item_free(Evry_Item *it)
|
||||||
{
|
{
|
||||||
if (!it) return;
|
if (!it) return;
|
||||||
|
@ -520,7 +544,7 @@ _evry_selector_update_actions(Evry_Selector *sel)
|
||||||
sel->update_timer = ecore_timer_add(0.1, _evry_timer_cb_actions_get, it);
|
sel->update_timer = ecore_timer_add(0.1, _evry_timer_cb_actions_get, it);
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
void
|
||||||
evry_item_select(const Evry_State *state, Evry_Item *it)
|
evry_item_select(const Evry_State *state, Evry_Item *it)
|
||||||
{
|
{
|
||||||
Evry_State *s = (Evry_State *)state;
|
Evry_State *s = (Evry_State *)state;
|
||||||
|
@ -546,7 +570,7 @@ evry_item_select(const Evry_State *state, Evry_Item *it)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
void
|
||||||
evry_item_mark(const Evry_State *state, Evry_Item *it, Eina_Bool mark)
|
evry_item_mark(const Evry_State *state, Evry_Item *it, Eina_Bool mark)
|
||||||
{
|
{
|
||||||
Evry_State *s = (Evry_State *)state;
|
Evry_State *s = (Evry_State *)state;
|
||||||
|
@ -563,13 +587,13 @@ evry_item_mark(const Evry_State *state, Evry_Item *it, Eina_Bool mark)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
void
|
||||||
evry_item_ref(Evry_Item *it)
|
evry_item_ref(Evry_Item *it)
|
||||||
{
|
{
|
||||||
it->ref++;
|
it->ref++;
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI int
|
int
|
||||||
evry_list_win_show(void)
|
evry_list_win_show(void)
|
||||||
{
|
{
|
||||||
if (win->visible) return 0;
|
if (win->visible) return 0;
|
||||||
|
@ -578,13 +602,13 @@ evry_list_win_show(void)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
void
|
||||||
evry_list_win_hide(void)
|
evry_list_win_hide(void)
|
||||||
{
|
{
|
||||||
_evry_list_win_clear(1);
|
_evry_list_win_clear(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
void
|
||||||
evry_plugin_update(Evry_Plugin *p, int action)
|
evry_plugin_update(Evry_Plugin *p, int action)
|
||||||
{
|
{
|
||||||
Evry_State *s;
|
Evry_State *s;
|
||||||
|
@ -771,9 +795,76 @@ _evry_window_new(E_Zone *zone)
|
||||||
|
|
||||||
ecore_x_netwm_window_type_set(popup->evas_win, ECORE_X_WINDOW_TYPE_UTILITY);
|
ecore_x_netwm_window_type_set(popup->evas_win, ECORE_X_WINDOW_TYPE_UTILITY);
|
||||||
|
|
||||||
|
evas_event_feed_mouse_in(win->popup->evas, ecore_x_current_time_get(), NULL);
|
||||||
|
evas_event_feed_mouse_move(win->popup->evas, -1000000, -1000000, ecore_x_current_time_get(), NULL);
|
||||||
|
|
||||||
return win;
|
return win;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
_evry_cb_mouse(void *data, int type, void *event)
|
||||||
|
{
|
||||||
|
Ecore_Event_Mouse_Button *ev;
|
||||||
|
E_Popup *pop;
|
||||||
|
|
||||||
|
ev = event;
|
||||||
|
if (ev->window != input_window) return 1;
|
||||||
|
|
||||||
|
pop = win->popup;
|
||||||
|
|
||||||
|
if (type == ECORE_EVENT_MOUSE_MOVE)
|
||||||
|
{
|
||||||
|
Ecore_Event_Mouse_Move *ev = event;
|
||||||
|
|
||||||
|
evas_event_feed_mouse_move
|
||||||
|
(pop->evas,
|
||||||
|
ev->x - pop->x + pop->zone->x,
|
||||||
|
ev->y - pop->y + pop->zone->y,
|
||||||
|
ev->timestamp, NULL);
|
||||||
|
}
|
||||||
|
else if (type == ECORE_EVENT_MOUSE_BUTTON_DOWN)
|
||||||
|
{
|
||||||
|
win->down_out = 0;
|
||||||
|
|
||||||
|
/* XXX shift triple click in flags when needed */
|
||||||
|
if (!E_INSIDE(ev->x, ev->y, pop->x + pop->zone->x,
|
||||||
|
pop->y + pop->zone->y, pop->w, pop->h))
|
||||||
|
{
|
||||||
|
win->down_out = 1;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
evas_event_feed_mouse_down
|
||||||
|
(pop->evas,
|
||||||
|
ev->buttons, ev->double_click,
|
||||||
|
ev->timestamp, NULL);
|
||||||
|
}
|
||||||
|
else if (type == ECORE_EVENT_MOUSE_BUTTON_UP)
|
||||||
|
{
|
||||||
|
if (win->down_out &&
|
||||||
|
!E_INSIDE(ev->x, ev->y, pop->x + pop->zone->x,
|
||||||
|
pop->y + pop->zone->y, pop->w, pop->h))
|
||||||
|
{
|
||||||
|
evry_hide(0);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
evas_event_feed_mouse_up
|
||||||
|
(pop->evas,
|
||||||
|
ev->buttons, ev->double_click,
|
||||||
|
ev->timestamp, NULL);
|
||||||
|
}
|
||||||
|
else if (type == ECORE_EVENT_MOUSE_WHEEL)
|
||||||
|
{
|
||||||
|
Ecore_Event_Mouse_Wheel *ev = event;
|
||||||
|
|
||||||
|
evas_event_feed_mouse_wheel
|
||||||
|
(pop->evas, 0, ev->z, ev->timestamp, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_evry_window_free(Evry_Window *win)
|
_evry_window_free(Evry_Window *win)
|
||||||
{
|
{
|
||||||
|
@ -785,6 +876,74 @@ _evry_window_free(Evry_Window *win)
|
||||||
E_FREE(win);
|
E_FREE(win);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_evry_selector_cb_down(void *data, Evas *e, Evas_Object *obj, void *event_info)
|
||||||
|
{
|
||||||
|
Evas_Event_Mouse_Down *ev = event_info;
|
||||||
|
/* Evry_Selector *sel = data; */
|
||||||
|
|
||||||
|
if (ev->button == 1)
|
||||||
|
{
|
||||||
|
if (ev->flags & EVAS_BUTTON_DOUBLE_CLICK)
|
||||||
|
evry_plugin_action(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_evry_selector_cb_wheel(void *data, Evas *e, Evas_Object *obj, void *event_info)
|
||||||
|
{
|
||||||
|
Evas_Event_Mouse_Wheel *ev = event_info;
|
||||||
|
|
||||||
|
if (ev->z > 0)
|
||||||
|
{
|
||||||
|
/* FIXME dont loose selector 2 state until state 0 changed: */
|
||||||
|
if (win->selector != win->selectors[2])
|
||||||
|
_evry_selectors_switch(1);
|
||||||
|
}
|
||||||
|
else if (ev->z < 0)
|
||||||
|
{
|
||||||
|
_evry_selectors_switch(-1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_evry_selector_cb_up(void *data, Evas *e, Evas_Object *obj, void *event_info)
|
||||||
|
{
|
||||||
|
Evas_Event_Mouse_Up *ev = event_info;
|
||||||
|
Evry_Selector *sel = data;
|
||||||
|
|
||||||
|
if (sel == win->selector)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (ev->button == 3)
|
||||||
|
{
|
||||||
|
evry_plugin_action(0);
|
||||||
|
}
|
||||||
|
else if (ev->button == 1)
|
||||||
|
{
|
||||||
|
if (sel == win->selectors[0])
|
||||||
|
{
|
||||||
|
if (win->selector == win->selectors[1])
|
||||||
|
_evry_selectors_switch(-1);
|
||||||
|
else
|
||||||
|
_evry_selectors_switch(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
else if (sel == win->selectors[1])
|
||||||
|
{
|
||||||
|
if (win->selector == win->selectors[0])
|
||||||
|
_evry_selectors_switch(1);
|
||||||
|
else
|
||||||
|
_evry_selectors_switch(-1);
|
||||||
|
}
|
||||||
|
else if (sel == win->selectors[2])
|
||||||
|
{
|
||||||
|
if (win->selector == win->selectors[1])
|
||||||
|
_evry_selectors_switch(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static Evry_Selector *
|
static Evry_Selector *
|
||||||
_evry_selector_new(Evry_Window *win, int type)
|
_evry_selector_new(Evry_Window *win, int type)
|
||||||
{
|
{
|
||||||
|
@ -795,6 +954,13 @@ _evry_selector_new(Evry_Window *win, int type)
|
||||||
sel->o_main = o;
|
sel->o_main = o;
|
||||||
e_theme_edje_object_set(o, "base/theme/everything",
|
e_theme_edje_object_set(o, "base/theme/everything",
|
||||||
"e/modules/everything/selector_item");
|
"e/modules/everything/selector_item");
|
||||||
|
|
||||||
|
evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_DOWN,
|
||||||
|
_evry_selector_cb_down, sel);
|
||||||
|
evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_UP,
|
||||||
|
_evry_selector_cb_up, sel);
|
||||||
|
evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_WHEEL,
|
||||||
|
_evry_selector_cb_wheel, sel);
|
||||||
evas_object_show(o);
|
evas_object_show(o);
|
||||||
|
|
||||||
sel->aggregator = evry_aggregator_new(win, type);
|
sel->aggregator = evry_aggregator_new(win, type);
|
||||||
|
@ -1352,9 +1518,10 @@ evry_browse_item(Evry_Selector *sel)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI int
|
int
|
||||||
evry_browse_back(Evry_Selector *sel)
|
evry_browse_back(Evry_Selector *sel)
|
||||||
{
|
{
|
||||||
|
if (!sel) sel = win->selector;
|
||||||
Evry_State *s = sel->state;
|
Evry_State *s = sel->state;
|
||||||
|
|
||||||
DBG("%p", sel);
|
DBG("%p", sel);
|
||||||
|
@ -1870,6 +2037,12 @@ _evry_action_do(Evry_Action *act)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
evry_plugin_action(int finished)
|
||||||
|
{
|
||||||
|
_evry_plugin_action(win->selector, finished);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_evry_plugin_action(Evry_Selector *sel, int finished)
|
_evry_plugin_action(Evry_Selector *sel, int finished)
|
||||||
{
|
{
|
||||||
|
|
|
@ -56,6 +56,10 @@ struct _Smart_Data
|
||||||
|
|
||||||
int sliding;
|
int sliding;
|
||||||
int clearing;
|
int clearing;
|
||||||
|
|
||||||
|
int mouse_act;
|
||||||
|
int mouse_down;
|
||||||
|
Item *it_down;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct _Item
|
struct _Item
|
||||||
|
@ -77,6 +81,8 @@ struct _Item
|
||||||
static View *view = NULL;
|
static View *view = NULL;
|
||||||
|
|
||||||
static void _view_clear(Evry_View *view, int slide);
|
static void _view_clear(Evry_View *view, int slide);
|
||||||
|
static void _pan_item_select(Evas_Object *obj, Item *it, int scroll);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -164,6 +170,70 @@ _thumb_idler(void *data)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_item_down(void *data, Evas *e, Evas_Object *obj, void *event_info)
|
||||||
|
{
|
||||||
|
Evas_Event_Mouse_Down *ev = event_info;
|
||||||
|
Item *it = data;
|
||||||
|
Smart_Data *sd = evas_object_smart_data_get(it->obj);
|
||||||
|
|
||||||
|
sd->mouse_act = 1;
|
||||||
|
|
||||||
|
if (ev->button == 1)
|
||||||
|
{
|
||||||
|
if (ev->flags & EVAS_BUTTON_DOUBLE_CLICK)
|
||||||
|
{
|
||||||
|
evry_item_select(sd->view->state, it->item);
|
||||||
|
_pan_item_select(it->obj, it, 0);
|
||||||
|
|
||||||
|
evry_plugin_action(1);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sd->mouse_down = ev->canvas.x;
|
||||||
|
sd->it_down = it;
|
||||||
|
|
||||||
|
if (sd->selector && evas_object_visible_get(sd->selector))
|
||||||
|
{
|
||||||
|
evas_object_hide(sd->selector);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_item_up(void *data, Evas *e, Evas_Object *obj, void *event_info)
|
||||||
|
{
|
||||||
|
Evas_Event_Mouse_Up *ev = event_info;
|
||||||
|
Item *it = data;
|
||||||
|
Smart_Data *sd = evas_object_smart_data_get(it->obj);
|
||||||
|
|
||||||
|
sd->mouse_down = 0;
|
||||||
|
sd->it_down = NULL;
|
||||||
|
|
||||||
|
if (ev->button == 1)
|
||||||
|
{
|
||||||
|
if (!(ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD))
|
||||||
|
{
|
||||||
|
if (sd->selector)
|
||||||
|
evas_object_hide(sd->selector);
|
||||||
|
|
||||||
|
evry_item_select(sd->view->state, it->item);
|
||||||
|
_pan_item_select(it->obj, it, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (ev->button == 3)
|
||||||
|
{
|
||||||
|
if (sd->selector)
|
||||||
|
evas_object_hide(sd->selector);
|
||||||
|
|
||||||
|
evry_item_select(sd->view->state, it->item);
|
||||||
|
_pan_item_select(it->obj, it, 0);
|
||||||
|
|
||||||
|
evry_plugin_action(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_item_show(View *v, Item *it, Evas_Object *list)
|
_item_show(View *v, Item *it, Evas_Object *list)
|
||||||
{
|
{
|
||||||
|
@ -185,6 +255,10 @@ _item_show(View *v, Item *it, Evas_Object *list)
|
||||||
edje_object_signal_emit(it->frame, "e,state,detail,show", "e");
|
edje_object_signal_emit(it->frame, "e,state,detail,show", "e");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
evas_object_event_callback_add(it->frame, EVAS_CALLBACK_MOUSE_DOWN,
|
||||||
|
_item_down, it);
|
||||||
|
evas_object_event_callback_add(it->frame, EVAS_CALLBACK_MOUSE_UP,
|
||||||
|
_item_up, it);
|
||||||
evas_object_smart_member_add(it->frame, list);
|
evas_object_smart_member_add(it->frame, list);
|
||||||
evas_object_clip_set(it->frame, evas_object_clip_get(list));
|
evas_object_clip_set(it->frame, evas_object_clip_get(list));
|
||||||
|
|
||||||
|
@ -342,7 +416,7 @@ _e_smart_reconfigure_do(void *data)
|
||||||
if (sd->selector)
|
if (sd->selector)
|
||||||
evas_object_hide(sd->selector);
|
evas_object_hide(sd->selector);
|
||||||
}
|
}
|
||||||
else
|
else if (!sd->mouse_act)
|
||||||
{
|
{
|
||||||
if (!sd->selector)
|
if (!sd->selector)
|
||||||
{
|
{
|
||||||
|
@ -716,7 +790,15 @@ _pan_item_select(Evas_Object *obj, Item *it, int scroll)
|
||||||
}
|
}
|
||||||
else scroll = 0;
|
else scroll = 0;
|
||||||
|
|
||||||
if (sd->view->mode == VIEW_MODE_LIST ||
|
if (sd->mouse_act &&
|
||||||
|
((sd->view->mode == VIEW_MODE_LIST ||
|
||||||
|
sd->view->mode == VIEW_MODE_DETAIL)))
|
||||||
|
{
|
||||||
|
edje_object_signal_emit(sd->cur_item->frame,
|
||||||
|
"e,state,selected", "e");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else if (sd->view->mode == VIEW_MODE_LIST ||
|
||||||
sd->view->mode == VIEW_MODE_DETAIL)
|
sd->view->mode == VIEW_MODE_DETAIL)
|
||||||
{
|
{
|
||||||
int all = sd->ch / it->h;
|
int all = sd->ch / it->h;
|
||||||
|
@ -769,8 +851,6 @@ _pan_item_select(Evas_Object *obj, Item *it, int scroll)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* edje_object_signal_emit(sd->cur_item->frame,
|
|
||||||
* "e,state,selected", "e"); */
|
|
||||||
align *= it->h;
|
align *= it->h;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -858,6 +938,10 @@ _view_clear(Evry_View *view, int slide)
|
||||||
Smart_Data *sd = evas_object_smart_data_get(v->span);
|
Smart_Data *sd = evas_object_smart_data_get(v->span);
|
||||||
Item *it;
|
Item *it;
|
||||||
|
|
||||||
|
sd->mouse_down = 0;
|
||||||
|
sd->mouse_act = 0;
|
||||||
|
sd->it_down = NULL;
|
||||||
|
|
||||||
if (!sd->clearing && evry_conf->scroll_animate)
|
if (!sd->clearing && evry_conf->scroll_animate)
|
||||||
{
|
{
|
||||||
if (slide)
|
if (slide)
|
||||||
|
@ -943,6 +1027,8 @@ _view_update(Evry_View *view, int slide)
|
||||||
Evry_Plugin *p = v->state->plugin;
|
Evry_Plugin *p = v->state->plugin;
|
||||||
|
|
||||||
sd->cur_item = NULL;
|
sd->cur_item = NULL;
|
||||||
|
sd->mouse_act = 0;
|
||||||
|
sd->mouse_down = 0;
|
||||||
|
|
||||||
if (!p)
|
if (!p)
|
||||||
{
|
{
|
||||||
|
@ -1104,6 +1190,9 @@ _cb_key_down(Evry_View *view, const Ecore_Event_Key *ev)
|
||||||
|
|
||||||
const char *key = ev->key;
|
const char *key = ev->key;
|
||||||
|
|
||||||
|
sd->mouse_act = 0;
|
||||||
|
sd->mouse_down = 0;
|
||||||
|
|
||||||
if ((ev->modifiers & ECORE_EVENT_MODIFIER_CTRL) &&
|
if ((ev->modifiers & ECORE_EVENT_MODIFIER_CTRL) &&
|
||||||
(!strcmp(key, "2")))
|
(!strcmp(key, "2")))
|
||||||
{
|
{
|
||||||
|
@ -1393,6 +1482,52 @@ _cb_item_changed(void *data, int type, void *event)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_view_cb_mouse_wheel(void *data, Evas *e, Evas_Object *obj, void *event_info)
|
||||||
|
{
|
||||||
|
Evas_Event_Mouse_Wheel *ev = event_info;
|
||||||
|
Smart_Data *sd = evas_object_smart_data_get(obj);
|
||||||
|
if (ev->z)
|
||||||
|
{
|
||||||
|
evas_object_hide(sd->selector);
|
||||||
|
if (sd->cur_item)
|
||||||
|
edje_object_signal_emit(sd->cur_item->frame, "e,state,selected", "e");
|
||||||
|
sd->mouse_act = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_view_cb_mouse_move(void *data, Evas *e, Evas_Object *obj, void *event_info)
|
||||||
|
{
|
||||||
|
Evas_Event_Mouse_Move *ev = event_info;
|
||||||
|
Smart_Data *sd = evas_object_smart_data_get(obj);
|
||||||
|
|
||||||
|
if (!sd->mouse_down)
|
||||||
|
return ;
|
||||||
|
|
||||||
|
if (!sd->it_down)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if ((sd->cur_item != sd->it_down) &&
|
||||||
|
(abs(ev->cur.canvas.x - sd->mouse_down) > 15))
|
||||||
|
{
|
||||||
|
evry_item_select(sd->view->state, sd->it_down->item);
|
||||||
|
_pan_item_select(obj, sd->it_down, 0);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ev->cur.canvas.x - sd->mouse_down > 150)
|
||||||
|
{
|
||||||
|
evry_browse_back(NULL);
|
||||||
|
sd->mouse_down = 0;
|
||||||
|
}
|
||||||
|
else if (sd->mouse_down - ev->cur.canvas.x > 150)
|
||||||
|
{
|
||||||
|
evry_browse_item(NULL);
|
||||||
|
sd->mouse_down = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static Evry_View *
|
static Evry_View *
|
||||||
_view_create(Evry_View *view, const Evry_State *s, const Evas_Object *swallow)
|
_view_create(Evry_View *view, const Evry_State *s, const Evas_Object *swallow)
|
||||||
{
|
{
|
||||||
|
@ -1424,11 +1559,17 @@ _view_create(Evry_View *view, const Evry_State *s, const Evas_Object *swallow)
|
||||||
// scrolled thumbs
|
// scrolled thumbs
|
||||||
v->span = _pan_add(v->evas);
|
v->span = _pan_add(v->evas);
|
||||||
_pan_view_set(v->span, v);
|
_pan_view_set(v->span, v);
|
||||||
|
evas_object_event_callback_add(v->span, EVAS_CALLBACK_MOUSE_WHEEL,
|
||||||
|
_view_cb_mouse_wheel, NULL);
|
||||||
|
evas_object_event_callback_add(v->span, EVAS_CALLBACK_MOUSE_MOVE,
|
||||||
|
_view_cb_mouse_move, NULL);
|
||||||
|
|
||||||
// the scrollframe holding the scrolled thumbs
|
// the scrollframe holding the scrolled thumbs
|
||||||
v->sframe = e_scrollframe_add(v->evas);
|
v->sframe = e_scrollframe_add(v->evas);
|
||||||
e_scrollframe_custom_theme_set(v->sframe, "base/theme/widgets",
|
e_scrollframe_custom_theme_set(v->sframe, "base/theme/widgets",
|
||||||
"e/modules/everything/thumbview/main/scrollframe");
|
"e/modules/everything/thumbview/main/scrollframe");
|
||||||
|
e_scrollframe_thumbscroll_force(v->sframe, 1);
|
||||||
|
|
||||||
e_scrollframe_extern_pan_set(v->sframe, v->span,
|
e_scrollframe_extern_pan_set(v->sframe, v->span,
|
||||||
_pan_set, _pan_get, _pan_max_get,
|
_pan_set, _pan_get, _pan_max_get,
|
||||||
_pan_child_size_get);
|
_pan_child_size_get);
|
||||||
|
@ -1437,7 +1578,7 @@ _view_create(Evry_View *view, const Evry_State *s, const Evas_Object *swallow)
|
||||||
evas_object_show(v->sframe);
|
evas_object_show(v->sframe);
|
||||||
evas_object_show(v->span);
|
evas_object_show(v->span);
|
||||||
|
|
||||||
v->tabs = evry_tab_view_new(s, v->evas);
|
v->tabs = evry_tab_view_new(EVRY_VIEW(v), v->state, v->evas);
|
||||||
|
|
||||||
EVRY_VIEW(v)->o_list = v->bg;
|
EVRY_VIEW(v)->o_list = v->bg;
|
||||||
EVRY_VIEW(v)->o_bar = v->tabs->o_tabs;
|
EVRY_VIEW(v)->o_bar = v->tabs->o_tabs;
|
||||||
|
|
|
@ -416,6 +416,7 @@ _evry_icon_fdo_set(Evas_Object *obj, const char *icon)
|
||||||
path = efreet_icon_path_find(e_config->icon_theme, icon, 128);
|
path = efreet_icon_path_find(e_config->icon_theme, icon, 128);
|
||||||
|
|
||||||
if (!path) return 0;
|
if (!path) return 0;
|
||||||
|
e_icon_scale_size_set(obj, 128);
|
||||||
e_icon_file_set(obj, path);
|
e_icon_file_set(obj, path);
|
||||||
E_FREE(path);
|
E_FREE(path);
|
||||||
return 1;
|
return 1;
|
||||||
|
|
|
@ -5,6 +5,7 @@ typedef struct _Tab Tab;
|
||||||
|
|
||||||
struct _Tab
|
struct _Tab
|
||||||
{
|
{
|
||||||
|
Tab_View *tab_view;
|
||||||
Evry_Plugin *plugin;
|
Evry_Plugin *plugin;
|
||||||
Evas_Object *o_tab;
|
Evas_Object *o_tab;
|
||||||
|
|
||||||
|
@ -13,6 +14,10 @@ struct _Tab
|
||||||
|
|
||||||
|
|
||||||
static void _tabs_update(Tab_View *v);
|
static void _tabs_update(Tab_View *v);
|
||||||
|
static void _plugin_select(Tab_View *v, Evry_Plugin *p);
|
||||||
|
static void _plugin_next(Tab_View *v);
|
||||||
|
static void _plugin_prev(Tab_View *v);
|
||||||
|
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
static int
|
static int
|
||||||
|
@ -98,10 +103,46 @@ _timer_cb(void *data)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_tab_cb_down(void *data, Evas *e, Evas_Object *obj, void *event_info)
|
||||||
|
{
|
||||||
|
/* Evas_Event_Mouse_Down *ev = event_info; */
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_tab_cb_up(void *data, Evas *e, Evas_Object *obj, void *event_info)
|
||||||
|
{
|
||||||
|
Evas_Event_Mouse_Up *ev = event_info;
|
||||||
|
Tab *tab = data;
|
||||||
|
Tab_View *v = tab->tab_view;
|
||||||
|
|
||||||
|
if (ev->button == 1)
|
||||||
|
{
|
||||||
|
_plugin_select(v, tab->plugin);
|
||||||
|
v->view->update(v->view, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
static void
|
||||||
|
_tabs_cb_wheel(void *data, Evas *e, Evas_Object *obj, void *event_info)
|
||||||
|
{
|
||||||
|
Evas_Event_Mouse_Wheel *ev = event_info;
|
||||||
|
Tab_View *v = data;
|
||||||
|
|
||||||
|
if (ev->z > 0)
|
||||||
|
{
|
||||||
|
_plugin_next(v);
|
||||||
|
v->view->update(v->view, 0);
|
||||||
|
}
|
||||||
|
else if (ev->z < 0)
|
||||||
|
{
|
||||||
|
_plugin_prev(v);
|
||||||
|
v->view->update(v->view, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_tabs_update(Tab_View *v)
|
_tabs_update(Tab_View *v)
|
||||||
{
|
{
|
||||||
|
|
||||||
Eina_List *l, *ll, *plugins;
|
Eina_List *l, *ll, *plugins;
|
||||||
Evry_Plugin *p;
|
Evry_Plugin *p;
|
||||||
const Evry_State *s = v->state;
|
const Evry_State *s = v->state;
|
||||||
|
@ -153,12 +194,16 @@ _tabs_update(Tab_View *v)
|
||||||
{
|
{
|
||||||
tab = E_NEW(Tab, 1);
|
tab = E_NEW(Tab, 1);
|
||||||
tab->plugin = p;
|
tab->plugin = p;
|
||||||
|
tab->tab_view = v;
|
||||||
o = edje_object_add(v->evas);
|
o = edje_object_add(v->evas);
|
||||||
e_theme_edje_object_set(o, "base/theme/everything",
|
e_theme_edje_object_set(o, "base/theme/everything",
|
||||||
"e/modules/everything/tab_item");
|
"e/modules/everything/tab_item");
|
||||||
edje_object_part_text_set(o, "e.text.label", EVRY_ITEM(p)->label);
|
edje_object_part_text_set(o, "e.text.label", EVRY_ITEM(p)->label);
|
||||||
|
|
||||||
|
evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_DOWN,
|
||||||
|
_tab_cb_down, tab);
|
||||||
|
evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_UP,
|
||||||
|
_tab_cb_up, tab);
|
||||||
tab->o_tab = o;
|
tab->o_tab = o;
|
||||||
|
|
||||||
edje_object_size_min_calc(o, &tab->cw, NULL);
|
edje_object_size_min_calc(o, &tab->cw, NULL);
|
||||||
|
@ -340,7 +385,7 @@ _tabs_key_down(Tab_View *v, const Ecore_Event_Key *ev)
|
||||||
|
|
||||||
|
|
||||||
EAPI Tab_View *
|
EAPI Tab_View *
|
||||||
evry_tab_view_new(const Evry_State *s, Evas *e)
|
evry_tab_view_new(Evry_View *view, const Evry_State *s, Evas *e)
|
||||||
{
|
{
|
||||||
Tab_View *v;
|
Tab_View *v;
|
||||||
Evas_Object *o;
|
Evas_Object *o;
|
||||||
|
@ -349,12 +394,16 @@ evry_tab_view_new(const Evry_State *s, Evas *e)
|
||||||
v->update = &_tabs_update;
|
v->update = &_tabs_update;
|
||||||
v->clear = &_tabs_clear;
|
v->clear = &_tabs_clear;
|
||||||
v->key_down = &_tabs_key_down;
|
v->key_down = &_tabs_key_down;
|
||||||
|
v->view = view;
|
||||||
v->state = s;
|
v->state = s;
|
||||||
|
|
||||||
v->evas = e;
|
v->evas = e;
|
||||||
o = e_box_add(e);
|
o = e_box_add(e);
|
||||||
e_box_orientation_set(o, 1);
|
e_box_orientation_set(o, 1);
|
||||||
e_box_homogenous_set(o, 1);
|
e_box_homogenous_set(o, 1);
|
||||||
|
/* evas_object_propagate_events_set(o, 1); */
|
||||||
|
evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_WHEEL,
|
||||||
|
_tabs_cb_wheel, v);
|
||||||
v->o_tabs = o;
|
v->o_tabs = o;
|
||||||
|
|
||||||
return v;
|
return v;
|
||||||
|
|
Loading…
Reference in New Issue