You can subscribe to this list here.
| 2013 |
Jan
|
Feb
(511) |
Mar
(1170) |
Apr
(1093) |
May
(812) |
Jun
(937) |
Jul
(870) |
Aug
(722) |
Sep
(254) |
Oct
|
Nov
|
Dec
|
|---|
|
From: Carsten H. (R. - E. G. <no-...@en...> - 2013-09-10 09:27:50
|
raster pushed a commit to branch master.
commit 66afbb7e4ae8e3db6710ac0add4f7184065ae7ea
Author: Carsten Haitzler (Rasterman) <ra...@ra...>
Date: Tue Sep 10 18:27:47 2013 +0900
elm dark theme - panel done!
---
edje/dark.edc | 3 +-
edje/edc/elm/frame.edc | 4 +-
edje/edc/elm/panel.edc | 355 +++++++++++++++++++++++++++++++++++++++++++++++++
mock-18.xcf.gz | Bin 612340 -> 613251 bytes
4 files changed, 358 insertions(+), 4 deletions(-)
diff --git a/edje/dark.edc b/edje/dark.edc
index 53de886..e1d5a8e 100644
--- a/edje/dark.edc
+++ b/edje/dark.edc
@@ -57,8 +57,7 @@ collections {
#include "edc/elm/progress.edc"
// i think needs some design work
//#include "edc/elm/naviframe.edc"
-// needs design work
-//#include "edc/elm/panel.edc"
+#include "edc/elm/panel.edc"
// needs design work, but edc needs to also scale up and down but not be so fat when scale is down/finger size smaller
//#include "edc/elm/popup.edc"
#include "edc/elm/border.edc"
diff --git a/edje/edc/elm/frame.edc b/edje/edc/elm/frame.edc
index 7ce6523..42e495a 100644
--- a/edje/edc/elm/frame.edc
+++ b/edje/edc/elm/frame.edc
@@ -123,13 +123,13 @@ group { name: "elm/frame/base/default";
program { name: "collapse";
action: STATE_SET "collapsed" 0.0;
target: "elm.swallow.content";
- transition: BOUNCE 0.5 1.0 3;
+ transition: ACCELERATE 0.3;
after: "signal";
}
program { name: "expand";
action: STATE_SET "default" 0.0;
target: "elm.swallow.content";
- transition: BOUNCE 0.5 1.0 3;
+ transition: DECELERATE 0.3;
after: "signal";
}
program {
diff --git a/edje/edc/elm/panel.edc b/edje/edc/elm/panel.edc
new file mode 100644
index 0000000..ccf9734
--- /dev/null
+++ b/edje/edc/elm/panel.edc
@@ -0,0 +1,355 @@
+group { name: "elm/panel/left/default";
+ images.image: "bevel_out.png" COMP;
+ images.image: "shine.png" COMP;
+ images.image: "shadow_square_tiny.png" COMP;
+ images.image: "holes_tiny_glow_vert.png" COMP;
+ images.image: "holes_tiny_glow_horiz.png" COMP;
+ images.image: "win_glow.png" COMP;
+ images.image: "icon_arrow_right.png" COMP;
+ images.image: "icon_arrow_left.png" COMP;
+ images.image: "icon_arrow_up.png" COMP;
+ images.image: "icon_arrow_down.png" COMP;
+ data.item: "focus_highlight" "on";
+ parts {
+ part { name: "shadow"; mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.offset: -3 -2;
+ rel1.to: "base";
+ rel2.offset: 2 4;
+ rel2.to: "base";
+ image.normal: "shadow_square_tiny.png";
+ image.border: 6 6 6 6;
+ fill.smooth: 0;
+ }
+ }
+ part { name: "glow"; mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "win_glow.png";
+ image.border: 9 9 9 9;
+ image.middle: 0;
+ rel1.offset: -5 -5;
+ rel1.to: "base";
+ rel2.offset: 4 4;
+ rel2.to: "base";
+ fill.smooth: 0;
+ color: 255 255 255 0;
+ visible: 0;
+ }
+ description { state: "focused" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 255;
+ visible: 1;
+ }
+ }
+ part { name: "all"; type: SPACER;
+ description { state: "default" 0.0;
+ }
+ }
+ part { name: "base"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.to_x: "all";
+ rel2.to_x: "elm.swallow.handle";
+ rel2.relative: 0.0 1.0;
+ rel2.offset: -4 -1;
+ color: 64 64 64 255;
+ }
+ }
+ part { name: "elm.swallow.content"; type: SWALLOW;
+ description { state: "default" 0.0;
+ rel1.offset: 4 4;
+ rel1.to: "base";
+ rel2.offset: -5 -5;
+ rel2.to: "base";
+ }
+ }
+ part { name: "bevel"; mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.to: "base";
+ rel2.to: "base";
+ image.normal: "bevel_out.png";
+ image.border: 1 1 1 1;
+ image.middle: 0;
+ fill.smooth: 0;
+ }
+ }
+ part { name: "shine"; mouse_events: 0;
+ description { state: "default" 0.0;
+ image.normal: "shine.png";
+ rel1.offset: 0 -2;
+ rel1.to: "base";
+ rel2.relative: 1.0 0.0;
+ rel2.offset: -1 2;
+ rel2.to: "base";
+ FIXED_SIZE(69, 5)
+ }
+ }
+ part { name: "elm.swallow.handle"; type: SWALLOW;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ min: 20 20;
+ max: 20 20;
+ align: 1.0 0.5;
+ rel1.relative: 1.0 0.0;
+ rel2.relative: 1.0 1.0;
+ color: 0 0 0 0;
+ }
+ description { state: "hidden" 0.0;
+ inherit: "default" 0.0;
+ align: 0.0 0.5;
+ rel1.relative: 0.0 0.0;
+ rel2.relative: 0.0 1.0;
+ }
+ }
+ part { name: "btn"; type: RECT;
+ description { state: "default" 0.0;
+ rel1.to: "elm.swallow.handle";
+ rel2.to: "elm.swallow.handle";
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "dots"; mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.to: "icn";
+ rel2.to: "icn";
+ align: 0.0 0.5;
+ image.normal: "holes_tiny_glow_vert.png";
+ FIXED_SIZE(11, 17)
+ }
+ }
+ part { name: "icn"; mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ min: 20 20;
+ max: 20 20;
+ rel1.to: "btn";
+ rel2.to: "btn";
+ image.normal: "icon_arrow_left.png";
+ }
+ description { state: "hidden" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "icon_arrow_right.png";
+ }
+ }
+ }
+ programs {
+ program {
+ signal: "mouse,clicked,1"; source: "btn";
+ action: SIGNAL_EMIT "elm,action,panel,toggle" "";
+ }
+ program {
+ signal: "elm,action,show"; source: "elm";
+ action: STATE_SET "default" 0.0;
+ transition: DECELERATE 0.3;
+ target: "elm.swallow.handle";
+ target: "base";
+ target: "icn";
+ }
+ program {
+ signal: "elm,action,hide"; source: "elm";
+ action: STATE_SET "hidden" 0.0;
+ transition: ACCELERATE 0.3;
+ target: "elm.swallow.handle";
+ target: "icn";
+ }
+ program { name: "hide1";
+ signal: "elm,action,hide"; source: "elm";
+ script {
+ new x, y, w, h;
+
+ custom_state(PART:"base", "default", 0.0);
+ set_state_val(PART:"base", STATE_REL1, -1.0, 0.0);
+ get_geometry(PART:"elm.swallow.handle", x, y, w, h);
+ set_state_val(PART:"base", STATE_REL1_OFFSET, w, 0);
+ }
+ after: "hide2";
+ }
+ program { name: "hide2";
+ action: STATE_SET "custom" 0.0;
+ transition: ACCELERATE 0.3;
+ target: "base";
+ }
+ program {
+ signal: "elm,action,focus_highlight,show"; source: "elm";
+ action: STATE_SET "focused" 0.0;
+ transition: ACCELERATE 0.2;
+ target: "glow";
+ }
+ program {
+ signal: "elm,action,focus_highlight,hide"; source: "elm";
+ action: STATE_SET "default" 0.0;
+ transition: DECELERATE 0.5;
+ target: "glow";
+ }
+ }
+}
+
+group { name: "elm/panel/right/default";
+ inherit: "elm/panel/left/default";
+ parts {
+ part { name: "base";
+ description { state: "default" 0.0;
+ rel1.relative: 1.0 0.0;
+ rel1.to_x: "elm.swallow.handle";
+ rel1.offset: 3 0;
+ rel2.relative: 1.0 1.0;
+ rel2.to_x: "all";
+ rel2.offset: -1 -1;
+ }
+ }
+ part { name: "elm.swallow.handle";
+ description { state: "default" 0.0;
+ align: 0.0 0.5;
+ rel1.relative: 0.0 0.0;
+ rel2.relative: 0.0 1.0;
+ }
+ description { state: "hidden" 0.0;
+ align: 1.0 0.5;
+ rel1.relative: 1.0 0.0;
+ rel2.relative: 1.0 1.0;
+ }
+ }
+ part { name: "dots";
+ description { state: "default" 0.0;
+ align: 1.0 0.5;
+ }
+ }
+ part { name: "icn";
+ description { state: "default" 0.0;
+ image.normal: "icon_arrow_right.png";
+ }
+ description { state: "hidden" 0.0;
+ image.normal: "icon_arrow_left.png";
+ }
+ }
+ }
+ programs {
+ program { name: "hide1";
+ script {
+ new x, y, w, h;
+
+ custom_state(PART:"base", "default", 0.0);
+ set_state_val(PART:"base", STATE_REL1, 1.0, 0.0);
+ set_state_val(PART:"base", STATE_REL2, 2.0, 1.0);
+ get_geometry(PART:"elm.swallow.handle", x, y, w, h);
+ set_state_val(PART:"base", STATE_REL2_OFFSET, -w, 0);
+ }
+ }
+ }
+}
+
+group { name: "elm/panel/top/default";
+ inherit: "elm/panel/left/default";
+ parts {
+ part { name: "base";
+ description { state: "default" 0.0;
+ rel1.relative: 0.0 0.0;
+ rel1.to_x: "all";
+ rel1.to_y: "all";
+ rel1.offset: 0 0;
+ rel2.relative: 1.0 0.0;
+ rel2.to_x: "all";
+ rel2.to_y: "elm.swallow.handle";
+ rel2.offset: -1 -4;
+ }
+ }
+ part { name: "elm.swallow.handle";
+ description { state: "default" 0.0;
+ align: 0.5 1.0;
+ rel1.relative: 0.0 1.0;
+ rel2.relative: 1.0 1.0;
+ }
+ description { state: "hidden" 0.0;
+ align: 0.5 0.0;
+ rel1.relative: 0.0 0.0;
+ rel2.relative: 1.0 0.0;
+ }
+ }
+ part { name: "dots";
+ description { state: "default" 0.0;
+ align: 0.5 0.0;
+ image.normal: "holes_tiny_glow_horiz.png";
+ FIXED_SIZE(17, 11)
+ }
+ }
+ part { name: "icn";
+ description { state: "default" 0.0;
+ image.normal: "icon_arrow_up.png";
+ }
+ description { state: "hidden" 0.0;
+ image.normal: "icon_arrow_down.png";
+ }
+ }
+ }
+ programs {
+ program { name: "hide1";
+ script {
+ new x, y, w, h;
+
+ custom_state(PART:"base", "default", 0.0);
+ set_state_val(PART:"base", STATE_REL1, 0.0, -1.0);
+ set_state_val(PART:"base", STATE_REL2, 1.0, 0.0);
+ get_geometry(PART:"elm.swallow.handle", x, y, w, h);
+ set_state_val(PART:"base", STATE_REL1_OFFSET, 0, h);
+ }
+ }
+ }
+}
+
+group { name: "elm/panel/bottom/default";
+ inherit: "elm/panel/left/default";
+ parts {
+ part { name: "base";
+ description { state: "default" 0.0;
+ rel1.relative: 0.0 1.0;
+ rel1.to_x: "all";
+ rel1.to_y: "elm.swallow.handle";
+ rel1.offset: 0 3;
+ rel2.relative: 1.0 1.0;
+ rel2.to_x: "all";
+ rel2.to_y: "all";
+ rel2.offset: -1 -1;
+ }
+ }
+ part { name: "elm.swallow.handle";
+ description { state: "default" 0.0;
+ align: 0.5 0.0;
+ rel1.relative: 0.0 0.0;
+ rel2.relative: 1.0 0.0;
+ }
+ description { state: "hidden" 0.0;
+ align: 0.5 1.0;
+ rel1.relative: 0.0 1.0;
+ rel2.relative: 1.0 1.0;
+ }
+ }
+ part { name: "dots";
+ description { state: "default" 0.0;
+ align: 0.5 0.0;
+ image.normal: "holes_tiny_glow_horiz.png";
+ FIXED_SIZE(17, 11)
+ }
+ }
+ part { name: "icn";
+ description { state: "default" 0.0;
+ image.normal: "icon_arrow_down.png";
+ }
+ description { state: "hidden" 0.0;
+ image.normal: "icon_arrow_up.png";
+ }
+ }
+ }
+ programs {
+ program { name: "hide1";
+ script {
+ new x, y, w, h;
+
+ custom_state(PART:"base", "default", 0.0);
+ set_state_val(PART:"base", STATE_REL1, 0.0, 1.0);
+ set_state_val(PART:"base", STATE_REL2, 1.0, 2.0);
+ get_geometry(PART:"elm.swallow.handle", x, y, w, h);
+ set_state_val(PART:"base", STATE_REL2_OFFSET, 0, -h);
+ }
+ }
+ }
+}
diff --git a/mock-18.xcf.gz b/mock-18.xcf.gz
index f8d6849..18b23e6 100644
Binary files a/mock-18.xcf.gz and b/mock-18.xcf.gz differ
--
|
|
From: Carsten H. (R. - E. G. <no-...@en...> - 2013-09-10 09:27:49
|
raster pushed a commit to branch master.
commit 93c08b725a9fc1649c56ebe937d42a54815acfa8
Author: Carsten Haitzler (Rasterman) <ra...@ra...>
Date: Fri Aug 30 19:28:49 2013 +0900
remove todo for map.
---
edje/dark.edc | 1 -
1 file changed, 1 deletion(-)
diff --git a/edje/dark.edc b/edje/dark.edc
index 2e88678..53de886 100644
--- a/edje/dark.edc
+++ b/edje/dark.edc
@@ -49,7 +49,6 @@ collections {
// needs design work
#include "edc/elm/flipselector.edc"
#include "edc/elm/notify.edc"
-// needs some design work for markers (but busy etc. are done already)
#include "edc/elm/map.edc"
#include "edc/elm/index.edc"
#include "edc/elm/calendar.edc"
--
|
|
From: Niraj K. - E. G. <no-...@en...> - 2013-09-10 07:22:03
|
seoz pushed a commit to branch master.
commit 8bebdc139801cc8933f6af907e4b84cf539b1106
Author: Niraj Kumar <jir...@sa...>
Date: Tue Sep 10 15:47:13 2013 +0900
progressbar: Support second progress.
This can be used by video/audio streaming such as youtube.
---
AUTHORS | 1 +
ChangeLog | 5 +
NEWS | 1 +
data/themes/widgets/progressbar.edc | 434 ++++++++++++++++++++++++++++++++++++
src/bin/test.c | 2 +
src/bin/test_progressbar.c | 116 +++++++++-
src/lib/elm_authors.h | 1 +
src/lib/elm_progressbar.c | 123 +++++++++-
src/lib/elm_progressbar_eo.h | 34 +++
src/lib/elm_progressbar_legacy.h | 33 +++
src/lib/elm_widget_progressbar.h | 9 +
11 files changed, 750 insertions(+), 9 deletions(-)
diff --git a/AUTHORS b/AUTHORS
index 926275f..a98a82e 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -81,3 +81,4 @@ Stefan Schmidt <st...@da...>
Ryuan Choi (ryuan) <ryu...@sa...> <ryu...@gm...>
Hosang Kim <hos...@sa...>
Youngbok Shin <you...@sa...>
+Niraj Kumar <nir...@sa...> <nir...@gm...>
diff --git a/ChangeLog b/ChangeLog
index 1718c8c..d957f29 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1593,3 +1593,8 @@
2013-09-07 Shinwoo Kim
* elm_access : delete access object in job when its hover object is deleted
+
+2013-09-10 Niraj Kumar
+
+ * ProgressBar: Added support for more than one progress status in a
+ single progress bar
diff --git a/NEWS b/NEWS
index 30d5df0..2a3ed46 100644
--- a/NEWS
+++ b/NEWS
@@ -86,6 +86,7 @@ Additions:
* Add selectraise feature to gengrid.
* Add bg reset feature.
* Add elm_object_item_object_get().
+ * Added support for more than one progress status in a progressbar.
Improvements:
diff --git a/data/themes/widgets/progressbar.edc b/data/themes/widgets/progressbar.edc
index 1f88ef2..ff3b535 100644
--- a/data/themes/widgets/progressbar.edc
+++ b/data/themes/widgets/progressbar.edc
@@ -848,3 +848,437 @@ group { name: "elm/progressbar/horizontal/wheel";
///////////////////////////////////////////////////////////////////////////////
+group { name: "elm/progressbar/horizontal/recording";
+ images {
+ image: "shelf_inset.png" COMP;
+ image: "bt_sm_base2.png" COMP;
+ image: "flip_shad.png" COMP;
+ }
+ parts {
+ part { name: "elm.background.progressbar";
+ type: RECT;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ }
+ }
+ }
+ part { name: "elm.swallow.bar";
+ mouse_events: 0;
+ scale: 1;
+ type: SWALLOW;
+ description {
+ min: 48 28;
+ max: 99999 28; state: "default" 0.0;
+ rel1 {
+ to_x: "elm.text";
+ to_y: "elm.background.progressbar";
+ relative: 1.0 0.0;
+ }
+ rel2 {
+ to: "elm.background.progressbar";
+ relative: 1.0 1.0;
+ }
+ }
+ }
+ part { name: "elm.swallow.content";
+ type: SWALLOW;
+ description { state: "default" 0.0;
+ visible: 0;
+ align: 0.0 0.5;
+ rel1 {
+ offset: 4 0;
+ to_y: "elm.background.progressbar";
+ }
+ rel2 {
+ offset: 3 -1;
+ relative: 0.0 1.0;
+ to_y: "elm.background.progressbar";
+ }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ aspect: 1.0 1.0;
+ aspect_preference: VERTICAL;
+ rel2.offset: 4 -1;
+ }
+ }
+ part { name: "elm.text";
+ type: TEXT;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ fixed: 1 1;
+ align: 0.0 0.5;
+ rel1.to_x: "elm.swallow.content";
+ rel1.relative: 1.0 0.0;
+ rel1.offset: -1 4;
+ rel2.to_x: "elm.swallow.content";
+ rel2.relative: 1.0 1.0;
+ rel2.offset: -1 -5;
+ color: 0 0 0 255;
+ text {
+ font: "Sans,Edje-Vera";
+ size: 10;
+ min: 0 0;
+ align: 0.0 0.5;
+ }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ text.min: 1 1;
+ rel1.offset: 0 4;
+ rel2.offset: 0 -5;
+ }
+ }
+ part { name: "background";
+ mouse_events: 0;
+ clip_to: "elm.background.progressbar";
+ description {
+ state: "default" 0.0;
+ rel1 {
+ to: "elm.swallow.bar";
+ relative: 0.0 0.0;
+ }
+ rel2 {
+ to: "elm.swallow.bar";
+ relative: 1.0 1.0;
+ offset: -1 -1;
+ }
+ image {
+ normal: "shelf_inset.png";
+ border: 7 7 7 7;
+ }
+ }
+ }
+ part { name: "elm.text.status";
+ type: TEXT;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ visible: 0;
+ rel1 {
+ to: "background";
+ relative: 0.5 0.5;
+ }
+ rel2 {
+ to: "background";
+ relative: 0.5 0.5;
+ }
+ text {
+ font: "Sans:style=Bold,Edje-Vera-Bold";
+ size: 10;
+ min: 1 1;
+ align: 0.5 0.0;
+ }
+ color: 0 0 0 255;
+ }
+ description { state: "hidden" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ text.min: 0 0;
+ }
+ }
+ part { name: "elm.progress.progressbar";
+ mouse_events: 0;
+ clip_to: "elm.background.progressbar";
+ description {
+ state: "default" 0.0;
+ min: 14 28;
+ fixed: 1 1;
+ rel1 {
+ to: "elm.swallow.bar";
+ relative: 0.0 0.0;
+ }
+ rel2 {
+ to_y: "elm.swallow.bar";
+ to_x: "elm.cur.progressbar";
+ offset: -1 -1;
+ }
+ image {
+ normal: "flip_shad.png";
+ border: 6 6 6 6;
+ }
+ }
+ description {
+ state: "invert" 0.0;
+ inherit: "default" 0.0;
+ rel1 {
+ to_y: "elm.swallow.bar";
+ to_x: "elm.cur.progressbar";
+ }
+ rel2 {
+ to: "elm.swallow.bar";
+ relative: 1.0 1.0;
+ }
+ }
+ description {
+ state: "state_begin" 0.0;
+ inherit: "default" 0.0;
+ rel1 {
+ to: "elm.swallow.bar";
+ relative: 0.0 0.0;
+ }
+ rel2 {
+ to: "elm.swallow.bar";
+ relative: 0.1 1.0;
+ }
+ }
+ description {
+ state: "state_end" 0.0;
+ inherit: "default" 0.0;
+ rel1 {
+ to: "elm.swallow.bar";
+ relative: 0.9 0.0;
+ }
+ rel2 {
+ to: "elm.swallow.bar";
+ relative: 1.0 1.0;
+ }
+ }
+ }
+ part { name: "elm.progress.progressbar1";
+ mouse_events: 0;
+ clip_to: "elm.background.progressbar";
+ description {
+ state: "default" 0.0;
+ min: 14 28;
+ fixed: 1 1;
+ rel1 {
+ to: "elm.swallow.bar";
+ relative: 0.0 0.0;
+ }
+ rel2 {
+ to_y: "elm.swallow.bar";
+ to_x: "elm.cur.progressbar1";
+ offset: -1 -1;
+ }
+ image {
+ normal: "bt_sm_base2.png";
+ border: 6 6 6 6;
+ }
+ }
+ description {
+ state: "invert" 0.0;
+ inherit: "default" 0.0;
+ rel1 {
+ to_y: "elm.swallow.bar";
+ to_x: "elm.cur.progressbar1";
+ }
+ rel2 {
+ to: "elm.swallow.bar";
+ relative: 1.0 1.0;
+ }
+ }
+ description {
+ state: "state_begin" 0.0;
+ inherit: "default" 0.0;
+ rel1 {
+ to: "elm.swallow.bar";
+ relative: 0.0 0.0;
+ }
+ rel2 {
+ to: "elm.swallow.bar";
+ relative: 0.1 1.0;
+ }
+ }
+ description {
+ state: "state_end" 0.0;
+ inherit: "default" 0.0;
+ rel1 {
+ to: "elm.swallow.bar";
+ relative: 0.9 0.0;
+ }
+ rel2 {
+ to: "elm.swallow.bar";
+ relative: 1.0 1.0;
+ }
+ }
+ }
+ part { name: "text-bar";
+ type: TEXT;
+ mouse_events: 0;
+ clip_to: "progress-rect";
+ effect: SOFT_SHADOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0.0 0.0;
+ fixed: 1 1;
+ visible: 0;
+ rel1.to: "elm.text.status";
+ rel1.offset: -1 -1;
+ rel2.to: "elm.text.status";
+ text {
+ text_source: "elm.text.status";
+ font: "Sans:style=Bold,Edje-Vera-Bold";
+ size: 10;
+ min: 1 1;
+ align: 0.0 0.0;
+ }
+ color: 224 224 224 255;
+ color3: 0 0 0 64;
+ }
+ description { state: "hidden" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ text.min: 0 0;
+ }
+ }
+ part { name: "elm.cur.progressbar";
+ mouse_events: 0;
+ dragable {
+ confine: "background";
+ x: 1 1 1;
+ y: 0 0 0;
+ }
+ description { state: "default" 0.0;
+ min: 14 28;
+ fixed: 1 1;
+ visible: 0;
+ rel1 {
+ to: "background";
+ relative: 0 0;
+ }
+ rel2.to: "background";
+ }
+ }
+ part { name: "elm.cur.progressbar1";
+ mouse_events: 0;
+ dragable {
+ confine: "background";
+ x: 1 1 1;
+ y: 0 0 0;
+ }
+ description { state: "default" 0.0;
+ min: 14 28;
+ fixed: 1 1;
+ visible: 0;
+ rel1 {
+ to: "background";
+ relative: 0 0;
+ }
+ rel2.to: "background";
+ }
+ }
+ part { name: "progress-rect";
+ type: RECT;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1.to: "elm.progress.progressbar";
+ rel2.to: "elm.progress.progressbar";
+ }
+ }
+ }
+ programs {
+ program { name: "label_show";
+ signal: "elm,state,text,visible";
+ source: "elm";
+ action: STATE_SET "visible" 0.0;
+ target: "elm.text";
+ }
+ program { name: "label_hide";
+ signal: "elm,state,text,hidden";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "elm.text";
+ }
+ program { name: "icon_show";
+ signal: "elm,state,icon,visible";
+ source: "elm";
+ action: STATE_SET "visible" 0.0;
+ target: "elm.swallow.content";
+ }
+ program { name: "icon_hide";
+ signal: "elm,state,icon,hidden";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "elm.swallow.content";
+ }
+ program { name: "units_show";
+ signal: "elm,state,units,visible";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "text-bar";
+ target: "elm.text.status";
+ }
+ program { name: "units_hide";
+ signal: "elm,state,units,hidden";
+ source: "elm";
+ action: STATE_SET "hidden" 0.0;
+ target: "text-bar";
+ target: "elm.text.status";
+ }
+ program { name: "slide_to_end";
+ action: STATE_SET "state_end" 0.0;
+ transition: LINEAR 0.5;
+ target: "elm.progress.progressbar";
+ target: "elm.progress.progressbar1";
+ after: "slide_to_begin";
+ }
+ program { name: "slide_to_begin";
+ signal: "elm,state,slide,begin";
+ action: STATE_SET "state_begin" 0.0;
+ target: "elm.progress.progressbar";
+ target: "elm.progress.progressbar1";
+ transition: LINEAR 0.5;
+ after: "slide_to_end";
+ }
+ program { name: "start_pulse";
+ signal: "elm,state,pulse,start";
+ source: "elm";
+ after: "slide_to_end";
+ }
+ program { name: "stop_pulse";
+ signal: "elm,state,pulse,stop";
+ source: "elm";
+ action: ACTION_STOP;
+ target: "slide_to_begin";
+ target: "slide_to_end";
+ target: "start_pulse";
+ after: "state_pulse";
+ }
+ program { name: "state_pulse";
+ signal: "elm,state,pulse";
+ source: "elm";
+ action: STATE_SET "state_begin" 0.0;
+ target: "elm.progress.progressbar";
+ target: "elm.progress.progressbar1";
+ after: "units_hide";
+ }
+ program { name: "state_fraction";
+ signal: "elm,state,fraction";
+ source: "elm";
+ action: ACTION_STOP;
+ target: "slide_to_begin";
+ target: "slide_to_end";
+ target: "start_pulse";
+ action: STATE_SET "default" 0.0;
+ target: "elm.progress.progressbar";
+ target: "elm.progress.progressbar1";
+ }
+ program { name: "set_invert_on";
+ signal: "elm,state,inverted,on";
+ source: "elm";
+ action: STATE_SET "invert" 0.0;
+ target: "elm.progress.progressbar";
+ target: "elm.progress.progressbar1";
+ }
+ program { name: "set_invert_off";
+ signal: "elm,state,inverted,off";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "elm.progress.progressbar";
+ target: "elm.progress.progressbar1";
+ }
+ }
+}
+
+///////////////////////////////////////////////////////////////////////////////
diff --git a/src/bin/test.c b/src/bin/test.c
index 9bbec15..2e69866 100644
--- a/src/bin/test.c
+++ b/src/bin/test.c
@@ -127,6 +127,7 @@ void test_gengrid4(void *data, Evas_Object *obj, void *event_info);
void test_win_state(void *data, Evas_Object *obj, void *event_info);
void test_win_state2(void *data, Evas_Object *obj, void *event_info);
void test_progressbar(void *data, Evas_Object *obj, void *event_info);
+void test_progressbar2(void *data, Evas_Object *obj, void *event_info);
void test_fileselector(void *data, Evas_Object *obj, void *event_info);
void test_separator(void *data, Evas_Object *obj, void *event_info);
void test_scroller(void *data, Evas_Object *obj, void *event_info);
@@ -715,6 +716,7 @@ add_tests:
ADD_TEST(NULL, "Range Values", "Spinner", test_spinner);
ADD_TEST(NULL, "Range Values", "Slider", test_slider);
ADD_TEST(NULL, "Range Values", "Progressbar", test_progressbar);
+ ADD_TEST(NULL, "Range Values", "Progressbar 2", test_progressbar2);
//------------------------------//
ADD_TEST(NULL, "Booleans", "Check", test_check);
diff --git a/src/bin/test_progressbar.c b/src/bin/test_progressbar.c
index 6f63d32..13ac94f 100644
--- a/src/bin/test_progressbar.c
+++ b/src/bin/test_progressbar.c
@@ -38,6 +38,26 @@ _my_progressbar_value_set (void *data EINA_UNUSED)
return ECORE_CALLBACK_CANCEL;
}
+static Eina_Bool
+_my_progressbar_value_set2(void *data EINA_UNUSED)
+{
+ double progress;
+
+ progress = elm_progressbar_value_get (_test_progressbar.pb1);
+ if (progress < 1.0) progress += 0.0123;
+ else progress = 0.0;
+ elm_progressbar_part_value_set(_test_progressbar.pb1, "elm.cur.progressbar", progress);
+ elm_progressbar_value_set(_test_progressbar.pb2, progress);
+ elm_progressbar_part_value_set(_test_progressbar.pb2, "elm.cur.progressbar1", progress-0.15);
+ elm_progressbar_part_value_set(_test_progressbar.pb3, "elm.cur.progressbar", progress);
+ elm_progressbar_part_value_set(_test_progressbar.pb3, "elm.cur.progressbar1", progress-0.15);
+
+ if (progress < 1.0) return ECORE_CALLBACK_RENEW;
+
+ _test_progressbar.timer = NULL;
+ return ECORE_CALLBACK_CANCEL;
+}
+
static void
my_progressbar_test_start(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
{
@@ -58,12 +78,37 @@ my_progressbar_test_start(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
}
static void
+my_progressbar_test_start2(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
+{
+ fprintf(stderr, "s1\n");
+
+ elm_object_disabled_set(_test_progressbar.btn_start, EINA_TRUE);
+ elm_object_disabled_set(_test_progressbar.btn_stop, EINA_FALSE);
+
+ if (!_test_progressbar.timer)
+ _test_progressbar.timer = ecore_timer_add(0.1,
+ _my_progressbar_value_set2, NULL);
+}
+
+static void
my_progressbar_test_stop(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
{
+ elm_progressbar_pulse(_test_progressbar.pb1, EINA_FALSE);
elm_progressbar_pulse(_test_progressbar.pb2, EINA_FALSE);
- elm_progressbar_pulse(_test_progressbar.pb5, EINA_FALSE);
- elm_progressbar_pulse(_test_progressbar.pb7, EINA_FALSE);
+ elm_progressbar_pulse(_test_progressbar.pb3, EINA_FALSE);
+ elm_object_disabled_set(_test_progressbar.btn_start, EINA_FALSE);
+ elm_object_disabled_set(_test_progressbar.btn_stop, EINA_TRUE);
+
+ if (_test_progressbar.timer)
+ {
+ ecore_timer_del(_test_progressbar.timer);
+ _test_progressbar.timer = NULL;
+ }
+}
+static void
+my_progressbar_test_stop2(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
+{
elm_object_disabled_set(_test_progressbar.btn_start, EINA_FALSE);
elm_object_disabled_set(_test_progressbar.btn_stop, EINA_TRUE);
@@ -226,4 +271,71 @@ test_progressbar(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *eve
evas_object_show(win);
}
+
+void
+test_progressbar2(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
+{
+ Evas_Object *win, *pb, *bx, *bt, *bt_bx;
+
+ win = elm_win_util_standard_add("progressbar", "Progressbar2");
+ evas_object_smart_callback_add(win, "delete,request",
+ my_progressbar_destroy, NULL);
+
+ bx = elm_box_add(win);
+ evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_win_resize_object_add(win, bx);
+ evas_object_show(bx);
+
+ pb = elm_progressbar_add(win);
+ elm_object_text_set(pb, "Style: default");
+ evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, 0.5);
+ evas_object_size_hint_weight_set(pb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_progressbar_span_size_set(pb, 200);
+ elm_box_pack_end(bx, pb);
+ evas_object_show(pb);
+ _test_progressbar.pb1 = pb;
+
+ pb = elm_progressbar_add(win);
+ elm_object_style_set(pb, "recording");
+ elm_object_text_set(pb, "Style: Recording");
+ evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, 0.5);
+ evas_object_size_hint_weight_set(pb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_progressbar_span_size_set(pb, 200);
+ elm_box_pack_end(bx, pb);
+ evas_object_show(pb);
+ _test_progressbar.pb2 = pb;
+
+ pb = elm_progressbar_add(win);
+ elm_object_style_set(pb, "recording");
+ elm_object_text_set(pb, "Style: Recording 2");
+ evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, 0.5);
+ evas_object_size_hint_weight_set(pb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_progressbar_span_size_set(pb, 200);
+ elm_box_pack_end(bx, pb);
+ evas_object_show(pb);
+ _test_progressbar.pb3 = pb;
+
+ bt_bx = elm_box_add(win);
+ elm_box_horizontal_set(bt_bx, EINA_TRUE);
+ evas_object_size_hint_weight_set(bt_bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_box_pack_end(bx, bt_bx);
+ evas_object_show(bt_bx);
+
+ bt = elm_button_add(win);
+ elm_object_text_set(bt, "Start");
+ evas_object_smart_callback_add(bt, "clicked", my_progressbar_test_start2, NULL);
+ elm_box_pack_end(bt_bx, bt);
+ evas_object_show(bt);
+ _test_progressbar.btn_start = bt;
+
+ bt = elm_button_add(win);
+ elm_object_text_set(bt, "Stop");
+ elm_object_disabled_set(bt, EINA_TRUE);
+ evas_object_smart_callback_add(bt, "clicked", my_progressbar_test_stop2, NULL);
+ elm_box_pack_end(bt_bx, bt);
+ evas_object_show(bt);
+ _test_progressbar.btn_stop = bt;
+
+ evas_object_show(win);
+}
#endif
diff --git a/src/lib/elm_authors.h b/src/lib/elm_authors.h
index cebc5e1..3045c29 100644
--- a/src/lib/elm_authors.h
+++ b/src/lib/elm_authors.h
@@ -83,6 +83,7 @@
* @author Ryuan Choi (ryuan) <ryu...@sa...> <ryu...@gm...>
* @author Hosang Kim <hosang12.kim@@samsung.com>
* @author Youngbok Shin <youngb.shin@@samsung.com>
+ * @author Niraj Kumar <niraj.kr@@samsung.com> <niraj.kumar.ait@@gmail.com>
*
* Please contact <enl...@li...> to get in
* contact with the developers and maintainers.
diff --git a/src/lib/elm_progressbar.c b/src/lib/elm_progressbar.c
index d48c00e..ef702d8 100644
--- a/src/lib/elm_progressbar.c
+++ b/src/lib/elm_progressbar.c
@@ -40,6 +40,22 @@ static const Elm_Layout_Part_Alias_Description _text_aliases[] =
{NULL, NULL}
};
+static Elm_Progress_Status *
+_progress_status_new(const char *part_name, double val)
+{
+ Elm_Progress_Status *ps;
+ ps = calloc(1, sizeof(Elm_Progress_Status));
+ ps->part_name = eina_stringshare_add(part_name);
+ ps->val = val;
+ return ps;
+}
+
+static inline void
+_progress_status_free(Elm_Progress_Status *ps)
+{
+ eina_stringshare_del(ps->part_name);
+ free(ps);
+}
static void
_units_set(Evas_Object *obj)
{
@@ -72,16 +88,21 @@ _val_set(Evas_Object *obj)
ELM_PROGRESSBAR_DATA_GET(obj, sd);
Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS);
- pos = sd->val;
rtl = elm_widget_mirrored_get(obj);
-
- if ((!rtl && sd->inverted) ||
- (rtl && ((!sd->horizontal && sd->inverted) ||
+ Elm_Progress_Status *ps;
+ Eina_List *l;
+
+ EINA_LIST_FOREACH(sd->progress_status, l, ps)
+ {
+ pos = ps->val;
+ if ((!rtl && sd->inverted) ||
+ (rtl && ((!sd->horizontal && sd->inverted) ||
(sd->horizontal && !sd->inverted))))
- pos = MAX_RATIO_LVL - pos;
+ pos = MAX_RATIO_LVL - pos;
- edje_object_part_drag_value_set
- (wd->resize_obj, "elm.cur.progressbar", pos, pos);
+ edje_object_part_drag_value_set
+ (wd->resize_obj, ps->part_name, pos, pos);
+ }
}
static void
@@ -284,8 +305,16 @@ static void
_elm_progressbar_smart_del(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
{
Elm_Progressbar_Smart_Data *sd = _pd;
+ Elm_Progress_Status *progress_obj;
if (sd->units) eina_stringshare_del(sd->units);
+ if (sd->progress_status)
+ {
+ EINA_LIST_FREE(sd->progress_status, progress_obj)
+ {
+ _progress_status_free(progress_obj);
+ }
+ }
eo_do_super(obj, MY_CLASS, evas_obj_smart_del());
}
@@ -388,6 +417,79 @@ _pulse(Eo *obj, void *_pd, va_list *list)
}
EAPI void
+elm_progressbar_part_value_set(Evas_Object *obj, const char *part, double val)
+{
+ ELM_PROGRESSBAR_CHECK(obj);
+ eo_do(obj, elm_obj_progressbar_part_value_set(part, val));
+}
+
+static void
+_part_value_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+ const char *part_name = va_arg(*list, const char *);
+ double val = va_arg(*list, double);
+ Elm_Progressbar_Smart_Data *sd = _pd;
+ Elm_Progress_Status *ps;
+ Eina_Bool existing_ps = EINA_FALSE;
+ Eina_List *l;
+
+ if (val < MIN_RATIO_LVL) val = MIN_RATIO_LVL;
+ if (val > MAX_RATIO_LVL) val = MAX_RATIO_LVL;
+
+ if (!strcmp(part_name, "elm.cur.progressbar"))
+ sd->val = val;
+
+ EINA_LIST_FOREACH(sd->progress_status, l, ps)
+ {
+ if (!strcmp(ps->part_name, part_name))
+ {
+ existing_ps = EINA_TRUE;
+ break;
+ }
+ }
+
+ if (!existing_ps)
+ {
+ ps = _progress_status_new(part_name, val);
+ sd->progress_status = eina_list_append(sd->progress_status, ps);
+ }
+ else
+ ps->val = val;
+
+ _val_set(obj);
+ _units_set(obj);
+ evas_object_smart_callback_call(obj, SIG_CHANGED, NULL);
+}
+
+EAPI double
+elm_progressbar_part_value_get(const Evas_Object *obj, const char * part)
+{
+ ELM_PROGRESSBAR_CHECK(obj) 0.0;
+ double ret;
+ eo_do((Eo *) obj, elm_obj_progressbar_part_value_get(part,&ret));
+ return ret;
+}
+
+static void
+_part_value_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+ const char* part = va_arg(*list, const char *);
+ double *ret = va_arg(*list, double *);
+ Elm_Progressbar_Smart_Data *sd = _pd;
+ Elm_Progress_Status *ps;
+ Eina_List *l;
+
+ EINA_LIST_FOREACH(sd->progress_status, l, ps)
+ {
+ if (!strcmp(ps->part_name, part))
+ {
+ *ret = ps->val;
+ return;
+ }
+ }
+}
+
+EAPI void
elm_progressbar_value_set(Evas_Object *obj,
double val)
{
@@ -400,6 +502,7 @@ _value_set(Eo *obj, void *_pd, va_list *list)
{
double val = va_arg(*list, double);
Elm_Progressbar_Smart_Data *sd = _pd;
+ Elm_Progress_Status *ps;
if (sd->val == val) return;
@@ -407,6 +510,8 @@ _value_set(Eo *obj, void *_pd, va_list *list)
if (sd->val < MIN_RATIO_LVL) sd->val = MIN_RATIO_LVL;
if (sd->val > MAX_RATIO_LVL) sd->val = MAX_RATIO_LVL;
+ ps = _progress_status_new("elm.cur.progressbar", sd->val);
+ sd->progress_status = eina_list_append(sd->progress_status, ps);
_val_set(obj);
_units_set(obj);
evas_object_smart_callback_call(obj, SIG_CHANGED, NULL);
@@ -681,6 +786,8 @@ _class_constructor(Eo_Class *klass)
EO_OP_FUNC(ELM_OBJ_PROGRESSBAR_ID(ELM_OBJ_PROGRESSBAR_SUB_ID_HORIZONTAL_GET), _horizontal_get),
EO_OP_FUNC(ELM_OBJ_PROGRESSBAR_ID(ELM_OBJ_PROGRESSBAR_SUB_ID_INVERTED_SET), _inverted_set),
EO_OP_FUNC(ELM_OBJ_PROGRESSBAR_ID(ELM_OBJ_PROGRESSBAR_SUB_ID_INVERTED_GET), _inverted_get),
+ EO_OP_FUNC(ELM_OBJ_PROGRESSBAR_ID(ELM_OBJ_PROGRESSBAR_SUB_ID_PART_VALUE_SET), _part_value_set),
+ EO_OP_FUNC(ELM_OBJ_PROGRESSBAR_ID(ELM_OBJ_PROGRESSBAR_SUB_ID_PART_VALUE_GET), _part_value_get),
EO_OP_FUNC_SENTINEL
};
eo_class_funcs_set(klass, func_desc);
@@ -702,6 +809,8 @@ static const Eo_Op_Description op_desc[] = {
EO_OP_DESCRIPTION(ELM_OBJ_PROGRESSBAR_SUB_ID_HORIZONTAL_GET, "Retrieve the orientation of a given progress bar widget."),
EO_OP_DESCRIPTION(ELM_OBJ_PROGRESSBAR_SUB_ID_INVERTED_SET, "Invert a given progress bar widget's displaying values order."),
EO_OP_DESCRIPTION(ELM_OBJ_PROGRESSBAR_SUB_ID_INVERTED_GET, "Get whether a given progress bar widget's displaying values are inverted or not."),
+ EO_OP_DESCRIPTION(ELM_OBJ_PROGRESSBAR_SUB_ID_PART_VALUE_SET, "Set the progress value (in percentage) on a given progress bar widget for a part."),
+ EO_OP_DESCRIPTION(ELM_OBJ_PROGRESSBAR_SUB_ID_PART_VALUE_GET, "Get the progress value (in percentage) on a given progress bar widget for a part."),
EO_OP_DESCRIPTION_SENTINEL
};
static const Eo_Class_Description class_desc = {
diff --git a/src/lib/elm_progressbar_eo.h b/src/lib/elm_progressbar_eo.h
index 26f30aa..7cfa6eb 100644
--- a/src/lib/elm_progressbar_eo.h
+++ b/src/lib/elm_progressbar_eo.h
@@ -23,6 +23,8 @@ enum
ELM_OBJ_PROGRESSBAR_SUB_ID_HORIZONTAL_GET,
ELM_OBJ_PROGRESSBAR_SUB_ID_INVERTED_SET,
ELM_OBJ_PROGRESSBAR_SUB_ID_INVERTED_GET,
+ ELM_OBJ_PROGRESSBAR_SUB_ID_PART_VALUE_SET,
+ ELM_OBJ_PROGRESSBAR_SUB_ID_PART_VALUE_GET,
ELM_OBJ_PROGRESSBAR_SUB_ID_LAST
};
@@ -229,3 +231,35 @@ enum
* @ingroup Progressbar
*/
#define elm_obj_progressbar_inverted_get(ret) ELM_OBJ_PROGRESSBAR_ID(ELM_OBJ_PROGRESSBAR_SUB_ID_INVERTED_GET), EO_TYPECHECK(Eina_Bool *, ret)
+
+/**
+ * @def elm_progressbar_part_value_set
+ * @since 1.8
+ *
+ * Modified to support more than one progress status
+ * Set the value of the progress status a particular part
+ *
+ * @param[in] part
+ * @param[in] val
+ *
+ * @see elm_progressbar_part_value_set
+ *
+ * @ingroup Progressbar
+ */
+#define elm_obj_progressbar_part_value_set(part, val) ELM_OBJ_PROGRESSBAR_ID(ELM_OBJ_PROGRESSBAR_SUB_ID_PART_VALUE_SET), EO_TYPECHECK(const char*, part), EO_TYPECHECK(double, val)
+
+/**
+ * @def elm_progressbar_part_value_get
+ * @since 1.8
+ *
+ * Modified to support more than one progress status
+ * Get the value of the progress status of a particular part
+ *
+ * @param[in] part
+ * @param[out] ret
+ *
+ * @see elm_progressbar_part_value_get
+ *
+ * @ingroup Progressbar
+ */
+#define elm_obj_progressbar_part_value_get(part, ret) ELM_OBJ_PROGRESSBAR_ID(ELM_OBJ_PROGRESSBAR_SUB_ID_PART_VALUE_GET), EO_TYPECHECK(const char*, part), EO_TYPECHECK(double *, ret)
diff --git a/src/lib/elm_progressbar_legacy.h b/src/lib/elm_progressbar_legacy.h
index 492654d..89667e6 100644
--- a/src/lib/elm_progressbar_legacy.h
+++ b/src/lib/elm_progressbar_legacy.h
@@ -249,3 +249,36 @@ EAPI void elm_progressbar_inverted_set(Evas_Object *obj,
* @ingroup Progressbar
*/
EAPI Eina_Bool elm_progressbar_inverted_get(const Evas_Object *obj);
+
+/**
+ * Set the progress value (in percentage) on a given progress bar
+ * widget for the given part name
+ *
+ * @since 1.8
+ *
+ * @param obj The progress bar object
+ * @param part The partname to which val have to set
+ * @param val The progress value (@b must be between @c 0.0 and @c
+ * 1.0)
+ *
+ * Use this call to set progress bar status for more than one progress status .
+ *
+ * @ingroup Progressbar
+ */
+EAPI void elm_progressbar_part_value_set(Evas_Object *obj, const char *part, double val);
+
+/**
+ * Get the progress value (in percentage) on a given progress bar
+ * widget for a particular part
+ *
+ * @since 1.8
+ *
+ * @param obj The progress bar object
+ * @param part The part name of the progress bar
+ * @return The value of the progressbar
+ *
+ * @see elm_progressbar_value_set() for more details
+ *
+ * @ingroup Progressbar
+ */
+EAPI double elm_progressbar_part_value_get(const Evas_Object *obj, const char *part);
diff --git a/src/lib/elm_widget_progressbar.h b/src/lib/elm_widget_progressbar.h
index 3747a17..20d7812 100644
--- a/src/lib/elm_widget_progressbar.h
+++ b/src/lib/elm_widget_progressbar.h
@@ -18,6 +18,8 @@
* Base layout smart data extended with progressbar instance data.
*/
typedef struct _Elm_Progressbar_Smart_Data Elm_Progressbar_Smart_Data;
+typedef struct _Elm_Progress_Status Elm_Progress_Status;
+
struct _Elm_Progressbar_Smart_Data
{
Evas_Object *spacer;
@@ -30,11 +32,18 @@ struct _Elm_Progressbar_Smart_Data
Eina_Bool inverted : 1;
Eina_Bool pulse : 1;
Eina_Bool pulse_state : 1;
+ Eina_List *progress_status;
char *(*unit_format_func)(double val);
void (*unit_format_free)(char *str);
};
+struct _Elm_Progress_Status
+{
+ const char *part_name;
+ double val;
+};
+
/**
* @}
*/
--
|
|
From: Daniel J. S. - E. G. <no-...@en...> - 2013-09-10 07:22:02
|
seoz pushed a commit to branch master.
commit 86dfea740d9e98bb47cf48e1e965cf58e1b38e7a
Author: Daniel Juyung Seo <seo...@gm...>
Date: Tue Sep 10 14:07:17 2013 +0900
elm_menu.c: chagned menu item object from edje_object to elm_layout for further focus support.
---
src/lib/elm_menu.c | 143 ++++++++++++++++++++++++++---------------------------
1 file changed, 71 insertions(+), 72 deletions(-)
diff --git a/src/lib/elm_menu.c b/src/lib/elm_menu.c
index bda563d..3dd7ded 100644
--- a/src/lib/elm_menu.c
+++ b/src/lib/elm_menu.c
@@ -71,24 +71,13 @@ _item_disable_hook(Elm_Object_Item *it)
if (elm_widget_item_disabled_get(item))
{
- edje_object_signal_emit(VIEW(item), "elm,state,disabled", "elm");
+ elm_layout_signal_emit(VIEW(item), "elm,state,disabled", "elm");
if (item->submenu.open) _submenu_hide(item);
}
else
- edje_object_signal_emit(VIEW(item), "elm,state,enabled", "elm");
+ elm_layout_signal_emit(VIEW(item), "elm,state,enabled", "elm");
- edje_object_message_signal_process(VIEW(item));
-}
-
-static void
-_item_sizing_eval(Elm_Menu_Item *item)
-{
- Evas_Coord minw = -1, minh = -1, maxw = -1, maxh = -1;
-
- if (!item->separator) elm_coords_finger_size_adjust(1, &minw, 1, &minh);
- edje_object_size_min_restricted_calc(VIEW(item), &minw, &minh, minw, minh);
- evas_object_size_hint_min_set(VIEW(item), minw, minh);
- evas_object_size_hint_max_set(VIEW(item), maxw, maxh);
+ edje_object_message_signal_process(elm_layout_edje_get(VIEW(item)));
}
static void
@@ -101,7 +90,7 @@ _submenu_sizing_eval(Elm_Menu_Item *parent_it)
ELM_MENU_DATA_GET_OR_RETURN(WIDGET(parent_it), sd);
EINA_LIST_FOREACH(parent_it->submenu.items, l, item)
- _item_sizing_eval(item);
+ elm_layout_sizing_eval(VIEW(item));
evas_object_geometry_get
(parent_it->submenu.location, &x_p, &y_p, &w_p, &h_p);
@@ -161,7 +150,7 @@ _sizing_eval(Evas_Object *obj)
if (!sd->parent) return;
EINA_LIST_FOREACH(sd->items, l, item)
- _item_sizing_eval(item);
+ elm_layout_sizing_eval(VIEW(item));
evas_object_geometry_get(sd->location, NULL, NULL, &w_p, &h_p);
evas_object_geometry_get(sd->parent, &x2, &y2, &w2, &h2);
@@ -213,20 +202,22 @@ _elm_menu_smart_theme(Eo *obj, void *_pd, va_list *list)
{
EINA_LIST_FOREACH(l, _l, item)
{
- edje_object_mirrored_set(VIEW(item), elm_widget_mirrored_get(obj));
ll = eina_list_append(ll, item->submenu.items);
if (item->separator)
- elm_widget_theme_object_set
- (obj, VIEW(item), "menu", "separator",
- elm_widget_style_get(obj));
+ {
+ if (!elm_layout_theme_set(VIEW(item), "menu", "separator",
+ elm_widget_style_get(obj)))
+ CRITICAL("Failed to set layout!");
+ }
else if (item->submenu.bx)
{
if (sd->menu_bar && !item->parent) s = "main_menu_submenu";
else s = "item_with_submenu";
- elm_widget_theme_object_set
- (obj, VIEW(item), "menu", s,
- elm_widget_style_get(obj));
+ if (!elm_layout_theme_set(VIEW(item), "menu", s,
+ elm_widget_style_get(obj)))
+ CRITICAL("Failed to set layout!");
+
elm_object_item_text_set((Elm_Object_Item *)item,
item->label);
if (item->icon_str)
@@ -235,9 +226,10 @@ _elm_menu_smart_theme(Eo *obj, void *_pd, va_list *list)
}
else
{
- elm_widget_theme_object_set
- (obj, VIEW(item), "menu", "item",
- elm_widget_style_get(obj));
+ if (!elm_layout_theme_set(VIEW(item), "menu", "item",
+ elm_widget_style_get(obj)))
+ CRITICAL("Failed to set layout!");
+
elm_object_item_text_set((Elm_Object_Item *)item,
item->label);
if (item->icon_str)
@@ -245,9 +237,11 @@ _elm_menu_smart_theme(Eo *obj, void *_pd, va_list *list)
item->icon_str);
}
_item_disable_hook((Elm_Object_Item *)item);
+ /* SEOZ
edje_object_scale_set
(VIEW(item), elm_widget_scale_get(obj) *
elm_config_scale_get());
+ */
}
}
@@ -272,12 +266,12 @@ _item_text_set_hook(Elm_Object_Item *it,
eina_stringshare_replace(&item->label, label);
if (label)
- edje_object_signal_emit(VIEW(item), "elm,state,text,visible", "elm");
+ elm_layout_signal_emit(VIEW(item), "elm,state,text,visible", "elm");
else
- edje_object_signal_emit(VIEW(item), "elm,state,text,hidden", "elm");
+ elm_layout_signal_emit(VIEW(item), "elm,state,text,hidden", "elm");
- edje_object_message_signal_process(VIEW(item));
- edje_object_part_text_set(VIEW(item), "elm.text", label);
+ edje_object_message_signal_process(elm_layout_edje_get(VIEW(item)));
+ elm_layout_text_set(VIEW(item), "elm.text", label);
_sizing_eval(WIDGET(item));
}
@@ -306,10 +300,8 @@ _item_content_set_hook(Elm_Object_Item *it,
if (item->content) evas_object_del(item->content);
item->content = content;
- elm_widget_sub_object_add(WIDGET(item), item->content);
if (item->content)
- edje_object_part_swallow
- (VIEW(item), "elm.swallow.content", item->content);
+ elm_layout_content_set(VIEW(item), "elm.swallow.content", item->content);
_sizing_eval(WIDGET(item));
}
@@ -488,38 +480,42 @@ _elm_menu_smart_show(Eo *obj EINA_UNUSED, void *_pd, va_list *list EINA_UNUSED)
static void
_item_obj_create(Elm_Menu_Item *item)
{
- VIEW(item) = edje_object_add(evas_object_evas_get(WIDGET(item)));
- edje_object_mirrored_set(VIEW(item), elm_widget_mirrored_get(WIDGET(item)));
+ VIEW(item) = elm_layout_add(WIDGET(item));
evas_object_size_hint_weight_set
(VIEW(item), EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_fill_set(VIEW(item), EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_widget_theme_object_set
- (WIDGET(item), VIEW(item), "menu", "item",
- elm_widget_style_get(WIDGET(item)));
-
- edje_object_signal_callback_add
- (VIEW(item), "elm,action,click", "", _menu_item_select_cb, item);
- edje_object_signal_callback_add
- (VIEW(item), "elm,action,activate", "", _menu_item_activate_cb, item);
- edje_object_signal_callback_add
- (VIEW(item), "elm,action,inactivate", "", _menu_item_inactivate_cb,
- item);
- evas_object_show(VIEW(item));
+ if (!elm_layout_theme_set(VIEW(item), "menu", "item",
+ elm_widget_style_get(WIDGET(item))))
+ CRITICAL("Failed to set layout!");
+ else
+ {
+ elm_layout_signal_callback_add(VIEW(item), "elm,action,click", "",
+ _menu_item_select_cb, item);
+ elm_layout_signal_callback_add(VIEW(item), "elm,action,activate", "",
+ _menu_item_activate_cb, item);
+ elm_layout_signal_callback_add(VIEW(item), "elm,action,inactivate", "",
+ _menu_item_inactivate_cb,
+ item);
+ evas_object_show(VIEW(item));
+ }
}
static void
_item_separator_obj_create(Elm_Menu_Item *item)
{
- VIEW(item) = edje_object_add(evas_object_evas_get(WIDGET(item)));
+ VIEW(item) = elm_layout_add(WIDGET(item));
evas_object_size_hint_weight_set
(VIEW(item), EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_fill_set(VIEW(item), EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_widget_theme_object_set
- (WIDGET(item), VIEW(item), "menu", "separator",
- elm_widget_style_get(WIDGET(item)));
- edje_object_signal_callback_add
- (VIEW(item), "elm,action,activate", "", _menu_item_activate_cb, item);
- evas_object_show(VIEW(item));
+ if (!elm_layout_theme_set(VIEW(item), "menu", "separator",
+ elm_widget_style_get(WIDGET(item))))
+ CRITICAL("Failed to set layout!");
+ else
+ {
+ elm_layout_signal_callback_add
+ (VIEW(item), "elm,action,activate", "", _menu_item_activate_cb, item);
+ evas_object_show(VIEW(item));
+ }
}
static void
@@ -551,23 +547,27 @@ _item_submenu_obj_create(Elm_Menu_Item *item)
(item->submenu.hv, elm_hover_best_content_location_get
(item->submenu.hv, ELM_HOVER_AXIS_VERTICAL), item->submenu.bx);
- edje_object_mirrored_set(VIEW(item), elm_widget_mirrored_get(WIDGET(item)));
-
if (sd->menu_bar && !item->parent)
- elm_widget_theme_object_set(WIDGET(item), VIEW(item), "menu",
- "main_menu_submenu",
- elm_widget_style_get(WIDGET(item)));
+ {
+ if (!elm_layout_theme_set(VIEW(item), "menu",
+ "main_menu_submenu",
+ elm_widget_style_get(WIDGET(item))))
+ CRITICAL("Failed to set layout!");
+ }
else
- elm_widget_theme_object_set(WIDGET(item), VIEW(item), "menu",
- "item_with_submenu",
- elm_widget_style_get(WIDGET(item)));
+ {
+ if (!elm_layout_theme_set(VIEW(item), "menu",
+ "item_with_submenu",
+ elm_widget_style_get(WIDGET(item))))
+ CRITICAL("Failed to set layout!");
+ }
elm_object_item_text_set((Elm_Object_Item *)item, item->label);
if (item->icon_str)
elm_menu_item_icon_name_set((Elm_Object_Item *)item, item->icon_str);
- edje_object_signal_callback_add(VIEW(item), "elm,action,open", "",
+ elm_layout_signal_callback_add(VIEW(item), "elm,action,open", "",
_submenu_open_cb, item);
evas_object_event_callback_add
(VIEW(item), EVAS_CALLBACK_MOVE, _item_move_resize_cb, item);
@@ -967,9 +967,8 @@ _item_add(Eo *obj, void *_pd, va_list *list)
_item_obj_create(subitem);
elm_object_item_text_set((Elm_Object_Item *)subitem, label);
- elm_widget_sub_object_add(WIDGET(subitem), subitem->content);
- edje_object_part_swallow
- (VIEW(subitem), "elm.swallow.content", subitem->content);
+ elm_layout_content_set(VIEW(subitem), "elm.swallow.content",
+ subitem->content);
if (icon) elm_menu_item_icon_name_set((Elm_Object_Item *)subitem, icon);
@@ -1006,12 +1005,12 @@ elm_menu_item_icon_name_set(Elm_Object_Item *it,
elm_icon_standard_set(item->content, icon)))
{
eina_stringshare_replace(&item->icon_str, icon);
- edje_object_signal_emit(VIEW(item), "elm,state,icon,visible", "elm");
+ elm_layout_signal_emit(VIEW(item), "elm,state,icon,visible", "elm");
}
else
- edje_object_signal_emit(VIEW(item), "elm,state,icon,hidden", "elm");
+ elm_layout_signal_emit(VIEW(item), "elm,state,icon,hidden", "elm");
- edje_object_message_signal_process(VIEW(item));
+ edje_object_message_signal_process(elm_layout_edje_get(VIEW(item)));
_sizing_eval(WIDGET(item));
}
@@ -1136,15 +1135,15 @@ elm_menu_item_selected_set(Elm_Object_Item *it,
item->selected = selected;
if (selected)
{
- edje_object_signal_emit(VIEW(item), "elm,state,selected", "elm");
+ elm_layout_signal_emit(VIEW(item), "elm,state,selected", "elm");
_menu_item_activate_cb(item, NULL, NULL, NULL);
}
else
{
- edje_object_signal_emit(VIEW(item), "elm,state,unselected", "elm");
+ elm_layout_signal_emit(VIEW(item), "elm,state,unselected", "elm");
_menu_item_inactivate_cb(item, NULL, NULL, NULL);
}
- edje_object_message_signal_process(VIEW(item));
+ edje_object_message_signal_process(elm_layout_edje_get(VIEW(item)));
}
EAPI Eina_Bool
--
|
|
From: Shinwoo K. - E. G. <no-...@en...> - 2013-09-10 05:22:35
|
kimcinoo pushed a commit to branch master.
commit 97b0908a8e67c3b6a63befcf10281967e3ec4324
Author: Shinwoo Kim <cin...@sa...>
Date: Tue Sep 10 14:22:21 2013 +0900
[access] unfocusable object could have highlight
---
src/lib/elm_access.c | 10 ----------
src/lib/elm_widget.c | 35 ++++++++++++++++++++++++-----------
2 files changed, 24 insertions(+), 21 deletions(-)
diff --git a/src/lib/elm_access.c b/src/lib/elm_access.c
index 4c8cf89..6623e34 100644
--- a/src/lib/elm_access.c
+++ b/src/lib/elm_access.c
@@ -39,7 +39,6 @@ _elm_access_smart_add(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
elm_widget_sub_object_add(eo_parent_get(obj), obj);
- elm_widget_can_focus_set(obj, _elm_config->access_mode);
}
static Eina_Bool
@@ -1414,14 +1413,6 @@ elm_access_highlight_next_set(Evas_Object *obj, Elm_Highlight_Direction dir, Eva
}
static void
-_elm_access_smart_access(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
-{
- Eina_Bool is_access = va_arg(*list, int);
-
- elm_widget_can_focus_set(obj, is_access);
-}
-
-static void
_class_constructor(Eo_Class *klass)
{
const Eo_Op_Func_Description func_desc[] = {
@@ -1431,7 +1422,6 @@ _class_constructor(Eo_Class *klass)
EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_ON_FOCUS), _elm_access_smart_on_focus),
EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_ACTIVATE), _elm_access_smart_activate),
- EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_ACCESS), _elm_access_smart_access),
EO_OP_FUNC_SENTINEL
};
diff --git a/src/lib/elm_widget.c b/src/lib/elm_widget.c
index cf008f8..71953ce 100644
--- a/src/lib/elm_widget.c
+++ b/src/lib/elm_widget.c
@@ -2597,6 +2597,7 @@ elm_widget_focus_next_get(const Evas_Object *obj,
static void
_elm_widget_focus_next_get(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
{
+ Elm_Access_Info *ac;
Elm_Focus_Direction dir = va_arg(*list, Elm_Focus_Direction);
Evas_Object **next = va_arg(*list, Evas_Object **);
Eina_Bool *ret = va_arg(*list, Eina_Bool *);
@@ -2608,10 +2609,19 @@ _elm_widget_focus_next_get(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
*next = NULL;
/* Ignore if disabled */
- if ((!evas_object_visible_get(obj))
- || (elm_widget_disabled_get(obj))
- || (elm_widget_tree_unfocusable_get(obj)))
- return;
+ if (_elm_config->access_mode && _elm_access_auto_highlight_get())
+ {
+ if (!evas_object_visible_get(obj)
+ || (elm_widget_tree_unfocusable_get(obj)))
+ return;
+ }
+ else
+ {
+ if ((!evas_object_visible_get(obj))
+ || (elm_widget_disabled_get(obj))
+ || (elm_widget_tree_unfocusable_get(obj)))
+ return;
+ }
/* Try use hook */
if (_elm_widget_focus_chain_manager_is(obj))
@@ -2645,16 +2655,19 @@ _elm_widget_focus_next_get(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
return;
}
- if (!elm_widget_can_focus_get(obj))
- return;
-
- /* focusable object but does not have access info */
- if (_elm_config->access_mode)
+ /* access object does not check sd->can_focus, because an object could
+ have highlight even though the object is not focusable. */
+ if (_elm_config->access_mode && _elm_access_auto_highlight_get())
{
- Elm_Access_Info *ac;
- ac= _elm_access_info_get(obj);
+ ac = _elm_access_info_get(obj);
if (!ac) return;
+
+ /* check whether the hover object is visible or not */
+ if (!evas_object_visible_get(ac->hoverobj))
+ return;
}
+ else if (!elm_widget_can_focus_get(obj))
+ return;
if (elm_widget_focus_get(obj))
{
--
|
|
From: Shinwoo K. - E. G. <no-...@en...> - 2013-09-10 05:02:08
|
kimcinoo pushed a commit to branch master.
commit ef4a2e4227f481b2fe6f18ae41b5fae68f3db3c8
Author: Shinwoo Kim <cin...@sa...>
Date: Tue Sep 10 14:01:50 2013 +0900
[access] enhancement - refine function name to _elm_access_auto_highlight_set from _elm_access_read_mode_set
---
src/lib/elm_access.c | 26 +++++++++++++-------------
src/lib/elm_widget.c | 12 +++++++++---
src/lib/elm_widget.h | 9 ++++-----
3 files changed, 26 insertions(+), 21 deletions(-)
diff --git a/src/lib/elm_access.c b/src/lib/elm_access.c
index 164039c..4c8cf89 100644
--- a/src/lib/elm_access.c
+++ b/src/lib/elm_access.c
@@ -26,7 +26,7 @@ struct _Action_Info
typedef struct _Action_Info Action_Info;
static Eina_Bool mouse_event_enable = EINA_TRUE;
-static Eina_Bool read_mode = EINA_FALSE;
+static Eina_Bool auto_highlight = EINA_FALSE;
static Elm_Access_Action_Type action_by = ELM_ACCESS_ACTION_FIRST;
static Evas_Object * _elm_access_add(Evas_Object *parent);
@@ -396,17 +396,17 @@ _elm_access_mouse_event_enabled_set(Eina_Bool enabled)
}
void
-_elm_access_read_mode_set(Eina_Bool enabled)
+_elm_access_auto_highlight_set(Eina_Bool enabled)
{
enabled = !!enabled;
- if (read_mode == enabled) return;
- read_mode = enabled;
+ if (auto_highlight == enabled) return;
+ auto_highlight = enabled;
}
Eina_Bool
-_elm_access_read_mode_get()
+_elm_access_auto_highlight_get(void)
{
- return read_mode;
+ return auto_highlight;
}
void
@@ -501,7 +501,7 @@ _access_highlight_next_get(Evas_Object *obj, Elm_Focus_Direction dir)
}
while (parent);
- _elm_access_read_mode_set(EINA_TRUE);
+ _elm_access_auto_highlight_set(EINA_TRUE);
if (dir == ELM_FOCUS_NEXT)
type = ELM_ACCESS_ACTION_HIGHLIGHT_NEXT;
@@ -539,7 +539,7 @@ _access_highlight_next_get(Evas_Object *obj, Elm_Focus_Direction dir)
action_by = ELM_ACCESS_ACTION_FIRST;
- _elm_access_read_mode_set(EINA_FALSE);
+ _elm_access_auto_highlight_set(EINA_FALSE);
return ret;
}
@@ -625,7 +625,7 @@ _elm_access_highlight_object_activate(Evas_Object *obj, Elm_Activate act)
highlight = _access_highlight_object_get(obj);
if (!highlight) return;
- _elm_access_read_mode_set(EINA_FALSE);
+ _elm_access_auto_highlight_set(EINA_FALSE);
if (!elm_object_focus_get(highlight))
elm_object_focus_set(highlight, EINA_TRUE);
@@ -660,7 +660,7 @@ _elm_access_highlight_cycle(Evas_Object *obj, Elm_Focus_Direction dir)
}
while (parent);
- _elm_access_read_mode_set(EINA_TRUE);
+ _elm_access_auto_highlight_set(EINA_TRUE);
if (dir == ELM_FOCUS_NEXT)
type = ELM_ACCESS_ACTION_HIGHLIGHT_NEXT;
@@ -693,7 +693,7 @@ _elm_access_highlight_cycle(Evas_Object *obj, Elm_Focus_Direction dir)
action_by = ELM_ACCESS_ACTION_FIRST;
- _elm_access_read_mode_set(EINA_FALSE);
+ _elm_access_auto_highlight_set(EINA_FALSE);
}
EAPI char *
@@ -1295,9 +1295,9 @@ elm_access_action(Evas_Object *obj, const Elm_Access_Action_Type type, Elm_Acces
evas = evas_object_evas_get(obj);
if (!evas) return EINA_FALSE;
- _elm_access_mouse_event_enabled_set(EINA_TRUE);
-
evas_event_feed_mouse_in(evas, 0, NULL);
+
+ _elm_access_mouse_event_enabled_set(EINA_TRUE);
evas_event_feed_mouse_move(evas, a->x, a->y, 0, NULL);
_elm_access_mouse_event_enabled_set(EINA_FALSE);
diff --git a/src/lib/elm_widget.c b/src/lib/elm_widget.c
index 840b027..cf008f8 100644
--- a/src/lib/elm_widget.c
+++ b/src/lib/elm_widget.c
@@ -26,8 +26,8 @@ EAPI Eo_Op ELM_WIDGET_BASE_ID = EO_NOOP;
if (!sd) return
#define ELM_WIDGET_FOCUS_GET(obj) \
- ((_elm_access_read_mode_get()) ? (elm_widget_highlight_get(obj)) : \
- (elm_widget_focus_get(obj)))
+ ((_elm_access_auto_highlight_get()) ? (elm_widget_highlight_get(obj)) : \
+ (elm_widget_focus_get(obj)))
typedef struct _Elm_Event_Cb_Data Elm_Event_Cb_Data;
typedef struct _Elm_Translate_String_Data Elm_Translate_String_Data;
@@ -2019,8 +2019,14 @@ _elm_widget_focus_cycle(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
if (target)
{
/* access */
- if (_elm_config->access_mode && _elm_access_read_mode_get())
+ if (_elm_config->access_mode)
{
+ /* highlight cycle does not steal a focus, only after window gets
+ the ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_ACTIVATE message,
+ target will steal focus, or focus its own job. */
+ if (!_elm_access_auto_highlight_get())
+ elm_widget_focus_steal(target);
+
_elm_access_highlight_set(target);
elm_widget_focus_region_show(target);
}
diff --git a/src/lib/elm_widget.h b/src/lib/elm_widget.h
index ef41e15..e4d6362 100644
--- a/src/lib/elm_widget.h
+++ b/src/lib/elm_widget.h
@@ -501,11 +501,10 @@ struct _Elm_Access_Info
void _elm_access_shutdown();
void _elm_access_mouse_event_enabled_set(Eina_Bool enabled);
-/* elm_widget_focus_list_next_get();, elm_widget_focus_next_get();
- and elm_widget_focus_cycle(); use _elm_access_read_mode to use
- focus chain */
-void _elm_access_read_mode_set(Eina_Bool enabled);
-Eina_Bool _elm_access_read_mode_get();
+
+/* if auto_higlight is EINA_TRUE, it does not steal a focus, it just moves a highlight */
+void _elm_access_auto_highlight_set(Eina_Bool enabled);
+Eina_Bool _elm_access_auto_highlight_get(void);
void _elm_access_widget_item_access_order_set(Elm_Widget_Item *item, Eina_List *objs);
const Eina_List *_elm_access_widget_item_access_order_get(const Elm_Widget_Item *item);
void _elm_access_widget_item_access_order_unset(Elm_Widget_Item *item);
--
|
|
From: Sung W. P. - E. G. <no-...@en...> - 2013-09-10 04:58:14
|
sung pushed a commit to branch master.
commit 4ece1a1f9f0f58235fb92ed8cfb0bafe5ee6ef45
Author: Sung W. Park <dun...@sa...>
Date: Tue Sep 10 13:53:56 2013 +0900
EvasGL: Fix surface destroy mismatch bug.
For EvasGL direct rendering, EvasGL does a make_current to the
surface that evas is holding on to. When EvasGL was shutting down
it was wrongly deleting evas' surface. This issue was temporarily
fixed by Raphael before but the proper fix was added.
---
src/modules/evas/engines/gl_common/evas_gl_core.c | 22 +++++++++-------------
.../evas/engines/gl_common/evas_gl_core_private.h | 1 +
2 files changed, 10 insertions(+), 13 deletions(-)
diff --git a/src/modules/evas/engines/gl_common/evas_gl_core.c b/src/modules/evas/engines/gl_common/evas_gl_core.c
index 8476541..5ae7a9e 100644
--- a/src/modules/evas/engines/gl_common/evas_gl_core.c
+++ b/src/modules/evas/engines/gl_common/evas_gl_core.c
@@ -43,12 +43,7 @@ _internal_resources_create(void *eng_data)
return NULL;
}
- /*
// Create resource surface
- // Use Evas' surface if it's in the same thread
- if (rsc->id == evgl_engine->main_tid)
- rsc->surface = evgl_engine->funcs->evas_surface_get(evgl_engine->engine_data);
- */
rsc->window = evgl_engine->funcs->native_window_create(eng_data);
if (!rsc->window)
{
@@ -63,12 +58,6 @@ _internal_resources_create(void *eng_data)
goto error;
}
- if (!rsc->surface)
- {
- ERR("Internal resource surface failed.");
- goto error;
- }
-
// Create a resource context
rsc->context = evgl_engine->funcs->context_create(eng_data, NULL);
if (!rsc->context)
@@ -90,7 +79,7 @@ _internal_resources_destroy(void *eng_data, EVGL_Resource *rsc)
if ((!eng_data) || (!rsc)) return;
if (rsc->context)
- evgl_engine->funcs->context_destroy(eng_data, rsc->context);
+ evgl_engine->funcs->context_destroy(eng_data, rsc->context);
if (rsc->surface)
evgl_engine->funcs->surface_destroy(eng_data, rsc->surface);
if (rsc->window)
@@ -123,7 +112,14 @@ _internal_resource_make_current(void *eng_data, EVGL_Context *ctx)
else
context = (void*)rsc->context;
- surface = (void*)rsc->surface;
+ // Set the surface to evas surface if it's there
+ if (rsc->id == evgl_engine->main_tid)
+ rsc->direct_surface = evgl_engine->funcs->evas_surface_get(eng_data);
+
+ if (rsc->direct_surface)
+ surface = (void*)rsc->direct_surface;
+ else
+ surface = (void*)rsc->surface;
// Do the make current
ret = evgl_engine->funcs->make_current(eng_data, surface, context, 1);
diff --git a/src/modules/evas/engines/gl_common/evas_gl_core_private.h b/src/modules/evas/engines/gl_common/evas_gl_core_private.h
index fe296ae..5c617b6 100644
--- a/src/modules/evas/engines/gl_common/evas_gl_core_private.h
+++ b/src/modules/evas/engines/gl_common/evas_gl_core_private.h
@@ -209,6 +209,7 @@ struct _EVGL_Resource
EVGL_Context *current_ctx;
void *current_eng;
+ EVGLNative_Surface direct_surface;
int direct_rendered;
Evas_Object *direct_img_obj;
int get_pixels_set;
--
|
|
From: Daniel J. S. - E. G. <no-...@en...> - 2013-09-10 04:47:14
|
seoz pushed a commit to branch master.
commit 6d6f0e1b0b89d790bc68a2eecbbd2a7d64f6e286
Author: Daniel Juyung Seo <seo...@gm...>
Date: Tue Sep 10 13:46:35 2013 +0900
elm_table: clean up newly added function elm_table_child_get.
- moved function position.
- added const to the first parameter.
---
src/lib/elm_table.c | 20 ++++++++++----------
src/lib/elm_table_legacy.h | 2 +-
2 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/src/lib/elm_table.c b/src/lib/elm_table.c
index c967f4b..93f2c4c 100644
--- a/src/lib/elm_table.c
+++ b/src/lib/elm_table.c
@@ -403,16 +403,6 @@ elm_table_pack_get(Evas_Object *subobj,
eo_do(obj, elm_obj_table_pack_get(subobj, col, row, colspan, rowspan));
}
-EAPI Evas_Object *
-elm_table_child_get(Evas_Object *obj, int col, int row)
-{
- Evas_Object *ret;
- ELM_TABLE_CHECK(obj) NULL;
-
- eo_do(obj, elm_obj_table_child_get(col, row, &ret));
- return ret;
-}
-
static void
_pack_get(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
{
@@ -450,6 +440,16 @@ _clear(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
evas_object_table_clear(wd->resize_obj, clear);
}
+EAPI Evas_Object *
+elm_table_child_get(const Evas_Object *obj, int col, int row)
+{
+ Evas_Object *ret;
+ ELM_TABLE_CHECK(obj) NULL;
+
+ eo_do((Eo *)obj, elm_obj_table_child_get(col, row, &ret));
+ return ret;
+}
+
static void
_child_get(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
{
diff --git a/src/lib/elm_table_legacy.h b/src/lib/elm_table_legacy.h
index 0f5d160..77dda3a 100644
--- a/src/lib/elm_table_legacy.h
+++ b/src/lib/elm_table_legacy.h
@@ -135,4 +135,4 @@ EAPI void elm_table_clear(Evas_Object *obj, Eina_Bool clear);
*
* @return Child of object if find if not return NULL.
*/
-EAPI Evas_Object *elm_table_child_get(Evas_Object *obj, int col, int row);
+EAPI Evas_Object *elm_table_child_get(const Evas_Object *obj, int col, int row);
--
|
|
From: Daniel J. S. - E. G. <no-...@en...> - 2013-09-10 03:52:03
|
seoz pushed a commit to branch master.
commit 5a8f3482228ce7971b4df12c8f36d9a1484b721f
Author: Daniel Juyung Seo <seo...@gm...>
Date: Tue Sep 10 12:42:25 2013 +0900
test_menu.c: code cleanup.
- removed unnecessary global variable.
- removed unnecessary function.
- fixed formatting.
- set widget parent correctly.
- added label to show the usage.
---
src/bin/test_menu.c | 76 ++++++++++++++++++++++++++---------------------------
1 file changed, 37 insertions(+), 39 deletions(-)
diff --git a/src/bin/test_menu.c b/src/bin/test_menu.c
index 98d8e7f..65a2244 100644
--- a/src/bin/test_menu.c
+++ b/src/bin/test_menu.c
@@ -4,20 +4,9 @@
#include <Elementary.h>
#ifndef ELM_LIB_QUICKLAUNCH
-static Evas_Object *menu;
-
-static void
-_resize(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj, void *event EINA_UNUSED)
-{
- Evas_Coord w, h;
- Evas_Object *rect = data;
-
- evas_object_geometry_get(obj, NULL, NULL, &w, &h);
- evas_object_resize(rect, w, h);
-}
-
static void
-_show(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info)
+_menu_show_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
+ void *event_info)
{
Evas_Event_Mouse_Down *ev = event_info;
elm_menu_move(data, ev->canvas.x, ev->canvas.y);
@@ -25,7 +14,7 @@ _show(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event
}
static void
-_populate_4(Elm_Object_Item *menu_it)
+_populate_4(Evas_Object *menu, Elm_Object_Item *menu_it)
{
Elm_Object_Item *menu_it2;
@@ -44,7 +33,7 @@ _populate_4(Elm_Object_Item *menu_it)
}
static void
-_populate_3(Elm_Object_Item *menu_it)
+_populate_3(Evas_Object *menu, Elm_Object_Item *menu_it)
{
Elm_Object_Item *menu_it2;
@@ -58,14 +47,14 @@ _populate_3(Elm_Object_Item *menu_it)
}
static void
-_populate_2(Elm_Object_Item *menu_it)
+_populate_2(Evas_Object *menu, Elm_Object_Item *menu_it)
{
Elm_Object_Item *menu_it2, *menu_it3;
elm_menu_item_add(menu, menu_it, "system-reboot", "menu 2", NULL, NULL);
menu_it2 = elm_menu_item_add(menu, menu_it, "system-shutdown", "menu 3",
NULL, NULL);
- _populate_3(menu_it2);
+ _populate_3(menu, menu_it2);
elm_menu_item_separator_add(menu, menu_it);
elm_menu_item_separator_add(menu, menu_it);
@@ -83,16 +72,16 @@ _populate_2(Elm_Object_Item *menu_it)
NULL, NULL);
elm_object_item_disabled_set(menu_it3, EINA_TRUE);
- _populate_4(menu_it2);
+ _populate_4(menu, menu_it2);
}
static void
-_populate_1(Evas_Object *obj, Elm_Object_Item *menu_it)
+_populate_1(Evas_Object *menu, Elm_Object_Item *menu_it)
{
Elm_Object_Item *menu_it2, *menu_it3;
Evas_Object *radio;
- radio = elm_radio_add(obj);
+ radio = elm_radio_add(menu);
elm_radio_state_value_set(radio, 0);
elm_radio_value_set(radio, 0);
elm_object_text_set(radio, "radio in menu");
@@ -101,22 +90,30 @@ _populate_1(Evas_Object *obj, Elm_Object_Item *menu_it)
menu_it3 = elm_menu_item_add(menu, menu_it, NULL, NULL, NULL, NULL);
elm_object_item_content_set(menu_it3, radio);
- _populate_2(menu_it2);
+ _populate_2(menu, menu_it2);
}
void
-test_menu(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
+test_menu(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
+ void *event_info EINA_UNUSED)
{
- Evas_Object *win, *rect;
+ Evas_Object *win, *rect, *lbl, *menu;
Elm_Object_Item *menu_it;
win = elm_win_util_standard_add("menu", "Menu");
elm_win_autodel_set(win, EINA_TRUE);
+ evas_object_resize(win, 350, 200);
+ evas_object_show(win);
+
+ lbl = elm_label_add(win);
+ elm_object_text_set(lbl, "Click background to populate menu!");
+ evas_object_size_hint_weight_set(lbl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_win_resize_object_add(win, lbl);
+ evas_object_show(lbl);
rect = evas_object_rectangle_add(evas_object_evas_get(win));
- evas_object_move(rect, 0, 0);
- evas_object_resize(rect, 350, 200);
evas_object_size_hint_weight_set(rect, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_win_resize_object_add(win, rect);
evas_object_color_set(rect, 0, 0, 0, 0);
evas_object_show(rect);
@@ -125,19 +122,17 @@ test_menu(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info
menu_it = elm_menu_item_add(menu, NULL, "mail-reply-all", "second item",
NULL, NULL);
- _populate_1(win, menu_it);
+ _populate_1(menu, menu_it);
elm_menu_item_add(menu, menu_it, "window-new", "sub menu", NULL, NULL);
- evas_object_event_callback_add(win, EVAS_CALLBACK_RESIZE, _resize, rect);
- evas_object_event_callback_add(rect, EVAS_CALLBACK_MOUSE_DOWN, _show, menu);
-
- evas_object_resize(win, 350, 200);
- evas_object_show(win);
+ evas_object_event_callback_add(rect, EVAS_CALLBACK_MOUSE_DOWN,
+ _menu_show_cb, menu);
}
static void
-_parent_set_bt_clicked(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
+_parent_set_bt_clicked(void *data, Evas_Object *obj EINA_UNUSED,
+ void *event_info EINA_UNUSED)
{
Evas_Object *mn = data;
if (!mn) return;
@@ -152,7 +147,8 @@ _parent_set_bt_clicked(void *data, Evas_Object *obj EINA_UNUSED, void *event_inf
}
static void
-_icon_set_bt_clicked(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
+_icon_set_bt_clicked(void *data, Evas_Object *obj EINA_UNUSED,
+ void *event_info EINA_UNUSED)
{
Elm_Object_Item *menu_it = data;
const char *icon_name = NULL;
@@ -168,7 +164,8 @@ _icon_set_bt_clicked(void *data, Evas_Object *obj EINA_UNUSED, void *event_info
}
static void
-_item_select_bt_clicked(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
+_item_select_bt_clicked(void *data, Evas_Object *obj EINA_UNUSED,
+ void *event_info EINA_UNUSED)
{
Elm_Object_Item *menu_it = data;
if (!menu_it) return;
@@ -177,7 +174,8 @@ _item_select_bt_clicked(void *data, Evas_Object *obj EINA_UNUSED, void *event_in
}
static void
-_separators_bt_clicked(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
+_separators_bt_clicked(void *data, Evas_Object *obj EINA_UNUSED,
+ void *event_info EINA_UNUSED)
{
const Eina_List *sis = NULL;
const Eina_List *l = NULL;
@@ -196,7 +194,8 @@ _separators_bt_clicked(void *data, Evas_Object *obj EINA_UNUSED, void *event_inf
}
static void
-_open_bt_clicked(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
+_open_bt_clicked(void *data, Evas_Object *obj EINA_UNUSED,
+ void *event_info EINA_UNUSED)
{
Evas_Object *mn = data;
if (!mn) return;
@@ -222,6 +221,8 @@ test_menu2(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_inf
win = elm_win_util_standard_add("menu2", "Menu 2");
elm_win_autodel_set(win, EINA_TRUE);
+ evas_object_resize(win, 320, 320);
+ evas_object_show(win);
bx = elm_box_add(win);
elm_box_horizontal_set(bx, EINA_TRUE);
@@ -298,9 +299,6 @@ test_menu2(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_inf
elm_box_pack_end(vbx, bt);
evas_object_smart_callback_add(bt, "clicked", _close_bt_clicked, mn);
evas_object_show(bt);
-
- evas_object_resize(win, 320, 320);
- evas_object_show(win);
}
#endif
--
|
|
From: José R. de S. - E. G. <no-...@en...> - 2013-09-09 21:58:22
|
zehortigoza pushed a commit to branch master.
commit 381cf28dbfef619f851f0b997f777f1dd171cca5
Author: José Roberto de Souza <jos...@in...>
Date: Mon Sep 9 18:48:29 2013 -0300
Add elm_table_child_get()
---
src/lib/elm_table.c | 25 +++++++++++++++++++++++++
src/lib/elm_table_eo.h | 15 +++++++++++++++
src/lib/elm_table_legacy.h | 11 +++++++++++
3 files changed, 51 insertions(+)
diff --git a/src/lib/elm_table.c b/src/lib/elm_table.c
index 9e68884..c967f4b 100644
--- a/src/lib/elm_table.c
+++ b/src/lib/elm_table.c
@@ -403,6 +403,16 @@ elm_table_pack_get(Evas_Object *subobj,
eo_do(obj, elm_obj_table_pack_get(subobj, col, row, colspan, rowspan));
}
+EAPI Evas_Object *
+elm_table_child_get(Evas_Object *obj, int col, int row)
+{
+ Evas_Object *ret;
+ ELM_TABLE_CHECK(obj) NULL;
+
+ eo_do(obj, elm_obj_table_child_get(col, row, &ret));
+ return ret;
+}
+
static void
_pack_get(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
{
@@ -441,6 +451,19 @@ _clear(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
}
static void
+_child_get(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
+{
+ int col = va_arg(*list, int);
+ int row = va_arg(*list, int);
+ Evas_Object **ret = va_arg(*list, Evas_Object **);
+
+ ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
+
+ if (ret)
+ *ret = evas_object_table_child_get(wd->resize_obj, col, row);
+}
+
+static void
_class_constructor(Eo_Class *klass)
{
const Eo_Op_Func_Description func_desc[] = {
@@ -465,6 +488,7 @@ _class_constructor(Eo_Class *klass)
EO_OP_FUNC(ELM_OBJ_TABLE_ID(ELM_OBJ_TABLE_SUB_ID_PACK_SET), _pack_set),
EO_OP_FUNC(ELM_OBJ_TABLE_ID(ELM_OBJ_TABLE_SUB_ID_PACK_GET), _pack_get),
EO_OP_FUNC(ELM_OBJ_TABLE_ID(ELM_OBJ_TABLE_SUB_ID_CLEAR), _clear),
+ EO_OP_FUNC(ELM_OBJ_TABLE_ID(ELM_OBJ_TABLE_SUB_ID_CHILD_GET), _child_get),
EO_OP_FUNC_SENTINEL
};
eo_class_funcs_set(klass, func_desc);
@@ -482,6 +506,7 @@ static const Eo_Op_Description op_desc[] = {
EO_OP_DESCRIPTION(ELM_OBJ_TABLE_SUB_ID_PACK_SET, "Set the packing location of an existing child of the table."),
EO_OP_DESCRIPTION(ELM_OBJ_TABLE_SUB_ID_PACK_GET, "Get the packing location of an existing child of the table."),
EO_OP_DESCRIPTION(ELM_OBJ_TABLE_SUB_ID_CLEAR, "Faster way to remove all child objects from a table object."),
+ EO_OP_DESCRIPTION(ELM_OBJ_TABLE_SUB_ID_CHILD_GET, "Get child object of table at given coordinates."),
EO_OP_DESCRIPTION_SENTINEL
};
diff --git a/src/lib/elm_table_eo.h b/src/lib/elm_table_eo.h
index 5f8f770..dbb3a73 100644
--- a/src/lib/elm_table_eo.h
+++ b/src/lib/elm_table_eo.h
@@ -15,6 +15,7 @@ enum
ELM_OBJ_TABLE_SUB_ID_PACK_SET,
ELM_OBJ_TABLE_SUB_ID_PACK_GET,
ELM_OBJ_TABLE_SUB_ID_CLEAR,
+ ELM_OBJ_TABLE_SUB_ID_CHILD_GET,
ELM_OBJ_TABLE_SUB_ID_LAST
};
@@ -160,3 +161,17 @@ enum
* @ingroup Table
*/
#define elm_obj_table_clear(clear) ELM_OBJ_TABLE_ID(ELM_OBJ_TABLE_SUB_ID_CLEAR), EO_TYPECHECK(Eina_Bool, clear)
+
+/**
+ * @def elm_obj_table_child_get
+ * @since 1.8
+ *
+ * @brief Get child object of table at given coordinates.
+ *
+ * @param[in] col column number of child object
+ * @param[in] row row number of child object
+ * @param[out] ret object at given col and row
+ *
+ * @ingroup Table
+ */
+#define elm_obj_table_child_get(col, row, ret) ELM_OBJ_TABLE_ID(ELM_OBJ_TABLE_SUB_ID_CHILD_GET), EO_TYPECHECK(int, col), EO_TYPECHECK(int, row), EO_TYPECHECK(Evas_Object **, ret)
diff --git a/src/lib/elm_table_legacy.h b/src/lib/elm_table_legacy.h
index 018fb0e..0f5d160 100644
--- a/src/lib/elm_table_legacy.h
+++ b/src/lib/elm_table_legacy.h
@@ -125,3 +125,14 @@ EAPI void elm_table_pack_get(Evas_Object *subobj, int *col, int *row, int *
* @ingroup Table
*/
EAPI void elm_table_clear(Evas_Object *obj, Eina_Bool clear);
+
+/**
+ * @brief Get child object of table at given coordinates.
+ *
+ * @param obj The table object
+ * @param col Column number of child object
+ * @param row Row number of child object
+ *
+ * @return Child of object if find if not return NULL.
+ */
+EAPI Evas_Object *elm_table_child_get(Evas_Object *obj, int col, int row);
--
|
|
From: Daniel J. S. - E. G. <no-...@en...> - 2013-09-09 10:16:28
|
seoz pushed a commit to branch master.
commit 301f7804469604473000d384070c76d4763a8fbd
Author: Daniel Juyung Seo <seo...@gm...>
Date: Mon Sep 9 19:15:26 2013 +0900
elc_popup.c: theck elm_layout_theme_set() return value.
- Handle successive code accordingly.
- This fixes coverity CID 1086781 and 1086782.
---
src/lib/elc_popup.c | 58 ++++++++++++++++++++++++++++++++---------------------
1 file changed, 35 insertions(+), 23 deletions(-)
diff --git a/src/lib/elc_popup.c b/src/lib/elc_popup.c
index 6532b7a..767b32c 100644
--- a/src/lib/elc_popup.c
+++ b/src/lib/elc_popup.c
@@ -357,22 +357,29 @@ _elm_popup_smart_theme(Eo *obj, void *_pd, va_list *list)
{
EINA_LIST_FOREACH(sd->items, elist, it)
{
- elm_layout_theme_set
- (VIEW(it), "popup", "item", elm_widget_style_get(obj));
- if (it->label)
+ if (!elm_layout_theme_set
+ (VIEW(it), "popup", "item", elm_widget_style_get(obj)))
+ CRITICAL("Failed to set layout!");
+ else
{
- elm_layout_text_set(VIEW(it), "elm.text", it->label);
- elm_layout_signal_emit(VIEW(it),
- "elm,state,item,text,visible", "elm");
+ if (it->label)
+ {
+ elm_layout_text_set(VIEW(it), "elm.text", it->label);
+ elm_layout_signal_emit(VIEW(it),
+ "elm,state,item,text,visible",
+ "elm");
+ }
+ if (it->icon)
+ elm_layout_signal_emit(VIEW(it),
+ "elm,state,item,icon,visible",
+ "elm");
+ if (it->disabled)
+ elm_layout_signal_emit(VIEW(it),
+ "elm,state,item,disabled", "elm");
+ evas_object_show(VIEW(it));
+ edje_object_message_signal_process(
+ elm_layout_edje_get(VIEW(it)));
}
- if (it->icon)
- elm_layout_signal_emit(VIEW(it),
- "elm,state,item,icon,visible", "elm");
- if (it->disabled)
- elm_layout_signal_emit(VIEW(it),
- "elm,state,item,disabled", "elm");
- evas_object_show(VIEW(it));
- edje_object_message_signal_process(elm_layout_edje_get(VIEW(it)));
}
_scroller_size_calc(obj);
}
@@ -854,12 +861,16 @@ _item_new(Elm_Popup_Item *it)
elm_widget_item_signal_emit_hook_set(it, _item_signal_emit_hook);
VIEW(it) = elm_layout_add(WIDGET(it));
- elm_layout_theme_set(VIEW(it), "popup", "item",
- elm_widget_style_get(WIDGET(it)));
- elm_layout_signal_callback_add(VIEW(it), "elm,action,click", "",
- _item_select_cb, it);
- evas_object_size_hint_align_set(VIEW(it), EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(VIEW(it));
+ if (!elm_layout_theme_set(VIEW(it), "popup", "item",
+ elm_widget_style_get(WIDGET(it))))
+ CRITICAL("Failed to set layout!");
+ else
+ {
+ elm_layout_signal_callback_add(VIEW(it), "elm,action,click", "",
+ _item_select_cb, it);
+ evas_object_size_hint_align_set(VIEW(it), EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_show(VIEW(it));
+ }
}
static Eina_Bool
@@ -1519,9 +1530,10 @@ _elm_popup_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
if (!elm_layout_theme_set
(priv->content_area, "popup", "content", elm_widget_style_get(obj)))
CRITICAL("Failed to set layout!");
- evas_object_event_callback_add
- (priv->content_area, EVAS_CALLBACK_CHANGED_SIZE_HINTS,
- _size_hints_changed_cb, obj);
+ else
+ evas_object_event_callback_add
+ (priv->content_area, EVAS_CALLBACK_CHANGED_SIZE_HINTS,
+ _size_hints_changed_cb, obj);
priv->content_text_wrap_type = ELM_WRAP_MIXED;
evas_object_smart_callback_add
--
|
|
From: Rafael A. - E. G. <no-...@en...> - 2013-09-09 10:16:28
|
seoz pushed a commit to branch elementary-1.7.
commit 265eff94bb6274c284e8e111192f9922906990ac
Author: Rafael Antognolli <raf...@in...>
Date: Thu Sep 5 12:06:00 2013 -0300
elm/examples: Autodetect engine on the glview example too.
---
src/examples/glview_example_01.c | 4 ----
1 file changed, 4 deletions(-)
diff --git a/src/examples/glview_example_01.c b/src/examples/glview_example_01.c
index c4bbd1e..a955eef 100644
--- a/src/examples/glview_example_01.c
+++ b/src/examples/glview_example_01.c
@@ -249,10 +249,6 @@ elm_main(int argc, char **argv)
if (!(gld = calloc(1, sizeof(GLData)))) return 1;
- // set the preferred engine to opengl_x11. if it isnt' available it
- // may use another transparently
- elm_config_preferred_engine_set("opengl_x11");
-
win = elm_win_add(NULL, "glview simple", ELM_WIN_BASIC);
elm_win_title_set(win, "GLView Simple");
elm_win_autodel_set(win, EINA_TRUE);
--
|
|
From: Rafael A. - E. G. <no-...@en...> - 2013-09-09 10:16:27
|
seoz pushed a commit to branch elementary-1.7.
commit 27c5c518907ff8edf03fa43059d621ee9c48a0a6
Author: Rafael Antognolli <raf...@in...>
Date: Thu Sep 5 11:52:46 2013 -0300
elm/tests: Autodetect engine, instead of hardcode it.
---
src/bin/test_glview.c | 4 ----
src/bin/test_glview_simple.c | 4 ----
2 files changed, 8 deletions(-)
diff --git a/src/bin/test_glview.c b/src/bin/test_glview.c
index 2bd6dc9..a97cc47 100644
--- a/src/bin/test_glview.c
+++ b/src/bin/test_glview.c
@@ -577,11 +577,7 @@ test_glview(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info
gldata_init(gld);
// new window - do the usual and give it a name, title and delete handler
- // Set the engine to opengl_x11
- elm_config_preferred_engine_set("opengl_x11");
win = elm_win_util_standard_add("glview", "GLView");
- // Set preferred engine back to default from config
- elm_config_preferred_engine_set(NULL);
elm_win_autodel_set(win, EINA_TRUE);
diff --git a/src/bin/test_glview_simple.c b/src/bin/test_glview_simple.c
index fc21ef4..d62b2c2 100644
--- a/src/bin/test_glview_simple.c
+++ b/src/bin/test_glview_simple.c
@@ -238,11 +238,7 @@ test_glview_simple(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *eve
if (!(gld = calloc(1, sizeof(GLData)))) return;
- // Set the engine to opengl_x11
- elm_config_preferred_engine_set("opengl_x11");
win = elm_win_util_standard_add("glview simple", "GLView Simple");
- // Set preferred engine back to default from config
- elm_config_preferred_engine_set(NULL);
elm_win_autodel_set(win, EINA_TRUE);
--
|
|
From: Michaël B. (y. - E. G. <no-...@en...> - 2013-09-09 10:01:39
|
yoz pushed a commit to branch master.
commit 7f8d1e1657efca92c7962ce8b8f536eeebd7fcaa
Author: Michaël Bouchaud (yoz) <yo...@ef...>
Date: Mon Sep 9 12:00:58 2013 +0200
elementary: don't send unrealized item signal on item update
---
src/lib/elm_gengrid.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/lib/elm_gengrid.c b/src/lib/elm_gengrid.c
index 08a9aa5..f4fcb06 100644
--- a/src/lib/elm_gengrid.c
+++ b/src/lib/elm_gengrid.c
@@ -2975,7 +2975,7 @@ elm_gengrid_item_update(Elm_Object_Item *item)
if (!it->realized) return;
if (it->want_unrealize) return;
- _elm_gengrid_item_unrealize(it, EINA_FALSE);
+ _elm_gengrid_item_unrealize(it, EINA_TRUE);
_item_realize(it);
_item_place(it, it->x, it->y);
}
--
|
|
From: Cedric B. - E. G. <no-...@en...> - 2013-09-09 09:59:45
|
cedric pushed a commit to branch master.
commit 5c82716fe899417902e17d0d26b7d467df186cbe
Author: Cedric Bail <ced...@sa...>
Date: Mon Sep 9 18:59:21 2013 +0900
evas: factorize some code.
---
src/modules/evas/engines/gl_common/evas_gl_image.c | 275 ++++++++-------------
1 file changed, 103 insertions(+), 172 deletions(-)
diff --git a/src/modules/evas/engines/gl_common/evas_gl_image.c b/src/modules/evas/engines/gl_common/evas_gl_image.c
index fc35a24..769b65a 100644
--- a/src/modules/evas/engines/gl_common/evas_gl_image.c
+++ b/src/modules/evas/engines/gl_common/evas_gl_image.c
@@ -702,12 +702,94 @@ evas_gl_common_image_map_draw(Evas_Engine_GL_Context *gc, Evas_GL_Image *im,
}
void
+evas_gl_common_image_push(Evas_Engine_GL_Context *gc, Evas_GL_Image *im,
+ int dx, int dy, int dw, int dh,
+ int sx, int sy, int sw, int sh,
+ int cx, int cy, int cw, int ch,
+ int r, int g, int b, int a, int smooth,
+ int yuv, int yuy2, int nv12)
+{
+ double ssx, ssy, ssw, ssh;
+ int nx, ny, nw, nh;
+
+ nx = dx; ny = dy; nw = dw; nh = dh;
+ RECTS_CLIP_TO_RECT(nx, ny, nw, nh,
+ cx, cy, cw, ch);
+ if ((nw < 1) || (nh < 1)) return;
+ if ((nx == dx) && (ny == dy) && (nw == dw) && (nh == dh))
+ {
+ if (yuv)
+ evas_gl_common_context_yuv_push(gc,
+ im->tex,
+ sx, sy, sw, sh,
+ dx, dy, dw, dh,
+ r, g, b, a,
+ smooth);
+ else if (yuy2)
+ evas_gl_common_context_yuy2_push(gc,
+ im->tex,
+ sx, sy, sw, sh,
+ dx, dy, dw, dh,
+ r, g, b, a,
+ smooth);
+ else if (nv12)
+ evas_gl_common_context_nv12_push(gc,
+ im->tex,
+ sx, sy, sw, sh,
+ dx, dy, dw, dh,
+ r, g, b, a,
+ smooth);
+ else
+ evas_gl_common_context_image_push(gc,
+ im->tex,
+ sx, sy, sw, sh,
+ dx, dy, dw, dh,
+ r, g, b, a,
+ smooth, im->tex_only);
+ return;
+ }
+
+ ssx = (double)sx + ((double)(sw * (nx - dx)) / (double)(dw));
+ ssy = (double)sy + ((double)(sh * (ny - dy)) / (double)(dh));
+ ssw = ((double)sw * (double)(nw)) / (double)(dw);
+ ssh = ((double)sh * (double)(nh)) / (double)(dh);
+
+ if (yuv)
+ evas_gl_common_context_yuv_push(gc,
+ im->tex,
+ ssx, ssy, ssw, ssh,
+ nx, ny, nw, nh,
+ r, g, b, a,
+ smooth);
+ else if (yuy2)
+ evas_gl_common_context_yuy2_push(gc,
+ im->tex,
+ ssx, ssy, ssw, ssh,
+ nx, ny, nw, nh,
+ r, g, b, a,
+ smooth);
+ else if (nv12)
+ evas_gl_common_context_nv12_push(gc,
+ im->tex,
+ ssx, ssy, ssw, ssh,
+ nx, ny, nw, nh,
+ r, g, b, a,
+ smooth);
+ else
+ evas_gl_common_context_image_push(gc,
+ im->tex,
+ ssx, ssy, ssw, ssh,
+ nx, ny, nw, nh,
+ r, g, b, a,
+ smooth, im->tex_only);
+}
+
+void
evas_gl_common_image_draw(Evas_Engine_GL_Context *gc, Evas_GL_Image *im, int sx, int sy, int sw, int sh, int dx, int dy, int dw, int dh, int smooth)
{
static Cutout_Rects *rects = NULL;
RGBA_Draw_Context *dc;
int r, g, b, a;
- double ssx, ssy, ssw, ssh;
Cutout_Rect *rct;
int c, cx, cy, cw, ch;
int i;
@@ -755,111 +837,22 @@ evas_gl_common_image_draw(Evas_Engine_GL_Context *gc, Evas_GL_Image *im, int sx,
{
if (gc->dc->clip.use)
{
- int nx, ny, nw, nh;
-
- nx = dx; ny = dy; nw = dw; nh = dh;
- RECTS_CLIP_TO_RECT(nx, ny, nw, nh,
- gc->dc->clip.x, gc->dc->clip.y,
- gc->dc->clip.w, gc->dc->clip.h);
- if ((nw < 1) || (nh < 1)) return;
- if ((nx == dx) && (ny == dy) && (nw == dw) && (nh == dh))
- {
- if (yuv)
- evas_gl_common_context_yuv_push(gc,
- im->tex,
- sx, sy, sw, sh,
- dx, dy, dw, dh,
- r, g, b, a,
- smooth);
- else if (yuy2)
- evas_gl_common_context_yuy2_push(gc,
- im->tex,
- sx, sy, sw, sh,
- dx, dy, dw, dh,
- r, g, b, a,
- smooth);
- else if (nv12)
- evas_gl_common_context_nv12_push(gc,
- im->tex,
- sx, sy, sw, sh,
- dx, dy, dw, dh,
- r, g, b, a,
- smooth);
- else
-
- evas_gl_common_context_image_push(gc,
- im->tex,
- sx, sy, sw, sh,
- dx, dy, dw, dh,
- r, g, b, a,
- smooth, im->tex_only);
- return;
- }
-
- ssx = (double)sx + ((double)(sw * (nx - dx)) / (double)(dw));
- ssy = (double)sy + ((double)(sh * (ny - dy)) / (double)(dh));
- ssw = ((double)sw * (double)(nw)) / (double)(dw);
- ssh = ((double)sh * (double)(nh)) / (double)(dh);
-
- if (yuv)
- evas_gl_common_context_yuv_push(gc,
- im->tex,
- ssx, ssy, ssw, ssh,
- nx, ny, nw, nh,
- r, g, b, a,
- smooth);
- else if (yuy2)
- evas_gl_common_context_yuy2_push(gc,
- im->tex,
- ssx, ssy, ssw, ssh,
- nx, ny, nw, nh,
- r, g, b, a,
- smooth);
- else if (nv12)
- evas_gl_common_context_nv12_push(gc,
- im->tex,
- ssx, ssy, ssw, ssh,
- nx, ny, nw, nh,
- r, g, b, a,
- smooth);
- else
- evas_gl_common_context_image_push(gc,
- im->tex,
- ssx, ssy, ssw, ssh,
- nx, ny, nw, nh,
- r, g, b, a,
- smooth, im->tex_only);
+ evas_gl_common_image_push(gc, im,
+ dx, dy, dw, dh,
+ sx, sy, sw, sh,
+ gc->dc->clip.x, gc->dc->clip.y,
+ gc->dc->clip.w, gc->dc->clip.h,
+ r, g, b, a, smooth,
+ yuv, yuy2, nv12);
}
else
{
- if (yuv)
- evas_gl_common_context_yuv_push(gc,
- im->tex,
- sx, sy, sw, sh,
- dx, dy, dw, dh,
- r, g, b, a,
- smooth);
- else if (yuy2)
- evas_gl_common_context_yuy2_push(gc,
- im->tex,
- sx, sy, sw, sh,
- dx, dy, dw, dh,
- r, g, b, a,
- smooth);
- else if (nv12)
- evas_gl_common_context_nv12_push(gc,
- im->tex,
- sx, sy, sw, sh,
- dx, dy, dw, dh,
- r, g, b, a,
- smooth);
- else
- evas_gl_common_context_image_push(gc,
- im->tex,
- sx, sy, sw, sh,
- dx, dy, dw, dh,
- r, g, b, a,
- smooth, im->tex_only);
+ evas_gl_common_image_push(gc, im,
+ dx, dy, dw, dh,
+ sx, sy, sw, sh,
+ sx, sy, sw, sh,
+ r, g, b, a, smooth,
+ yuv, yuy2, nv12);
}
return;
}
@@ -877,76 +870,14 @@ evas_gl_common_image_draw(Evas_Engine_GL_Context *gc, Evas_GL_Image *im, int sx,
rects = evas_common_draw_context_apply_cutouts(dc, rects);
for (i = 0; i < rects->active; ++i)
{
- int nx, ny, nw, nh;
-
rct = rects->rects + i;
- nx = dx; ny = dy; nw = dw; nh = dh;
- RECTS_CLIP_TO_RECT(nx, ny, nw, nh, rct->x, rct->y, rct->w, rct->h);
- if ((nw < 1) || (nh < 1)) continue;
- if ((nx == dx) && (ny == dy) && (nw == dw) && (nh == dh))
- {
- if (yuv)
- evas_gl_common_context_yuv_push(gc,
- im->tex,
- sx, sy, sw, sh,
- dx, dy, dw, dh,
- r, g, b, a,
- smooth);
- else if (yuy2)
- evas_gl_common_context_yuy2_push(gc,
- im->tex,
- sx, sy, sw, sh,
- dx, dy, dw, dh,
- r, g, b, a,
- smooth);
- else if (nv12)
- evas_gl_common_context_nv12_push(gc,
- im->tex,
- sx, sy, sw, sh,
- dx, dy, dw, dh,
- r, g, b, a,
- smooth);
- else
- evas_gl_common_context_image_push(gc,
- im->tex,
- sx, sy, sw, sh,
- dx, dy, dw, dh,
- r, g, b, a,
- smooth, im->tex_only);
- continue;
- }
- ssx = (double)sx + ((double)(sw * (nx - dx)) / (double)(dw));
- ssy = (double)sy + ((double)(sh * (ny - dy)) / (double)(dh));
- ssw = ((double)sw * (double)(nw)) / (double)(dw);
- ssh = ((double)sh * (double)(nh)) / (double)(dh);
- if (yuv)
- evas_gl_common_context_yuv_push(gc,
- im->tex,
- ssx, ssy, ssw, ssh,
- nx, ny, nw, nh,
- r, g, b, a,
- smooth);
- else if (yuy2)
- evas_gl_common_context_yuy2_push(gc,
- im->tex,
- ssx, ssy, ssw, ssh,
- nx, ny, nw, nh,
- r, g, b, a,
- smooth);
- else if (nv12)
- evas_gl_common_context_nv12_push(gc,
- im->tex,
- ssx, ssy, ssw, ssh,
- nx, ny, nw, nh,
- r, g, b, a,
- smooth);
- else
- evas_gl_common_context_image_push(gc,
- im->tex,
- ssx, ssy, ssw, ssh,
- nx, ny, nw, nh,
- r, g, b, a,
- smooth, im->tex_only);
+
+ evas_gl_common_image_push(gc, im,
+ dx, dy, dw, dh,
+ sx, sy, sw, sh,
+ rct->x, rct->y, rct->w, rct->h,
+ r, g, b, a, smooth,
+ yuv, yuy2, nv12);
}
/* restore clip info */
gc->dc->clip.use = c; gc->dc->clip.x = cx; gc->dc->clip.y = cy; gc->dc->clip.w = cw; gc->dc->clip.h = ch;
--
|
|
From: Michaël B. (y. - E. G. <no-...@en...> - 2013-09-09 09:54:09
|
yoz pushed a commit to branch master.
commit 8b2d313223fd189c0397b3e094e61d686eecdae5
Author: Michaël Bouchaud (yoz) <yo...@ef...>
Date: Mon Sep 9 11:53:47 2013 +0200
elementary: avoid some glitter on gengrid item creation
---
src/lib/elm_gengrid.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/lib/elm_gengrid.c b/src/lib/elm_gengrid.c
index c8269d2..08a9aa5 100644
--- a/src/lib/elm_gengrid.c
+++ b/src/lib/elm_gengrid.c
@@ -870,6 +870,7 @@ _item_realize(Elm_Gen_Item *it)
if (elm_widget_item_disabled_get(it))
edje_object_signal_emit(VIEW(it), "elm,state,disabled", "elm");
}
+ edje_object_message_signal_process(VIEW(it));
evas_object_show(VIEW(it));
if (it->tooltip.content_cb)
--
|
|
From: Carsten H. (R. - E. G. <no-...@en...> - 2013-09-09 09:41:11
|
raster pushed a commit to branch master.
commit 3b539d4a0f06c3ed27a8d43ed9cfc8bc3b61786b
Author: Carsten Haitzler (Rasterman) <ra...@ra...>
Date: Mon Sep 9 18:41:10 2013 +0900
reverse tablet enabled/disabled in config dialog.
---
src/modules/conf_bindings/e_int_config_acpibindings.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/modules/conf_bindings/e_int_config_acpibindings.c b/src/modules/conf_bindings/e_int_config_acpibindings.c
index 2d6df62..e597371 100644
--- a/src/modules/conf_bindings/e_int_config_acpibindings.c
+++ b/src/modules/conf_bindings/e_int_config_acpibindings.c
@@ -413,8 +413,8 @@ _binding_label_get(E_Config_Binding_Acpi *binding)
return _("Battery Button");
if (binding->type == E_ACPI_TYPE_TABLET)
{
- if (binding->status == 0) return _("Tablet Enabled");
- if (binding->status == 1) return _("Tablet Disabled");
+ if (binding->status == 0) return _("Tablet Disabled");
+ if (binding->status == 1) return _("Tablet Enabled");
return _("Tablet");
}
--
|
|
From: Daniel Z. - E. G. <no-...@en...> - 2013-09-09 07:35:14
|
jackdanielz pushed a commit to branch master.
commit dc9c3ee6f9b784400215dfc7410729c5c786e753
Author: Daniel Zaoui <dan...@sa...>
Date: Mon Sep 9 10:12:45 2013 +0300
Genlist: fix memory not freed when item is expanded.
Thanks to TaeHwan Kim for the fix.
---
src/lib/elm_genlist.c | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/src/lib/elm_genlist.c b/src/lib/elm_genlist.c
index d672d11..99da991 100644
--- a/src/lib/elm_genlist.c
+++ b/src/lib/elm_genlist.c
@@ -3076,6 +3076,16 @@ _item_del(Elm_Gen_Item *it)
ELM_GENLIST_DATA_GET_FROM_ITEM(it, sd);
evas_event_freeze(evas_object_evas_get(obj));
+
+ // FIXME: relative will be better to be fixed. it is too harsh.
+ if (it->item->rel)
+ it->item->rel->item->rel_revs =
+ eina_list_remove(it->item->rel->item->rel_revs, it);
+ if (it->item->rel_revs)
+ {
+ Elm_Gen_Item *tmp;
+ EINA_LIST_FREE(it->item->rel_revs, tmp) tmp->item->rel = NULL;
+ }
elm_genlist_item_subitems_clear((Elm_Object_Item *)it);
if (sd->show_item == it) sd->show_item = NULL;
if (it->realized) _elm_genlist_item_unrealize(it, EINA_FALSE);
@@ -4015,6 +4025,9 @@ _item_move_after(Elm_Gen_Item *it,
sd->items = eina_inlist_append_relative
(sd->items, EINA_INLIST_GET(it), EINA_INLIST_GET(after));
+ if (it->item->rel)
+ it->item->rel->item->rel_revs =
+ eina_list_remove(it->item->rel->item->rel_revs, it);
it->item->rel = after;
after->item->rel_revs = eina_list_append(after->item->rel_revs, it);
it->item->before = EINA_FALSE;
@@ -4084,6 +4097,9 @@ _item_move_before(Elm_Gen_Item *it,
if (it->item->block) _item_block_del(it);
sd->items = eina_inlist_prepend_relative
(sd->items, EINA_INLIST_GET(it), EINA_INLIST_GET(before));
+ if (it->item->rel)
+ it->item->rel->item->rel_revs =
+ eina_list_remove(it->item->rel->item->rel_revs, it);
it->item->rel = before;
before->item->rel_revs = eina_list_append(before->item->rel_revs, it);
it->item->before = EINA_TRUE;
--
|
|
From: Chris M. - E. G. <no-...@en...> - 2013-09-09 06:34:22
|
devilhorns pushed a commit to branch master.
commit 0844e29c63729d7844a494aaa1ab4e5799878a2c
Author: Chris Michael <cp....@sa...>
Date: Mon Sep 9 07:33:08 2013 +0100
Add missing __UNUSED__
Signed-off-by: Chris Michael <cp....@sa...>
---
src/modules/syscon/e_syscon_gadget.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/modules/syscon/e_syscon_gadget.c b/src/modules/syscon/e_syscon_gadget.c
index 7708343..31fe73b 100644
--- a/src/modules/syscon/e_syscon_gadget.c
+++ b/src/modules/syscon/e_syscon_gadget.c
@@ -239,7 +239,7 @@ _cb_menu_post(void *data, E_Menu *m __UNUSED__)
}
static void
-_cb_menu_sel(void *data, E_Menu *m, E_Menu_Item *mi __UNUSED__)
+_cb_menu_sel(void *data, E_Menu *m __UNUSED__, E_Menu_Item *mi __UNUSED__)
{
E_Config_Syscon_Action *sca;
E_Action *act;
--
|
|
From: Carsten H. (R. - E. G. <no-...@en...> - 2013-09-09 02:29:21
|
raster pushed a commit to branch master.
commit c7694a9e6a0aea9ee8b2a5b998dff972b41e1d27
Author: Carsten Haitzler (Rasterman) <ra...@ra...>
Date: Mon Sep 9 11:29:14 2013 +0900
add simple tablet acpi button event.
---
src/bin/e_acpi.c | 1 +
src/bin/e_acpi.h | 3 ++-
src/modules/conf_bindings/e_int_config_acpibindings.c | 12 ++++++++++++
3 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/src/bin/e_acpi.c b/src/bin/e_acpi.c
index d6ab314..0e8f1a2 100644
--- a/src/bin/e_acpi.c
+++ b/src/bin/e_acpi.c
@@ -76,6 +76,7 @@ static E_ACPI_Device_Simple _devices_simple[] =
{"button/zoom", E_ACPI_TYPE_ZOOM},
{"button/screenlock", E_ACPI_TYPE_SCREENLOCK},
{"button/battery", E_ACPI_TYPE_BATTERY_BUTTON},
+ {"video/tabletmode", E_ACPI_TYPE_TABLET},
{NULL, E_ACPI_TYPE_UNKNOWN}
};
diff --git a/src/bin/e_acpi.h b/src/bin/e_acpi.h
index 60b8df7..4a411d5 100644
--- a/src/bin/e_acpi.h
+++ b/src/bin/e_acpi.h
@@ -33,7 +33,8 @@ typedef enum _E_Acpi_Type
E_ACPI_TYPE_TABLET_OFF, // 26
E_ACPI_TYPE_ZOOM, // 27
E_ACPI_TYPE_SCREENLOCK, // 28
- E_ACPI_TYPE_BATTERY_BUTTON // 29
+ E_ACPI_TYPE_BATTERY_BUTTON, // 29
+ E_ACPI_TYPE_TABLET // 30
} E_Acpi_Type;
/* enum for acpi signals */
diff --git a/src/modules/conf_bindings/e_int_config_acpibindings.c b/src/modules/conf_bindings/e_int_config_acpibindings.c
index e34232c..2d6df62 100644
--- a/src/modules/conf_bindings/e_int_config_acpibindings.c
+++ b/src/modules/conf_bindings/e_int_config_acpibindings.c
@@ -391,6 +391,12 @@ _binding_label_get(E_Config_Binding_Acpi *binding)
return _("S1");
if (binding->type == E_ACPI_TYPE_VAIO)
return _("Vaio");
+ if (binding->type == E_ACPI_TYPE_MUTE)
+ return _("Mute");
+ if (binding->type == E_ACPI_TYPE_VOLUME)
+ return _("Volume");
+ if (binding->type == E_ACPI_TYPE_BRIGHTNESS)
+ return _("Brightness");
if (binding->type == E_ACPI_TYPE_VOLUME_DOWN)
return _("Volume Down");
if (binding->type == E_ACPI_TYPE_VOLUME_UP)
@@ -405,6 +411,12 @@ _binding_label_get(E_Config_Binding_Acpi *binding)
return _("Screenlock");
if (binding->type == E_ACPI_TYPE_BATTERY_BUTTON)
return _("Battery Button");
+ if (binding->type == E_ACPI_TYPE_TABLET)
+ {
+ if (binding->status == 0) return _("Tablet Enabled");
+ if (binding->status == 1) return _("Tablet Disabled");
+ return _("Tablet");
+ }
return _("Unknown");
}
--
|
|
From: Kim W. - E. G. <no-...@en...> - 2013-09-08 20:19:11
|
kwo pushed a commit to branch master.
commit a6c5d24810ea9e6f29d3be4d10684afea9d30e2f
Author: Kim Woelders <ki...@wo...>
Date: Sun Sep 8 22:11:04 2013 +0200
Fixup after list changes.
---
src/buttons.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/buttons.c b/src/buttons.c
index f14e25d..1389d35 100644
--- a/src/buttons.c
+++ b/src/buttons.c
@@ -446,9 +446,9 @@ ButtonDragEnd(Button * b)
void
ButtonsForeach(int id, Desk * dsk, void (*func) (Button * b))
{
- Button *b;
+ Button *b, *tmp;
- LIST_FOR_EACH(Button, &button_list, b)
+ LIST_FOR_EACH_SAFE(Button, &button_list, b, tmp)
{
if (id >= 0 && id != b->id)
continue;
--
|
|
From: Boris F. - E. G. <no-...@en...> - 2013-09-08 18:39:15
|
billiob pushed a commit to branch master.
commit 6bfac4be48c69eec890db80364b3ed540f929b30
Author: Boris Faure <bi...@gm...>
Date: Sun Sep 8 20:37:33 2013 +0200
forgot to remove some code
---
src/bin/options_theme.c | 5 -----
1 file changed, 5 deletions(-)
diff --git a/src/bin/options_theme.c b/src/bin/options_theme.c
index 49ab86b..8903d2b 100644
--- a/src/bin/options_theme.c
+++ b/src/bin/options_theme.c
@@ -61,17 +61,12 @@ _cb_op_theme_sel(void *data, Evas_Object *obj EINA_UNUSED, void *event EINA_UNUS
{
Theme *t = data;
Config *config = termio_config_get(t->term);
- Evas_Object *edje = termio_theme_get(t->term);
if ((config->theme) && (!strcmp(t->name, config->theme)))
return;
eina_stringshare_replace(&(config->theme), t->name);
config_save(config, NULL);
- if (!theme_apply(edje, config, "terminology/background"))
- ERR("Couldn't find terminology theme!");
- colors_term_init(termio_textgrid_get(t->term), edje);
- termio_config_set(t->term, config);
change_theme(termio_win_get(t->term), config);
}
--
|
|
From: Boris F. - E. G. <no-...@en...> - 2013-09-08 18:23:41
|
billiob pushed a commit to branch master.
commit 2dc337428a45e0c8cf5dd44f3f3cf0af7c828af9
Author: Boris Faure <bi...@gm...>
Date: Sun Sep 8 20:16:24 2013 +0200
change theme on every tab/split. Closes T28
---
src/bin/main.c | 33 +++++++++++++++++++++++++++++++++
src/bin/main.h | 2 ++
src/bin/options_theme.c | 2 ++
3 files changed, 37 insertions(+)
diff --git a/src/bin/main.c b/src/bin/main.c
index 1dc85a7..bcb5d86 100644
--- a/src/bin/main.c
+++ b/src/bin/main.c
@@ -96,6 +96,39 @@ static Term *main_term_new(Win *wn, Config *config, const char *cmd, Eina_Bool l
static void _term_focus(Term *term);
static void _sel_restore(Split *sp);
+static Win *
+_win_find(Evas_Object *win)
+{
+ Win *wn;
+ Eina_List *l;
+
+ EINA_LIST_FOREACH(wins, l, wn)
+ {
+ if (wn->win == win) return wn;
+ }
+ return NULL;
+}
+
+void change_theme(Evas_Object *win, Config *config)
+{
+ Win *wn;
+ Eina_List *l;
+ Term *term;
+
+ wn = _win_find(win);
+ if (!wn) return;
+
+ EINA_LIST_FOREACH(wn->terms, l, term)
+ {
+ Evas_Object *edje = termio_theme_get(term->term);
+
+ if (!theme_apply(edje, config, "terminology/background"))
+ ERR("Couldn't find terminology theme!");
+ colors_term_init(termio_textgrid_get(term->term), edje);
+ termio_config_set(term->term, config);
+ }
+}
+
static void
_split_free(Split *sp)
{
diff --git a/src/bin/main.h b/src/bin/main.h
index fdb7eb7..c91dc07 100644
--- a/src/bin/main.h
+++ b/src/bin/main.h
@@ -13,4 +13,6 @@ void main_media_update(const Config *config);
void main_media_mute_update(const Config *config);
void main_config_sync(const Config *config);
+void change_theme(Evas_Object *win, Config *config);
+
#endif
diff --git a/src/bin/options_theme.c b/src/bin/options_theme.c
index dddda4c..49ab86b 100644
--- a/src/bin/options_theme.c
+++ b/src/bin/options_theme.c
@@ -6,6 +6,7 @@
#include "options.h"
#include "options_theme.h"
#include "utils.h"
+#include "main.h"
static Evas_Object *op_themelist;
@@ -71,6 +72,7 @@ _cb_op_theme_sel(void *data, Evas_Object *obj EINA_UNUSED, void *event EINA_UNUS
ERR("Couldn't find terminology theme!");
colors_term_init(termio_textgrid_get(t->term), edje);
termio_config_set(t->term, config);
+ change_theme(termio_win_get(t->term), config);
}
static int
--
|
|
From: Boris F. - E. G. <no-...@en...> - 2013-09-08 18:23:40
|
billiob pushed a commit to branch master.
commit 4a79fe43d55861161f425d7d27cc734904fa9afe
Author: Boris Faure <bi...@gm...>
Date: Sun Sep 8 17:28:17 2013 +0200
fix focus issue when changing options. Closes #T27
---
src/bin/options.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/src/bin/options.c b/src/bin/options.c
index f5042a8..1081c62 100644
--- a/src/bin/options.c
+++ b/src/bin/options.c
@@ -235,14 +235,15 @@ options_toggle(Evas_Object *win, Evas_Object *bg, Evas_Object *term,
edje_object_signal_callback_del(bg, "optdetails,hide,done",
"terminology",
_cb_opdt_hide_done);
+ elm_object_focus_set(op_frame, EINA_FALSE);
+ elm_object_focus_set(op_opbox, EINA_FALSE);
+ elm_object_focus_set(op_toolbar, EINA_FALSE);
+ if (op_donecb) op_donecb(op_donedata);
evas_object_del(op_over);
op_over = NULL;
edje_object_signal_emit(bg, "options,hide", "terminology");
edje_object_signal_emit(bg, "optdetails,hide", "terminology");
op_out = EINA_FALSE;
- elm_object_focus_set(op_frame, EINA_FALSE);
- if (op_donecb) op_donecb(op_donedata);
-// elm_object_focus_set(term, EINA_TRUE);
if (op_del_timer) ecore_timer_del(op_del_timer);
op_del_timer = ecore_timer_add(10.0, _cb_op_del_delay, NULL);
}
--
|
|
From: Yakov G. - E. G. <no-...@en...> - 2013-09-08 15:35:17
|
yakov pushed a commit to branch master.
commit 55f692310af41d39f449eb672e2959444f3ebfc2
Author: Yakov Goldberg <ya...@sa...>
Date: Sun Sep 8 18:16:10 2013 +0300
thumb: wrong Eo sub_id was used
---
src/lib/elm_thumb_eo.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/lib/elm_thumb_eo.h b/src/lib/elm_thumb_eo.h
index 1bf250c..02ac25a 100644
--- a/src/lib/elm_thumb_eo.h
+++ b/src/lib/elm_thumb_eo.h
@@ -260,7 +260,7 @@ enum
*
* @ingroup Thumb
*/
-#define elm_obj_thumb_crop_align_get(cropx, cropy) ELM_OBJ_THUMB_ID(ELM_OBJ_THUMB_SUB_ID_THUMB_SIZE_GET), EO_TYPECHECK(double *, cropx), EO_TYPECHECK(double *, cropy)
+#define elm_obj_thumb_crop_align_get(cropx, cropy) ELM_OBJ_THUMB_ID(ELM_OBJ_THUMB_SUB_ID_CROP_ALIGN_GET), EO_TYPECHECK(double *, cropx), EO_TYPECHECK(double *, cropy)
/**
* @def elm_obj_thumb_compress_set
--
|