You can subscribe to this list here.
2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
(281) |
Sep
(604) |
Oct
(993) |
Nov
(511) |
Dec
(520) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2009 |
Jan
(476) |
Feb
(432) |
Mar
(524) |
Apr
(653) |
May
(393) |
Jun
(356) |
Jul
(329) |
Aug
(584) |
Sep
(683) |
Oct
(559) |
Nov
(690) |
Dec
(762) |
2010 |
Jan
(924) |
Feb
(912) |
Mar
(964) |
Apr
(859) |
May
(867) |
Jun
(593) |
Jul
(769) |
Aug
(1067) |
Sep
(1142) |
Oct
(1134) |
Nov
(1030) |
Dec
(691) |
2011 |
Jan
(822) |
Feb
(828) |
Mar
(791) |
Apr
(824) |
May
(799) |
Jun
(1039) |
Jul
(1035) |
Aug
(1121) |
Sep
(687) |
Oct
(852) |
Nov
(1138) |
Dec
(979) |
2012 |
Jan
(957) |
Feb
(893) |
Mar
(1265) |
Apr
(737) |
May
(1051) |
Jun
(1464) |
Jul
(1618) |
Aug
(1202) |
Sep
(1304) |
Oct
(1504) |
Nov
(1219) |
Dec
(1981) |
2013 |
Jan
(1566) |
Feb
(858) |
Mar
(83) |
Apr
(66) |
May
(9) |
Jun
(14) |
Jul
(13) |
Aug
|
Sep
(5) |
Oct
|
Nov
|
Dec
|
From: Enlightenment S. <no-...@en...> - 2013-04-03 13:01:42
|
Log: fix theme with icon only in check/radio. Author: raster Date: 2013-04-03 06:01:32 -0700 (Wed, 03 Apr 2013) New Revision: 84484 Trac: http://trac.enlightenment.org/e/changeset/84484 Modified: trunk/THEMES/dark/edje/build.sh trunk/THEMES/dark/edje/edc/elm/check.edc trunk/THEMES/dark/edje/edc/elm/radio.edc Modified: trunk/THEMES/dark/edje/build.sh =================================================================== --- trunk/THEMES/dark/edje/build.sh 2013-04-02 15:11:57 UTC (rev 84483) +++ trunk/THEMES/dark/edje/build.sh 2013-04-03 13:01:32 UTC (rev 84484) @@ -1,2 +1,2 @@ #!/bin/sh -edje_cc -fastcomp -id ./img dark.edc dark.edj +rm -f dark.edj; edje_cc -fastcomp -id ./img dark.edc dark.edj Modified: trunk/THEMES/dark/edje/edc/elm/check.edc =================================================================== --- trunk/THEMES/dark/edje/edc/elm/check.edc 2013-04-02 15:11:57 UTC (rev 84483) +++ trunk/THEMES/dark/edje/edc/elm/check.edc 2013-04-03 13:01:32 UTC (rev 84484) @@ -97,7 +97,7 @@ part { name: "inset"; mouse_events: 0; scale: 1; description { state: "default" 0.0; - fixed: 1 1; + fixed: 1 0; rel1.offset: 2 2; rel2.relative: 0.0 1.0; rel2.offset: 2 -3; Modified: trunk/THEMES/dark/edje/edc/elm/radio.edc =================================================================== --- trunk/THEMES/dark/edje/edc/elm/radio.edc 2013-04-02 15:11:57 UTC (rev 84483) +++ trunk/THEMES/dark/edje/edc/elm/radio.edc 2013-04-03 13:01:32 UTC (rev 84484) @@ -72,7 +72,7 @@ align: 0.0 0.5; min: 13 13; max: 13 13; - fixed: 1 1; + fixed: 1 0; } description { state: "disabled" 0.0; inherit: "default" 0.0; |
From: Enlightenment S. <no-...@en...> - 2013-04-02 15:12:06
|
Log: add elm dark theme bubbles. Author: raster Date: 2013-04-02 08:11:57 -0700 (Tue, 02 Apr 2013) New Revision: 84483 Trac: http://trac.enlightenment.org/e/changeset/84483 Added: trunk/THEMES/dark/edje/edc/elm/bubble.edc trunk/THEMES/dark/edje/img/bub_base_bl.png trunk/THEMES/dark/edje/img/bub_base_br.png trunk/THEMES/dark/edje/img/bub_base_tl.png trunk/THEMES/dark/edje/img/bub_base_tr.png trunk/THEMES/dark/edje/img/bub_over_bot.png trunk/THEMES/dark/edje/img/bub_over_top.png Modified: trunk/THEMES/dark/edje/dark.edc Modified: trunk/THEMES/dark/edje/dark.edc =================================================================== --- trunk/THEMES/dark/edje/dark.edc 2013-04-02 04:20:53 UTC (rev 84482) +++ trunk/THEMES/dark/edje/dark.edc 2013-04-02 15:11:57 UTC (rev 84483) @@ -14,6 +14,7 @@ #include "edc/elm/check.edc" #include "edc/elm/slider.edc" #include "edc/elm/radio.edc" +#include "edc/elm/bubble.edc" // desktop in general #include "edc/comp.edc" Added: trunk/THEMES/dark/edje/edc/elm/bubble.edc =================================================================== --- trunk/THEMES/dark/edje/edc/elm/bubble.edc (rev 0) +++ trunk/THEMES/dark/edje/edc/elm/bubble.edc 2013-04-02 15:11:57 UTC (rev 84483) @@ -0,0 +1,738 @@ +group { name: "elm/bubble/top_left/default"; + alias: "elm/bubble/base/default"; + images.image: "bub_base_tl.png" COMP; + images.image: "bub_base_tr.png" COMP; + images.image: "bub_over_top.png" COMP; + images.image: "shine.png" COMP; + parts { + part { name: "event"; type: RECT; + description { state: "default" 0.0; + color: 0 0 0 0; + } + } + part { name: "elm.swallow.icon"; type: SWALLOW; + description { state: "default" 0.0; + fixed: 1 1; + visible: 0; + align: 0.0 0.0; + aspect: 1.0 1.0; aspect_preference: VERTICAL; + rel1.offset: 2 2; + rel2 { + to_y: "elm.text"; + relative: 0.0 1.0; + offset: 2 -1; + } + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { name: "sizer.content"; type: TEXT; mouse_events: 0; + scale: 1; + description { state: "default" 0.0; + fixed: 1 1; + visible: 0; + text { font: "Sans"; size: 10; + min: 0 0; + text_class: "bubble"; + } + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + rel1.to: "elm.swallow.icon"; + rel2.to: "elm.swallow.icon"; + text { + min: 1 1; + text: "M"; + } + } + } + part { name: "elm.text"; type: TEXT; mouse_events: 0; + effect: SHADOW BOTTOM; + scale: 1; + description { state: "default" 0.0; + fixed: 0 1; + align: 0.0 0.0; + rel1 { + to_x: "elm.swallow.icon"; + relative: 1.0 0.0; + offset: 2 2; + } + rel2 { + to_x: "elm.info"; + relative: 0.0 0.0; + offset: -3 2; + } + color: 255 255 255 255; + color3: 0 0 0 128; + color_class: "bubble_text"; + text { font: "Sans:style=Bold"; size: 10; + min: 0 1; + max: 0 1; + align: 0.0 0.0; + text_class: "bubble"; + } + } + } + part { name: "elm.info"; type: TEXT; mouse_events: 0; + effect: SHADOW BOTTOM; + scale: 1; + description { state: "default" 0.0; + align: 1.0 0.0; + fixed: 1 1; + rel1.relative: 1.0 0.0; + rel1.offset: -3 2; + rel2.relative: 1.0 0.0; + rel2.offset: -3 2; + color: 21 21 21 255; + color3: 255 255 255 25; + color_class: "bubble_info"; + text { font: "Sans:style=Bold"; size: 10; + min: 1 1; + max: 1 1; + align: 1.0 0.0; + text_class: "bubble_info"; + } + } + } + part { name: "base"; mouse_events: 0; + description { state: "default" 0.0; + rel1 { + to_y: "elm.swallow.icon"; + relative: 0.0 1.0; + offset: 0 0; + } + image.normal: "bub_base_tl.png"; + image.border: 24 8 12 9; + image.middle: SOLID; + fill.smooth: 0; + } + description { state: "rtl" 0.0; + inherit: "default" 0.0; + image.normal: "bub_base_tr.png"; + image.border: 8 24 12 9; + } + } + part { name: "elm.swallow.content"; + type: SWALLOW; + description { state: "default" 0.0; + rel1.to: "base"; + rel1.offset: 5 9; + rel2.to: "base"; + rel2.offset: -6 -7; + } + } + part { name: "over"; mouse_events: 0; + description { state: "default" 0.0; + rel1.to: "base"; + rel1.offset: 20 6; + rel2.to: "base"; + rel2.offset: -6 6; + rel2.relative: 1.0 0.4; + image.normal: "bub_over_top.png"; + fill.smooth: 0; + } + description { state: "rtl" 0.0; + inherit: "default" 0.0; + rel1.offset: 5 6; + rel2.offset: -21 6; + } + } + part { name: "shine_clip"; type: RECT; + description { state: "default" 0.0; + rel1.to: "over"; + rel1.offset: 0 -10; + rel2.to: "over"; + } + } + part { name: "shine"; mouse_events: 0; + clip_to: "shine_clip"; + description { state: "default" 0.0; + image.normal: "shine.png"; + rel1.offset: 0 -2; + rel1.to: "over"; + rel2.relative: 1.0 0.0; + rel2.offset: -1 2; + rel2.to: "over"; + FIXED_SIZE(69, 5) + } + } + } + programs { + program { + signal: "elm,state,icon,visible"; source: "elm"; + action: STATE_SET "visible" 0.0; + target: "elm.swallow.icon"; + target: "sizer.content"; + } + program { + signal: "elm,state,icon,hidden"; source: "elm"; + action: STATE_SET "default" 0.0; + target: "elm.swallow.icon"; + target: "sizer.content"; + } + program { + signal: "edje,state,rtl"; source: "edje"; + action: STATE_SET "rtl" 0.0; + target: "base"; + target: "over"; + } + program { + signal: "edje,state,ltr"; source: "edje"; + action: STATE_SET "default" 0.0; + target: "base"; + target: "over"; + } + } +} + +group { name: "elm/bubble/top_right/default"; + images.image: "bub_base_tr.png" COMP; + images.image: "bub_base_tl.png" COMP; + images.image: "bub_over_top.png" COMP; + images.image: "shine.png" COMP; + parts { + part { name: "event"; type: RECT; + description { state: "default" 0.0; + color: 0 0 0 0; + } + } + part { name: "elm.swallow.icon"; type: SWALLOW; + description { state: "default" 0.0; + fixed: 1 1; + visible: 0; + align: 1.0 0.0; + aspect: 1.0 1.0; aspect_preference: VERTICAL; + rel1.offset: -3 2; + rel1.relative: 1.0 0.0; + rel2 { + to_y: "elm.text"; + relative: 1.0 1.0; + offset: -3 -1; + } + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { name: "sizer.content"; type: TEXT; mouse_events: 0; + scale: 1; + description { state: "default" 0.0; + fixed: 1 1; + visible: 0; + text { font: "Sans"; size: 10; + min: 0 0; + text_class: "bubble"; + } + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + rel1.to: "elm.swallow.icon"; + rel2.to: "elm.swallow.icon"; + text { + min: 1 1; + text: "M"; + } + } + } + part { name: "elm.text"; type: TEXT; mouse_events: 0; + effect: SHADOW BOTTOM; + scale: 1; + description { state: "default" 0.0; + fixed: 0 1; + align: 0.0 0.0; + rel1.offset: 2 2; + rel2 { + to_x: "elm.info"; + relative: 0.0 0.0; + offset: -3 2; + } + color: 255 255 255 255; + color3: 0 0 0 128; + color_class: "bubble_text"; + text { font: "Sans:style=Bold"; size: 10; + min: 0 1; + max: 0 1; + align: 0.0 0.0; + text_class: "bubble"; + } + } + } + part { name: "elm.info"; type: TEXT; mouse_events: 0; + effect: SHADOW BOTTOM; + scale: 1; + description { state: "default" 0.0; + align: 1.0 0.0; + fixed: 1 1; + rel1.relative: 1.0 0.0; + rel1.offset: -3 2; + rel2.to_x: "elm.swallow.icon"; + rel2.relative: 0.0 0.0; + rel2.offset: -3 2; + color: 21 21 21 255; + color3: 255 255 255 25; + color_class: "bubble_info"; + text { font: "Sans:style=Bold"; size: 10; + min: 1 1; + max: 1 1; + align: 1.0 0.0; + text_class: "bubble_info"; + } + } + } + part { name: "base"; mouse_events: 0; + description { state: "default" 0.0; + rel1 { + to_y: "elm.swallow.icon"; + relative: 0.0 1.0; + offset: 0 0; + } + image.normal: "bub_base_tr.png"; + image.border: 8 24 12 9; + image.middle: SOLID; + fill.smooth: 0; + } + description { state: "rtl" 0.0; + inherit: "default" 0.0; + image.normal: "bub_base_tl.png"; + image.border: 24 8 12 9; + } + } + part { name: "elm.swallow.content"; + type: SWALLOW; + description { state: "default" 0.0; + rel1.to: "base"; + rel1.offset: 5 9; + rel2.to: "base"; + rel2.offset: -6 -7; + } + } + part { name: "over"; mouse_events: 0; + description { state: "default" 0.0; + rel1.to: "base"; + rel1.offset: 5 6; + rel2.to: "base"; + rel2.offset: -21 6; + rel2.relative: 1.0 0.4; + image.normal: "bub_over_top.png"; + fill.smooth: 0; + } + description { state: "rtl" 0.0; + inherit: "default" 0.0; + rel1.offset: 20 6; + rel2.offset: -6 6; + } + } + part { name: "shine_clip"; type: RECT; + description { state: "default" 0.0; + rel1.to: "over"; + rel1.offset: 0 -10; + rel2.to: "over"; + } + } + part { name: "shine"; mouse_events: 0; + clip_to: "shine_clip"; + description { state: "default" 0.0; + image.normal: "shine.png"; + rel1.offset: 0 -2; + rel1.to: "over"; + rel2.relative: 1.0 0.0; + rel2.offset: -1 2; + rel2.to: "over"; + FIXED_SIZE(69, 5) + } + } + } + programs { + program { + signal: "elm,state,icon,visible"; source: "elm"; + action: STATE_SET "visible" 0.0; + target: "elm.swallow.icon"; + target: "sizer.content"; + } + program { + signal: "elm,state,icon,hidden"; source: "elm"; + action: STATE_SET "default" 0.0; + target: "elm.swallow.icon"; + target: "sizer.content"; + } + program { + signal: "edje,state,rtl"; source: "edje"; + action: STATE_SET "rtl" 0.0; + target: "base"; + target: "over"; + } + program { + signal: "edje,state,ltr"; source: "edje"; + action: STATE_SET "default" 0.0; + target: "base"; + target: "over"; + } + } +} + +group { name: "elm/bubble/bottom_left/default"; + images.image: "bub_base_bl.png" COMP; + images.image: "bub_base_br.png" COMP; + images.image: "bub_over_bot.png" COMP; + images.image: "shine.png" COMP; + parts { + part { name: "event"; type: RECT; + description { state: "default" 0.0; + color: 0 0 0 0; + } + } + part { name: "elm.swallow.icon"; type: SWALLOW; + description { state: "default" 0.0; + fixed: 1 1; + visible: 0; + align: 0.0 1.0; + aspect: 1.0 1.0; aspect_preference: VERTICAL; + rel1 { + to_y: "elm.text"; + offset: 2 0; + } + rel2 { + relative: 0.0 1.0; + offset: 2 -3; + } + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { name: "sizer.content"; type: TEXT; mouse_events: 0; + scale: 1; + description { state: "default" 0.0; + fixed: 1 1; + visible: 0; + text { font: "Sans"; size: 10; + min: 0 0; + text_class: "bubble"; + } + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + rel1.to: "elm.swallow.icon"; + rel2.to: "elm.swallow.icon"; + text { + min: 1 1; + text: "M"; + } + } + } + part { name: "elm.text"; type: TEXT; mouse_events: 0; + effect: SHADOW BOTTOM; + scale: 1; + description { state: "default" 0.0; + fixed: 0 1; + align: 0.0 1.0; + rel1 { + to_x: "elm.swallow.icon"; + relative: 1.0 1.0; + offset: 2 -3; + } + rel2 { + to_x: "elm.info"; + relative: 0.0 1.0; + offset: -3 -3; + } + color: 255 255 255 255; + color3: 0 0 0 128; + color_class: "bubble_text"; + text { font: "Sans:style=Bold"; size: 10; + min: 0 1; + max: 0 1; + align: 0.0 1.0; + text_class: "bubble"; + } + } + } + part { name: "elm.info"; type: TEXT; mouse_events: 0; + effect: SHADOW BOTTOM; + scale: 1; + description { state: "default" 0.0; + align: 1.0 1.0; + fixed: 1 1; + rel1.relative: 1.0 1.0; + rel1.offset: -3 -3; + rel2.relative: 1.0 1.0; + rel2.offset: -3 -3; + color: 21 21 21 255; + color3: 255 255 255 25; + color_class: "bubble_info"; + text { font: "Sans:style=Bold"; size: 10; + min: 1 1; + max: 1 1; + align: 1.0 1.0; + text_class: "bubble_info"; + } + } + } + part { name: "base"; mouse_events: 0; + description { state: "default" 0.0; + rel2 { + to_y: "elm.swallow.icon"; + relative: 1.0 0.0; + } + image.normal: "bub_base_bl.png"; + image.border: 24 8 8 13; + image.middle: SOLID; + fill.smooth: 0; + } + description { state: "rtl" 0.0; + inherit: "default" 0.0; + image.normal: "bub_base_br.png"; + image.border: 8 24 8 13; + } + } + part { name: "elm.swallow.content"; + type: SWALLOW; + description { state: "default" 0.0; + rel1.to: "base"; + rel1.offset: 5 4; + rel2.to: "base"; + rel2.offset: -6 -12; + } + } + part { name: "over"; mouse_events: 0; + description { state: "default" 0.0; + rel1.to: "base"; + rel1.offset: 2 1; + rel2.to: "base"; + rel2.offset: -3 1; + rel2.relative: 1.0 0.4; + image.normal: "bub_over_bot.png"; + fill.smooth: 0; + } + } + part { name: "shine_clip"; type: RECT; + description { state: "default" 0.0; + rel1.to: "over"; + rel1.offset: 0 -10; + rel2.to: "over"; + } + } + part { name: "shine"; mouse_events: 0; + clip_to: "shine_clip"; + description { state: "default" 0.0; + image.normal: "shine.png"; + rel1.offset: 0 -2; + rel1.to: "over"; + rel2.relative: 1.0 0.0; + rel2.offset: -1 2; + rel2.to: "over"; + FIXED_SIZE(69, 5) + } + } + } + programs { + program { + signal: "elm,state,icon,visible"; source: "elm"; + action: STATE_SET "visible" 0.0; + target: "elm.swallow.icon"; + target: "sizer.content"; + } + program { + signal: "elm,state,icon,hidden"; source: "elm"; + action: STATE_SET "default" 0.0; + target: "elm.swallow.icon"; + target: "sizer.content"; + } + program { + signal: "edje,state,rtl"; source: "edje"; + action: STATE_SET "rtl" 0.0; + target: "base"; + } + program { + signal: "edje,state,ltr"; source: "edje"; + action: STATE_SET "default" 0.0; + target: "base"; + } + } +} + +group { name: "elm/bubble/bottom_right/default"; + images.image: "bub_base_br.png" COMP; + images.image: "bub_base_bl.png" COMP; + images.image: "bub_over_bot.png" COMP; + images.image: "shine.png" COMP; + parts { + part { name: "event"; type: RECT; + description { state: "default" 0.0; + color: 0 0 0 0; + } + } + part { name: "elm.swallow.icon"; type: SWALLOW; + description { state: "default" 0.0; + fixed: 1 1; + visible: 0; + align: 1.0 1.0; + aspect: 1.0 1.0; aspect_preference: VERTICAL; + rel1 { + to_y: "elm.text"; + offset: -3 0; + } + rel2 { + relative: 1.0 1.0; + offset: -3 -3; + } + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { name: "sizer.content"; type: TEXT; mouse_events: 0; + scale: 1; + description { state: "default" 0.0; + fixed: 1 1; + visible: 0; + text { font: "Sans"; size: 10; + min: 0 0; + text_class: "bubble"; + } + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + rel1.to: "elm.swallow.icon"; + rel2.to: "elm.swallow.icon"; + text { + min: 1 1; + text: "M"; + } + } + } + part { name: "elm.text"; type: TEXT; mouse_events: 0; + effect: SHADOW BOTTOM; + scale: 1; + description { state: "default" 0.0; + fixed: 0 1; + align: 0.0 1.0; + rel1 { + relative: 0.0 1.0; + offset: 2 -3; + } + rel2 { + to_x: "elm.info"; + relative: 0.0 1.0; + offset: -3 -3; + } + color: 255 255 255 255; + color3: 0 0 0 128; + color_class: "bubble_text"; + text { font: "Sans:style=Bold"; size: 10; + min: 0 1; + max: 0 1; + align: 0.0 1.0; + text_class: "bubble"; + } + } + } + part { name: "elm.info"; type: TEXT; mouse_events: 0; + effect: SHADOW BOTTOM; + scale: 1; + description { state: "default" 0.0; + align: 1.0 1.0; + fixed: 1 1; + rel1.relative: 1.0 1.0; + rel1.offset: -3 -3; + rel2.to_x: "elm.swallow.icon"; + rel2.relative: 0.0 1.0; + rel2.offset: -3 -3; + color: 21 21 21 255; + color3: 255 255 255 25; + color_class: "bubble_info"; + text { font: "Sans:style=Bold"; size: 10; + min: 1 1; + max: 1 1; + align: 1.0 1.0; + text_class: "bubble_info"; + } + } + } + part { name: "base"; mouse_events: 0; + description { state: "default" 0.0; + rel2 { + to_y: "elm.swallow.icon"; + relative: 1.0 0.0; + } + image.normal: "bub_base_br.png"; + image.border: 8 24 8 13; + image.middle: SOLID; + fill.smooth: 0; + } + description { state: "rtl" 0.0; + inherit: "default" 0.0; + image.normal: "bub_base_bl.png"; + image.border: 24 8 8 13; + } + } + part { name: "elm.swallow.content"; + type: SWALLOW; + description { state: "default" 0.0; + rel1.to: "base"; + rel1.offset: 5 4; + rel2.to: "base"; + rel2.offset: -6 -12; + } + } + part { name: "over"; mouse_events: 0; + description { state: "default" 0.0; + rel1.to: "base"; + rel1.offset: 2 1; + rel2.to: "base"; + rel2.offset: -3 1; + rel2.relative: 1.0 0.4; + image.normal: "bub_over_bot.png"; + fill.smooth: 0; + } + } + part { name: "shine_clip"; type: RECT; + description { state: "default" 0.0; + rel1.to: "over"; + rel1.offset: 0 -10; + rel2.to: "over"; + } + } + part { name: "shine"; mouse_events: 0; + clip_to: "shine_clip"; + description { state: "default" 0.0; + image.normal: "shine.png"; + rel1.offset: 0 -2; + rel1.to: "over"; + rel2.relative: 1.0 0.0; + rel2.offset: -1 2; + rel2.to: "over"; + FIXED_SIZE(69, 5) + } + } + } + programs { + program { + signal: "elm,state,icon,visible"; source: "elm"; + action: STATE_SET "visible" 0.0; + target: "elm.swallow.icon"; + target: "sizer.content"; + } + program { + signal: "elm,state,icon,hidden"; source: "elm"; + action: STATE_SET "default" 0.0; + target: "elm.swallow.icon"; + target: "sizer.content"; + } + program { + signal: "edje,state,rtl"; source: "edje"; + action: STATE_SET "rtl" 0.0; + target: "base"; + } + program { + signal: "edje,state,ltr"; source: "edje"; + action: STATE_SET "default" 0.0; + target: "base"; + } + } +} Added: trunk/THEMES/dark/edje/img/bub_base_bl.png =================================================================== (Binary files differ) Property changes on: trunk/THEMES/dark/edje/img/bub_base_bl.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/THEMES/dark/edje/img/bub_base_br.png =================================================================== (Binary files differ) Property changes on: trunk/THEMES/dark/edje/img/bub_base_br.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/THEMES/dark/edje/img/bub_base_tl.png =================================================================== (Binary files differ) Property changes on: trunk/THEMES/dark/edje/img/bub_base_tl.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/THEMES/dark/edje/img/bub_base_tr.png =================================================================== (Binary files differ) Property changes on: trunk/THEMES/dark/edje/img/bub_base_tr.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/THEMES/dark/edje/img/bub_over_bot.png =================================================================== (Binary files differ) Property changes on: trunk/THEMES/dark/edje/img/bub_over_bot.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/THEMES/dark/edje/img/bub_over_top.png =================================================================== (Binary files differ) Property changes on: trunk/THEMES/dark/edje/img/bub_over_top.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream |
From: Enlightenment S. <no-...@en...> - 2013-04-02 04:21:03
|
Log: wow.. how did that work? fix image list. Author: raster Date: 2013-04-01 21:20:53 -0700 (Mon, 01 Apr 2013) New Revision: 84482 Trac: http://trac.enlightenment.org/e/changeset/84482 Modified: trunk/THEMES/dark/edje/edc/elm/radio.edc Modified: trunk/THEMES/dark/edje/edc/elm/radio.edc =================================================================== --- trunk/THEMES/dark/edje/edc/elm/radio.edc 2013-04-02 04:16:19 UTC (rev 84481) +++ trunk/THEMES/dark/edje/edc/elm/radio.edc 2013-04-02 04:20:53 UTC (rev 84482) @@ -1,7 +1,7 @@ group { name: "elm/radio/base/default"; - images.image: "radio_base.png" COMP; - images.image: "radio.png" COMP; - images.image: "radio2.png" COMP; + images.image: "inset_shadow_circle_tiny.png" COMP; + images.image: "inset_circle_tiny.png" COMP; + images.image: "sym_radio_alum.png" COMP; #define ICON 1 #define LABEL 2 #define MASK 3 |
From: Enlightenment S. <no-...@en...> - 2013-04-02 04:16:26
|
Log: and make sure slider icons have sizers too. Author: raster Date: 2013-04-01 21:16:19 -0700 (Mon, 01 Apr 2013) New Revision: 84481 Trac: http://trac.enlightenment.org/e/changeset/84481 Modified: trunk/THEMES/dark/edje/edc/elm/slider.edc Modified: trunk/THEMES/dark/edje/edc/elm/slider.edc =================================================================== --- trunk/THEMES/dark/edje/edc/elm/slider.edc 2013-04-02 04:10:50 UTC (rev 84480) +++ trunk/THEMES/dark/edje/edc/elm/slider.edc 2013-04-02 04:16:19 UTC (rev 84481) @@ -106,13 +106,17 @@ } if (ic) { set_state(PART:"elm.swallow.icon", "visible", 0.0); + set_state(PART:"sizer.content", "visible", 0.0); } else { set_state(PART:"elm.swallow.icon", "default", 0.0); + set_state(PART:"sizer.content", "default", 0.0); } if (e) { set_state(PART:"elm.swallow.end", "visible", 0.0); + set_state(PART:"sizer.content.end", "visible", 0.0); } else { set_state(PART:"elm.swallow.end", "default", 0.0); + set_state(PART:"sizer.content.end", "default", 0.0); } if (!d) { set_state(PART:"event", "default", 0.0); @@ -222,6 +226,26 @@ rel2.offset: 2 -3; } } + part { name: "sizer.content"; type: TEXT; mouse_events: 0; + scale: 1; + description { state: "default" 0.0; + fixed: 1 1; + visible: 0; + text { font: "Sans"; size: 10; + min: 0 0; + text_class: "slider_text"; + } + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + rel1.to: "elm.swallow.icon"; + rel2.to: "elm.swallow.icon"; + text { + min: 1 1; + text: "M"; + } + } + } part { name: "elm.text"; type: TEXT; mouse_events: 0; effect: SHADOW BOTTOM; scale: 1; @@ -238,7 +262,7 @@ color3: 0 0 0 128; color_class: "slider_text"; text { font: "Sans"; size: 10; - text_class: "slider_text"; + text_class: "slider"; min: 0 0; align: 0.0 0.5; } @@ -277,6 +301,26 @@ rel2.offset: -3 -3; } } + part { name: "sizer.content.end"; type: TEXT; mouse_events: 0; + scale: 1; + description { state: "default" 0.0; + fixed: 1 1; + visible: 0; + text { font: "Sans"; size: 10; + min: 0 0; + text_class: "slider_text"; + } + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + rel1.to: "elm.swallow.end"; + rel2.to: "elm.swallow.end"; + text { + min: 1 1; + text: "M"; + } + } + } alias: "elm.units.min" "limits:elm.units.min"; alias: "elm.units.max" "limits:elm.units.max"; part { name: "limits"; type: GROUP; mouse_events: 0; @@ -313,7 +357,7 @@ color3: 0 0 0 128; color_class: "slider_text"; text { font: "Sans"; size: 10; - text_class: "slider_text"; + text_class: "slider"; min: 0 0; align: 1.0 0.5; } @@ -768,13 +812,17 @@ } if (ic) { set_state(PART:"elm.swallow.icon", "visible", 0.0); + set_state(PART:"sizer.content", "visible", 0.0); } else { set_state(PART:"elm.swallow.icon", "default", 0.0); + set_state(PART:"sizer.content", "default", 0.0); } if (e) { set_state(PART:"elm.swallow.end", "visible", 0.0); + set_state(PART:"sizer.content.end", "visible", 0.0); } else { set_state(PART:"elm.swallow.end", "default", 0.0); + set_state(PART:"sizer.content.end", "default", 0.0); } if (!d) { set_state(PART:"event", "default", 0.0); @@ -884,6 +932,26 @@ rel2.offset: -3 2; } } + part { name: "sizer.content"; type: TEXT; mouse_events: 0; + scale: 1; + description { state: "default" 0.0; + fixed: 1 1; + visible: 0; + text { font: "Sans"; size: 10; + min: 0 0; + text_class: "slider_text"; + } + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + rel1.to: "elm.swallow.icon"; + rel2.to: "elm.swallow.icon"; + text { + min: 1 1; + text: "M"; + } + } + } part { name: "elm.text"; type: TEXT; mouse_events: 0; effect: SHADOW BOTTOM; scale: 1; @@ -900,7 +968,7 @@ color3: 0 0 0 128; color_class: "slider_text"; text { font: "Sans"; size: 10; - text_class: "slider_text"; + text_class: "slider"; min: 1 0; align: 0.5 0.0; } @@ -938,6 +1006,26 @@ rel2.offset: -3 -3; } } + part { name: "sizer.content.end"; type: TEXT; mouse_events: 0; + scale: 1; + description { state: "default" 0.0; + fixed: 1 1; + visible: 0; + text { font: "Sans"; size: 10; + min: 0 0; + text_class: "slider_text"; + } + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + rel1.to: "elm.swallow.end"; + rel2.to: "elm.swallow.end"; + text { + min: 1 1; + text: "M"; + } + } + } alias: "elm.units.min" "limits:elm.units.min"; alias: "elm.units.max" "limits:elm.units.max"; part { name: "limits"; type: GROUP; mouse_events: 0; @@ -974,7 +1062,7 @@ color3: 0 0 0 128; color_class: "slider_text"; text { font: "Sans"; size: 10; - text_class: "slider_text"; + text_class: "slider"; min: 0 0; align: 0.5 1.0; } |
From: Enlightenment S. <no-...@en...> - 2013-04-02 04:10:58
|
Log: now THAT was easy... radio added to dark. Author: raster Date: 2013-04-01 21:10:50 -0700 (Mon, 01 Apr 2013) New Revision: 84480 Trac: http://trac.enlightenment.org/e/changeset/84480 Added: trunk/THEMES/dark/edje/edc/elm/radio.edc Modified: trunk/THEMES/dark/edje/dark.edc Modified: trunk/THEMES/dark/edje/dark.edc =================================================================== --- trunk/THEMES/dark/edje/dark.edc 2013-04-01 13:42:58 UTC (rev 84479) +++ trunk/THEMES/dark/edje/dark.edc 2013-04-02 04:10:50 UTC (rev 84480) @@ -13,6 +13,7 @@ #include "edc/elm/separator.edc" #include "edc/elm/check.edc" #include "edc/elm/slider.edc" +#include "edc/elm/radio.edc" // desktop in general #include "edc/comp.edc" Added: trunk/THEMES/dark/edje/edc/elm/radio.edc =================================================================== --- trunk/THEMES/dark/edje/edc/elm/radio.edc (rev 0) +++ trunk/THEMES/dark/edje/edc/elm/radio.edc 2013-04-02 04:10:50 UTC (rev 84480) @@ -0,0 +1,272 @@ +group { name: "elm/radio/base/default"; + images.image: "radio_base.png" COMP; + images.image: "radio.png" COMP; + images.image: "radio2.png" COMP; +#define ICON 1 +#define LABEL 2 +#define MASK 3 +#define DISABLE 4 + script { + public btmode; + public eval_mode(m) { + new m1 = m & MASK; + new d = m & DISABLE; + if (m1 == (ICON | LABEL)) { + if (!d) { + set_state(PART:"elm.swallow.content", "visible", 0.0); + set_state(PART:"sizer.content", "visible", 0.0); + set_state(PART:"elm.text", "visible", 0.0); + set_state(PART:"inset", "default", 0.0); + set_state(PART:"clip", "default", 0.0); + set_state(PART:"event", "default", 0.0); + } else { + set_state(PART:"elm.swallow.content", "visible", 0.0); + set_state(PART:"sizer.content", "visible", 0.0); + set_state(PART:"elm.text", "disabled_visible", 0.0); + set_state(PART:"inset", "disabled", 0.0); + set_state(PART:"clip", "disabled", 0.0); + set_state(PART:"event", "disabled", 0.0); + } + } else if (m1 == (ICON)) { + if (!d) { + set_state(PART:"elm.swallow.content", "visible", 0.0); + set_state(PART:"sizer.content", "icononly", 0.0); + set_state(PART:"elm.text", "default", 0.0); + set_state(PART:"inset", "default", 0.0); + set_state(PART:"clip", "default", 0.0); + set_state(PART:"event", "default", 0.0); + } else { + set_state(PART:"elm.swallow.content", "visible", 0.0); + set_state(PART:"sizer.content", "icononly", 0.0); + set_state(PART:"elm.text", "disabled", 0.0); + set_state(PART:"inset", "disabled", 0.0); + set_state(PART:"clip", "disabled", 0.0); + set_state(PART:"event", "disabled", 0.0); + } + } else if (m1 == (LABEL)) { + if (!d) { + set_state(PART:"elm.swallow.content", "default", 0.0); + set_state(PART:"sizer.content", "default", 0.0); + set_state(PART:"elm.text", "visible", 0.0); + set_state(PART:"inset", "default", 0.0); + set_state(PART:"clip", "default", 0.0); + set_state(PART:"event", "default", 0.0); + } else { + set_state(PART:"elm.swallow.content", "default", 0.0); + set_state(PART:"sizer.content", "default", 0.0); + set_state(PART:"elm.text", "disabled_visible", 0.0); + set_state(PART:"inset", "disabled", 0.0); + set_state(PART:"clip", "disabled", 0.0); + set_state(PART:"event", "disabled", 0.0); + } + } + } + } + parts { + part { name: "inset"; mouse_events: 0; + description { state: "default" 0.0; + rel1.offset: 2 2; + rel2.relative: 0.0 1.0; + rel2.offset: 2 -3; + image.normal: "inset_shadow_circle_tiny.png"; + align: 0.0 0.5; + min: 13 13; + max: 13 13; + fixed: 1 1; + } + description { state: "disabled" 0.0; + inherit: "default" 0.0; + image.normal: "inset_circle_tiny.png"; + } + } + part { name: "indicator"; mouse_events: 0; + scale: 1; + clip_to: "clip"; + description { state: "default" 0.0; + rel1.to: "inset"; + rel2.to: "inset"; + image.normal: "sym_radio_alum.png"; + min: 11 11; + max: 11 11; + visible: 0; + } + description { state: "selected" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { name: "clip"; type: RECT; + description { state: "default" 0.0; + } + description { state: "disabled" 0.0; + inherit: "default" 0.0; + color: 255 255 255 64; + } + } + part { name: "elm.swallow.content"; type: SWALLOW; + scale: 1; + clip_to: "clip"; + description { state: "default" 0.0; + fixed: 1 0; + visible: 0; + align: 0.0 0.5; + max: 0 0; + rel1.to_x: "inset"; + rel1.relative: 1.0 0.0; + rel1.offset: 1 1; + rel2.to_x: "inset"; + rel2.offset: 1 -2; + rel2.relative: 1.0 1.0; + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + fixed: 0 0; + visible: 1; + aspect: 1.0 1.0; + min: 16 16; + } + } + part { name: "sizer.content"; type: TEXT; mouse_events: 0; + scale: 1; + description { state: "default" 0.0; + fixed: 1 1; + visible: 0; + text { font: "Sans"; size: 10; + min: 0 0; + text_class: "radio_text"; + } + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + rel1.to: "elm.swallow.content"; + rel2.to: "elm.swallow.content"; + text { + min: 1 1; + text: "M"; + } + } + description { state: "icononly" 0.0; + inherit: "default" 0.0; + rel1.to: "elm.swallow.content"; + rel2.to: "elm.swallow.content"; + text { + min: 1 1; + text: "M"; + } + } + } + part { name: "elm.text"; type: TEXT; mouse_events: 0; + effect: SHADOW BOTTOM; + scale: 1; + description { state: "default" 0.0; + rel1.offset: 2 2; + rel1.to_x: "elm.swallow.content"; + rel1.relative: 1.0 0.0; + rel2.offset: -3 -3; + color: 255 255 255 255; + color3: 0 0 0 128; + color_class: "radio_text"; + text { font: "Sans"; size: 10; + min: 0 0; + align: 0.0 0.5; + text_class: "radio"; + } + } + description { state: "disabled" 0.0; + inherit: "default" 0.0; + color: 21 21 21 255; + color3: 255 255 255 25; + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + text.min: 1 1; + } + description { state: "disabled_visible" 0.0; + inherit: "default" 0.0; + color: 21 21 21 255; + color3: 255 255 255 25; + visible: 1; + text.min: 1 1; + } + } + part { name: "event"; type: RECT; + ignore_flags: ON_HOLD; + description { state: "default" 0.0; + color: 0 0 0 0; + } + description { state: "disabled" 0.0; + inherit: "default" 0.0; + visible: 0; + } + } + } + programs { + program { + signal: "mouse,clicked,1"; source: "event"; + action: SIGNAL_EMIT "elm,action,radio,toggle" ""; + } + program { + signal: "elm,state,radio,on"; source: "elm"; + action: STATE_SET "selected" 0.0; + target: "indicator"; + } + program { + signal: "elm,state,radio,off"; source: "elm"; + action: STATE_SET "default" 0.0; + target: "indicator"; + } + program { + signal: "elm,state,text,visible"; source: "elm"; + script { + new m = get_int(btmode); + m |= LABEL; set_int(btmode, m); + eval_mode(m); + } + } + program { + signal: "elm,state,text,hidden"; source: "elm"; + script { + new m = get_int(btmode); + m &= ~LABEL; set_int(btmode, m); + eval_mode(m); + } + } + program { + signal: "elm,state,icon,visible"; source: "elm"; + script { + new m = get_int(btmode); + m |= ICON; set_int(btmode, m); + eval_mode(m); + } + } + program { + signal: "elm,state,icon,hidden"; source: "elm"; + script { + new m = get_int(btmode); + m &= ~ICON; set_int(btmode, m); + eval_mode(m); + } + } + program { + signal: "elm,state,disabled"; source: "elm"; + script { + new m = get_int(btmode); + m |= DISABLE; set_int(btmode, m); + eval_mode(m); + } + } + program { + signal: "elm,state,enabled"; source: "elm"; + script { + new m = get_int(btmode); + m &= ~DISABLE; set_int(btmode, m); + eval_mode(m); + } + } + } +#undef ICON +#undef LABEL +#undef MASK +#undef DISABLE +} |
From: Enlightenment S. <no-...@en...> - 2013-04-01 13:43:12
|
Log: dark elm theme -> slider working now. needs some polishng for larger sizes tho. Author: raster Date: 2013-04-01 06:42:58 -0700 (Mon, 01 Apr 2013) New Revision: 84479 Trac: http://trac.enlightenment.org/e/changeset/84479 Added: trunk/THEMES/dark/edje/edc/elm/slider.edc trunk/THEMES/dark/edje/img/horiz_glow_run_rev.png trunk/THEMES/dark/edje/img/vert_glow_run_rev.png Modified: trunk/THEMES/dark/edje/dark.edc trunk/THEMES/dark/edje/edc/clock.edc Modified: trunk/THEMES/dark/edje/dark.edc =================================================================== --- trunk/THEMES/dark/edje/dark.edc 2013-04-01 13:01:14 UTC (rev 84478) +++ trunk/THEMES/dark/edje/dark.edc 2013-04-01 13:42:58 UTC (rev 84479) @@ -12,6 +12,7 @@ #include "edc/elm/label.edc" #include "edc/elm/separator.edc" #include "edc/elm/check.edc" +#include "edc/elm/slider.edc" // desktop in general #include "edc/comp.edc" Modified: trunk/THEMES/dark/edje/edc/clock.edc =================================================================== --- trunk/THEMES/dark/edje/edc/clock.edc 2013-04-01 13:01:14 UTC (rev 84478) +++ trunk/THEMES/dark/edje/edc/clock.edc 2013-04-01 13:42:58 UTC (rev 84479) @@ -732,8 +732,8 @@ rel1.to: "base"; rel2.to: "base"; image.normal: "inset_round_shading.png"; - } - } + } + } part { name: "knob"; type: SPACER; description { state: "default" 0.0; rel1.relative: (140/340) (140/340); Added: trunk/THEMES/dark/edje/edc/elm/slider.edc =================================================================== --- trunk/THEMES/dark/edje/edc/elm/slider.edc (rev 0) +++ trunk/THEMES/dark/edje/edc/elm/slider.edc 2013-04-01 13:42:58 UTC (rev 84479) @@ -0,0 +1,1351 @@ +group { name: "elm/slider/hidden/limit"; + parts { + part { name: "elm.units.min"; type: TEXT; mouse_events: 0; + scale: 1; + description { state: "default" 0.0; + visible: 0; + align: 1.0 0.5; + text { font: "Sans"; size: 10; + text_class: "slider_text"; + min: 1 1; + align: 0.0 0.5; + } + } + } + part { name: "elm.units.max"; type: TEXT; mouse_events: 0; + scale: 1; + description { state: "default" 0.0; + visible: 0; + align: 1.0 0.5; + text { font: "Sans"; size: 10; + text_class: "slider_text"; + min: 1 1; + align: 0.0 0.5; + } + } + } + } +} + +group { name: "elm/slider/horizontal/default"; + alias: "elm/slider/horizontal/disabled"; + images.image: "slider_run_base_horiz.png" COMP; + images.image: "slider_run_bevel_horiz.png" COMP; + images.image: "slider_run_base_light_horiz.png" COMP; + images.image: "horiz_glow_run.png" COMP; + images.image: "horiz_glow_run_rev.png" COMP; + images.image: "knob_round_small_normal.png" COMP; + images.image: "knob_round_small_selected.png" COMP; + set { name: "knob"; + // XXX: add more sizes (at least up to 128x128) + image { image: "knob_sz_24.png" COMP; size: 31 31 32 32; } + image { image: "knob_sz_22.png" COMP; size: 29 29 30 30; } + image { image: "knob_sz_20.png" COMP; size: 27 27 28 28; } + image { image: "knob_sz_18.png" COMP; size: 25 25 26 26; } + image { image: "knob_sz_16.png" COMP; size: 23 23 24 24; } + image { image: "knob_sz_14.png" COMP; size: 21 21 22 22; } + image { image: "knob_sz_12.png" COMP; size: 19 19 20 20; } + image { image: "knob_sz_10.png" COMP; size: 17 17 18 18; } + image { image: "knob_sz_08.png" COMP; size: 15 15 16 16; } + image { image: "knob_sz_06.png" COMP; size: 13 13 14 14; } + image { image: "knob_sz_04.png" COMP; size: 0 0 12 12; } + } +#define ICON 1 +#define LABEL 2 +#define END 4 +#define UNITS 8 +#define MASK 15 +#define INVERT 16 +#define DISABLE 32 + script { + public slmode; + public eval_mode(m) { + new ic = m & ICON; + new l = m & LABEL; + new e = m & END; + new u = m & UNITS; + new d = m & DISABLE; + new i = m & INVERT; + if (i) { + if (!d) { + set_state(PART:"base", "default", 0.0); + set_state(PART:"glow", "inverted", 0.0); + } else { + set_state(PART:"base", "disabled", 0.0); + set_state(PART:"glow", "disabled_inverted", 0.0); + } + } else { + if (!d) { + set_state(PART:"base", "default", 0.0); + set_state(PART:"glow", "default", 0.0); + } else { + set_state(PART:"base", "disabled", 0.0); + set_state(PART:"glow", "disabled", 0.0); + } + } + if (l) { + if (!d) { + set_state(PART:"elm.text", "visible", 0.0); + } else { + set_state(PART:"elm.text", "disabled_visible", 0.0); + } + } else { + set_state(PART:"elm.text", "default", 0.0); + } + if (u) { + if (!d) { + set_state(PART:"elm.units", "visible", 0.0); + set_state(PART:"limits", "visible", 0.0); + } else { + set_state(PART:"elm.units", "disabled_visible", 0.0); + set_state(PART:"limits", "disabled_visible", 0.0); + } + } else { + set_state(PART:"elm.units", "default", 0.0); + set_state(PART:"limits", "default", 0.0); + } + if (ic) { + set_state(PART:"elm.swallow.icon", "visible", 0.0); + } else { + set_state(PART:"elm.swallow.icon", "default", 0.0); + } + if (e) { + set_state(PART:"elm.swallow.end", "visible", 0.0); + } else { + set_state(PART:"elm.swallow.end", "default", 0.0); + } + if (!d) { + set_state(PART:"event", "default", 0.0); + set_state(PART:"dis_clip", "default", 0.0); + } else { + set_state(PART:"event", "disabled", 0.0); + set_state(PART:"dis_clip", "disabled", 0.0); + } + } + } + parts { + part { name: "elm.swallow.bar"; type: SWALLOW; + scale: 1; + description { state: "default" 0.0; + min: 42 21; + max: 99999 21; + align: 1.0 0.5; + rel1.to_x: "elm.text"; + rel1.relative: 1.0 0.0; + rel1.offset: 2 0; + rel2.to_x: "limits"; + rel2.relative: 0.0 1.0; + rel2.offset: -3 -1; + } + } + part { name: "base"; mouse_events: 0; + description { state: "default" 0.0; + rel1.to: "elm.swallow.bar"; + rel2.to: "elm.swallow.bar"; + image.normal: "slider_run_base_horiz.png"; + image.border: 4 4 0 0; + fill.smooth: 0; + min: 8 5; + max: 99999 5; + fixed: 0 1; + } + description { state: "disabled" 0.0; + inherit: "default" 0.0; + image.normal: "slider_run_base_light_horiz.png"; + } + } + part { name: "glow"; mouse_events: 0; + description { state: "default" 0.0; + image.normal: "horiz_glow_run.png"; + rel1.offset: 1 1; + rel1.to: "base"; + rel2.relative: 0.5 1.0; + rel2.offset: -1 -2; + rel2.to_x: "button"; + rel2.to_y: "base"; + image.border: 0 4 0 0; + } + description { state: "disabled" 0.0; + inherit: "default" 0.0; + color: 255 255 255 64; + } + description { state: "inverted" 0.0; + image.normal: "horiz_glow_run_rev.png"; + rel1.relative: 0.5 0.0; + rel1.offset: 0 1; + rel1.to_x: "button"; + rel1.to_y: "base"; + rel2.offset: -2 -2; + rel2.to: "base"; + image.border: 4 0 0 0; + } + description { state: "disabled_inverted" 0.0; + inherit: "inverted" 0.0; + color: 255 255 255 64; + } + } + part { name: "bevel"; mouse_events: 0; + description { state: "default" 0.0; + rel1.to: "base"; + rel2.to: "base"; + image.normal: "slider_run_bevel_horiz.png"; + image.border: 5 5 0 0; + fill.smooth: 0; + } + } + part { name: "dis_clip"; type: RECT; + description { state: "default" 0.0; + rel1.to: "elm.swallow.icon"; + rel2.to: "elm.swallow.end"; + } + description { state: "disabled" 0.0; + inherit: "default" 0.0; + color: 255 255 255 64; + } + } + part { name: "elm.swallow.icon"; type: SWALLOW; + clip_to: "dis_clip"; + description { state: "default" 0.0; + visible: 0; + align: 0.0 0.5; + rel1.offset: 0 2; + rel1.to_y: "elm.swallow.bar"; + rel2.offset: -1 -3; + rel2.relative: 0.0 1.0; + rel2.to_y: "elm.swallow.bar"; + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + aspect: 1.0 1.0; aspect_preference: VERTICAL; + rel1.offset: 2 2; + rel2.offset: 2 -3; + } + } + part { name: "elm.text"; type: TEXT; mouse_events: 0; + effect: SHADOW BOTTOM; + scale: 1; + description { state: "default" 0.0; + fixed: 1 1; + align: 0.0 0.5; + rel1.to_x: "elm.swallow.icon"; + rel1.relative: 1.0 0.0; + rel1.offset: -1 2; + rel2.to_x: "elm.swallow.icon"; + rel2.relative: 1.0 1.0; + rel2.offset: -1 -3; + color: 255 255 255 255; + color3: 0 0 0 128; + color_class: "slider_text"; + text { font: "Sans"; size: 10; + text_class: "slider_text"; + min: 0 0; + align: 0.0 0.5; + } + visible: 0; + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + fixed: 1 0; + visible: 1; + rel1.offset: 2 2; + rel2.offset: 2 -3; + text.min: 1 1; + } + description { state: "disabled_visible" 0.0; + inherit: "visible" 0.0; + color_class: "slider_text_disabled"; + color: 21 21 21 255; + color3: 255 255 255 15; + } + } + part { name: "elm.swallow.end"; type: SWALLOW; + clip_to: "dis_clip"; + description { state: "default" 0.0; + visible: 0; + align: 1.0 0.5; + rel1.offset: 0 2; + rel1.relative: 1.0 0.0; + rel2.offset: -1 -3; + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + aspect: 1.0 1.0; + aspect_preference: VERTICAL; + rel1.offset: -3 2; + rel2.offset: -3 -3; + } + } + alias: "elm.units.min" "limits:elm.units.min"; + alias: "elm.units.max" "limits:elm.units.max"; + part { name: "limits"; type: GROUP; mouse_events: 0; + source: "elm/slider/hidden/limit"; + scale: 1; + description { state: "default" 0.0; + visible: 0; + align: 1.0 0.5; + min: SOURCE; + fixed: 1 1; + rel1.to_x: "elm.swallow.end"; + rel1.relative: 0.0 0.0; + rel1.offset: 0 2; + rel2.to_x: "elm.swallow.end"; + rel2.relative: 0.0 1.0; + rel2.offset: -1 -3; + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + rel1.offset: -3 2; + rel2.offset: -3 -3; + } + } + part { name: "elm.units"; type: TEXT; mouse_events: 0; + effect: SHADOW BOTTOM; + scale: 1; + description { state: "default" 0.0; + visible: 0; + fixed: 1 1; + rel1.to_x: "limits"; + rel2.to_x: "limits"; + color: 255 255 255 255; + color3: 0 0 0 128; + color_class: "slider_text"; + text { font: "Sans"; size: 10; + text_class: "slider_text"; + min: 0 0; + align: 1.0 0.5; + } + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + text.min: 1 1; + } + description { state: "disabled_visible" 0.0; + inherit: "visible" 0.0; + color: 21 21 21 255; + color3: 255 255 255 15; + color_class: "slider_text_disabled"; + } + } + part { name: "button"; type: GROUP; mouse_events: 0; + source: "elm/slider/horizontal/indicator/default"; + description { state: "default" 0.0; + fixed: 1 1; + rel1.to: "elm.dragable.slider"; + rel2.to: "elm.dragable.slider"; + } + description { state: "hidden" 0.0; + inherit: "default" 0.0; + visible: 0; + } + } + part { name: "elm.dragable.slider"; type: RECT; + scale: 1; + dragable.x: 1 1 0; + dragable.y: 0 0 0; + dragable.confine: "elm.swallow.bar"; + description { state: "default" 0.0; + color: 0 0 0 0; + min: 16 16; + max: 16 16; + fixed: 1 1; + rel1.relative: 0.5 0.0; + rel1.to_x: "elm.swallow.bar"; + rel2.relative: 0.5 1.0; + rel2.to_x: "elm.swallow.bar"; + } + } + part { name: "knob"; + description { state: "default" 0.0; + image.normal: "knob"; + fixed: 1 1; + min: 12 12; + step: 2 2; + max: 32 32; // XXX allow bigger sizes with more knob images + rel1.to: "elm.dragable.slider"; + rel1.offset: -4 -4; + rel2.to: "elm.dragable.slider"; + rel2.offset: 3 3; + } + description { state: "clicked" 0.0; + inherit: "default" 0.0; + } + } + part { name: "slideevent"; type: RECT; repeat_events: 1; + scale: 1; + ignore_flags: ON_HOLD; + dragable.events: "elm.dragable.slider"; + description { state: "default" 0.0; + fixed: 1 1; + rel1.to: "elm.dragable.slider"; + rel2.to: "elm.dragable.slider"; + color: 0 0 0 0; + } + } + part { name: "elm.track.slider"; type: SWALLOW; mouse_events: 0; + description { state: "default" 0.0; + max: 0 0; + rel1.to: "elm.dragable.slider"; + rel2.to: "elm.dragable.slider"; + } + } + part { name: "event"; type: RECT; + description { state: "default" 0.0; + color: 0 0 0 0; + visible: 0; + } + description { state: "disabled" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + } + programs { + program { + signal: "mouse,down,1"; source: "elm.dragable.slider"; + action: STATE_SET "clicked" 0.0; + target: "knob"; + } + program { + signal: "mouse,up,1"; source: "elm.dragable.slider"; + action: STATE_SET "default" 0.0; + target: "knob"; + } + program { + signal: "elm,state,indicator,show"; source: "elm"; + action: SIGNAL_EMIT "popup,show" "elm"; + after: "popup_show2"; + } + program { + signal: "elm,state,indicator,hide"; source: "elm"; + action: SIGNAL_EMIT "popup,hide" "elm"; + after: "popup_hide2"; + } + program { + signal: "mouse,down,1"; source: "slideevent"; + action: SIGNAL_EMIT "popup,show" "elm"; + after: "popup_show2"; + } + program { name: "popup_show2"; + action: STATE_SET "hidden" 0.0; + target: "button"; + } + program { + signal: "mouse,up,1"; source: "slideevent"; + action: SIGNAL_EMIT "popup,hide" "elm"; + after: "popup_hide2"; + } + program { name: "popup_hide2"; + action: STATE_SET "default" 0.0; + target: "button"; + } + program { + signal: "elm,state,text,visible"; source: "elm"; + script { + new m = get_int(slmode); + m |= LABEL; set_int(slmode, m); + eval_mode(m); + } + } + program { + signal: "elm,state,text,hidden"; source: "elm"; + script { + new m = get_int(slmode); + m &= ~LABEL; set_int(slmode, m); + eval_mode(m); + } + } + program { + signal: "elm,state,icon,visible"; source: "elm"; + script { + new m = get_int(slmode); + m |= ICON; set_int(slmode, m); + eval_mode(m); + } + } + program { + signal: "elm,state,icon,hidden"; source: "elm"; + script { + new m = get_int(slmode); + m &= ~ICON; set_int(slmode, m); + eval_mode(m); + } + } + program { name: "end_show"; + signal: "elm,state,end,visible"; source: "elm"; + script { + new m = get_int(slmode); + m |= END; set_int(slmode, m); + eval_mode(m); + } + } + program { name: "end_hide"; + signal: "elm,state,end,hidden"; source: "elm"; + script { + new m = get_int(slmode); + m &= ~END; set_int(slmode, m); + eval_mode(m); + } + } + program { + signal: "elm,state,units,visible"; source: "elm"; + script { + new m = get_int(slmode); + m |= UNITS; set_int(slmode, m); + eval_mode(m); + } + } + program { + signal: "elm,state,units,visible"; source: "elm"; + action: SIGNAL_EMIT "limits:limits,visible" "elm"; + } + program { + signal: "elm,state,units,hidden"; source: "elm"; + action: STATE_SET "default" 0.0; + script { + new m = get_int(slmode); + m &= ~UNITS; set_int(slmode, m); + eval_mode(m); + } + } + program { + signal: "elm,state,units,hidden"; source: "elm"; + action: SIGNAL_EMIT "limits:limits,hide" "elm"; + } + program { + signal: "elm,state,inverted,on"; source: "elm"; + script { + new m = get_int(slmode); + m |= INVERT; set_int(slmode, m); + eval_mode(m); + } + } + program { + signal: "elm,state,inverted,off"; source: "elm"; + script { + new m = get_int(slmode); + m &= ~INVERT; set_int(slmode, m); + eval_mode(m); + } + } + program { + signal: "elm,state,disabled"; source: "elm"; + script { + new m = get_int(slmode); + m |= DISABLE; set_int(slmode, m); + eval_mode(m); + } + } + program { + signal: "elm,state,disabled"; source: "elm"; + action: SIGNAL_EMIT "elm.dragable.slider:elm,state,disabled" "elm"; + } + program { + signal: "elm,state,enabled"; source: "elm"; + script { + new m = get_int(slmode); + m &= ~DISABLE; set_int(slmode, m); + eval_mode(m); + } + } + program { + signal: "elm,state,enabled"; source: "elm"; + action: SIGNAL_EMIT "elm.dragable.slider:elm,state,enabled" "elm"; + } + } +#undef ICON +#undef LABEL +#undef END +#undef UNITS +#undef MASK +#undef INVERT +#undef DISABLE +} + +group { name: "elm/slider/horizontal/indicator/default"; + alias: "elm/slider/horizontal/indicator/disabled"; + alias: "elm/slider/horizontal/popup/default"; + images.image: "darken_rounded_square.png" COMP; + parts { + part { name: "base"; type: SPACER; + scale: 1; + description { state: "default" 0.0; + fixed: 1 1; + min: 16 16; + } + } + part { name: "clip"; type: RECT; + description { state: "default" 0.0; + fixed: 1 1; + rel1.to: "elm.indicator"; + rel1.offset: -100 -100; + rel2.to: "elm.indicator"; + rel2.offset: 99 99; + visible: 0; + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { name: "bevel"; mouse_events: 0; + clip_to: "clip"; + description { state: "default" 0.0; + rel1.offset: -12 -12; + rel1.to: "elm.indicator"; + rel2.offset: 11 11; + rel2.to: "elm.indicator"; + image.normal: "darken_rounded_square.png"; + image.border: 15 15 15 15; + fill.smooth: 0; + visible: 0; + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { name: "elm.indicator"; type: TEXT; mouse_events: 0; + clip_to: "clip"; + effect: SHADOW BOTTOM; + scale: 1; + description { state: "default" 0.0; + fixed: 1 1; + align: 0.5 1.0; + rel1.to: "base"; + rel1.relative: 0.0 -0.1; + rel1.offset: 0 -12; + rel2.to: "base"; + rel2.relative: 1.0 -0.1; + rel2.offset: -1 -12; + color_class: "slider_indicator"; + color: 255 255 255 255; + color3: 0 0 0 128; + text { font: "Sans:style=Bold"; size: 10; + min: 1 1; + align: 0.5 1.0; + text_class: "slider_indicator"; + } + visible: 0; + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + } + programs { + program { + signal: "popup,show"; source: "elm"; + action: STATE_SET "visible" 0.0; + target: "elm.indicator"; + target: "bevel"; + } + program { + signal: "popup,hide"; source: "elm"; + action: STATE_SET "default" 0.0; + target: "elm.indicator"; + target: "bevel"; + } + program { + signal: "popup,hide"; source: "elm"; + action: SIGNAL_EMIT "popup,hide,done" "elm"; + } + program { + signal: "elm,state,val,show"; source: "elm"; + action: STATE_SET "visible" 0.0; + target: "clip"; + } + program { + signal: "elm,state,val,hide"; source: "elm"; + action: STATE_SET "default" 0.0; + target: "clip"; + } + program { + signal: "elm,state,indicator,show"; source: "elm"; + action: STATE_SET "visible" 0.0; + target: "elm.indicator"; + target: "bevel"; + } + program { + signal: "elm,state,indicator,hide"; source: "elm"; + action: STATE_SET "visible" 0.0; + target: "elm.indicator"; + target: "bevel"; + } + program { + signal: "elm,state,disabled"; source: "elm"; + action: STATE_SET "disabled" 0.0; + target: "base"; + } + program { + signal: "elm,state,enabled"; source: "elm"; + action: STATE_SET "default" 0.0; + target: "base"; + } + } +} + +group { name: "elm/slider/vertical/default"; + alias: "elm/slider/vertical/disabled"; + images.image: "slider_run_base_vert.png" COMP; + images.image: "slider_run_bevel_vert.png" COMP; + images.image: "slider_run_base_light_vert.png" COMP; + images.image: "vert_glow_run.png" COMP; + images.image: "vert_glow_run_rev.png" COMP; + images.image: "knob_round_small_normal.png" COMP; + images.image: "knob_round_small_selected.png" COMP; + set { name: "knob"; + // XXX: add more sizes (at least up to 128x128) + image { image: "knob_sz_24.png" COMP; size: 31 31 32 32; } + image { image: "knob_sz_22.png" COMP; size: 29 29 30 30; } + image { image: "knob_sz_20.png" COMP; size: 27 27 28 28; } + image { image: "knob_sz_18.png" COMP; size: 25 25 26 26; } + image { image: "knob_sz_16.png" COMP; size: 23 23 24 24; } + image { image: "knob_sz_14.png" COMP; size: 21 21 22 22; } + image { image: "knob_sz_12.png" COMP; size: 19 19 20 20; } + image { image: "knob_sz_10.png" COMP; size: 17 17 18 18; } + image { image: "knob_sz_08.png" COMP; size: 15 15 16 16; } + image { image: "knob_sz_06.png" COMP; size: 13 13 14 14; } + image { image: "knob_sz_04.png" COMP; size: 0 0 12 12; } + } +#define ICON 1 +#define LABEL 2 +#define END 4 +#define UNITS 8 +#define MASK 15 +#define INVERT 16 +#define DISABLE 32 + script { + public slmode; + public eval_mode(m) { + new ic = m & ICON; + new l = m & LABEL; + new e = m & END; + new u = m & UNITS; + new d = m & DISABLE; + new i = m & INVERT; + if (i) { + if (!d) { + set_state(PART:"base", "default", 0.0); + set_state(PART:"glow", "inverted", 0.0); + } else { + set_state(PART:"base", "disabled", 0.0); + set_state(PART:"glow", "disabled_inverted", 0.0); + } + } else { + if (!d) { + set_state(PART:"base", "default", 0.0); + set_state(PART:"glow", "default", 0.0); + } else { + set_state(PART:"base", "disabled", 0.0); + set_state(PART:"glow", "disabled", 0.0); + } + } + if (l) { + if (!d) { + set_state(PART:"elm.text", "visible", 0.0); + } else { + set_state(PART:"elm.text", "disabled_visible", 0.0); + } + } else { + set_state(PART:"elm.text", "default", 0.0); + } + if (u) { + if (!d) { + set_state(PART:"elm.units", "visible", 0.0); + set_state(PART:"limits", "visible", 0.0); + } else { + set_state(PART:"elm.units", "disabled_visible", 0.0); + set_state(PART:"limits", "disabled_visible", 0.0); + } + } else { + set_state(PART:"elm.units", "default", 0.0); + set_state(PART:"limits", "default", 0.0); + } + if (ic) { + set_state(PART:"elm.swallow.icon", "visible", 0.0); + } else { + set_state(PART:"elm.swallow.icon", "default", 0.0); + } + if (e) { + set_state(PART:"elm.swallow.end", "visible", 0.0); + } else { + set_state(PART:"elm.swallow.end", "default", 0.0); + } + if (!d) { + set_state(PART:"event", "default", 0.0); + set_state(PART:"dis_clip", "default", 0.0); + } else { + set_state(PART:"event", "disabled", 0.0); + set_state(PART:"dis_clip", "disabled", 0.0); + } + } + } + parts { + part { name: "elm.swallow.bar"; type: SWALLOW; + scale: 1; + description { state: "default" 0.0; + min: 21 42; + max: 21 99999; + align: 0.5 1.0; + rel1.to_y: "elm.text"; + rel1.relative: 0.0 1.0; + rel1.offset: 0 2; + rel2.to_y: "limits"; + rel2.relative: 1.0 0.0; + rel2.offset: -1 -3; + } + } + part { name: "base"; mouse_events: 0; + description { state: "default" 0.0; + rel1.to: "elm.swallow.bar"; + rel2.to: "elm.swallow.bar"; + image.normal: "slider_run_base_vert.png"; + image.border: 0 0 4 4; + fill.smooth: 0; + min: 5 8; + max: 5 99999; + fixed: 1 0; + } + description { state: "disabled" 0.0; + inherit: "default" 0.0; + image.normal: "slider_run_base_light_vert.png"; + } + } + part { name: "glow"; mouse_events: 0; + description { state: "default" 0.0; + image.normal: "vert_glow_run.png"; + rel1.offset: 1 1; + rel1.to: "base"; + rel2.relative: 1.0 0.5; + rel2.offset: -2 -1; + rel2.to_y: "button"; + rel2.to_x: "base"; + image.border: 0 0 0 4; + } + description { state: "disabled" 0.0; + inherit: "default" 0.0; + color: 255 255 255 64; + } + description { state: "inverted" 0.0; + image.normal: "vert_glow_run_rev.png"; + rel1.relative: 0.0 0.5; + rel1.offset: 1 0; + rel1.to_y: "button"; + rel1.to_x: "base"; + rel2.offset: -2 -2; + rel2.to: "base"; + image.border: 0 0 4 0; + } + description { state: "disabled_inverted" 0.0; + inherit: "inverted" 0.0; + color: 255 255 255 64; + } + } + part { name: "bevel"; mouse_events: 0; + description { state: "default" 0.0; + rel1.to: "base"; + rel2.to: "base"; + image.normal: "slider_run_bevel_vert.png"; + image.border: 0 0 5 5; + fill.smooth: 0; + } + } + part { name: "dis_clip"; type: RECT; + description { state: "default" 0.0; + rel1.to: "elm.swallow.icon"; + rel2.to: "elm.swallow.end"; + } + description { state: "disabled" 0.0; + inherit: "default" 0.0; + color: 255 255 255 64; + } + } + part { name: "elm.swallow.icon"; type: SWALLOW; + clip_to: "dis_clip"; + description { state: "default" 0.0; + visible: 0; + align: 0.5 0.0; + rel1.offset: 2 0; + rel1.to_x: "elm.swallow.bar"; + rel2.offset: -3 -1; + rel2.relative: 1.0 0.0; + rel2.to_x: "elm.swallow.bar"; + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + aspect: 1.0 1.0; aspect_preference: VERTICAL; + rel1.offset: 2 2; + rel2.offset: -3 2; + } + } + part { name: "elm.text"; type: TEXT; mouse_events: 0; + effect: SHADOW BOTTOM; + scale: 1; + description { state: "default" 0.0; + fixed: 0 1; + align: 0.5 0.0; + rel1.to_y: "elm.swallow.icon"; + rel1.relative: 0.0 1.0; + rel1.offset: 2 -1; + rel2.to_y: "elm.swallow.icon"; + rel2.relative: 1.0 1.0; + rel2.offset: -3 -1; + color: 255 255 255 255; + color3: 0 0 0 128; + color_class: "slider_text"; + text { font: "Sans"; size: 10; + text_class: "slider_text"; + min: 1 0; + align: 0.5 0.0; + } + visible: 0; + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + rel1.offset: 2 2; + rel2.offset: -3 2; + text.min: 1 1; + } + description { state: "disabled_visible" 0.0; + inherit: "visible" 0.0; + color_class: "slider_text_disabled"; + color: 21 21 21 255; + color3: 255 255 255 15; + } + } + part { name: "elm.swallow.end"; type: SWALLOW; + clip_to: "dis_clip"; + description { state: "default" 0.0; + visible: 0; + align: 0.5 1.0; + rel1.offset: 2 0; + rel1.relative: 0.0 1.0; + rel2.offset: -3 -1; + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + aspect: 1.0 1.0; + aspect_preference: VERTICAL; + rel2.offset: 2 -3; + rel2.offset: -3 -3; + } + } + alias: "elm.units.min" "limits:elm.units.min"; + alias: "elm.units.max" "limits:elm.units.max"; + part { name: "limits"; type: GROUP; mouse_events: 0; + source: "elm/slider/hidden/limit"; + scale: 1; + description { state: "default" 0.0; + visible: 0; + align: 0.5 1.0; + min: SOURCE; + fixed: 1 1; + rel1.to_y: "elm.swallow.end"; + rel1.relative: 0.0 0.0; + rel1.offset: 2 1; + rel2.to_y: "elm.swallow.end"; + rel2.relative: 1.0 0.0; + rel2.offset: -3 0; + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + rel1.offset: 2 -3; + rel2.offset: -3 -3; + } + } + part { name: "elm.units"; type: TEXT; mouse_events: 0; + effect: SHADOW BOTTOM; + scale: 1; + description { state: "default" 0.0; + visible: 0; + fixed: 1 1; + rel1.to_y: "limits"; + rel2.to_y: "limits"; + color: 255 255 255 255; + color3: 0 0 0 128; + color_class: "slider_text"; + text { font: "Sans"; size: 10; + text_class: "slider_text"; + min: 0 0; + align: 0.5 1.0; + } + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + text.min: 1 1; + } + description { state: "disabled_visible" 0.0; + inherit: "visible" 0.0; + color: 21 21 21 255; + color3: 255 255 255 15; + color_class: "slider_text_disabled"; + } + } + part { name: "button"; type: GROUP; mouse_events: 0; + source: "elm/slider/vertical/indicator/default"; + description { state: "default" 0.0; + fixed: 1 1; + rel1.to: "elm.dragable.slider"; + rel2.to: "elm.dragable.slider"; + } + description { state: "hidden" 0.0; + inherit: "default" 0.0; + visible: 0; + } + } + part { name: "elm.dragable.slider"; type: RECT; + scale: 1; + dragable.x: 0 0 0; + dragable.y: 1 1 0; + dragable.confine: "elm.swallow.bar"; + description { state: "default" 0.0; + color: 0 0 0 0; + min: 16 16; + max: 16 16; + fixed: 1 1; + rel1.relative: 0.0 0.5; + rel1.to_x: "elm.swallow.bar"; + rel2.relative: 1.0 0.5; + rel2.to_x: "elm.swallow.bar"; + } + } + part { name: "knob"; + description { state: "default" 0.0; + image.normal: "knob"; + fixed: 1 1; + min: 12 12; + step: 2 2; + max: 32 32; // XXX allow bigger sizes with more knob images + rel1.to: "elm.dragable.slider"; + rel1.offset: -4 -4; + rel2.to: "elm.dragable.slider"; + rel2.offset: 3 3; + } + description { state: "clicked" 0.0; + inherit: "default" 0.0; + } + } + part { name: "slideevent"; type: RECT; repeat_events: 1; + scale: 1; + ignore_flags: ON_HOLD; + dragable.events: "elm.dragable.slider"; + description { state: "default" 0.0; + fixed: 1 1; + rel1.to: "elm.dragable.slider"; + rel2.to: "elm.dragable.slider"; + color: 0 0 0 0; + } + } + part { name: "elm.track.slider"; type: SWALLOW; mouse_events: 0; + description { state: "default" 0.0; + max: 0 0; + rel1.to: "elm.dragable.slider"; + rel2.to: "elm.dragable.slider"; + } + } + part { name: "event"; type: RECT; + description { state: "default" 0.0; + color: 0 0 0 0; + visible: 0; + } + description { state: "disabled" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + } + programs { + program { + signal: "mouse,down,1"; source: "elm.dragable.slider"; + action: STATE_SET "clicked" 0.0; + target: "knob"; + } + program { + signal: "mouse,up,1"; source: "elm.dragable.slider"; + action: STATE_SET "default" 0.0; + target: "knob"; + } + program { + signal: "elm,state,indicator,show"; source: "elm"; + action: SIGNAL_EMIT "popup,show" "elm"; + after: "popup_show2"; + } + program { + signal: "elm,state,indicator,hide"; source: "elm"; + action: SIGNAL_EMIT "popup,hide" "elm"; + after: "popup_hide2"; + } + program { + signal: "mouse,down,1"; source: "slideevent"; + action: SIGNAL_EMIT "popup,show" "elm"; + after: "popup_show2"; + } + program { name: "popup_show2"; + action: STATE_SET "hidden" 0.0; + target: "button"; + } + program { + signal: "mouse,up,1"; source: "slideevent"; + action: SIGNAL_EMIT "popup,hide" "elm"; + after: "popup_hide2"; + } + program { name: "popup_hide2"; + action: STATE_SET "default" 0.0; + target: "button"; + } + program { + signal: "elm,state,text,visible"; source: "elm"; + script { + new m = get_int(slmode); + m |= LABEL; set_int(slmode, m); + eval_mode(m); + } + } + program { + signal: "elm,state,text,hidden"; source: "elm"; + script { + new m = get_int(slmode); + m &= ~LABEL; set_int(slmode, m); + eval_mode(m); + } + } + program { + signal: "elm,state,icon,visible"; source: "elm"; + script { + new m = get_int(slmode); + m |= ICON; set_int(slmode, m); + eval_mode(m); + } + } + program { + signal: "elm,state,icon,hidden"; source: "elm"; + script { + new m = get_int(slmode); + m &= ~ICON; set_int(slmode, m); + eval_mode(m); + } + } + program { name: "end_show"; + signal: "elm,state,end,visible"; source: "elm"; + script { + new m = get_int(slmode); + m |= END; set_int(slmode, m); + eval_mode(m); + } + } + program { name: "end_hide"; + signal: "elm,state,end,hidden"; source: "elm"; + script { + new m = get_int(slmode); + m &= ~END; set_int(slmode, m); + eval_mode(m); + } + } + program { + signal: "elm,state,units,visible"; source: "elm"; + script { + new m = get_int(slmode); + m |= UNITS; set_int(slmode, m); + eval_mode(m); + } + } + program { + signal: "elm,state,units,visible"; source: "elm"; + action: SIGNAL_EMIT "limits:limits,visible" "elm"; + } + program { + signal: "elm,state,units,hidden"; source: "elm"; + action: STATE_SET "default" 0.0; + script { + new m = get_int(slmode); + m &= ~UNITS; set_int(slmode, m); + eval_mode(m); + } + } + program { + signal: "elm,state,units,hidden"; source: "elm"; + action: SIGNAL_EMIT "limits:limits,hide" "elm"; + } + program { + signal: "elm,state,inverted,on"; source: "elm"; + script { + new m = get_int(slmode); + m |= INVERT; set_int(slmode, m); + eval_mode(m); + } + } + program { + signal: "elm,state,inverted,off"; source: "elm"; + script { + new m = get_int(slmode); + m &= ~INVERT; set_int(slmode, m); + eval_mode(m); + } + } + program { + signal: "elm,state,disabled"; source: "elm"; + script { + new m = get_int(slmode); + m |= DISABLE; set_int(slmode, m); + eval_mode(m); + } + } + program { + signal: "elm,state,disabled"; source: "elm"; + action: SIGNAL_EMIT "elm.dragable.slider:elm,state,disabled" "elm"; + } + program { + signal: "elm,state,enabled"; source: "elm"; + script { + new m = get_int(slmode); + m &= ~DISABLE; set_int(slmode, m); + eval_mode(m); + } + } + program { + signal: "elm,state,enabled"; source: "elm"; + action: SIGNAL_EMIT "elm.dragable.slider:elm,state,enabled" "elm"; + } + } +#undef ICON +#undef LABEL +#undef END +#undef UNITS +#undef MASK +#undef INVERT +#undef DISABLE +} + +group { name: "elm/slider/vertical/indicator/default"; + alias: "elm/slider/vertical/indicator/disabled"; + alias: "elm/slider/vertical/popup/default"; + images.image: "darken_rounded_square.png" COMP; + parts { + part { name: "base"; type: SPACER; + scale: 1; + description { state: "default" 0.0; + fixed: 1 1; + min: 16 16; + } + } + part { name: "clip"; type: RECT; + description { state: "default" 0.0; + fixed: 1 1; + rel1.to: "elm.indicator"; + rel1.offset: -100 -100; + rel2.to: "elm.indicator"; + rel2.offset: 99 99; + visible: 0; + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { name: "bevel"; mouse_events: 0; + clip_to: "clip"; + description { state: "default" 0.0; + rel1.offset: -12 -12; + rel1.to: "elm.indicator"; + rel2.offset: 11 11; + rel2.to: "elm.indicator"; + image.normal: "darken_rounded_square.png"; + image.border: 15 15 15 15; + fill.smooth: 0; + visible: 0; + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { name: "elm.indicator"; type: TEXT; mouse_events: 0; + clip_to: "clip"; + effect: SHADOW BOTTOM; + scale: 1; + description { state: "default" 0.0; + fixed: 1 1; + align: 0.0 0.5; + rel1.to: "base"; + rel1.relative: 1.1 0.0; + rel1.offset: 11 0; + rel2.to: "base"; + rel2.relative: 1.1 1.0; + rel2.offset: 11 -1; + color_class: "slider_indicator"; + color: 255 255 255 255; + color3: 0 0 0 128; + text { font: "Sans:style=Bold"; size: 10; + min: 1 1; + align: 0.0 0.5; + text_class: "slider_indicator"; + } + visible: 0; + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + } + programs { + program { + signal: "popup,show"; source: "elm"; + action: STATE_SET "visible" 0.0; + target: "elm.indicator"; + target: "bevel"; + } + program { + signal: "popup,hide"; source: "elm"; + action: STATE_SET "default" 0.0; + target: "elm.indicator"; + target: "bevel"; + } + program { + signal: "popup,hide"; source: "elm"; + action: SIGNAL_EMIT "popup,hide,done" "elm"; + } + program { + signal: "elm,state,val,show"; source: "elm"; + action: STATE_SET "visible" 0.0; + target: "clip"; + } + program { + signal: "elm,state,val,hide"; source: "elm"; + action: STATE_SET "default" 0.0; + target: "clip"; + } + program { + signal: "elm,state,indicator,show"; source: "elm"; + action: STATE_SET "visible" 0.0; + target: "elm.indicator"; + target: "bevel"; + } + program { + signal: "elm,state,indicator,hide"; source: "elm"; + action: STATE_SET "visible" 0.0; + target: "elm.indicator"; + target: "bevel"; + } + program { + signal: "elm,state,disabled"; source: "elm"; + action: STATE_SET "disabled" 0.0; + target: "base"; + } + program { + signal: "elm,state,enabled"; source: "elm"; + action: STATE_SET "default" 0.0; + target: "base"; + } + } +} Added: trunk/THEMES/dark/edje/img/horiz_glow_run_rev.png =================================================================== (Binary files differ) Property changes on: trunk/THEMES/dark/edje/img/horiz_glow_run_rev.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/THEMES/dark/edje/img/vert_glow_run_rev.png =================================================================== (Binary files differ) Property changes on: trunk/THEMES/dark/edje/img/vert_glow_run_rev.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream |
From: Enlightenment S. <no-...@en...> - 2013-04-01 13:01:24
|
Log: website bzr announcement Author: discomfitor Date: 2013-04-01 06:01:14 -0700 (Mon, 01 Apr 2013) New Revision: 84478 Trac: http://trac.enlightenment.org/e/changeset/84478 Added: trunk/web/www/p/news/en/20130401-133000 Added: trunk/web/www/p/news/en/20130401-133000 =================================================================== --- trunk/web/www/p/news/en/20130401-133000 (rev 0) +++ trunk/web/www/p/news/en/20130401-133000 2013-04-01 13:01:14 UTC (rev 84478) @@ -0,0 +1,23 @@ +Git Begone! +Mike Blumenkrantz +di...@ef... + +<p> +After 2 months of struggling with and against GIT adoption, +we've finally decided that enough is enough. +Enlightenment is proud to announce that we are switching to Canonical's +<a href="http://bazaar.canonical.com/en/">Bazaar</a> VCS, and we are planning +to stick with it! +</p> + +<p> +<img src="http://i.imgur.com/I5NtsAj.png"> +</p> + +<p><ul> + +[<a href="http://bzr.enlightenment.fr">BZR Repository</a>] +</li> + +</ul></p> +<!-- cut --> |
From: Enlightenment S. <no-...@en...> - 2013-03-31 21:42:05
|
Log: enjoy: Don't add the nowplaying as a content of the main layout. It is already added as a naviframe content, so there's no need to swallow it too. Author: antognolli Date: 2013-03-31 14:41:57 -0700 (Sun, 31 Mar 2013) New Revision: 84477 Trac: http://trac.enlightenment.org/e/changeset/84477 Modified: trunk/enjoy/src/bin/win.c Modified: trunk/enjoy/src/bin/win.c =================================================================== --- trunk/enjoy/src/bin/win.c 2013-03-31 21:41:47 UTC (rev 84476) +++ trunk/enjoy/src/bin/win.c 2013-03-31 21:41:57 UTC (rev 84477) @@ -1020,7 +1020,6 @@ (nowplaying_edje, "ejy,shuffle,on", "ejy", _win_shuffle_on, w); edje_object_signal_callback_add (nowplaying_edje, "ejy,shuffle,off", "ejy", _win_shuffle_off, w); - elm_object_part_content_set(w->layout, "ejy.swallow.nowplaying", w->nowplaying); edje_object_size_min_get(w->edje, &(w->min.w), &(w->min.h)); edje_object_size_min_restricted_calc (w->edje, &(w->min.w), &(w->min.h), w->min.w, w->min.h); |
From: Enlightenment S. <no-...@en...> - 2013-03-31 21:41:59
|
Log: enjoy: There's no more elm_toggle. Use elm_check instead. NOTE: Not sure if this is the right way of setting a toggle style for elm_check when using externals, but at least this silents the warnings. Will check it later when I bring the rest to work again. Author: antognolli Date: 2013-03-31 14:41:47 -0700 (Sun, 31 Mar 2013) New Revision: 84476 Trac: http://trac.enlightenment.org/e/changeset/84476 Modified: trunk/enjoy/data/themes/default.edc Modified: trunk/enjoy/data/themes/default.edc =================================================================== --- trunk/enjoy/data/themes/default.edc 2013-03-28 14:52:11 UTC (rev 84475) +++ trunk/enjoy/data/themes/default.edc 2013-03-31 21:41:47 UTC (rev 84476) @@ -503,7 +503,7 @@ part { name: "buttons.repeat"; type: EXTERNAL; - source: "elm/toggle"; + source: "elm/check"; description { state: "default" 0.0; align: 0.0 0.0; @@ -521,12 +521,13 @@ } params.string: "label on" "Repeat ON"; params.string: "label off" "Repeat OFF"; + params.string: "style" "toggle"; } } part { name: "buttons.shuffle"; type: EXTERNAL; - source: "elm/toggle"; + source: "elm/check"; description { state: "default" 0.0; align: 1.0 0.0; @@ -544,6 +545,7 @@ } params.string: "label on" "Shuffle ON"; params.string: "label off" "Shuffle OFF"; + params.string: "style" "toggle"; } } |
From: Enlightenment S. <no-...@en...> - 2013-03-28 14:52:25
|
Log: Update to last mysac, with support for multiple result sets in stored procedures. Yet, esql itself can only manage 1 result set (and 0 before that patch). Author: kuri Date: 2013-03-28 07:52:11 -0700 (Thu, 28 Mar 2013) New Revision: 84475 Trac: http://trac.enlightenment.org/e/changeset/84475 Added: trunk/PROTO/esskyuehl/src/modules/mysql/mysac/mysac_connect.c trunk/PROTO/esskyuehl/src/modules/mysql/mysac/mysac_decode_respbloc.c trunk/PROTO/esskyuehl/src/modules/mysql/mysac/mysac_decode_respbloc.h trunk/PROTO/esskyuehl/src/modules/mysql/mysac/mysac_memory.c trunk/PROTO/esskyuehl/src/modules/mysql/mysac/mysac_memory.h trunk/PROTO/esskyuehl/src/modules/mysql/mysac/mysac_query.c trunk/PROTO/esskyuehl/src/modules/mysql/mysac/mysac_res.c trunk/PROTO/esskyuehl/src/modules/mysql/mysac/mysac_stmt.c trunk/PROTO/esskyuehl/src/modules/mysql/mysac/mysac_usedatabase.c trunk/PROTO/esskyuehl/src/modules/mysql/mysac/mysac_utils.c Modified: trunk/PROTO/esskyuehl/src/modules/mysql/mysac/Makefile.am trunk/PROTO/esskyuehl/src/modules/mysql/mysac/mysac.c trunk/PROTO/esskyuehl/src/modules/mysql/mysac/mysac.h trunk/PROTO/esskyuehl/src/modules/mysql/mysac/mysac_decode_field.c trunk/PROTO/esskyuehl/src/modules/mysql/mysac/mysac_decode_field.h trunk/PROTO/esskyuehl/src/modules/mysql/mysac/mysac_decode_row.c trunk/PROTO/esskyuehl/src/modules/mysql/mysac/mysac_decode_row.h trunk/PROTO/esskyuehl/src/modules/mysql/mysac/mysac_encode_values.c trunk/PROTO/esskyuehl/src/modules/mysql/mysac/mysac_encode_values.h trunk/PROTO/esskyuehl/src/modules/mysql/mysac/mysac_errors.c trunk/PROTO/esskyuehl/src/modules/mysql/mysac/mysac_net.c trunk/PROTO/esskyuehl/src/modules/mysql/mysac/mysac_net.h trunk/PROTO/esskyuehl/src/modules/mysql/mysac/mysac_utils.h Modified: trunk/PROTO/esskyuehl/src/modules/mysql/mysac/Makefile.am =================================================================== --- trunk/PROTO/esskyuehl/src/modules/mysql/mysac/Makefile.am 2013-03-27 18:11:32 UTC (rev 84474) +++ trunk/PROTO/esskyuehl/src/modules/mysql/mysac/Makefile.am 2013-03-28 14:52:11 UTC (rev 84475) @@ -8,16 +8,26 @@ libmysac_la_LIBADD = @MYSQL_LIBS@ libmysac_la_SOURCES = \ mysac.c \ -mysac_decode_field.c \ -mysac_decode_field.h \ -mysac_decode_row.c \ -mysac_decode_row.h \ mysac_encode_values.c \ +mysac_query.c \ +mysac_connect.c \ mysac_encode_values.h \ +mysac_res.c \ +mysac_decode_field.c \ mysac_errors.c \ +mysac_stmt.c \ +mysac_decode_field.h \ mysac.h \ +mysac_usedatabase.c \ +mysac_decode_respbloc.c \ +mysac_memory.c \ +mysac_utils.c \ +mysac_decode_respbloc.h \ +mysac_memory.h \ +mysac_utils.h \ +mysac_decode_row.c \ mysac_net.c \ -mysac_net.h \ -mysac_utils.h +mysac_decode_row.h \ +mysac_net.h MAINTAINERCLEANFILES = Makefile.in Modified: trunk/PROTO/esskyuehl/src/modules/mysql/mysac/mysac.c =================================================================== --- trunk/PROTO/esskyuehl/src/modules/mysql/mysac/mysac.c 2013-03-27 18:11:32 UTC (rev 84474) +++ trunk/PROTO/esskyuehl/src/modules/mysql/mysac/mysac.c 2013-03-28 14:52:11 UTC (rev 84475) @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009 Thierry FOURNIER + * Copyright (c) 2009-2011 Thierry FOURNIER * * This file is part of MySAC. * @@ -16,20 +16,24 @@ * along with MySAC. If not, see <http://www.gnu.org/licenses/>. */ -#include "mysac.h" +#include <stdlib.h> +#include <stdio.h> +#include <stdint.h> +#include <string.h> +#include <stdarg.h> +#include <ctype.h> +#include <mysql/mysql.h> +#include <mysql/my_global.h> + +#include "mysac_decode_respbloc.h" #include "mysac_decode_field.h" #include "mysac_encode_values.h" #include "mysac_decode_row.h" +#include "mysac.h" +#include "mysac_memory.h" #include "mysac_net.h" #include "mysac_utils.h" -enum my_response_t { - MYSAC_RET_EOF = 1000, - MYSAC_RET_OK, - MYSAC_RET_ERROR, - MYSAC_RET_DATA -}; - const char *mysac_type[] = { [MYSQL_TYPE_DECIMAL] = "MYSQL_TYPE_DECIMAL", [MYSQL_TYPE_TINY] = "MYSQL_TYPE_TINY", @@ -60,342 +64,6 @@ [MYSQL_TYPE_GEOMETRY] = "MYSQL_TYPE_GEOMETRY" }; -enum read_state { - RDST_INIT = 0, - RDST_READ_LEN, - RDST_READ_DATA, - RDST_DECODE_DATA -}; - -static inline -int mysac_extend_res(MYSAC *m) -{ - MYSAC_RES *res = m->res; - MYSAC_ROWS *row; - struct mysac_list_head *stop; - struct mysac_list_head *run; - struct mysac_list_head *next; - struct mysac_list_head *prev; - long long int offset; - int i; - - if (res->extend_bloc_size == 0) { - m->errorcode = MYERR_BUFFER_OVERSIZE; - return MYSAC_RET_ERROR; - } - - res = realloc(m->res, res->max_len + res->extend_bloc_size); - if (res == NULL) { - m->errorcode = MYERR_SYSTEM; - return MYSAC_RET_ERROR; - } - - /* clear new memory */ - memset((char *)res + res->max_len, 0, res->extend_bloc_size); - - mysac_print_audit(m, "mysac realloc memory: from_ptr=%p, to_ptr=%p, from=%d to=%d", - m->res, res, res->max_len, res->max_len + res->extend_bloc_size); - - /* update lengths */ - res->buffer_len += res->extend_bloc_size; - res->max_len += res->extend_bloc_size; - m->read_len += res->extend_bloc_size; - - /* if the pointer of the dat bloc changed, update links */ - if (res != m->res) { - - /* compute offset between old and new memory bloc */ - offset = (long long int)(*(unsigned long int *)&res) - - (long long int)(*(unsigned long int *)&m->res); - - /* update pointers */ - res->buffer = (char *)((char *)res->buffer + offset); - res->cr = (MYSAC_ROWS *)((char *)res->cr + offset); - m->read = (char *)((char *)m->read + offset); - - /* update first cell */ - next = (struct mysac_list_head *)((char *)res->data.next + offset); - prev = (struct mysac_list_head *)((char *)res->data.prev + offset); - res->data.next = next; - res->data.prev = prev; - stop = &res->data; - - /* update row names */ - res->cols = (MYSQL_FIELD *)((char *)res->cols + offset); - for (i=0; i<res->nb_cols; i++) { - if (res->cols[i].name != NULL) - res->cols[i].name = res->cols[i].name + offset; - if (res->cols[i].org_name != NULL) - res->cols[i].org_name = res->cols[i].org_name + offset; - if (res->cols[i].table != NULL) - res->cols[i].table = res->cols[i].table + offset; - if (res->cols[i].org_table != NULL) - res->cols[i].org_table = res->cols[i].org_table + offset; - if (res->cols[i].db != NULL) - res->cols[i].db = res->cols[i].db + offset; - if (res->cols[i].catalog != NULL) - res->cols[i].catalog = res->cols[i].catalog + offset; - if (res->cols[i].def != NULL) - res->cols[i].def = res->cols[i].def + offset; - } - - /* parcours la liste */ - run = res->data.next; - while (1) { - if (run == stop) - break; - next = (struct mysac_list_head *)((char *)run->next + offset); - prev = (struct mysac_list_head *)((char *)run->prev + offset); - row = mysac_container_of(run, MYSAC_ROWS, link); - - /* upadate data pointer */ - row->lengths = (unsigned long *)((char *)row->lengths + offset); - row->data = (MYSAC_ROW *)((char *)row->data + offset); - - /* struct tm */ - for (i=0; i<res->nb_cols; i++) { - switch(res->cols[i].type) { - - /* apply offset on data pointer */ - case MYSQL_TYPE_TIME: - case MYSQL_TYPE_YEAR: - case MYSQL_TYPE_TIMESTAMP: - case MYSQL_TYPE_DATETIME: - case MYSQL_TYPE_DATE: - case MYSQL_TYPE_STRING: - case MYSQL_TYPE_VARCHAR: - case MYSQL_TYPE_VAR_STRING: - case MYSQL_TYPE_TINY_BLOB: - case MYSQL_TYPE_MEDIUM_BLOB: - case MYSQL_TYPE_LONG_BLOB: - case MYSQL_TYPE_BLOB: - if (row->data[i].string != NULL) - row->data[i].string = row->data[i].string + offset; - break; - - /* do nothing for other types */ - case MYSQL_TYPE_DECIMAL: - case MYSQL_TYPE_TINY: - case MYSQL_TYPE_SHORT: - case MYSQL_TYPE_LONG: - case MYSQL_TYPE_FLOAT: - case MYSQL_TYPE_DOUBLE: - case MYSQL_TYPE_NULL: - case MYSQL_TYPE_LONGLONG: - case MYSQL_TYPE_INT24: - case MYSQL_TYPE_NEWDATE: - case MYSQL_TYPE_BIT: - case MYSQL_TYPE_NEWDECIMAL: - case MYSQL_TYPE_ENUM: - case MYSQL_TYPE_SET: - case MYSQL_TYPE_GEOMETRY: - default: - break; - } - } - - run->next = next; - run->prev = prev; - run = run->next; - } - - /* update resource pointer */ - m->res = res; - } - - return 0; -} - -enum my_expected_response_t check_action(const char *request, int len) { - - const char *parse; - - /* jump blank char '\r', '\n', '\t' and ' ' */ - parse = request; - while (1) { - if (!isspace(*parse)) - break; - - /* if no more chars in string */ - len--; - if (len <= 0) - return MYSAC_EXPECT_OK; - - parse++; - } - - /* check request type */ - if ( (len > 6) && ( strncasecmp(parse, "SELECT", 5) == 0) ) - return MYSAC_EXPECT_DATA; - - return MYSAC_EXPECT_OK; -} - -static int my_response(MYSAC *m, enum my_expected_response_t expect) { - int i; - int err; - int errcode; - char *readbuf; - unsigned long len; - unsigned long rlen; - char nul; - - switch ((enum read_state)m->readst) { - - case RDST_INIT: - m->len = 0; - m->readst = RDST_READ_LEN; - - /* read length */ - case RDST_READ_LEN: - - /* check for avalaible size in buffer */ - while (m->read_len < 4) - if (mysac_extend_res(m) != 0) - return MYSAC_RET_ERROR; - - err = mysac_read(m->fd, m->read + m->len, - 4 - m->len, &errcode); - if (err == -1) { - m->errorcode = errcode; - return errcode; - } - - m->len += err; - if (m->len < 4) { - m->errorcode = MYERR_WANT_READ; - return MYERR_WANT_READ; - } - - /* decode */ - m->packet_length = uint3korr(&m->read[0]); - - /* packet number */ - m->packet_number = m->read[3]; - - /* update read state */ - m->readst = RDST_READ_DATA; - m->len = 0; - - /* read data */ - case RDST_READ_DATA: - - /* check for avalaible size in buffer */ - while ((unsigned int)m->read_len < m->packet_length) - if (mysac_extend_res(m) != 0) - return MYSAC_RET_ERROR; - - err = mysac_read(m->fd, m->read + m->len, - m->packet_length - m->len, &errcode); - if (err == -1) - return errcode; - - m->len += err; - if ((unsigned int)m->len < m->packet_length) { - m->errorcode = MYERR_WANT_READ; - return MYERR_WANT_READ; - } - m->read_len -= m->packet_length; - - /* re-init eof */ - m->readst = RDST_DECODE_DATA; - m->eof = 1; - - /* decode data */ - case RDST_DECODE_DATA: - - /* error */ - if ((unsigned char)m->read[0] == 255) { - - /* defined mysql error */ - if (m->packet_length > 3) { - - /* read error code */ - // TODO: voir quoi foutre de ca plus tard - // m->errorcode = uint2korr(&m->read[1]); - - /* read mysal code and message */ - for (i=3; i<3+5; i++) - m->read[i] = m->read[i+1]; - m->read[8] = ' '; - m->mysql_error = &m->read[3]; - m->read[m->packet_length] = '\0'; - m->errorcode = MYERR_MYSQL_ERROR; - } - - /* unknown error */ - else - m->errorcode = MYERR_PROTOCOL_ERROR; - - return MYSAC_RET_ERROR; - } - - /* reponse is expectig sucess and onmly success */ - if (expect == MYSAC_EXPECT_OK || expect == MYSAC_EXPECT_BOTH) { - - /* not a sucess code */ - if ((unsigned char)m->read[0] == 0xff) { - m->errorcode = MYERR_PROTOCOL_ERROR; - return MYSAC_RET_ERROR; - } - - /* is sucess */ - if ((unsigned char)m->read[0] == 0) { - - readbuf = &m->read[1]; - rlen = m->packet_length - 1; - - /* affected rows */ - len = my_lcb(readbuf, &m->affected_rows, &nul, rlen); - rlen -= len; - readbuf += len; - /* m->affected_rows = uint2korr(&m->read[1]); */ - - /* insert id */ - len = my_lcb(readbuf, &m->insert_id, &nul, rlen); - rlen -= len; - readbuf += len; - - /* server status */ - m->status = uint2korr(readbuf); - readbuf += 2; - - /* server warnings */ - m->warnings = uint2korr(readbuf); - - return MYSAC_RET_OK; - } - } - - /* response is expecting data. Maybe contain an EOF */ - if (expect == MYSAC_EXPECT_DATA || expect == MYSAC_EXPECT_BOTH) { - - /* EOF marker: marque la fin d'une serie - (la fin des headers dans une requete) */ - if ((unsigned char)m->read[0] == 254) { - m->warnings = uint2korr(&m->read[1]); - m->status = uint2korr(&m->read[3]); - m->eof = 1; - return MYSAC_RET_EOF; - } - - else - return MYSAC_RET_DATA; - } - - /* the expect code is not valid */ - m->errorcode = MYERR_UNKNOWN_ERROR; - return MYSAC_RET_ERROR; - - default: - m->errorcode = MYERR_UNEXPECT_R_STATE; - return MYSAC_RET_ERROR; - } - - m->errorcode = MYERR_PACKET_CORRUPT; - return MYSAC_RET_ERROR; -} - void mysac_init(MYSAC *mysac, char *buffer, unsigned int buffsize) { /* init */ @@ -403,6 +71,7 @@ mysac->qst = MYSAC_START; mysac->buf = buffer; mysac->bufsize = buffsize; + INIT_LIST_HEAD(&mysac->all_res); } MYSAC *mysac_new(int buffsize) { @@ -410,12 +79,12 @@ char *buf; /* struct memory */ - m = calloc(1, sizeof(MYSAC)); + m = mysac_calloc(1, sizeof(MYSAC)); if (m == NULL) return NULL; /* buff memory */ - buf = calloc(1, buffsize); + buf = mysac_calloc(1, buffsize); if (buf == NULL) { free(m); return NULL; @@ -441,1232 +110,6 @@ mysac->call_it = mysac_connect; } -int mysac_connect(MYSAC *mysac) { - int err; - int errcode; - int i; - int len; - - switch (mysac->qst) { - - /*********************************************** - network connexion - ***********************************************/ - case MYSAC_START: - err = mysac_socket_connect(mysac->addr, &mysac->fd); - if (err != 0) { - mysac->qst = MYSAC_START; - mysac->errorcode = err; - return err; - } - mysac->qst = MYSAC_CONN_CHECK; - return MYERR_WANT_READ; - - /*********************************************** - check network connexion - ***********************************************/ - case MYSAC_CONN_CHECK: - err = mysac_socket_connect_check(mysac->fd); - if (err != 0) { - close(mysac->fd); - mysac->qst = MYSAC_START; - mysac->errorcode = err; - return err; - } - mysac->qst = MYSAC_READ_GREATINGS; - mysac->len = 0; - mysac->readst = 0; - mysac->read = mysac->buf; - mysac->read_len = mysac->bufsize; - - /*********************************************** - read greatings - ***********************************************/ - case MYSAC_READ_GREATINGS: - - err = my_response(mysac, MYSAC_EXPECT_DATA); - - if (err == MYERR_WANT_READ) - return MYERR_WANT_READ; - - /* error */ - else if (err == MYSAC_RET_ERROR) - return mysac->errorcode; - - /* ok */ - else if (err != MYSAC_RET_DATA) { - mysac->errorcode = MYERR_PROTOCOL_ERROR; - return mysac->errorcode; - } - - /* decode greatings */ - i = 0; - - /* protocol */ - mysac->protocol = mysac->buf[i]; - i++; - - /* version */ - mysac->version = &mysac->buf[i]; - - /* search \0 */ - while (mysac->buf[i] != 0) - i++; - i++; - - /* thread id */ - mysac->threadid = uint4korr(&mysac->buf[i]); - - /* first part of salt */ - strncpy(mysac->salt, &mysac->buf[i+4], SCRAMBLE_LENGTH_323); - i += 4 + SCRAMBLE_LENGTH_323 + 1; - - /* options */ - mysac->options = uint2korr(&mysac->buf[i]); - - /* charset */ - mysac->charset = mysac->buf[i+2]; - - /* server status */ - mysac->status = uint2korr(&mysac->buf[i+3]); - - /* salt part 2 */ - strncpy(mysac->salt + SCRAMBLE_LENGTH_323, &mysac->buf[i+5+13], - SCRAMBLE_LENGTH - SCRAMBLE_LENGTH_323); - mysac->salt[SCRAMBLE_LENGTH] = '\0'; - - /* checks */ - if (mysac->protocol != PROTOCOL_VERSION) - return CR_VERSION_ERROR; - - /******************************** - prepare auth packet - ********************************/ - - /* set m->buf number */ - mysac->packet_number++; - mysac->buf[3] = mysac->packet_number; - - /* set options */ - if (mysac->options & CLIENT_LONG_PASSWORD) - mysac->flags |= CLIENT_LONG_PASSWORD; - mysac->flags |= CLIENT_LONG_FLAG | - CLIENT_PROTOCOL_41 | - CLIENT_SECURE_CONNECTION; - to_my_2(mysac->flags, &mysac->buf[4]); - - /* set extended options */ - to_my_2(0, &mysac->buf[6]); - - /* max m->bufs */ - to_my_4(0x40000000, &mysac->buf[8]); - - /* charset */ - /* 8: swedish */ - mysac->buf[12] = 8; - - /* 24 unused */ - memset(&mysac->buf[13], 0, 24); - - /* username */ - strcpy(&mysac->buf[36], mysac->login); - i = 36 + strlen(mysac->login) + 1; - - /* password CLIENT_SECURE_CONNECTION */ - if (mysac->options & CLIENT_SECURE_CONNECTION) { - - /* the password hash len */ - mysac->buf[i] = SCRAMBLE_LENGTH; - i++; - scramble(&mysac->buf[i], mysac->salt, mysac->password); - i += SCRAMBLE_LENGTH; - } - - /* password ! CLIENT_SECURE_CONNECTION */ - else { - scramble_323(&mysac->buf[i], mysac->salt, mysac->password); - i += SCRAMBLE_LENGTH_323 + 1; - } - - /* Add database if needed */ - if ((mysac->options & CLIENT_CONNECT_WITH_DB) && - (mysac->database != NULL)) { - /* TODO : debordement de buffer */ - len = strlen(mysac->database); - memcpy(&mysac->buf[i], mysac->database, len); - i += len; - mysac->buf[i] = '\0'; - } - - /* len */ - to_my_3(i-4, &mysac->buf[0]); - mysac->len = i; - mysac->send = mysac->buf; - mysac->qst = MYSAC_SEND_AUTH_1; - - /*********************************************** - send paquet - ***********************************************/ - case MYSAC_SEND_AUTH_1: - err = mysac_write(mysac->fd, mysac->send, mysac->len, &errcode); - - if (err == -1) - return errcode; - - mysac->len -= err; - mysac->send += err; - if (mysac->len > 0) - return MYERR_WANT_WRITE; - - mysac->qst = MYSAC_RECV_AUTH_1; - mysac->readst = 0; - mysac->read = mysac->buf; - mysac->read_len = mysac->bufsize; - - /*********************************************** - read response 1 - ***********************************************/ - case_MYSAC_RECV_AUTH_1: - case MYSAC_RECV_AUTH_1: - /* - MYSAC_RET_EOF, - MYSAC_RET_OK, - MYSAC_RET_ERROR, - MYSAC_RET_DATA - */ - err = my_response(mysac, MYSAC_EXPECT_BOTH); - - if (err == MYERR_WANT_READ) - return MYERR_WANT_READ; - - /* error */ - if (err == MYSAC_RET_ERROR) - return mysac->errorcode; - - /* ok */ - else if (err == MYSAC_RET_OK) - return 0; - - /* - By sending this very specific reply server asks us to send scrambled - password in old format. - */ - else if (mysac->packet_length == 1 && err == MYSAC_RET_EOF && - mysac->options & CLIENT_SECURE_CONNECTION) { - /* continue special paquet after conditions */ - } - - /* protocol error */ - else { - mysac->errorcode = MYERR_PROTOCOL_ERROR; - return mysac->errorcode; - } - - /* send scrambled password in old format */ - - /* set packet number */ - mysac->packet_number++; - mysac->buf[3] = mysac->packet_number; - - /* send scrambled password in old format. */ - scramble_323(&mysac->buf[4], mysac->salt, mysac->password); - mysac->buf[4+SCRAMBLE_LENGTH_323] = '\0'; - - /* len */ - to_my_3(SCRAMBLE_LENGTH_323+1, &mysac->buf[0]); - mysac->qst = MYSAC_SEND_AUTH_2; - mysac->len = SCRAMBLE_LENGTH_323 + 1 + 4; - mysac->send = mysac->buf; - - /* send scrambled password in old format */ - case MYSAC_SEND_AUTH_2: - err = mysac_write(mysac->fd, mysac->send, mysac->len, &errcode); - - if (err == -1) - return errcode; - - mysac->len -= err; - mysac->send += err; - if (mysac->len > 0) - return MYERR_WANT_WRITE; - - mysac->qst = MYSAC_RECV_AUTH_1; - mysac->readst = 0; - mysac->read = mysac->buf; - mysac->read_len = mysac->bufsize; - goto case_MYSAC_RECV_AUTH_1; - - case MYSAC_SEND_QUERY: - case MYSAC_RECV_QUERY_COLNUM: - case MYSAC_RECV_QUERY_COLDESC1: - case MYSAC_RECV_QUERY_COLDESC2: - case MYSAC_RECV_QUERY_EOF1: - case MYSAC_RECV_QUERY_EOF2: - case MYSAC_RECV_QUERY_DATA: - case MYSAC_SEND_INIT_DB: - case MYSAC_RECV_INIT_DB: - case MYSAC_SEND_STMT_QUERY: - case MYSAC_RECV_STMT_QUERY: - case MYSAC_SEND_STMT_EXECUTE: - case MYSAC_RECV_STMT_EXECUTE: - case MYSAC_READ_NUM: - case MYSAC_READ_HEADER: - case MYSAC_READ_LINE: - mysac->errorcode = MYERR_BAD_STATE; - return MYERR_BAD_STATE; - - } - - return 0; -} - -int mysac_set_database(MYSAC *mysac, const char *database) { - int i; - - /* set packet number */ - mysac->buf[3] = 0; - - /* set mysql command */ - mysac->buf[4] = COM_INIT_DB; - - /* build sql query */ - i = strlen(database); - memcpy(&mysac->buf[5], database, i); - - /* len */ - to_my_3(i + 1, &mysac->buf[0]); - - /* send params */ - mysac->send = mysac->buf; - mysac->len = i + 5; - mysac->qst = MYSAC_SEND_INIT_DB; - mysac->call_it = mysac_send_database; - - return 0; -} - -int mysac_send_database(MYSAC *mysac) { - int err; - int errcode; - - switch (mysac->qst) { - - /********************************************************** - * - * send query on network - * - **********************************************************/ - case MYSAC_SEND_INIT_DB: - err = mysac_write(mysac->fd, mysac->send, mysac->len, &errcode); - - if (err == -1) - return errcode; - - mysac->len -= err; - mysac->send += err; - if (mysac->len > 0) - return MYERR_WANT_WRITE; - mysac->qst = MYSAC_RECV_INIT_DB; - mysac->readst = 0; - mysac->read = mysac->buf; - - /********************************************************** - * - * receive - * - **********************************************************/ - case MYSAC_RECV_INIT_DB: - err = my_response(mysac, MYSAC_EXPECT_OK); - - if (err == MYERR_WANT_READ) - return MYERR_WANT_READ; - - /* error */ - if (err == MYSAC_RET_ERROR) - return mysac->errorcode; - - /* protocol error */ - else if (err == MYSAC_RET_OK) - return 0; - - else { - mysac->errorcode = MYERR_PROTOCOL_ERROR; - return mysac->errorcode; - } - - case MYSAC_START: - case MYSAC_CONN_CHECK: - case MYSAC_READ_GREATINGS: - case MYSAC_SEND_AUTH_1: - case MYSAC_RECV_AUTH_1: - case MYSAC_SEND_AUTH_2: - case MYSAC_SEND_QUERY: - case MYSAC_RECV_QUERY_COLNUM: - case MYSAC_RECV_QUERY_COLDESC1: - case MYSAC_RECV_QUERY_COLDESC2: - case MYSAC_RECV_QUERY_EOF1: - case MYSAC_RECV_QUERY_EOF2: - case MYSAC_RECV_QUERY_DATA: - case MYSAC_SEND_STMT_QUERY: - case MYSAC_RECV_STMT_QUERY: - case MYSAC_SEND_STMT_EXECUTE: - case MYSAC_RECV_STMT_EXECUTE: - case MYSAC_READ_NUM: - case MYSAC_READ_HEADER: - case MYSAC_READ_LINE: - mysac->errorcode = MYERR_BAD_STATE; - return MYERR_BAD_STATE; - - } - - mysac->errorcode = MYERR_BAD_STATE; - return MYERR_BAD_STATE; -} - -int mysac_b_set_stmt_prepare(MYSAC *mysac, unsigned int *stmt_id, - const char *request, int len) { - - /* set packet number */ - mysac->buf[3] = 0; - - /* set mysql command */ - mysac->buf[4] = COM_STMT_PREPARE; - - /* check len */ - if (mysac->bufsize - 5 < (unsigned int)len) - return -1; - - /* build sql query */ - memcpy(&mysac->buf[5], request, len); - - /* request type */ - mysac->expect = check_action(&mysac->buf[5], len); - - /* l */ - to_my_3(len + 1, &mysac->buf[0]); - - /* send params */ - mysac->send = mysac->buf; - mysac->len = len + 5; - mysac->qst = MYSAC_SEND_STMT_QUERY; - mysac->call_it = mysac_send_stmt_prepare; - mysac->stmt_id = stmt_id; - - return 0; -} - -int mysac_s_set_stmt_prepare(MYSAC *mysac, unsigned int *stmt_id, - const char *request) { - return mysac_b_set_stmt_prepare(mysac, stmt_id, request, strlen(request)); -} - -int mysac_v_set_stmt_prepare(MYSAC *mysac, unsigned int *stmt_id, - const char *fmt, va_list ap) { - int len; - - /* set packet number */ - mysac->buf[3] = 0; - - /* set mysql command */ - mysac->buf[4] = COM_STMT_PREPARE; - - /* build sql query */ - len = vsnprintf(&mysac->buf[5], mysac->bufsize - 5, fmt, ap); - if ((unsigned int)len >= mysac->bufsize - 5) - return -1; - - /* request type */ - mysac->expect = check_action(&mysac->buf[5], len); - - /* len */ - to_my_3(len + 1, &mysac->buf[0]); - - /* send params */ - mysac->send = mysac->buf; - mysac->len = len + 5; - mysac->qst = MYSAC_SEND_STMT_QUERY; - mysac->call_it = mysac_send_stmt_prepare; - mysac->stmt_id = stmt_id; - - return 0; -} - -int mysac_set_stmt_prepare(MYSAC *mysac, unsigned int *stmt_id, - const char *fmt, ...) { - va_list ap; - - va_start(ap, fmt); - return mysac_v_set_stmt_prepare(mysac, stmt_id, fmt, ap); -} - -int mysac_send_stmt_prepare(MYSAC *mysac) { - int err; - int errcode; - - switch (mysac->qst) { - - /********************************************************** - * - * send query on network - * - **********************************************************/ - case MYSAC_SEND_STMT_QUERY: - err = mysac_write(mysac->fd, mysac->send, mysac->len, &errcode); - - if (err == -1) - return errcode; - - mysac->len -= err; - mysac->send += err; - if (mysac->len > 0) - return MYERR_WANT_WRITE; - mysac->qst = MYSAC_RECV_STMT_QUERY; - mysac->readst = 0; - mysac->read = mysac->buf; - - /********************************************************** - * - * receive - * - **********************************************************/ - case MYSAC_RECV_STMT_QUERY: - err = my_response(mysac, MYSAC_EXPECT_OK); - - if (err == MYERR_WANT_READ) - return MYERR_WANT_READ; - - /* error */ - if (err == MYSAC_RET_ERROR) - return mysac->errorcode; - - /* protocol error */ - if (err != MYSAC_RET_OK) { - mysac->errorcode = MYERR_PROTOCOL_ERROR; - return mysac->errorcode; - } - - /* 0: don't care */ - - /* 1-4: get statement id */ - *mysac->stmt_id = uint4korr(&mysac->buf[1]); - - /* if data expected, set MSB */ - if (mysac->expect == MYSAC_EXPECT_DATA) - (*mysac->stmt_id) |= 0x80000000; - - /* 5-6: get nb of columns */ - mysac->nb_cols = uint2korr(&mysac->buf[5]); - - /* 7-8: Number of placeholders in the statement */ - mysac->nb_plhold = uint2korr(&mysac->buf[7]); - - /* 9-.. don't care ! */ - - /* if no data expected */ - if (mysac->expect == MYSAC_EXPECT_OK) - return 0; - - if (mysac->nb_plhold > 0) - mysac->qst = MYSAC_RECV_QUERY_COLDESC1; - else { - mysac->qst = MYSAC_RECV_QUERY_COLDESC2; - goto case_MYSAC_RECV_QUERY_COLDESC2; - } - - /********************************************************** - * - * receive place holder description - * - **********************************************************/ - case_MYSAC_RECV_QUERY_COLDESC1: - mysac->readst = 0; - mysac->read = mysac->buf; - - case MYSAC_RECV_QUERY_COLDESC1: - - err = my_response(mysac, MYSAC_EXPECT_DATA); - - if (err == MYERR_WANT_READ) - return MYERR_WANT_READ; - - /* error */ - if (err == MYSAC_RET_ERROR) - return mysac->errorcode; - - /* protocol error */ - else if (err != MYSAC_RET_DATA) { - mysac->errorcode = MYERR_PROTOCOL_ERROR; - return mysac->errorcode; - } - - /* XXX for a moment, dont decode columns - * names and types - */ - mysac->nb_plhold--; - if (mysac->nb_plhold != 0) - goto case_MYSAC_RECV_QUERY_COLDESC1; - - mysac->readst = 0; - mysac->qst = MYSAC_RECV_QUERY_EOF1; - mysac->read = mysac->buf; - - /********************************************************** - * - * receive EOF - * - **********************************************************/ - case MYSAC_RECV_QUERY_EOF1: - err = my_response(mysac, MYSAC_EXPECT_DATA); - - if (err == MYERR_WANT_READ) - return MYERR_WANT_READ; - - /* error */ - if (err == MYSAC_RET_ERROR) - return mysac->errorcode; - - /* protocol error */ - else if (err != MYSAC_RET_EOF) { - mysac->errorcode = MYERR_PROTOCOL_ERROR; - return mysac->errorcode; - } - - mysac->qst = MYSAC_RECV_QUERY_COLDESC2; - - /********************************************************** - * - * receive column description - * - **********************************************************/ - case_MYSAC_RECV_QUERY_COLDESC2: - mysac->readst = 0; - mysac->read = mysac->buf; - - case MYSAC_RECV_QUERY_COLDESC2: - - err = my_response(mysac, MYSAC_EXPECT_DATA); - - if (err == MYERR_WANT_READ) - return MYERR_WANT_READ; - - /* error */ - if (err == MYSAC_RET_ERROR) - return mysac->errorcode; - - /* protocol error */ - else if (err != MYSAC_RET_DATA) { - mysac->errorcode = MYERR_PROTOCOL_ERROR; - return mysac->errorcode; - } - - /* XXX for a moment, dont decode columns - * names and types - */ - mysac->nb_cols--; - if (mysac->nb_cols != 0) - goto case_MYSAC_RECV_QUERY_COLDESC2; - - mysac->readst = 0; - mysac->qst = MYSAC_RECV_QUERY_EOF2; - mysac->read = mysac->buf; - - /********************************************************** - * - * receive EOF - * - **********************************************************/ - case MYSAC_RECV_QUERY_EOF2: - err = my_response(mysac, MYSAC_EXPECT_DATA); - - if (err == MYERR_WANT_READ) - return MYERR_WANT_READ; - - /* error */ - if (err == MYSAC_RET_ERROR) - return mysac->errorcode; - - /* protocol error */ - else if (err != MYSAC_RET_EOF) { - mysac->errorcode = MYERR_PROTOCOL_ERROR; - return mysac->errorcode; - } - - return 0; - - case MYSAC_START: - case MYSAC_CONN_CHECK: - case MYSAC_READ_GREATINGS: - case MYSAC_SEND_AUTH_1: - case MYSAC_RECV_AUTH_1: - case MYSAC_SEND_AUTH_2: - case MYSAC_SEND_QUERY: - case MYSAC_RECV_QUERY_COLNUM: - case MYSAC_RECV_QUERY_DATA: - case MYSAC_SEND_INIT_DB: - case MYSAC_RECV_INIT_DB: - case MYSAC_SEND_STMT_EXECUTE: - case MYSAC_RECV_STMT_EXECUTE: - case MYSAC_READ_NUM: - case MYSAC_READ_HEADER: - case MYSAC_READ_LINE: - mysac->errorcode = MYERR_BAD_STATE; - return MYERR_BAD_STATE; - } - - mysac->errorcode = MYERR_BAD_STATE; - return MYERR_BAD_STATE; -} - - - -int mysac_set_stmt_execute(MYSAC *mysac, MYSAC_RES *res, unsigned int stmt_id, - MYSAC_BIND *values, int nb) { - int i; - int nb_bf; - int desc_off; - unsigned int vals_off; - unsigned int len = 3 + 1 + 1 + 4 + 1 + 4; - int ret; - - /* check len */ - if (mysac->bufsize < len) { - mysac->errorcode = MYERR_BUFFER_TOO_SMALL; - mysac->len = 0; - return -1; - } - - /* 3 : set packet number */ - mysac->buf[3] = 0; - - /* 4 : set mysql command */ - mysac->buf[4] = COM_STMT_EXECUTE; - - /* dat aexpected */ - if ((stmt_id & 0x80000000) == 0) - mysac->expect = MYSAC_EXPECT_OK; - else { - stmt_id &= 0x7fffffff; - mysac->expect = MYSAC_EXPECT_DATA; - } - mysac->stmt_id = (void *)1; - - /* 5-8 : build sql query */ - to_my_4(stmt_id, &mysac->buf[5]); - - /* 9 : flags (unused) */ - mysac->buf[9] = 0; - - /* 10-13 : iterations (unused) */ - to_my_4(1, &mysac->buf[10]); - - /* number of bytes for the NULL values bitfield */ - nb_bf = ( nb / 8 ) + 1; - desc_off = len + nb_bf + 1; - vals_off = desc_off + ( nb * 2 ); - - /* check len */ - if (mysac->bufsize < vals_off) { - mysac->errorcode = MYERR_BUFFER_TOO_SMALL; - mysac->len = 0; - return -1; - } - - /* init bitfield: set 0 */ - memset(&mysac->buf[len], 0, nb_bf); - - /* build NULL bitfield and values type */ - for (i=0; i<nb; i++) { - - /*********************** - * - * NULL bitfield - * - ***********************/ - if (values[i].is_null != 0) - mysac->buf[len + (i << 3)] |= 1 << (i & 0xf); - - /*********************** - * - * Value type - * - ***********************/ - mysac->buf[desc_off + ( i * 2 )] = values[i].type; - mysac->buf[desc_off + ( i * 2 ) + 1] = 0x00; /* ???? */ - - /*********************** - * - * set values data - * - ***********************/ - ret = mysac_encode_value(&values[i], &mysac->buf[vals_off], - mysac->bufsize - vals_off); - if (ret < 0) { - mysac->errorcode = MYERR_BUFFER_TOO_SMALL; - mysac->len = 0; - return -1; - } - vals_off += ret; - } - - /* 01 byte ??? */ - mysac->buf[len + nb_bf] = 0x01; - - /* 0-2 : len - * 4 = packet_len + packet_id - */ - to_my_3(vals_off - 4, &mysac->buf[0]); - - /* send params */ - mysac->res = res; - mysac->send = mysac->buf; - mysac->len = vals_off; - mysac->qst = MYSAC_SEND_QUERY; - mysac->call_it = mysac_send_stmt_execute; - - return 0; -} - -inline -int mysac_b_set_query(MYSAC *mysac, MYSAC_RES *res, const char *query, unsigned int len) { - - /* set packet number */ - mysac->buf[3] = 0; - - /* set mysql command */ - mysac->buf[4] = COM_QUERY; - - /* build sql query */ - if (mysac->bufsize - 5 < len) { - mysac->errorcode = MYERR_BUFFER_TOO_SMALL; - mysac->len = 0; - return -1; - } - memcpy(&mysac->buf[5], query, len); - - /* request type */ - mysac->expect = check_action(&mysac->buf[5], len); - - /* unset statement result */ - mysac->stmt_id = (void *)0; - - /* len */ - to_my_3(len + 1, &mysac->buf[0]); - - /* send params */ - mysac->res = res; - mysac->send = mysac->buf; - mysac->len = len + 5; - mysac->qst = MYSAC_SEND_QUERY; - mysac->call_it = mysac_send_query; - - return 0; -} - -int mysac_s_set_query(MYSAC *mysac, MYSAC_RES *res, const char *query) { - return mysac_b_set_query(mysac, res, query, strlen(query)); -} - -inline -int mysac_v_set_query(MYSAC *mysac, MYSAC_RES *res, const char *fmt, va_list ap) { - unsigned int len; - - /* set packet number */ - mysac->buf[3] = 0; - - /* set mysql command */ - mysac->buf[4] = COM_QUERY; - - /* build sql query */ - len = vsnprintf(&mysac->buf[5], mysac->bufsize - 5, fmt, ap); - if (len >= mysac->bufsize - 5) { - mysac->errorcode = MYERR_BUFFER_TOO_SMALL; - mysac->len = 0; - return -1; - } - - /* request type */ - mysac->expect = check_action(&mysac->buf[5], len); - - /* unset statement result */ - mysac->stmt_id = (void *)0; - - /* len */ - to_my_3(len + 1, &mysac->buf[0]); - - /* send params */ - mysac->res = res; - mysac->send = mysac->buf; - mysac->len = len + 5; - mysac->qst = MYSAC_SEND_QUERY; - mysac->call_it = mysac_send_query; - - return 0; -} - -int mysac_set_query(MYSAC *mysac, MYSAC_RES *res, const char *fmt, ...) { - va_list ap; - - va_start(ap, fmt); - return mysac_v_set_query(mysac, res, fmt, ap); -} - -int mysac_send_query(MYSAC *mysac) { - int err; - int errcode; - int i; - int len; - int nb_cols; - - switch (mysac->qst) { - - /********************************************************** - * - * send query on network - * - **********************************************************/ - case MYSAC_SEND_QUERY: - err = mysac_write(mysac->fd, mysac->send, mysac->len, &errcode); - - if (err == -1) - return errcode; - - mysac->len -= err; - mysac->send += err; - if (mysac->len > 0) - return MYERR_WANT_WRITE; - mysac->qst = MYSAC_RECV_QUERY_COLNUM; - mysac->readst = 0; - - /********************************************************** - * - * receive - * - **********************************************************/ - - /* prepare struct - - +---------------+-----------------+ - | MYSQL_FIELD[] | char[] | - | resp->nb_cols | all fields name | - +---------------+-----------------+ - - */ - - mysac->res->nb_lines = 0; - mysac->res->cols = (MYSQL_FIELD *)(mysac->res->buffer + sizeof(MYSAC_RES)); - INIT_LIST_HEAD(&mysac->res->data); - mysac->read = mysac->res->buffer; - mysac->read_len = mysac->res->buffer_len; - - case MYSAC_RECV_QUERY_COLNUM: - err = my_response(mysac, mysac->expect); - - if (err == MYERR_WANT_READ) - return MYERR_WANT_READ; - - /* error */ - if (err == MYSAC_RET_ERROR) - return mysac->errorcode; - - /* ok ( for insert or no return data command ) */ - if (mysac->expect == MYSAC_EXPECT_OK) { - if (err == MYSAC_RET_OK) - return 0; - else { - mysac->errorcode = MYERR_PROTOCOL_ERROR; - return mysac->errorcode; - } - } - - /* invalide expect */ - else if (mysac->expect != MYSAC_EXPECT_DATA) { - mysac->errorcode = MYERR_INVALID_EXPECT; - return mysac->errorcode; - } - - /* protocol error */ - if (err != MYSAC_RET_DATA) { - mysac->errorcode = MYERR_PROTOCOL_ERROR; - return mysac->errorcode; - } - - /* get nb col TODO: pas sur que ce soit un byte */ - nb_cols = mysac->read[0]; - mysac->read_id = 0; - mysac->qst = MYSAC_RECV_QUERY_COLDESC1; - - /* prepare cols space */ - - /* check for avalaible size in buffer */ - while ((unsigned int)mysac->read_len < sizeof(MYSQL_FIELD) * nb_cols) - if (mysac_extend_res(mysac) != 0) - return mysac->errorcode; - - mysac->res->nb_cols = nb_cols; - mysac->res->cols = (MYSQL_FIELD *)mysac->read; - memset((char *)mysac->res->cols, 0, sizeof(MYSQL_FIELD) * mysac->res->nb_cols); - mysac->read += sizeof(MYSQL_FIELD) * mysac->res->nb_cols; - mysac->read_len -= sizeof(MYSQL_FIELD) * mysac->res->nb_cols; - - /********************************************************** - * - * receive column description - * - **********************************************************/ - - case_MYSAC_RECV_QUERY_COLDESC1: - mysac->readst = 0; - - case MYSAC_RECV_QUERY_COLDESC1: - - err = my_response(mysac, MYSAC_EXPECT_DATA); - - if (err == MYERR_WANT_READ) - return MYERR_WANT_READ; - - /* error */ - if (err == MYSAC_RET_ERROR) - return mysac->errorcode; - - /* protocol error */ - else if (err != MYSAC_RET_DATA) { - mysac->errorcode = MYERR_PROTOCOL_ERROR; - return mysac->errorcode; - } - - /* decode mysql packet with field desc, use packet buffer for storing - mysql data (field name) */ -#if 0 - for (i=0; i<mysac->packet_length; i++) { - fprintf(stderr, "%02x ", (unsigned char)mysac->read[i]); - } - fprintf(stderr, "\n"); -#endif - len = mysac_decode_field(mysac->read, mysac->packet_length, - &mysac->res->cols[mysac->read_id]); - - if (len < 0) { - mysac->errorcode = len * -1; - return mysac->errorcode; - } - mysac->read += len; - mysac->read_len += mysac->packet_length - len; - - mysac->read_id++; - if (mysac->read_id < mysac->res->nb_cols) - goto case_MYSAC_RECV_QUERY_COLDESC1; - - mysac->readst = 0; - mysac->qst = MYSAC_RECV_QUERY_EOF1; - - /********************************************************** - * - * receive EOF - * - **********************************************************/ - case MYSAC_RECV_QUERY_EOF1: - err = my_response(mysac, MYSAC_EXPECT_DATA); - - if (err == MYERR_WANT_READ) - return MYERR_WANT_READ; - - /* error */ - if (err == MYSAC_RET_ERROR) - return mysac->errorcode; - - /* protocol error */ - else if (err != MYSAC_RET_EOF) { - mysac->errorcode = MYERR_PROTOCOL_ERROR; - return mysac->errorcode; - } - - mysac->qst = MYSAC_RECV_QUERY_DATA; - - /********************************************************** - * - * read data lines - * - **********************************************************/ - case_MYSAC_RECV_QUERY_DATA: - - /* - +-------------------+----------------+-----------------+----------------+ - | struct mysac_rows | MYSAC_ROW[] | unsigned long[] | struct tm[] | - | | mysac->nb_cols | mysac->nb_cols | mysac->nb_time | - +-------------------+----------------+-----------------+----------------+ - */ - - /* check for avalaible size in buffer */ - while ((unsigned int)mysac->read_len < sizeof(MYSAC_ROWS) + ( mysac->res->nb_cols * ( - sizeof(MYSAC_ROW) + sizeof(unsigned long) ) ) ) - if (mysac_extend_res(mysac) != 0) - return mysac->errorcode; - - mysac->read_len -= sizeof(MYSAC_ROWS) + ( mysac->res->nb_cols * ( - sizeof(MYSAC_ROW) + sizeof(unsigned long) ) ); - - /* reserve space for MYSAC_ROWS and add it into chained list */ - mysac->res->cr = (MYSAC_ROWS *)mysac->read; - list_add_tail(&mysac->res->cr->link, &mysac->res->data); - mysac->read += sizeof(MYSAC_ROWS); - - /* space for each field definition into row */ - mysac->res->cr->data = (MYSAC_ROW *)mysac->read; - mysac->read += sizeof(MYSAC_ROW) * mysac->res->nb_cols; - - /* space for length table */ - mysac->res->cr->lengths = (unsigned long *)mysac->read; - mysac->read += sizeof(unsigned long) * mysac->res->nb_cols; - - /* struct tm */ - for (i=0; i<mysac->res->nb_cols; i++) { - switch(mysac->res->cols[i].type) { - - /* date type */ - case MYSQL_TYPE_TIME: - case MYSQL_TYPE_YEAR: - case MYSQL_TYPE_TIMESTAMP: - case MYSQL_TYPE_DATETIME: - case MYSQL_TYPE_DATE: - while ((unsigned int)mysac->read_len < sizeof(struct tm)) - if (mysac_extend_res(mysac) != 0) - return mysac->errorcode; - - mysac->res->cr->data[i].tm = (struct tm *)mysac->read; - mysac->read += sizeof(struct tm); - mysac->read_len -= sizeof(struct tm); - memset(mysac->res->cr->data[i].tm, 0, sizeof(struct tm)); - break; - - /* do nothing for other types */ - case MYSQL_TYPE_DECIMAL: - case MYSQL_TYPE_TINY: - case MYSQL_TYPE_SHORT: - case MYSQL_TYPE_LONG: - case MYSQL_TYPE_FLOAT: - case MYSQL_TYPE_DOUBLE: - case MYSQL_TYPE_NULL: - case MYSQL_TYPE_LONGLONG: - case MYSQL_TYPE_INT24: - case MYSQL_TYPE_NEWDATE: - case MYSQL_TYPE_VARCHAR: - case MYSQL_TYPE_BIT: - case MYSQL_TYPE_NEWDECIMAL: - case MYSQL_TYPE_ENUM: - case MYSQL_TYPE_SET: - case MYSQL_TYPE_TINY_BLOB: - case MYSQL_TYPE_MEDIUM_BLOB: - case MYSQL_TYPE_LONG_BLOB: - case MYSQL_TYPE_BLOB: - case MYSQL_TYPE_VAR_STRING: - case MYSQL_TYPE_STRING: - case MYSQL_TYPE_GEOMETRY: - break; - } - } - - /* set state at 0 */ - mysac->readst = 0; - - case MYSAC_RECV_QUERY_DATA: - err = my_response(mysac, MYSAC_EXPECT_DATA); - - if (err == MYERR_WANT_READ) - return MYERR_WANT_READ; - - /* error */ - else if (err == MYSAC_RET_ERROR) - return mysac->errorcode; - - /* EOF */ - else if (err == MYSAC_RET_EOF) { - list_del(&mysac->res->cr->link); - mysac->res->cr = NULL; - return 0; - } - - /* read data in string type */ - if (mysac->stmt_id == (void *)0) { -#if 0 - for (i=0; i<mysac->packet_length; i+=20) { - int j; - - for(j=i;j<i+20;j++) - fprintf(stderr, "%02x ", (unsigned char)mysac->read[j]); - - for(j=i;j<i+20;j++) - if (isprint(mysac->read[j])) - fprintf(stderr, "%c", (unsigned char)mysac->read[j]); - else - fprintf(stderr, "."); - - fprintf(stderr, "\n"); - } - fprintf(stderr, "\n\n"); -#endif - len = mysac_decode_string_row(mysac->read, mysac->packet_length, - mysac->res, mysac->res->cr); - if (len < 0) { - mysac->errorcode = len * -1; - return mysac->errorcode; - } - mysac->read += len; - mysac->read_len += mysac->packet_length - len; - } - - /* read data in binary type */ - else if (mysac->stmt_id == (void *)1) { -#if 0 - for (i=0; i<mysac->packet_length; i++) { - fprintf(stderr, "%02x ", (unsigned char)mysac->read[i]); - } - fprintf(stderr, "\n"); -#endif - len = mysac_decode_binary_row(mysac->read, mysac->packet_length, - mysac->res, mysac->res->cr); - if (len == -1) { - mysac->errorcode = MYERR_BINFIELD_CORRUPT; - return mysac->errorcode; - } - mysac->read += len; - mysac->read_len += mysac->packet_length - len; - } - - /* protocol error */ - else { - mysac->errorcode = MYERR_PROTOCOL_ERROR; - return mysac->errorcode; - } - - /* next line */ - mysac->res->nb_lines++; - goto case_MYSAC_RECV_QUERY_DATA; - - case MYSAC_START: - case MYSAC_CONN_CHECK: - case MYSAC_READ_GREATINGS: - case MYSAC_SEND_AUTH_1: - case MYSAC_RECV_AUTH_1: - case MYSAC_SEND_AUTH_2: - case MYSAC_SEND_INIT_DB: - case MYSAC_RECV_INIT_DB: - case MYSAC_SEND_STMT_QUERY: - case MYSAC_RECV_STMT_QUERY: - case MYSAC_SEND_STMT_EXECUTE: - case MYSAC_RECV_STMT_EXECUTE: - case MYSAC_READ_NUM: - case MYSAC_READ_HEADER: - case MYSAC_READ_LINE: - case MYSAC_RECV_QUERY_COLDESC2: - case MYSAC_RECV_QUERY_EOF2: - mysac->errorcode = MYERR_BAD_STATE; - return MYERR_BAD_STATE; - } - - mysac->errorcode = MYERR_BAD_STATE; - return MYERR_BAD_STATE; -} - void mysac_close(MYSAC *mysac) { if (mysac->free_it == 1) free(mysac); @@ -1682,86 +125,6 @@ return mysac->call_it(mysac); } -MYSAC_RES *mysac_init_res(char *buffer, int len) { - MYSAC_RES *res; - - /* check minimu length */ - if ((unsigned int)len < sizeof(MYSAC_RES)) - return NULL; - - res = (MYSAC_RES *)buffer; - res->nb_cols = 0; - res->nb_lines = 0; - res->extend_bloc_size = 0; - res->max_len = len; - res->do_free = 0; - res->buffer = buffer + sizeof(MYSAC_RES); - res->buffer_len = len - sizeof(MYSAC_RES); - - return res; -} - -MYSAC_RES *mysac_new_res(int chunk_size, int extend) -{ - MYSAC_RES *res; - - res = calloc(1, chunk_size); - if (res == NULL) - return NULL; - - if (mysac_init_res((char *)res, chunk_size) == NULL) - return NULL; - if (extend) - res->extend_bloc_size = chunk_size; - res->do_free = 1; - - return res; -} - -void mysac_free_res(MYSAC_RES *r) -{ - if (r && r->do_free == 1) - free(r); -} - -MYSAC_RES *mysac_get_res(MYSAC *mysac) { - return mysac->res; -} - -int mysac_send_stmt_execute(MYSAC *mysac) { - return mysac_send_query(mysac); -} - -unsigned int mysac_field_count(MYSAC_RES *res) { - return res->nb_cols; -} - -unsigned long mysac_num_rows(MYSAC_RES *res) { - return res->nb_lines; -} - -MYSAC_ROW *mysac_fetch_row(MYSAC_RES *res) { - if (res->cr == NULL) - res->cr = mysac_list_first_entry(&res->data, MYSAC_ROWS, link); - else - res->cr = mysac_list_next_entry(&res->cr->link, MYSAC_ROWS, link); - if (&res->data == &res->cr->link) { - res->cr = NULL; - return NULL; - } - return res->cr->data; -} - -void mysac_first_row(MYSAC_RES *res) { - res->cr = NULL; -} - -MYSAC_ROW *mysac_cur_row(MYSAC_RES *res) { - if (res->cr == NULL) - return NULL; - return res->cr->data; -} - unsigned long mysac_insert_id(MYSAC *m) { return m->insert_id; } Modified: trunk/PROTO/esskyuehl/src/modules/mysql/mysac/mysac.h =================================================================== --- trunk/PROTO/esskyuehl/src/modules/mysql/mysac/mysac.h 2013-03-27 18:11:32 UTC (rev 84474) +++ trunk/PROTO/esskyuehl/src/modules/mysql/mysac/mysac.h 2013-03-28 14:52:11 UTC (rev 84475) @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009 Thierry FOURNIER + * Copyright (c) 2009-2011 Thierry FOURNIER * * This file is part of MySAC. * @@ -21,43 +21,14 @@ #ifndef __MYSAC_H__ #define __MYSAC_H__ -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - #include <stdlib.h> #include <stdarg.h> #include <time.h> #include <errno.h> #include <string.h> #include <sys/time.h> -#include <ctype.h> -#undef PACKAGE -#undef VERSION -#undef PACKAGE_BUGREPORT -#undef PACKAGE_NAME -#undef PACKAGE_STRING -#undef PACKAGE_TARNAME -#undef PACKAGE_VERSION -#ifdef HAVE_MYSQL_H -# include <my_global.h> -# include <mysql.h> -# include <errmsg.h> -#else -# include <mysql/my_global.h> -# include <mysql/mysql.h> -# include <mysql/errmsg.h> -#endif -#undef PACKAGE -#undef VERSION -#undef PACKAGE_BUGREPORT -#undef PACKAGE_NAME -#undef PACKAGE_STRING -#undef PACKAGE_TARNAME -#undef PACKAGE_VERSION -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif +#include <mysql/errmsg.h> +#include <mysql/mysql.h> /* def imported from: linux-2.6.24/include/linux/stddef.h */ #define mysac_offset_of(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) @@ -181,7 +152,8 @@ MYERR_CONVTIME, MYERR_CONVTIMESTAMP, MYERR_CONVDATE, - MYERR_INVALID_EXPECT + MYERR_INVALID_EXPECT, + MYERR_NO_RES, }; extern const char *mysac_type[]; @@ -224,6 +196,7 @@ * This contain the complete result of one request */ typedef struct { + struct mysac_list_head list; char *buffer; int buffer_len; int nb_cols; @@ -232,6 +205,9 @@ int extend_bloc_size; int max_len; int do_free; + unsigned long int affected_rows; + unsigned long int insert_id; + unsigned long int warnings; MYSQL_FIELD *cols; struct mysac_list_head data; MYSAC_ROWS *cr; @@ -319,6 +295,7 @@ enum my_query_st qst; int read_id; MYSAC_RES *res; + struct mysac_list_head all_res; unsigned int *stmt_id; /* the buffer */ @@ -363,6 +340,10 @@ * can execute any other API functions that require a valid MYSQL connection * handle structure. * + * Warning: the configuration parameters "my_addr", "user", "passwd" and "db" + * must be stay accessible and unchanged in memory until the execution of + * "mysac_close". + * * @param mysac The first parameter should be the address of an existing MYSQL * structure. Before calling mysql_real_connect() you must call * mysql_init() to initialize the MYSQL structure. You can change a lot @@ -509,6 +490,15 @@ MYSAC_RES *mysac_init_res(char *buffer, int len); /** + * This function reset resource. Keep the buffer, the + * length, the free status and the allocation bloc size + * but remove response lines and columns. + * + * @param res Should be the address of an existing MYSAC_RES structur. + */ +void mysac_reset_res(MYSAC_RES *res); + +/** * Create new MYSAC_RES structur * This function allocate memory * @@ -530,10 +520,42 @@ void mysac_free_res(MYSAC_RES *r); /** + * Add resource to mysac struct. This resource can by used for store + * the response. You can add more than one ressource for multireponse + * requests. exemple: + * + * CREATE PROCEDURE test ( ) + * main:BEGIN + * SELECT 0 AS "table1_col1"; + * SELECT 1 AS "table2_col1"; + * SELECT 2 AS "table3_col1"; + * END + * + * and: + * + * CALL test() + * + * You must to delete resource with "mysac_del_res" after the request. + * + * @param mysac Should be the address of an existing MYSAC structur. + * @param res Should be the address of an existing MYSAC_RES structur. + */ +void mysac_add_res(MYSAC *mysac, MYSAC_RES *res); + +/** + * remove resource form available resources list. This function does not + * free the resource, just remove it. + * + * @param res is the resource to delete from list. + */ +void mysac_del_res(MYSAC_RES *res); + +/** * Initialize query * * @param mysac Should be the address of an existing MYSAC structur. - * @param res Should be the address of an existing MYSAC_RES structur. + * @param res Should be the address of an existing MYSAC_RES structur, + * or must be NULL if mysac_add_res is used previously. * @param fmt is the output format with the printf style * * @return 0: ok, -1 nok @@ -544,7 +566,8 @@ * Initialize query * * @param mysac Should be the address of an existing MYSAC structur. - * @param res Should be the address of an existing MYSAC_RES structur. + * @param res Should be the address of an existing MYSAC_RES structur, + * or must be NULL if mysac_add_res is used previously. * @param fmt is the output format with the printf style * @param ap is the argument list on format vprintf * @@ -556,7 +579,8 @@ * Initialize query * * @param mysac Should be the address of an existing MYSAC structur. - * @param res Should be the address of an existing MYSAC_RES structur. + * @param res Should be the address of an existing MYSAC_RES structur, + * or must be NULL if mysac_add_res is used previously. * @param query is a string (terminated by \0) containing the query * * @return 0: ok, -1 nok @@ -567,7 +591,8 @@ * Initialize query * * @param mysac Should be the address of an existing MYSAC structur. - * @param res Should be the address of an existing MYSAC_RES structur. + * @param res Should be the address of an existing MYSAC_RES structur, + * or must be NULL if mysac_add_res is used previously. * @param query is a string containing the query * @param len is the len of the query * @@ -585,6 +610,39 @@ MYSAC_RES *mysac_get_res(MYSAC *mysac); /** + * This function return the first resource avalaible + * + * @param mysac Should be the address of an existing MYSAC structure. + * + * @return resource or NULL if no resource avalaible + */ +MYSAC_RES *mysac_get_first_res(MYSAC *mysac); + +/** + * this fucntion return the next resource avalaible. If you delete + * the last resource, this function can not be use. + * + * You can parse the resource with two mods: + * + * for (res = mysac_get_first_res(mysac); + * res != NULL; + * res = mysac_get_next_res(mysac, res)) + * + * Or, if you want do delete resources + * + * while ((res == mysac_get_first_res(mysac)) != NULL) { + * mysac_res_del(res) + * ... + * } + * + * @param mysac Should be the address of an existing MYSAC structure. + * @param last is the last resource avalaible. + * + * @return resource or NULL if no more resource avalaible + */ +MYSAC_RES *mysac_get_next_res(MYSAC *mysac, MYSAC_RES *last); + +/** * Send sql query command * * @param mysac Should be the address of an existing MYSAC structur. Added: trunk/PROTO/esskyuehl/src/modules/mysql/mysac/mysac_connect.c =================================================================== --- trunk/PROTO/esskyuehl/src/modules/mysql/mysac/mysac_connect.c (rev 0) +++ trunk/PROTO/esskyuehl/src/modules/mysql/mysac/mysac_connect.c 2013-03-28 14:52:11 UTC (rev 84475) @@ -0,0 +1,308 @@ +/* + * Copyright (c) 2009-2011 Thierry FOURNIER + * + * This file is part of MySAC. + * + * MySAC is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License + * + * MySAC is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with MySAC. If not, see <http://www.gnu.org/licenses/>. + */ + +#include <unistd.h> + +#include "mysac.h" +#include "mysac_net.h" +#include "mysac_utils.h" +#include "mysac_decode_respbloc.h" + +#define MYSAC_CLIENT_MULTI_STATEMENTS 0x01 /* Enable/disable multi-stmt support */ +#define MYSAC_CLIENT_MULTI_RESULTS 0x02 /* Enable/disable multi-results */ + + +int mysac_connect(MYSAC *mysac) { + int err; + int errcode; + int i; + int len; + + switch (mysac->qst) { + + /*********************************************** + network connexion + ***********************************************/ + case MYSAC_START: + err = mysac_socket_connect(mysac->addr, &mysac->fd); + if (err != 0) { + mysac->qst = MYSAC_START; + mysac->errorcode = err; + return err; + } + mysac->qst = MYSAC_CONN_CHECK; + return MYERR_WANT_READ; + + /*********************************************** + check network connexion + ***********************************************/ + case MYSAC_CONN_CHECK: + err = mysac_socket_connect_check(mysac->fd); + if (err != 0) { + close(mysac->fd); + mysac->qst = MYSAC_START; + mysac->errorcode = err; + return err; + } + mysac->qst = MYSAC_READ_GREATINGS; + mysac->len = 0; + mysac->readst = 0; + mysac->read = mysac->buf; + mysac->read_len = mysac->bufsize; + + /*********************************************** + read greatings + ***********************************************/ + case MYSAC_READ_GREATINGS: + + err = mysac_decode_respbloc(mysac, MYSAC_EXPECT_DATA); + + if (err == MYERR_WANT_READ) + return MYERR_WANT_READ; + + /* error */ + else if (err == MYSAC_RET_ERROR) + return mysac->errorcode; + + /* ok */ + else if (err != MYSAC_RET_DATA) { + mysac->errorcode = MYERR_PROTOCOL_ERROR; + return mysac->errorcode; + } + + /* decode greatings */ + i = 0; + + /* protocol */ + mysac->protocol = mysac->buf[i]; + i++; + + /* version */ + mysac->version = &mysac->buf[i]; + + /* search \0 */ + while (mysac->buf[i] != 0) + i++; + i++; + + /* thread id */ + mysac->threadid = uint4korr(&mysac->buf[i]); + + /* first part of salt */ + strncpy(mysac->salt, &mysac->buf[i+4], SCRAMBLE_LENGTH_323); + i += 4 + SCRAMBLE_LENGTH_323 + 1; + + /* options */ + mysac->options = uint2korr(&mysac->buf[i]); + + /* charset */ + mysac->charset = mysac->buf[i+2]; + + /* server status */ + mysac->status = uint2korr(&mysac->buf[i+3]); + + /* salt part 2 */ + strncpy(mysac->salt + SCRAMBLE_LENGTH_323, &mysac->buf[i+5+13], + SCRAMBLE_LENGTH - SCRAMBLE_LENGTH_323); + mysac->salt[SCRAMBLE_LENGTH] = '\0'; + + /* checks */ + if (mysac->protocol != PROTOCOL_VERSION) + return CR_VERSION_ERROR; + + /******************************** + prepare auth packet + ********************************/ + + /* set m->buf number */ + mysac->packet_number++; + mysac->buf[3] = mysac->packet_number; + + /* set options */ + if (mysac->options & CLIENT_LONG_PASSWORD) + mysac->flags |= CLIENT_LONG_PASSWORD; + mysac->flags |= CLIENT_LONG_FLAG | + CLIENT_PROTOCOL_41 | + CLIENT_SECURE_CONNECTION; + to_my_2(mysac->flags, &mysac->buf[4]); + + /* set extended options */ + to_my_2(MYSAC_CLIENT_MULTI_RESULTS, &mysac->buf[6]); + + /* max m->bufs */ + to_my_4(0x40000000, &mysac->buf[8]); + + /* charset */ + /* 8: swedish */ + mysac->buf[12] = 8; + + /* 24 unused */ + memset(&mysac->buf[13], 0, 24); + + /* username */ + strcpy(&mysac->buf[36], mysac->login); + i = 36 + strlen(mysac->login) + 1; + + /* password CLIENT_SECURE_CONNECTION */ + if (mysac->options & CLIENT_SECURE_CONNECTION) { + + /* the password hash len */ + mysac->buf[i] = SCRAMBLE_LENGTH; + i++; + scramble(&mysac->buf[i], mysac->salt, mysac->password); + i += SCRAMBLE_LENGTH; + } + + /* password ! CLIENT_SECURE_CONNECTION */ + else { + scramble_323(&mysac->buf[i], mysac->salt, mysac->password); + i += SCRAMBLE_LENGTH_323 + 1; + } + + /* Add database if needed */ + if ((mysac->options & CLIENT_CONNECT_WITH_DB) && + (mysac->database != NULL)) { + /* TODO : debordement de buffer */ + len = strlen(mysac->database); + memcpy(&mysac->buf[i], mysac->database, len); + i += len; + mysac->buf[i] = '\0'; + } + + /* len */ + to_my_3(i-4, &mysac->buf[0]); + mysac->len = i; + mysac->send = mysac->buf; + mysac->qst = MYSAC_SEND_AUTH_1; + + /*********************************************** + send paquet + ***********************************************/ + case MYSAC_SEND_AUTH_1: + err = mysac_write(mysac->fd, mysac->send, mysac->len, &errcode); + + if (err == -1) + return errcode; + + mysac->len -= err; + mysac->send += err; + if (mysac->len > 0) + return MYERR_WANT_WRITE; + + mysac->qst = MYSAC_RECV_AUTH_1; + mysac->readst = 0; + mysac->read = mysac->buf; + mysac->read_len = mysac->bufsize; + + /*********************************************** + read response 1 + ***********************************************/ + case_MYSAC_RECV_AUTH_1: + case MYSAC_RECV_AUTH_1: + /* + MYSAC_RET_EOF, + MYSAC_RET_OK, + MYSAC_RET_ERROR, + MYSAC_RET_DATA + */ + err = mysac_decode_respbloc(mysac, MYSAC_EXPECT_BOTH); + + if (err == MYERR_WANT_READ) + return MYERR_WANT_READ; + + /* error */ + if (err == MYSAC_RET_ERROR) + return mysac->errorcode; + + /* ok */ + else if (err == MYSAC_RET_OK) + return 0; + + /* + By sending this very specific reply server asks us to send scrambled + password in old format. + */ + else if (mysac->packet_length == 1 && err == MYSAC_RET_EOF && + mysac->options & CLIENT_SECURE_CONNECTION) { + /* continue special paquet after conditions */ + } + + /* protocol error */ + else { + mysac->errorcode = MYERR_PROTOCOL_ERROR; + return mysac->errorcode; + } + + /* send scrambled password in old format */ + + /* set packet number */ + mysac->packet_number++; + mysac->buf[3] = mysac->packet_number; + + /* send scrambled password in old format. */ + scramble_323(&mysac->buf[4], mysac->salt, mysac->password); + mysac->buf[4+SCRAMBLE_LENGTH_323] = '\0'; + + /* len */ + to_my_3(SCRAMBLE_LENGTH_323+1, &mysac->buf[0]); + mysac->qst = MYSAC_SEND_AUTH_2; + mysac->len = SCRAMBLE_LENGTH_323 + 1 + 4; + mysac->send = mysac->buf; + + /* send scrambled password in old format */ + case MYSAC_SEND_AUTH_2: + err = mysac_write(mysac->fd, mysac->send, mysac->len, &errcode); + + if (err == -1) + return errcode; + + mysac->len -= err; + mysac->send += err; + if (mysac->len > 0) + return MYERR_WANT_WRITE; + + mysac->qst = MYSAC_RECV_AUTH_1; + mysac->readst = 0; + mysac->read = mysac->buf; + mysac->read_len = mysac->bufsize; + goto case_MYSAC_RECV_AUTH_1; + + case MYSAC_SEND_QUERY: + case MYSAC_RECV_QUERY_COLNUM: + case MYSAC_RECV_QUERY_COLDESC1: + case MYSAC_RECV_QUERY_COLDESC2: + case MYSAC_RECV_QUERY_EOF1: + case MYSAC_RECV_QUERY_EOF2: + case MYSAC_RECV_QUERY_DATA: + case MYSAC_SEND_INIT_DB: + case MYSAC_RECV_INIT_DB: + case MYSAC_SEND_STMT_QUERY: + case MYSAC_RECV_STMT_QUERY: + case MYSAC_SEND_STMT_EXECUTE: + case MYSAC_RECV_STMT_EXECUTE: + case MYSAC_READ_NUM: + case MYSAC_READ_HEADER: + case MYSAC_READ_LINE: + mysac->errorcode = MYERR_BAD_STATE; + return MYERR_BAD_STATE; + + } + + return 0; +} + Modified: trunk/PROTO/esskyuehl/src/modules/mysql/mysac/mysac_decode_field.c =================================================================== --- trunk/PROTO/esskyuehl/src/modules/mysql/mysac/mysac_decode_field.c 2013-03-27 18:11:32 UTC (rev 84474) +++ trunk/PROTO/esskyuehl/src/modules/mysql/mysac/mysac_decode_field.c 2013-03-28 14:52:11 UTC (rev 84475) @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009 Thierry FOURNIER + * Copyright (c) 2009-2011 Thierry FOURNIER * * This... [truncated message content] |
From: Enlightenment S. <no-...@en...> - 2013-03-27 18:11:41
|
Log: e16-1.0.12. Author: kwo Date: 2013-03-27 11:11:32 -0700 (Wed, 27 Mar 2013) New Revision: 84474 Trac: http://trac.enlightenment.org/e/changeset/84474 Modified: trunk/web/www/p/download/en-body Modified: trunk/web/www/p/download/en-body =================================================================== --- trunk/web/www/p/download/en-body 2013-03-26 08:38:57 UTC (rev 84473) +++ trunk/web/www/p/download/en-body 2013-03-27 18:11:32 UTC (rev 84474) @@ -328,7 +328,7 @@ <p>There are a few different ways to get Enlightenment depending on your requirements.</p> - <p>The latest version of DR16 is 1.0.11, released on October 3rd, 2012. + <p>The latest version of DR16 is 1.0.12, released on March 26th, 2013. Packages for the current, and previous, releases of DR16, core themes, epplets, e16menuedit, e16keyedit, and imlib2 can be found on the <a href="http://sourceforge.net/project/showfiles.php?group_id=2">SourceForge @@ -349,22 +349,22 @@ <tbody> <tr> <td>Source Code TAR.GZ</td> - <td><a href="http://prdownloads.sourceforge.net/enlightenment/e16-1.0.11.tar.gz?download">e16-1.0.11.tar.gz</a></td> + <td><a href="http://prdownloads.sourceforge.net/enlightenment/e16-1.0.12.tar.gz?download">e16-1.0.12.tar.gz</a></td> <td> </td> </tr> <tr class="odd"> <td>Source Package RPM</td> - <td><a href="http://prdownloads.sourceforge.net/enlightenment/e16-1.0.11-1.fc16.src.rpm?download">e16-1.0.11-1.fc16.src.rpm</a></td> + <td><a href="http://prdownloads.sourceforge.net/enlightenment/e16-1.0.12-1.fc17.src.rpm?download">e16-1.0.12-1.fc17.src.rpm</a></td> <td> </td> </tr> <tr> <td>Linux ix86 Binary RPM</td> - <td><a href="http://prdownloads.sourceforge.net/enlightenment/e16-1.0.11-1.fc16.i686.rpm?download">e16-1.0.11-1.fc16.i686.rpm</a></td> + <td><a href="http://prdownloads.sourceforge.net/enlightenment/e16-1.0.12-1.fc17.i686.rpm?download">e16-1.0.12-1.fc17.i686.rpm</a></td> <td> </td> </tr> <tr class="odd"> <td>Linux x86_64 Binary RPM</td> - <td><a href="http://prdownloads.sourceforge.net/enlightenment/e16-1.0.11-1.fc16.x86_64.rpm?download">e16-1.0.11-1.fc16.x86_64.rpm</a></td> + <td><a href="http://prdownloads.sourceforge.net/enlightenment/e16-1.0.12-1.fc17.x86_64.rpm?download">e16-1.0.12-1.fc17.x86_64.rpm</a></td> <td> </td> </tr> <tr> |
From: Enlightenment S. <no-...@en...> - 2013-03-26 08:39:05
|
Log: Migrated e_cho to git. Author: tasn Date: 2013-03-26 01:38:57 -0700 (Tue, 26 Mar 2013) New Revision: 84473 Trac: http://trac.enlightenment.org/e/changeset/84473 Removed: trunk/GAMES/e_cho/ |
From: Enlightenment S. <no-...@en...> - 2013-03-26 02:02:18
|
Log: add news item. Author: raster Date: 2013-03-25 19:02:10 -0700 (Mon, 25 Mar 2013) New Revision: 84472 Trac: http://trac.enlightenment.org/e/changeset/84472 Added: trunk/web/www/p/news/en/20130326-120000 Added: trunk/web/www/p/news/en/20130326-120000 =================================================================== --- trunk/web/www/p/news/en/20130326-120000 (rev 0) +++ trunk/web/www/p/news/en/20130326-120000 2013-03-26 02:02:10 UTC (rev 84472) @@ -0,0 +1,35 @@ +Terminology 0.3 +Carsten Haitzler +r...@ra... + +<p> +Terminology is a terminal emulator that uses modern EFL components to +build its UI and core. It is written from scratch and does not use any +components outside of EFL and libc, so it should be very portable and +easy to build. For more information, please see the +<a href=http://www.enlightenment.org/p.php?p=about/terminology>Terminology Page</a>. +</p> + +<p>The latest release of Terminology adds splits, tabs and inlined +videos, images, SVG's, PDF's and much more.</p> + +<p>Also now colors can be adjusted by the theme via colorclasses, block +selection works with holding control, you can drag and drop links and +text to/from the terminal, many keybinding accelerators have been +added (see the README). The new escape sequence handling is documented +in the README for anyone wanting to add such support to other terminal +emulators or to terminal applications. There are now some quick demo +commandline tools like tyls, tycat, typop, tyq, tybg and tyalpha that +show how to use the escapes and that are useful tools just on their +own.</p> +</p> + +<p><ul> + +<li>Terminology 0.3.0 - +[<a href="http://download.enlightenment.org/releases/terminology-0.3.0.tar.gz">GZ</a>] +[<a href="http://download.enlightenment.org/releases/terminology-0.3.0.tar.bz2">BZ2</a>] +</li> + +</ul></p> +<!-- cut --> |
From: Enlightenment S. <no-...@en...> - 2013-03-26 00:33:50
|
Log: web/about terminology: Added Korean translation. Author: seoz Date: 2013-03-25 17:33:40 -0700 (Mon, 25 Mar 2013) New Revision: 84471 Trac: http://trac.enlightenment.org/e/changeset/84471 Added: trunk/web/www/p/about/terminology/ko-body trunk/web/www/p/about/terminology/ko-label trunk/web/www/p/about/terminology/ko-title Added: trunk/web/www/p/about/terminology/ko-body =================================================================== --- trunk/web/www/p/about/terminology/ko-body (rev 0) +++ trunk/web/www/p/about/terminology/ko-body 2013-03-26 00:33:40 UTC (rev 84471) @@ -0,0 +1,83 @@ +<script type="text/javascript"> +/* <![CDATA[ */ + (function() { + var s = document.createElement('script'), t = document.getElementsByTagName('script')[0]; + s.type = 'text/javascript'; + s.async = true; + s.src = 'http://api.flattr.com/js/0.6/load.js?mode=auto'; + t.parentNode.insertBefore(s, t); + })(); +/* ]]> */</script> + +<table class='main'> + <tr> + <td class='main'> + <div class="main"> + <h1>ํฐ๋ฏธ๋๋ก์ง(Terminology)</h1> + + <span class="contentmain"> + <p><center><?php img("terminology.png", "Terminology");?></center></p> + + <center><p> + <?php blinkdl("i/dl.png", + "ํฐ๋ฏธ๋๋ก์ง 0.3 ๋ค์ด๋ก๋", + "http://download.enlightenment.org/releases/terminology-0.3.0.tar.gz");?> + </p></center> + + <h3>ํฐ๋ฏธ๋๋ก์ง๋?</h3> + <p>ํฐ๋ฏธ๋๋ก์ง๋ ์นผ์จ ํ์ด์ธจ๋ฌ๊ฐ 2012๋ ํ๊ตญ ํด๊ฐ ์ค์ ํ์์ํจ ์๋ก์ด + ํฐ๋ฏธ๋ ์๋ฎฌ๋ ์ดํฐ์ด๋ค. ์์ง ์ญ์ฌ๊ฐ ๊ธธ์ง ์๊ณ ์๋กญ๊ธฐ ๋๋ฌธ์ ์๋ฒฝํ์ง๋ + ์์ง๋ง ์ ์ ๋ฐ์ ํ๊ณ ์๋ค.</p> + + <center><iframe width="672" height="560" src="http://www.youtube.com/embed/ibPziLRGvkg?rel=0" frameborder="0" allowfullscreen></iframe></center> + + <h3>๋ฌด์จ ์ผ์ ํ๋๊ฐ?</h3> + <p>์ฝ๊ฐ ํ์ฅ๋ vt100๋ฅผ ์๋ฎฌ๋ ์ดํธํ๋ฉฐ ๋ช ๊ฐ์ง ์ต์คํ ์ ๊ณผ ์ฅ์๋ค๋ก + ์ด๋ฃจ์ด์ ธ์๋ค.</p> + <p><ul> + <li>xterm, rxyt ๋ฑ์์ ์ง์ํ๋ ๋๋ถ๋ถ์mescape ๋์</li> + <li>Xterm 256 ์์ escape ๋์</li> + <li>๋ฐฐ๊ฒฝ(๋นํธ๋งต, ์ค์ผ์ผ๋ฌ๋ธ/๋ฒกํฐ, ์์ง์ด๋ gif, ๋น๋์ค)</li> + <li>ํฌ๋ช ํ ๋ฐฐ๊ฒฝ</li> + <li>๋นํธ๋งต ๋ฐ ๊ฐ๋ณ ํฌ๊ธฐ์ ํฐํธ ์ง์</li> + <li>๋ ์ด์์ ๋ฐ ๋์์ธ ํ ๋ง</li> + <li>URL, ํ์ผ ๊ฒฝ๋ก ๋ฐ ์ด๋ฉ์ผ ์ฃผ์ ์ธ์ ๋ฐ ์ฐ๊ฒฐ ์ฒ๋ฆฌ</li> + <li>๋งํฌ๋ ๋ด์ฉ ์ธ๋ผ์ธ ์ถ๋ ฅ</li> + <li>๋ณต์๊ฐ์ ๋ณต์ฌ/๋ถ์ฌ๋ฃ๊ธฐ ์ ํ ๋ฐ ๋ฒํผ ์ง์</li> + <li>X11 ์ง์</li> + <li>Wayland ์ง์</li> + <li>๋ฆฌ๋ ์ค ํ๋ ์๋ฒํผ ์ง์ (fbcon)</li> + <li>์๊ฐ๋ฝ ๋ฐ ํฐ์น ๋์ ์ง์</li> + <li>UI ์ค์ผ์ผ๋ง ๊ฐ์ผ๋ก ์ค์ผ์ผ</li> + <li>OpenGL ๋ฐ OpenGL-ES2 ์ง์ (์ ํ์ )</li> + <li>์ธ๋ผ์ธ ๋ฏธ๋์ด ์ปจํ ์ธ ์ถ๋ ฅ (์ด๋ฏธ์ง, ๋น๋์ค, ๋ฌธ์)</li> + <li>๋ณต์๊ฐ "ํญ" ์ง์</li> + <li>๋ณต์๊ฐ ํ๋ฉด ๋ถํ ์ง์</li> + <li>ํ ์คํธ ๋ธ๋ก ์ ํ</li> + <li>์ ํ๋ ํ ์คํธ ๋ฐ ๋งํฌ ๋๋๊ทธ์ค๋๋กญ ์ง์</li> + <li>URL๋ก๋ถํฐ ๋ฏธ๋์ด ์คํธ๋ฆฌ๋ฐ</li> + <li>ํญ ์ ํ๊ธฐ ๋ด ์ด์ ์๋ ์ธ๋ค์ผ</li> + <li>๋จ์ผ ํ๋ก์ธ์ค๋ก๋ ์ฌ๋ฌ๊ฐ ์๋์ฐ ๋ฐ ํฐ๋ฏธ๋ ์ง์</li> + <li>๋น ๋ฆ</li> + <li>๋น์ฃผ์ผ ๋ฒจ ํ ๋ง ๋ณ๊ฒฝ ๊ฐ๋ฅ</li> + <li>๋ฑ๋ฑ...</li> + </ul></p> + <p>์ผ๋ถ๋ ์์ง ์๋ฒฝํ๊ฒ ๊ตฌํ๋์ง ์์์ ์ ์์ง๋ง ์๊ธฐ ๋์ด๋ ๊ธฐ๋ฅ ๋ฐ + ๋ช ๊ฐ์ง ๊ตฌํ์ค์ธ ๊ธฐ๋ฅ์ด ์๋ค. ํจ์ฌ ๋ง์ ๋ถ๋ถ์ด ๋จ์์๊ณ ์ด๋ป๊ฒ๋ ๊ตฌํ๋ + ์์ ์ด๋ค.</p> + + <h3>๊ธฐ๋ฅ</h3> + <p>์ด๋ฏธ ๋งค์ฐ ๋ค์ํ ์ข์ ๊ธฐ๋ฅ์ด ์ง์๋๊ณ ์๋ค. ๋น์ ์ด ์์๊ฐ๋ฅํ ๊ธฐ๋ณธ์ ์ธ + ๊ธฐ๋ฅ๋ถํฐ, ํฐ๋ฏธ๋์์ ๋ ๊ฑฐ๋ผ๊ณ ์๊ฐํ์ง๋ ์์๋ ๊ธฐ๋ฅ๊น์ง๋ ๊ฐ๋ฅํ๋ค.</p> + + <p>์์ค์ฝ๋ ๋ค์ด๋ก๋:</p> + <p><a href=http://git.enlightenment.org/apps/terminology.git/>์ฌ๊ธฐ</a></p> + + <p>ํน๋ณํ Flattr ์น์ฌ์ดํธ์์ ์ด ์ ํ๋ฆฌ์ผ์ด์ ์ ์ข์ํ๋ค๊ณ ์๋ฌธ์ ๋ด์ค ์ ์์ต๋๋ค:</p> + <p><a class="FlattrButton" style="display:none;" href="http://www.enlightenment.org/p.php?p=about/terminology"></a><noscript><a href="http://flattr.com/thing/860395/Terminology" target="_blank"><img src="http://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" border="0" /></a></noscript></p> + + </span> + </div> + </td> + </tr> +</table> Added: trunk/web/www/p/about/terminology/ko-label =================================================================== --- trunk/web/www/p/about/terminology/ko-label (rev 0) +++ trunk/web/www/p/about/terminology/ko-label 2013-03-26 00:33:40 UTC (rev 84471) @@ -0,0 +1 @@ +ํฐ๋ฏธ๋๋ก์ง Added: trunk/web/www/p/about/terminology/ko-title =================================================================== --- trunk/web/www/p/about/terminology/ko-title (rev 0) +++ trunk/web/www/p/about/terminology/ko-title 2013-03-26 00:33:40 UTC (rev 84471) @@ -0,0 +1 @@ +ํฐ๋ฏธ๋๋ก์ง |
From: Enlightenment S. <no-...@en...> - 2013-03-25 17:20:05
|
Log: Migrated eterm to git. Author: tasn Date: 2013-03-25 10:19:59 -0700 (Mon, 25 Mar 2013) New Revision: 84470 Trac: http://trac.enlightenment.org/e/changeset/84470 Removed: branches/eterm/ |
From: Enlightenment S. <no-...@en...> - 2013-03-25 17:19:41
|
Log: Migrated e_dbus to git. Author: tasn Date: 2013-03-25 10:19:35 -0700 (Mon, 25 Mar 2013) New Revision: 84469 Trac: http://trac.enlightenment.org/e/changeset/84469 Removed: branches/e_dbus-1.0/ branches/e_dbus-1.1/ branches/e_dbus-1.2/ branches/e_dbus-1.7/ |
From: Enlightenment S. <no-...@en...> - 2013-03-25 17:18:46
|
Log: Migrated e_dbus to git. Author: tasn Date: 2013-03-25 10:18:39 -0700 (Mon, 25 Mar 2013) New Revision: 84468 Trac: http://trac.enlightenment.org/e/changeset/84468 Removed: trunk/e_dbus/ |
From: Enlightenment S. <no-...@en...> - 2013-03-25 17:03:55
|
Log: Migrated econcentration to git. Author: tasn Date: 2013-03-25 10:03:48 -0700 (Mon, 25 Mar 2013) New Revision: 84467 Trac: http://trac.enlightenment.org/e/changeset/84467 Removed: trunk/GAMES/econcentration/ |
Log: e_dbus is now in Git Signed-off-by: Daniel Willmann <d.w...@sa...> Author: asdfuser Date: 2013-03-25 09:56:11 -0700 (Mon, 25 Mar 2013) New Revision: 84466 Trac: http://trac.enlightenment.org/e/changeset/84466 Removed: branches/e_dbus-1.0/.cvsignore branches/e_dbus-1.0/AUTHORS branches/e_dbus-1.0/COPYING branches/e_dbus-1.0/ChangeLog branches/e_dbus-1.0/INSTALL branches/e_dbus-1.0/Makefile.am branches/e_dbus-1.0/NEWS branches/e_dbus-1.0/README branches/e_dbus-1.0/autogen.sh branches/e_dbus-1.0/configure.ac branches/e_dbus-1.0/doc/Doxyfile branches/e_dbus-1.0/doc/Makefile.am branches/e_dbus-1.0/doc/e.css branches/e_dbus-1.0/doc/foot.html branches/e_dbus-1.0/doc/head.html branches/e_dbus-1.0/doc/images/e.png branches/e_dbus-1.0/doc/images/edoxy.css branches/e_dbus-1.0/doc/images/foot_bg.png branches/e_dbus-1.0/doc/images/head_bg.png branches/e_dbus-1.0/doc/images/menu_bg.png branches/e_dbus-1.0/doc/images/menu_bg_current.png branches/e_dbus-1.0/doc/images/menu_bg_hover.png branches/e_dbus-1.0/doc/images/menu_bg_last.png branches/e_dbus-1.0/doc/images/menu_bg_unsel.png branches/e_dbus-1.0/e_dbus.spec.in branches/e_dbus-1.0/ebluez.pc.in branches/e_dbus-1.0/econnman.pc.in branches/e_dbus-1.0/edbus.pc.in branches/e_dbus-1.0/ehal.pc.in branches/e_dbus-1.0/enotify.pc.in branches/e_dbus-1.0/eofono.pc.in branches/e_dbus-1.0/eukit.pc.in branches/e_dbus-1.0/m4/ac_attribute.m4 branches/e_dbus-1.0/m4/efl_binary.m4 branches/e_dbus-1.0/m4/efl_compiler_flag.m4 branches/e_dbus-1.0/m4/efl_doxygen.m4 branches/e_dbus-1.0/src/.cvsignore branches/e_dbus-1.0/src/Makefile.am branches/e_dbus-1.0/src/bin/.cvsignore branches/e_dbus-1.0/src/bin/Makefile.am branches/e_dbus-1.0/src/bin/e_dbus_bluez_test.c branches/e_dbus-1.0/src/bin/e_dbus_connman_test.c branches/e_dbus-1.0/src/bin/e_dbus_connman_test_api.c branches/e_dbus-1.0/src/bin/e_dbus_ofono_test.c branches/e_dbus-1.0/src/bin/e_dbus_ukit_test.c branches/e_dbus-1.0/src/bin/notification_daemon.c branches/e_dbus-1.0/src/bin/notify-send.c branches/e_dbus-1.0/src/bin/notify.c branches/e_dbus-1.0/src/bin/test.c branches/e_dbus-1.0/src/bin/test_client.c branches/e_dbus-1.0/src/lib/.cvsignore branches/e_dbus-1.0/src/lib/Makefile.am branches/e_dbus-1.0/src/lib/bluez/E_Bluez.h branches/e_dbus-1.0/src/lib/bluez/Makefile.am branches/e_dbus-1.0/src/lib/bluez/e_bluez.c branches/e_dbus-1.0/src/lib/bluez/e_bluez_adapter.c branches/e_dbus-1.0/src/lib/bluez/e_bluez_device.c branches/e_dbus-1.0/src/lib/bluez/e_bluez_devicefound.c branches/e_dbus-1.0/src/lib/bluez/e_bluez_element.c branches/e_dbus-1.0/src/lib/bluez/e_bluez_manager.c branches/e_dbus-1.0/src/lib/bluez/e_bluez_private.h branches/e_dbus-1.0/src/lib/connman/E_Connman.h branches/e_dbus-1.0/src/lib/connman/Makefile.am branches/e_dbus-1.0/src/lib/connman/e_connman.c branches/e_dbus-1.0/src/lib/connman/e_connman_element.c branches/e_dbus-1.0/src/lib/connman/e_connman_manager.c branches/e_dbus-1.0/src/lib/connman/e_connman_private.h branches/e_dbus-1.0/src/lib/connman/e_connman_profile.c branches/e_dbus-1.0/src/lib/connman/e_connman_service.c branches/e_dbus-1.0/src/lib/connman/e_connman_technology.c branches/e_dbus-1.0/src/lib/dbus/.cvsignore branches/e_dbus-1.0/src/lib/dbus/E_DBus.h branches/e_dbus-1.0/src/lib/dbus/Makefile.am branches/e_dbus-1.0/src/lib/dbus/e_dbus.c branches/e_dbus-1.0/src/lib/dbus/e_dbus_interfaces.c branches/e_dbus-1.0/src/lib/dbus/e_dbus_message.c branches/e_dbus-1.0/src/lib/dbus/e_dbus_methods.c branches/e_dbus-1.0/src/lib/dbus/e_dbus_object.c branches/e_dbus-1.0/src/lib/dbus/e_dbus_private.h branches/e_dbus-1.0/src/lib/dbus/e_dbus_signal.c branches/e_dbus-1.0/src/lib/dbus/e_dbus_util.c branches/e_dbus-1.0/src/lib/hal/.cvsignore branches/e_dbus-1.0/src/lib/hal/E_Hal.h branches/e_dbus-1.0/src/lib/hal/Makefile.am branches/e_dbus-1.0/src/lib/hal/e_hal_device.c branches/e_dbus-1.0/src/lib/hal/e_hal_device.h branches/e_dbus-1.0/src/lib/hal/e_hal_main.c branches/e_dbus-1.0/src/lib/hal/e_hal_manager.c branches/e_dbus-1.0/src/lib/hal/e_hal_manager.h branches/e_dbus-1.0/src/lib/hal/e_hal_private.h branches/e_dbus-1.0/src/lib/hal/e_hal_util.c branches/e_dbus-1.0/src/lib/hal/e_hal_util.h branches/e_dbus-1.0/src/lib/notification/.cvsignore branches/e_dbus-1.0/src/lib/notification/E_Notification_Daemon.h branches/e_dbus-1.0/src/lib/notification/E_Notify.h branches/e_dbus-1.0/src/lib/notification/Makefile.am branches/e_dbus-1.0/src/lib/notification/client.c branches/e_dbus-1.0/src/lib/notification/daemon.c branches/e_dbus-1.0/src/lib/notification/e_notify_private.h branches/e_dbus-1.0/src/lib/notification/marshal.c branches/e_dbus-1.0/src/lib/notification/notification-spec-0.9.txt branches/e_dbus-1.0/src/lib/notification/notification.c branches/e_dbus-1.0/src/lib/ofono/E_Ofono.h branches/e_dbus-1.0/src/lib/ofono/Makefile.am branches/e_dbus-1.0/src/lib/ofono/e_ofono.c branches/e_dbus-1.0/src/lib/ofono/e_ofono_element.c branches/e_dbus-1.0/src/lib/ofono/e_ofono_manager.c branches/e_dbus-1.0/src/lib/ofono/e_ofono_modem.c branches/e_dbus-1.0/src/lib/ofono/e_ofono_network_reg.c branches/e_dbus-1.0/src/lib/ofono/e_ofono_private.h branches/e_dbus-1.0/src/lib/ofono/e_ofono_sms.c branches/e_dbus-1.0/src/lib/ukit/E_Ukit.h branches/e_dbus-1.0/src/lib/ukit/Makefile.am branches/e_dbus-1.0/src/lib/ukit/e_udisks.c branches/e_dbus-1.0/src/lib/ukit/e_ukit_main.c branches/e_dbus-1.0/src/lib/ukit/e_ukit_private.h branches/e_dbus-1.0/src/lib/ukit/e_ukit_private_util.c branches/e_dbus-1.0/src/lib/ukit/e_ukit_util.c branches/e_dbus-1.0/src/lib/ukit/e_upower.c branches/e_dbus-1.1/.gitignore branches/e_dbus-1.1/AUTHORS branches/e_dbus-1.1/COPYING branches/e_dbus-1.1/ChangeLog branches/e_dbus-1.1/INSTALL branches/e_dbus-1.1/Makefile.am branches/e_dbus-1.1/NEWS branches/e_dbus-1.1/README branches/e_dbus-1.1/autogen.sh branches/e_dbus-1.1/configure.ac branches/e_dbus-1.1/doc/Doxyfile.in branches/e_dbus-1.1/doc/Makefile.am branches/e_dbus-1.1/doc/e.css branches/e_dbus-1.1/doc/foot.html branches/e_dbus-1.1/doc/head.html branches/e_dbus-1.1/doc/images/e.png branches/e_dbus-1.1/doc/images/edoxy.css branches/e_dbus-1.1/doc/images/foot_bg.png branches/e_dbus-1.1/doc/images/head_bg.png branches/e_dbus-1.1/doc/images/menu_bg.png branches/e_dbus-1.1/doc/images/menu_bg_current.png branches/e_dbus-1.1/doc/images/menu_bg_hover.png branches/e_dbus-1.1/doc/images/menu_bg_last.png branches/e_dbus-1.1/doc/images/menu_bg_unsel.png branches/e_dbus-1.1/e_dbus.spec.in branches/e_dbus-1.1/ebluez.pc.in branches/e_dbus-1.1/econnman-0.7x.pc.in branches/e_dbus-1.1/edbus.pc.in branches/e_dbus-1.1/ehal.pc.in branches/e_dbus-1.1/enotify.pc.in branches/e_dbus-1.1/eofono.pc.in branches/e_dbus-1.1/eukit.pc.in branches/e_dbus-1.1/m4/ac_attribute.m4 branches/e_dbus-1.1/m4/efl_binary.m4 branches/e_dbus-1.1/m4/efl_compiler_flag.m4 branches/e_dbus-1.1/m4/efl_doxygen.m4 branches/e_dbus-1.1/src/Makefile.am branches/e_dbus-1.1/src/bin/Makefile.am branches/e_dbus-1.1/src/bin/e_dbus_bluez_test.c branches/e_dbus-1.1/src/bin/e_dbus_connman0_7x_test.c branches/e_dbus-1.1/src/bin/e_dbus_connman0_7x_test_api.c branches/e_dbus-1.1/src/bin/e_dbus_ofono_test.c branches/e_dbus-1.1/src/bin/e_dbus_ukit_test.c branches/e_dbus-1.1/src/bin/logo.png branches/e_dbus-1.1/src/bin/notification_daemon.c branches/e_dbus-1.1/src/bin/notify-send.c branches/e_dbus-1.1/src/bin/notify.c branches/e_dbus-1.1/src/bin/test.c branches/e_dbus-1.1/src/bin/test_client.c branches/e_dbus-1.1/src/lib/Makefile.am branches/e_dbus-1.1/src/lib/bluez/E_Bluez.h branches/e_dbus-1.1/src/lib/bluez/Makefile.am branches/e_dbus-1.1/src/lib/bluez/e_bluez.c branches/e_dbus-1.1/src/lib/bluez/e_bluez_adapter.c branches/e_dbus-1.1/src/lib/bluez/e_bluez_device.c branches/e_dbus-1.1/src/lib/bluez/e_bluez_devicefound.c branches/e_dbus-1.1/src/lib/bluez/e_bluez_element.c branches/e_dbus-1.1/src/lib/bluez/e_bluez_manager.c branches/e_dbus-1.1/src/lib/bluez/e_bluez_private.h branches/e_dbus-1.1/src/lib/connman0_7x/E_Connman.h branches/e_dbus-1.1/src/lib/connman0_7x/Makefile.am branches/e_dbus-1.1/src/lib/connman0_7x/e_connman.c branches/e_dbus-1.1/src/lib/connman0_7x/e_connman_element.c branches/e_dbus-1.1/src/lib/connman0_7x/e_connman_manager.c branches/e_dbus-1.1/src/lib/connman0_7x/e_connman_private.h branches/e_dbus-1.1/src/lib/connman0_7x/e_connman_profile.c branches/e_dbus-1.1/src/lib/connman0_7x/e_connman_service.c branches/e_dbus-1.1/src/lib/connman0_7x/e_connman_technology.c branches/e_dbus-1.1/src/lib/dbus/E_DBus.h branches/e_dbus-1.1/src/lib/dbus/Makefile.am branches/e_dbus-1.1/src/lib/dbus/e_dbus.c branches/e_dbus-1.1/src/lib/dbus/e_dbus_interfaces.c branches/e_dbus-1.1/src/lib/dbus/e_dbus_message.c branches/e_dbus-1.1/src/lib/dbus/e_dbus_methods.c branches/e_dbus-1.1/src/lib/dbus/e_dbus_object.c branches/e_dbus-1.1/src/lib/dbus/e_dbus_private.h branches/e_dbus-1.1/src/lib/dbus/e_dbus_signal.c branches/e_dbus-1.1/src/lib/dbus/e_dbus_util.c branches/e_dbus-1.1/src/lib/hal/E_Hal.h branches/e_dbus-1.1/src/lib/hal/Makefile.am branches/e_dbus-1.1/src/lib/hal/e_hal_device.c branches/e_dbus-1.1/src/lib/hal/e_hal_device.h branches/e_dbus-1.1/src/lib/hal/e_hal_main.c branches/e_dbus-1.1/src/lib/hal/e_hal_manager.c branches/e_dbus-1.1/src/lib/hal/e_hal_manager.h branches/e_dbus-1.1/src/lib/hal/e_hal_private.h branches/e_dbus-1.1/src/lib/hal/e_hal_util.c branches/e_dbus-1.1/src/lib/hal/e_hal_util.h branches/e_dbus-1.1/src/lib/notification/E_Notification_Daemon.h branches/e_dbus-1.1/src/lib/notification/E_Notify.h branches/e_dbus-1.1/src/lib/notification/Makefile.am branches/e_dbus-1.1/src/lib/notification/client.c branches/e_dbus-1.1/src/lib/notification/daemon.c branches/e_dbus-1.1/src/lib/notification/e_notify_private.h branches/e_dbus-1.1/src/lib/notification/marshal.c branches/e_dbus-1.1/src/lib/notification/notification-spec.xml branches/e_dbus-1.1/src/lib/notification/notification.c branches/e_dbus-1.1/src/lib/ofono/E_Ofono.h branches/e_dbus-1.1/src/lib/ofono/Makefile.am branches/e_dbus-1.1/src/lib/ofono/e_ofono.c branches/e_dbus-1.1/src/lib/ofono/e_ofono_element.c branches/e_dbus-1.1/src/lib/ofono/e_ofono_manager.c branches/e_dbus-1.1/src/lib/ofono/e_ofono_modem.c branches/e_dbus-1.1/src/lib/ofono/e_ofono_network_reg.c branches/e_dbus-1.1/src/lib/ofono/e_ofono_private.h branches/e_dbus-1.1/src/lib/ofono/e_ofono_sms.c branches/e_dbus-1.1/src/lib/ukit/E_Ukit.h branches/e_dbus-1.1/src/lib/ukit/Makefile.am branches/e_dbus-1.1/src/lib/ukit/e_udisks.c branches/e_dbus-1.1/src/lib/ukit/e_ukit_main.c branches/e_dbus-1.1/src/lib/ukit/e_ukit_private.h branches/e_dbus-1.1/src/lib/ukit/e_ukit_private_util.c branches/e_dbus-1.1/src/lib/ukit/e_ukit_util.c branches/e_dbus-1.1/src/lib/ukit/e_upower.c branches/e_dbus-1.2/.gitignore branches/e_dbus-1.2/AUTHORS branches/e_dbus-1.2/COPYING branches/e_dbus-1.2/ChangeLog branches/e_dbus-1.2/INSTALL branches/e_dbus-1.2/Makefile.am branches/e_dbus-1.2/NEWS branches/e_dbus-1.2/README branches/e_dbus-1.2/autogen.sh branches/e_dbus-1.2/configure.ac branches/e_dbus-1.2/doc/Doxyfile.in branches/e_dbus-1.2/doc/Makefile.am branches/e_dbus-1.2/doc/e.css branches/e_dbus-1.2/doc/foot.html branches/e_dbus-1.2/doc/head.html branches/e_dbus-1.2/doc/images/e.png branches/e_dbus-1.2/doc/images/edoxy.css branches/e_dbus-1.2/doc/images/foot_bg.png branches/e_dbus-1.2/doc/images/head_bg.png branches/e_dbus-1.2/doc/images/menu_bg.png branches/e_dbus-1.2/doc/images/menu_bg_current.png branches/e_dbus-1.2/doc/images/menu_bg_hover.png branches/e_dbus-1.2/doc/images/menu_bg_last.png branches/e_dbus-1.2/doc/images/menu_bg_unsel.png branches/e_dbus-1.2/e_dbus.spec.in branches/e_dbus-1.2/ebluez.pc.in branches/e_dbus-1.2/econnman-0.7x.pc.in branches/e_dbus-1.2/edbus.pc.in branches/e_dbus-1.2/ehal.pc.in branches/e_dbus-1.2/enotify.pc.in branches/e_dbus-1.2/eofono.pc.in branches/e_dbus-1.2/eukit.pc.in branches/e_dbus-1.2/m4/ac_attribute.m4 branches/e_dbus-1.2/m4/efl_binary.m4 branches/e_dbus-1.2/m4/efl_compiler_flag.m4 branches/e_dbus-1.2/m4/efl_doxygen.m4 branches/e_dbus-1.2/src/Makefile.am branches/e_dbus-1.2/src/bin/Makefile.am branches/e_dbus-1.2/src/bin/e_dbus_bluez_test.c branches/e_dbus-1.2/src/bin/e_dbus_connman0_7x_test.c branches/e_dbus-1.2/src/bin/e_dbus_connman0_7x_test_api.c branches/e_dbus-1.2/src/bin/e_dbus_ofono_test.c branches/e_dbus-1.2/src/bin/e_dbus_ukit_test.c branches/e_dbus-1.2/src/bin/logo.png branches/e_dbus-1.2/src/bin/notification_daemon.c branches/e_dbus-1.2/src/bin/notify-send.c branches/e_dbus-1.2/src/bin/notify.c branches/e_dbus-1.2/src/bin/test.c branches/e_dbus-1.2/src/bin/test_client.c branches/e_dbus-1.2/src/lib/Makefile.am branches/e_dbus-1.2/src/lib/bluez/E_Bluez.h branches/e_dbus-1.2/src/lib/bluez/Makefile.am branches/e_dbus-1.2/src/lib/bluez/e_bluez.c branches/e_dbus-1.2/src/lib/bluez/e_bluez_adapter.c branches/e_dbus-1.2/src/lib/bluez/e_bluez_device.c branches/e_dbus-1.2/src/lib/bluez/e_bluez_devicefound.c branches/e_dbus-1.2/src/lib/bluez/e_bluez_element.c branches/e_dbus-1.2/src/lib/bluez/e_bluez_manager.c branches/e_dbus-1.2/src/lib/bluez/e_bluez_private.h branches/e_dbus-1.2/src/lib/connman0_7x/E_Connman.h branches/e_dbus-1.2/src/lib/connman0_7x/Makefile.am branches/e_dbus-1.2/src/lib/connman0_7x/e_connman.c branches/e_dbus-1.2/src/lib/connman0_7x/e_connman_element.c branches/e_dbus-1.2/src/lib/connman0_7x/e_connman_manager.c branches/e_dbus-1.2/src/lib/connman0_7x/e_connman_private.h branches/e_dbus-1.2/src/lib/connman0_7x/e_connman_profile.c branches/e_dbus-1.2/src/lib/connman0_7x/e_connman_service.c branches/e_dbus-1.2/src/lib/connman0_7x/e_connman_technology.c branches/e_dbus-1.2/src/lib/dbus/E_DBus.h branches/e_dbus-1.2/src/lib/dbus/Makefile.am branches/e_dbus-1.2/src/lib/dbus/e_dbus.c branches/e_dbus-1.2/src/lib/dbus/e_dbus_interfaces.c branches/e_dbus-1.2/src/lib/dbus/e_dbus_message.c branches/e_dbus-1.2/src/lib/dbus/e_dbus_methods.c branches/e_dbus-1.2/src/lib/dbus/e_dbus_object.c branches/e_dbus-1.2/src/lib/dbus/e_dbus_private.h branches/e_dbus-1.2/src/lib/dbus/e_dbus_signal.c branches/e_dbus-1.2/src/lib/dbus/e_dbus_util.c branches/e_dbus-1.2/src/lib/hal/E_Hal.h branches/e_dbus-1.2/src/lib/hal/HAL 0.5.10 Specification.html branches/e_dbus-1.2/src/lib/hal/Makefile.am branches/e_dbus-1.2/src/lib/hal/e_hal_device.c branches/e_dbus-1.2/src/lib/hal/e_hal_device.h branches/e_dbus-1.2/src/lib/hal/e_hal_main.c branches/e_dbus-1.2/src/lib/hal/e_hal_manager.c branches/e_dbus-1.2/src/lib/hal/e_hal_manager.h branches/e_dbus-1.2/src/lib/hal/e_hal_private.h branches/e_dbus-1.2/src/lib/hal/e_hal_util.c branches/e_dbus-1.2/src/lib/hal/e_hal_util.h branches/e_dbus-1.2/src/lib/notification/E_Notification_Daemon.h branches/e_dbus-1.2/src/lib/notification/E_Notify.h branches/e_dbus-1.2/src/lib/notification/Makefile.am branches/e_dbus-1.2/src/lib/notification/client.c branches/e_dbus-1.2/src/lib/notification/daemon.c branches/e_dbus-1.2/src/lib/notification/e_notify_private.h branches/e_dbus-1.2/src/lib/notification/marshal.c branches/e_dbus-1.2/src/lib/notification/notification-spec.xml branches/e_dbus-1.2/src/lib/notification/notification.c branches/e_dbus-1.2/src/lib/ofono/E_Ofono.h branches/e_dbus-1.2/src/lib/ofono/Makefile.am branches/e_dbus-1.2/src/lib/ofono/e_ofono.c branches/e_dbus-1.2/src/lib/ofono/e_ofono_element.c branches/e_dbus-1.2/src/lib/ofono/e_ofono_manager.c branches/e_dbus-1.2/src/lib/ofono/e_ofono_modem.c branches/e_dbus-1.2/src/lib/ofono/e_ofono_network_reg.c branches/e_dbus-1.2/src/lib/ofono/e_ofono_private.h branches/e_dbus-1.2/src/lib/ofono/e_ofono_sms.c branches/e_dbus-1.2/src/lib/ukit/E_Ukit.h branches/e_dbus-1.2/src/lib/ukit/Makefile.am branches/e_dbus-1.2/src/lib/ukit/e_udisks.c branches/e_dbus-1.2/src/lib/ukit/e_ukit_main.c branches/e_dbus-1.2/src/lib/ukit/e_ukit_private.h branches/e_dbus-1.2/src/lib/ukit/e_ukit_private_util.c branches/e_dbus-1.2/src/lib/ukit/e_ukit_util.c branches/e_dbus-1.2/src/lib/ukit/e_upower.c branches/e_dbus-1.7/.gitignore branches/e_dbus-1.7/AUTHORS branches/e_dbus-1.7/COPYING branches/e_dbus-1.7/ChangeLog branches/e_dbus-1.7/INSTALL branches/e_dbus-1.7/Makefile.am branches/e_dbus-1.7/NEWS branches/e_dbus-1.7/README branches/e_dbus-1.7/autogen.sh branches/e_dbus-1.7/configure.ac branches/e_dbus-1.7/doc/Doxyfile.in branches/e_dbus-1.7/doc/Makefile.am branches/e_dbus-1.7/doc/e.css branches/e_dbus-1.7/doc/foot.html branches/e_dbus-1.7/doc/head.html branches/e_dbus-1.7/doc/images/e.png branches/e_dbus-1.7/doc/images/edoxy.css branches/e_dbus-1.7/doc/images/foot_bg.png branches/e_dbus-1.7/doc/images/head_bg.png branches/e_dbus-1.7/doc/images/menu_bg.png branches/e_dbus-1.7/doc/images/menu_bg_current.png branches/e_dbus-1.7/doc/images/menu_bg_hover.png branches/e_dbus-1.7/doc/images/menu_bg_last.png branches/e_dbus-1.7/doc/images/menu_bg_unsel.png branches/e_dbus-1.7/e_dbus.spec.in branches/e_dbus-1.7/ebluez.pc.in branches/e_dbus-1.7/econnman-0.7x.pc.in branches/e_dbus-1.7/edbus.pc.in branches/e_dbus-1.7/ehal.pc.in branches/e_dbus-1.7/enotify.pc.in branches/e_dbus-1.7/eofono.pc.in branches/e_dbus-1.7/eukit.pc.in branches/e_dbus-1.7/m4/ac_attribute.m4 branches/e_dbus-1.7/m4/efl_binary.m4 branches/e_dbus-1.7/m4/efl_compiler_flag.m4 branches/e_dbus-1.7/m4/efl_doxygen.m4 branches/e_dbus-1.7/src/Makefile.am branches/e_dbus-1.7/src/bin/Makefile.am branches/e_dbus-1.7/src/bin/async_client_test.c branches/e_dbus-1.7/src/bin/async_server_test.c branches/e_dbus-1.7/src/bin/e_dbus_bluez_test.c branches/e_dbus-1.7/src/bin/e_dbus_connman0_7x_test.c branches/e_dbus-1.7/src/bin/e_dbus_connman0_7x_test_api.c branches/e_dbus-1.7/src/bin/e_dbus_ofono_test.c branches/e_dbus-1.7/src/bin/e_dbus_ukit_test.c branches/e_dbus-1.7/src/bin/logo.png branches/e_dbus-1.7/src/bin/notification_daemon.c branches/e_dbus-1.7/src/bin/notify-send.c branches/e_dbus-1.7/src/bin/notify.c branches/e_dbus-1.7/src/bin/performance.c branches/e_dbus-1.7/src/bin/test.c branches/e_dbus-1.7/src/bin/test_client.c branches/e_dbus-1.7/src/lib/Makefile.am branches/e_dbus-1.7/src/lib/bluez/E_Bluez.h branches/e_dbus-1.7/src/lib/bluez/Makefile.am branches/e_dbus-1.7/src/lib/bluez/e_bluez.c branches/e_dbus-1.7/src/lib/bluez/e_bluez_adapter.c branches/e_dbus-1.7/src/lib/bluez/e_bluez_device.c branches/e_dbus-1.7/src/lib/bluez/e_bluez_devicefound.c branches/e_dbus-1.7/src/lib/bluez/e_bluez_element.c branches/e_dbus-1.7/src/lib/bluez/e_bluez_manager.c branches/e_dbus-1.7/src/lib/bluez/e_bluez_private.h branches/e_dbus-1.7/src/lib/connman0_7x/E_Connman.h branches/e_dbus-1.7/src/lib/connman0_7x/Makefile.am branches/e_dbus-1.7/src/lib/connman0_7x/e_connman.c branches/e_dbus-1.7/src/lib/connman0_7x/e_connman_element.c branches/e_dbus-1.7/src/lib/connman0_7x/e_connman_manager.c branches/e_dbus-1.7/src/lib/connman0_7x/e_connman_private.h branches/e_dbus-1.7/src/lib/connman0_7x/e_connman_profile.c branches/e_dbus-1.7/src/lib/connman0_7x/e_connman_service.c branches/e_dbus-1.7/src/lib/connman0_7x/e_connman_technology.c branches/e_dbus-1.7/src/lib/dbus/E_DBus.h branches/e_dbus-1.7/src/lib/dbus/Makefile.am branches/e_dbus-1.7/src/lib/dbus/e_dbus.c branches/e_dbus-1.7/src/lib/dbus/e_dbus_interfaces.c branches/e_dbus-1.7/src/lib/dbus/e_dbus_message.c branches/e_dbus-1.7/src/lib/dbus/e_dbus_methods.c branches/e_dbus-1.7/src/lib/dbus/e_dbus_object.c branches/e_dbus-1.7/src/lib/dbus/e_dbus_private.h branches/e_dbus-1.7/src/lib/dbus/e_dbus_signal.c branches/e_dbus-1.7/src/lib/dbus/e_dbus_util.c branches/e_dbus-1.7/src/lib/hal/E_Hal.h branches/e_dbus-1.7/src/lib/hal/HAL 0.5.10 Specification.html branches/e_dbus-1.7/src/lib/hal/Makefile.am branches/e_dbus-1.7/src/lib/hal/e_hal_device.c branches/e_dbus-1.7/src/lib/hal/e_hal_device.h branches/e_dbus-1.7/src/lib/hal/e_hal_main.c branches/e_dbus-1.7/src/lib/hal/e_hal_manager.c branches/e_dbus-1.7/src/lib/hal/e_hal_manager.h branches/e_dbus-1.7/src/lib/hal/e_hal_private.h branches/e_dbus-1.7/src/lib/hal/e_hal_util.c branches/e_dbus-1.7/src/lib/hal/e_hal_util.h branches/e_dbus-1.7/src/lib/notification/E_Notification_Daemon.h branches/e_dbus-1.7/src/lib/notification/E_Notify.h branches/e_dbus-1.7/src/lib/notification/Makefile.am branches/e_dbus-1.7/src/lib/notification/client.c branches/e_dbus-1.7/src/lib/notification/daemon.c branches/e_dbus-1.7/src/lib/notification/e_notify_private.h branches/e_dbus-1.7/src/lib/notification/marshal.c branches/e_dbus-1.7/src/lib/notification/notification-spec.xml branches/e_dbus-1.7/src/lib/notification/notification.c branches/e_dbus-1.7/src/lib/ofono/E_Ofono.h branches/e_dbus-1.7/src/lib/ofono/Makefile.am branches/e_dbus-1.7/src/lib/ofono/e_ofono.c branches/e_dbus-1.7/src/lib/ofono/e_ofono_element.c branches/e_dbus-1.7/src/lib/ofono/e_ofono_manager.c branches/e_dbus-1.7/src/lib/ofono/e_ofono_modem.c branches/e_dbus-1.7/src/lib/ofono/e_ofono_network_reg.c branches/e_dbus-1.7/src/lib/ofono/e_ofono_private.h branches/e_dbus-1.7/src/lib/ofono/e_ofono_sms.c branches/e_dbus-1.7/src/lib/ukit/E_Ukit.h branches/e_dbus-1.7/src/lib/ukit/Makefile.am branches/e_dbus-1.7/src/lib/ukit/e_udisks.c branches/e_dbus-1.7/src/lib/ukit/e_ukit_main.c branches/e_dbus-1.7/src/lib/ukit/e_ukit_private.h branches/e_dbus-1.7/src/lib/ukit/e_ukit_private_util.c branches/e_dbus-1.7/src/lib/ukit/e_ukit_util.c branches/e_dbus-1.7/src/lib/ukit/e_upower.c trunk/e_dbus/.gitignore trunk/e_dbus/AUTHORS trunk/e_dbus/COPYING trunk/e_dbus/ChangeLog trunk/e_dbus/INSTALL trunk/e_dbus/Makefile.am trunk/e_dbus/NEWS trunk/e_dbus/README trunk/e_dbus/autogen.sh trunk/e_dbus/configure.ac trunk/e_dbus/doc/Doxyfile.in trunk/e_dbus/doc/Makefile.am trunk/e_dbus/doc/e.css trunk/e_dbus/doc/foot.html trunk/e_dbus/doc/head.html trunk/e_dbus/doc/images/e.png trunk/e_dbus/doc/images/edoxy.css trunk/e_dbus/doc/images/foot_bg.png trunk/e_dbus/doc/images/head_bg.png trunk/e_dbus/doc/images/menu_bg.png trunk/e_dbus/doc/images/menu_bg_current.png trunk/e_dbus/doc/images/menu_bg_hover.png trunk/e_dbus/doc/images/menu_bg_last.png trunk/e_dbus/doc/images/menu_bg_unsel.png trunk/e_dbus/e_dbus.spec.in trunk/e_dbus/ebluez.pc.in trunk/e_dbus/econnman-0.7x.pc.in trunk/e_dbus/edbus.pc.in trunk/e_dbus/ehal.pc.in trunk/e_dbus/enotify.pc.in trunk/e_dbus/eofono.pc.in trunk/e_dbus/eukit.pc.in trunk/e_dbus/m4/ac_attribute.m4 trunk/e_dbus/m4/efl_binary.m4 trunk/e_dbus/m4/efl_compiler_flag.m4 trunk/e_dbus/m4/efl_doxygen.m4 trunk/e_dbus/src/Makefile.am trunk/e_dbus/src/bin/Makefile.am trunk/e_dbus/src/bin/async_client_test.c trunk/e_dbus/src/bin/async_server_test.c trunk/e_dbus/src/bin/e_dbus_bluez_test.c trunk/e_dbus/src/bin/e_dbus_connman0_7x_test.c trunk/e_dbus/src/bin/e_dbus_connman0_7x_test_api.c trunk/e_dbus/src/bin/e_dbus_ofono_test.c trunk/e_dbus/src/bin/e_dbus_ukit_test.c trunk/e_dbus/src/bin/logo.png trunk/e_dbus/src/bin/notification_daemon.c trunk/e_dbus/src/bin/notify-send.c trunk/e_dbus/src/bin/notify.c trunk/e_dbus/src/bin/performance.c trunk/e_dbus/src/bin/test.c trunk/e_dbus/src/bin/test_client.c trunk/e_dbus/src/lib/Makefile.am trunk/e_dbus/src/lib/bluez/E_Bluez.h trunk/e_dbus/src/lib/bluez/Makefile.am trunk/e_dbus/src/lib/bluez/e_bluez.c trunk/e_dbus/src/lib/bluez/e_bluez_adapter.c trunk/e_dbus/src/lib/bluez/e_bluez_device.c trunk/e_dbus/src/lib/bluez/e_bluez_devicefound.c trunk/e_dbus/src/lib/bluez/e_bluez_element.c trunk/e_dbus/src/lib/bluez/e_bluez_manager.c trunk/e_dbus/src/lib/bluez/e_bluez_private.h trunk/e_dbus/src/lib/connman0_7x/E_Connman.h trunk/e_dbus/src/lib/connman0_7x/Makefile.am trunk/e_dbus/src/lib/connman0_7x/e_connman.c trunk/e_dbus/src/lib/connman0_7x/e_connman_element.c trunk/e_dbus/src/lib/connman0_7x/e_connman_manager.c trunk/e_dbus/src/lib/connman0_7x/e_connman_private.h trunk/e_dbus/src/lib/connman0_7x/e_connman_profile.c trunk/e_dbus/src/lib/connman0_7x/e_connman_service.c trunk/e_dbus/src/lib/connman0_7x/e_connman_technology.c trunk/e_dbus/src/lib/dbus/E_DBus.h trunk/e_dbus/src/lib/dbus/Makefile.am trunk/e_dbus/src/lib/dbus/e_dbus.c trunk/e_dbus/src/lib/dbus/e_dbus_interfaces.c trunk/e_dbus/src/lib/dbus/e_dbus_message.c trunk/e_dbus/src/lib/dbus/e_dbus_methods.c trunk/e_dbus/src/lib/dbus/e_dbus_object.c trunk/e_dbus/src/lib/dbus/e_dbus_private.h trunk/e_dbus/src/lib/dbus/e_dbus_signal.c trunk/e_dbus/src/lib/dbus/e_dbus_util.c trunk/e_dbus/src/lib/hal/E_Hal.h trunk/e_dbus/src/lib/hal/HAL 0.5.10 Specification.html trunk/e_dbus/src/lib/hal/Makefile.am trunk/e_dbus/src/lib/hal/e_hal_device.c trunk/e_dbus/src/lib/hal/e_hal_device.h trunk/e_dbus/src/lib/hal/e_hal_main.c trunk/e_dbus/src/lib/hal/e_hal_manager.c trunk/e_dbus/src/lib/hal/e_hal_manager.h trunk/e_dbus/src/lib/hal/e_hal_private.h trunk/e_dbus/src/lib/hal/e_hal_util.c trunk/e_dbus/src/lib/hal/e_hal_util.h trunk/e_dbus/src/lib/notification/E_Notification_Daemon.h trunk/e_dbus/src/lib/notification/E_Notify.h trunk/e_dbus/src/lib/notification/Makefile.am trunk/e_dbus/src/lib/notification/client.c trunk/e_dbus/src/lib/notification/daemon.c trunk/e_dbus/src/lib/notification/e_notify_private.h trunk/e_dbus/src/lib/notification/marshal.c trunk/e_dbus/src/lib/notification/notification-spec.xml trunk/e_dbus/src/lib/notification/notification.c trunk/e_dbus/src/lib/ofono/E_Ofono.h trunk/e_dbus/src/lib/ofono/Makefile.am trunk/e_dbus/src/lib/ofono/e_ofono.c trunk/e_dbus/src/lib/ofono/e_ofono_element.c trunk/e_dbus/src/lib/ofono/e_ofono_manager.c trunk/e_dbus/src/lib/ofono/e_ofono_modem.c trunk/e_dbus/src/lib/ofono/e_ofono_network_reg.c trunk/e_dbus/src/lib/ofono/e_ofono_private.h trunk/e_dbus/src/lib/ofono/e_ofono_sms.c trunk/e_dbus/src/lib/ukit/E_Ukit.h trunk/e_dbus/src/lib/ukit/Makefile.am trunk/e_dbus/src/lib/ukit/e_udisks.c trunk/e_dbus/src/lib/ukit/e_ukit_main.c trunk/e_dbus/src/lib/ukit/e_ukit_private.h trunk/e_dbus/src/lib/ukit/e_ukit_private_util.c trunk/e_dbus/src/lib/ukit/e_ukit_util.c trunk/e_dbus/src/lib/ukit/e_upower.c |
From: Enlightenment S. <no-...@en...> - 2013-03-25 16:49:54
|
Log: Migrated efbb to git. Author: tasn Date: 2013-03-25 09:49:22 -0700 (Mon, 25 Mar 2013) New Revision: 84465 Trac: http://trac.enlightenment.org/e/changeset/84465 Removed: trunk/GAMES/efbb/ |
From: Enlightenment S. <no-...@en...> - 2013-03-25 13:12:34
|
Log: simplify www font. Author: raster Date: 2013-03-25 06:12:26 -0700 (Mon, 25 Mar 2013) New Revision: 84464 Trac: http://trac.enlightenment.org/e/changeset/84464 Modified: trunk/web/www/theme/css/default.css Modified: trunk/web/www/theme/css/default.css =================================================================== --- trunk/web/www/theme/css/default.css 2013-03-25 11:28:23 UTC (rev 84463) +++ trunk/web/www/theme/css/default.css 2013-03-25 13:12:26 UTC (rev 84464) @@ -1,6 +1,6 @@ -body { font-family: "Bitstream Vera", "Vera", "Trebuchet MS", Trebuchet, Tahoma, sans-serif; color: #ffffff; text-shadow: 0px 1px rgba(0,0,0,0.5); } +body { font-family: Arial, Helvetica, sans-serif; color: #ffffff; text-shadow: 0px 1px rgba(0,0,0,0.5); } -pre, div.fragment, div.code { font-family: "Bitstream Vera Mono", "Vera Mono", "Trebuchet MS Mono", "Trebuchet Mono", "Tahoma Mono", mono; white-space: pre-wrap; color: #ffffff; } +pre, div.fragment, div.code { font-family: mono; white-space: pre-wrap; color: #ffffff; } blockquote { color: #cccccc; } |
From: Enlightenment S. <no-...@en...> - 2013-03-25 11:28:30
|
Log: Migrated python-efl and python-elementary to git. Author: tasn Date: 2013-03-25 04:28:23 -0700 (Mon, 25 Mar 2013) New Revision: 84463 Trac: http://trac.enlightenment.org/e/changeset/84463 Removed: trunk/BINDINGS/python/python-efl/ trunk/BINDINGS/python/python-elementary/ |
From: Enlightenment S. <no-...@en...> - 2013-03-25 11:20:26
|
Log: Migrated expedite to git. Author: tasn Date: 2013-03-25 04:20:19 -0700 (Mon, 25 Mar 2013) New Revision: 84462 Trac: http://trac.enlightenment.org/e/changeset/84462 Removed: branches/expedite-1.1/ branches/expedite-1.2/ branches/expedite-1.7/ trunk/expedite/ |
From: Enlightenment S. <no-...@en...> - 2013-03-25 09:17:50
|
Log: no p? Author: raster Date: 2013-03-25 02:17:44 -0700 (Mon, 25 Mar 2013) New Revision: 84461 Trac: http://trac.enlightenment.org/e/changeset/84461 Modified: trunk/web/www/p/about/terminology/en-body Modified: trunk/web/www/p/about/terminology/en-body =================================================================== --- trunk/web/www/p/about/terminology/en-body 2013-03-25 09:15:55 UTC (rev 84460) +++ trunk/web/www/p/about/terminology/en-body 2013-03-25 09:17:44 UTC (rev 84461) @@ -29,7 +29,7 @@ vacation in Thailand in June of 2012. So it is young and fresh, so it's not perfect, but it's getting there.</p> - <center><p><iframe width="672" height="560" src="http://www.youtube.com/embed/ibPziLRGvkg?rel=0" frameborder="0" allowfullscreen></iframe></p></center> + <center><iframe width="672" height="560" src="http://www.youtube.com/embed/ibPziLRGvkg?rel=0" frameborder="0" allowfullscreen></iframe></center> <h3>What does it do?</h3> <p>It emulates a slightly extended vt100 with some extensions and |
From: Enlightenment S. <no-...@en...> - 2013-03-25 09:16:02
|
Log: centered vid. Author: raster Date: 2013-03-25 02:15:55 -0700 (Mon, 25 Mar 2013) New Revision: 84460 Trac: http://trac.enlightenment.org/e/changeset/84460 Modified: trunk/web/www/p/about/terminology/en-body Modified: trunk/web/www/p/about/terminology/en-body =================================================================== --- trunk/web/www/p/about/terminology/en-body 2013-03-25 09:14:37 UTC (rev 84459) +++ trunk/web/www/p/about/terminology/en-body 2013-03-25 09:15:55 UTC (rev 84460) @@ -29,7 +29,7 @@ vacation in Thailand in June of 2012. So it is young and fresh, so it's not perfect, but it's getting there.</p> - <p><iframe width="672" height="560" src="http://www.youtube.com/embed/ibPziLRGvkg?rel=0" frameborder="0" allowfullscreen></iframe></p> + <center><p><iframe width="672" height="560" src="http://www.youtube.com/embed/ibPziLRGvkg?rel=0" frameborder="0" allowfullscreen></iframe></p></center> <h3>What does it do?</h3> <p>It emulates a slightly extended vt100 with some extensions and |