raster pushed a commit to branch master.
commit b949583c34591de7ccdbca34354a3cbcaa11e613
Author: Carsten Haitzler (Rasterman) <[email protected]>
Date: Wed Apr 17 12:50:19 2013 +0900
glue in beep flag on sel creation if you missed a beep in a hidden tab.
---
data/themes/default.edc | 155 +++++++++++++++++++++++++++++++++++++++++++++++-
src/bin/main.c | 3 +-
src/bin/sel.c | 7 ++-
src/bin/sel.h | 2 +-
4 files changed, 161 insertions(+), 6 deletions(-)
diff --git a/data/themes/default.edc b/data/themes/default.edc
index 5e9200d..d2c2b89 100644
--- a/data/themes/default.edc
+++ b/data/themes/default.edc
@@ -600,9 +600,7 @@ collections {
}
description { state: "spin_done" 0.0;
inherit: "default" 0.0;
- visible: 0;
- color: 255 255 255 0;
- map.rotation.z: 684.0;
+ map.rotation.z: 720.0;
}
}
program {
@@ -2528,6 +2526,8 @@ target: "4.bottom"
image: "inset_shadow.png" COMP;
}
parts {
+ ////////////////////////////////////////////////////////////////////
+ // background and shadows
part { name: "shadow";
mouse_events: 0;
description { state: "default" 0.0;
@@ -2560,6 +2560,8 @@ target: "4.bottom"
target: "fill";
}
+ ////////////////////////////////////////////////////////////////////
+ // content (where the grid of terms goes)
part { name: "clip"; type: RECT;
description { state: "default" 0.0;
}
@@ -2570,6 +2572,8 @@ target: "4.bottom"
}
}
+ ////////////////////////////////////////////////////////////////////
+ // fancy stuff on top
part { name: "overlay";
mouse_events: 0;
description { state: "default" 0.0;
@@ -2619,8 +2623,14 @@ target: "4.bottom"
image: "bg_glint.png" COMP;
image: "pm_shadow.png" COMP;
image: "cr_glow.png" COMP;
+ image: "bg_led_glow.png" COMP;
+ image: "bg_led_base.png" COMP;
+ image: "bg_led.png" COMP;
+ image: "bg_led_strobe.png" COMP;
}
parts {
+ ////////////////////////////////////////////////////////////////////
+ // base background and selection image
part { name: "clip"; type: RECT;
description { state: "default" 0.0;
rel1.to: "terminology.content";
@@ -2672,6 +2682,9 @@ target: "4.bottom"
color: 51 153 255 255;
}
}
+
+ ////////////////////////////////////////////////////////////////////
+ // swallowed terminal content + bg inside it
part { name: "base"; type: RECT;
clip_to: "clip";
description { state: "default" 0.0;
@@ -2722,6 +2735,8 @@ target: "4.bottom"
target: "glow";
}
+ ////////////////////////////////////////////////////////////////////
+ // fancy stuff over the top of the terminal for shading and labelling
part { name: "overlay";
mouse_events: 0;
description { state: "default" 0.0;
@@ -2772,6 +2787,9 @@ target: "4.bottom"
rel2.to: "terminology.content";
}
}
+
+ ////////////////////////////////////////////////////////////////////
+ // fancy stuff on top
part { name: "glint";
mouse_events: 0;
clip_to: "clip2";
@@ -2806,6 +2824,137 @@ target: "4.bottom"
aspect_preference: HORIZONTAL;
}
}
+
+ ////////////////////////////////////////////////////////////////////
+ // visual bell - spinning red siren light
+ part { name: "bell_glow";
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ visible: 0;
+ color: 255 255 255 0;
+ rel1.to: "bell_base";
+ rel2.to: "bell_base";
+ min: 200 200;
+ fill.smooth: 0;
+ image.normal: "bg_led_glow.png";
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ }
+ }
+ part { name: "bell_base";
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ visible: 0;
+ color: 255 255 255 0;
+ min: 32 32;
+ max: 32 32;
+ rel1.to: "terminology.content";
+ rel2.to: "terminology.content";
+ align: 1.0 1.0;
+ image.normal: "bg_led_base.png";
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ }
+ }
+ part { name: "bell";
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ visible: 0;
+ color: 255 255 255 0;
+ rel1.to: "bell_base";
+ rel2.to: "bell_base";
+ image.normal: "bg_led.png";
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ }
+ }
+ part { name: "bell_strobe";
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ visible: 0;
+ color: 255 255 255 0;
+ rel1.to: "bell";
+ rel2.to: "bell";
+ image.normal: "bg_led_strobe.png";
+ map {
+ on: 1;
+ smooth: 1;
+ rotation.center: "bell";
+ }
+ }
+ description { state: "spin" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 255;
+ map.rotation.z: 36.0;
+ }
+ description { state: "spin_done" 0.0;
+ inherit: "spin" 0.0;
+ map.rotation.z: 720.0;
+ }
+ description { state: "spin_done2" 0.0;
+ inherit: "spin" 0.0;
+ map.rotation.z: 1440.0;
+ }
+ }
+ program {
+ signal: "bell"; source: "terminology";
+ action: STATE_SET "default" 0.0;
+ target: "bell_base";
+ target: "bell";
+ target: "bell_strobe";
+ target: "bell_glow";
+ after: "bell";
+ }
+ program { name: "bell";
+ action: STATE_SET "visible" 0.0;
+ target: "bell_base";
+ target: "bell_glow";
+ after: "bell2";
+ }
+ program { name: "bell2";
+ action: STATE_SET "visible" 0.0;
+ transition: DECELERATE 0.1;
+ target: "bell";
+ target: "bell_glow";
+ after: "bell3";
+ }
+ program { name: "bell3";
+ action: STATE_SET "spin" 0.0;
+ transition: LINEAR 0.1;
+ target: "bell_strobe";
+ after: "bell4.2";
+ }
+ program { name: "bell4.2";
+ action: STATE_SET "spin_done" 0.0;
+ transition: LINEAR 0.9;
+ target: "bell_strobe";
+ after: "bell4.3";
+ }
+ program { name: "bell4.3";
+ action: STATE_SET "spin_done2" 0.0;
+ transition: LINEAR 1.0;
+ target: "bell_strobe";
+ after: "bell4.4";
+ }
+ program { name: "bell4.4";
+ action: STATE_SET "spin_done" 0.0;
+ target: "bell_strobe";
+ after: "bell4.3";
+ }
}
}
diff --git a/src/bin/main.c b/src/bin/main.c
index 15ff61f..f2a6917 100644
--- a/src/bin/main.c
+++ b/src/bin/main.c
@@ -1259,7 +1259,8 @@ _sel_go(Split *sp, Term *term)
evas_object_data_set(img, "termio", tm->term);
tm->sel = img;
- sel_entry_add(sp->sel, tm->sel, (tm == sp->term), tm->config);
+ sel_entry_add(sp->sel, tm->sel, (tm == sp->term),
+ tm->missed_bell, tm->config);
}
edje_object_part_swallow(sp->sel_bg, "terminology.content", sp->sel);
evas_object_show(sp->sel);
diff --git a/src/bin/sel.c b/src/bin/sel.c
index 50cff2a..444c865 100644
--- a/src/bin/sel.c
+++ b/src/bin/sel.c
@@ -655,7 +655,7 @@ sel_add(Evas_Object *parent)
}
void
-sel_entry_add(Evas_Object *obj, Evas_Object *entry, Eina_Bool selected, Config
*config)
+sel_entry_add(Evas_Object *obj, Evas_Object *entry, Eina_Bool selected,
Eina_Bool bell, Config *config)
{
Sel *sd = evas_object_smart_data_get(obj);
Entry *en = calloc(1, sizeof(Entry));
@@ -678,6 +678,11 @@ sel_entry_add(Evas_Object *obj, Evas_Object *entry,
Eina_Bool selected, Config *
edje_object_signal_emit(en->bg, "selected,start", "terminology");
edje_object_message_signal_process(en->bg);
}
+ if (bell)
+ {
+ edje_object_signal_emit(en->bg, "bell", "terminology");
+ edje_object_message_signal_process(en->bg);
+ }
sd->interp = 1.0;
en->termio = evas_object_data_get(en->obj, "termio");
if (en->termio)
diff --git a/src/bin/sel.h b/src/bin/sel.h
index 573a16a..724674d 100644
--- a/src/bin/sel.h
+++ b/src/bin/sel.h
@@ -4,7 +4,7 @@
#include "config.h"
Evas_Object *sel_add(Evas_Object *parent);
-void sel_entry_add(Evas_Object *obj, Evas_Object *entry, Eina_Bool selected,
Config *config);
+void sel_entry_add(Evas_Object *obj, Evas_Object *entry, Eina_Bool selected,
Eina_Bool bell, Config *config);
void sel_go(Evas_Object *obj);
void sel_entry_selected_set(Evas_Object *obj, Evas_Object *entry, Eina_Bool
keep_before);
void sel_zoom(Evas_Object *obj, double zoom);
--
------------------------------------------------------------------------------
Precog is a next-generation analytics platform capable of advanced
analytics on semi-structured data. The platform includes APIs for building
apps and a phenomenal toolset for data science. Developers can use
our toolset for easy data analysis & visualization. Get a free account!
http://www2.precog.com/precogplatform/slashdotnewsletter