Re: [E-devel] E SVN: discomfitor trunk/elementary/src/bin

2012-03-03 Thread Christopher Michael
On 03/03/2012 02:29 AM, Daniel Juyung Seo wrote:
 Hello,

 On Fri, Mar 2, 2012 at 5:34 AM, Leif Middelschulte
 leif.middelschu...@gmail.com  wrote:
 Since the order is important, why not use single select and dnd to
 sort the list? Like this, the reason for multiselect isn't
 communicated at all. Only people who know that elm has fallbacks could
 conclude this.

 Agreed. This is a better solution :)

 Daniel Juyung Seo (SeoZ)

Agreed.

dh



 2012/3/1 Enlightenment SVNno-re...@enlightenment.org:
 Log:
 @68591: multiselect here is intentional to allow for theme overlays
   try asking in irc or mailing list before randomly changing things like 
 this.


 Author:   discomfitor
 Date: 2012-03-01 12:16:28 -0800 (Thu, 01 Mar 2012)
 New Revision: 68592
 Trac: http://trac.enlightenment.org/e/changeset/68592

 Modified:
   trunk/elementary/src/bin/config.c

 Modified: trunk/elementary/src/bin/config.c
 ===

--
Virtualization  Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing 
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] E SVN: discomfitor trunk/elementary/src/bin

2012-03-02 Thread Daniel Juyung Seo
Hello,

On Fri, Mar 2, 2012 at 5:34 AM, Leif Middelschulte
leif.middelschu...@gmail.com wrote:
 Since the order is important, why not use single select and dnd to
 sort the list? Like this, the reason for multiselect isn't
 communicated at all. Only people who know that elm has fallbacks could
 conclude this.

Agreed. This is a better solution :)

Daniel Juyung Seo (SeoZ)


 2012/3/1 Enlightenment SVN no-re...@enlightenment.org:
 Log:
 @68591: multiselect here is intentional to allow for theme overlays
  try asking in irc or mailing list before randomly changing things like this.


 Author:       discomfitor
 Date:         2012-03-01 12:16:28 -0800 (Thu, 01 Mar 2012)
 New Revision: 68592
 Trac:         http://trac.enlightenment.org/e/changeset/68592

 Modified:
  trunk/elementary/src/bin/config.c

 Modified: trunk/elementary/src/bin/config.c
 ===
 --- trunk/elementary/src/bin/config.c   2012-03-01 20:12:47 UTC (rev 68591)
 +++ trunk/elementary/src/bin/config.c   2012-03-01 20:16:28 UTC (rev 68592)
 @@ -1335,6 +1335,7 @@
    evas_object_show(pd);

    li = elm_list_add(win);
 +   elm_list_multi_select_set(li, EINA_TRUE);
    evas_object_size_hint_weight_set(li, 1.0, 1.0);
    evas_object_size_hint_align_set(li, EVAS_HINT_FILL, EVAS_HINT_FILL);
    elm_object_content_set(pd, li);


 --
 Virtualization  Cloud Management Using Capacity Planning
 Cloud computing makes use of virtualization - but cloud computing
 also focuses on allowing computing to be delivered as a service.
 http://www.accelacomm.com/jaw/sfnl/114/51521223/
 ___
 enlightenment-svn mailing list
 enlightenment-...@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-svn



 --
 Leif

 --
 Virtualization  Cloud Management Using Capacity Planning
 Cloud computing makes use of virtualization - but cloud computing
 also focuses on allowing computing to be delivered as a service.
 http://www.accelacomm.com/jaw/sfnl/114/51521223/
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

--
Virtualization  Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing 
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] E SVN: discomfitor trunk/elementary/src/bin

2012-03-01 Thread Leif Middelschulte
Since the order is important, why not use single select and dnd to
sort the list? Like this, the reason for multiselect isn't
communicated at all. Only people who know that elm has fallbacks could
conclude this.

2012/3/1 Enlightenment SVN no-re...@enlightenment.org:
 Log:
 @68591: multiselect here is intentional to allow for theme overlays
  try asking in irc or mailing list before randomly changing things like this.


 Author:       discomfitor
 Date:         2012-03-01 12:16:28 -0800 (Thu, 01 Mar 2012)
 New Revision: 68592
 Trac:         http://trac.enlightenment.org/e/changeset/68592

 Modified:
  trunk/elementary/src/bin/config.c

 Modified: trunk/elementary/src/bin/config.c
 ===
 --- trunk/elementary/src/bin/config.c   2012-03-01 20:12:47 UTC (rev 68591)
 +++ trunk/elementary/src/bin/config.c   2012-03-01 20:16:28 UTC (rev 68592)
 @@ -1335,6 +1335,7 @@
    evas_object_show(pd);

    li = elm_list_add(win);
 +   elm_list_multi_select_set(li, EINA_TRUE);
    evas_object_size_hint_weight_set(li, 1.0, 1.0);
    evas_object_size_hint_align_set(li, EVAS_HINT_FILL, EVAS_HINT_FILL);
    elm_object_content_set(pd, li);


 --
 Virtualization  Cloud Management Using Capacity Planning
 Cloud computing makes use of virtualization - but cloud computing
 also focuses on allowing computing to be delivered as a service.
 http://www.accelacomm.com/jaw/sfnl/114/51521223/
 ___
 enlightenment-svn mailing list
 enlightenment-...@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-svn



-- 
Leif

--
Virtualization  Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing 
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] E SVN: discomfitor trunk/elementary/src/bin

2011-07-18 Thread Mike Blumenkrantz
On Sun, 17 Jul 2011 23:51:45 -0700
Enlightenment SVN no-re...@enlightenment.org wrote:

 Log:
 more elm_config features! theme list will now autoselect your current
 theme(s) on load. it might even select them correctly! overlay themes
 sometimes don't get applied to the sample for some reason, but they will
 still be applied when 'use theme' is clicked 
 
 Author:   discomfitor
 Date: 2011-07-17 23:51:45 -0700 (Sun, 17 Jul 2011)
 New Revision: 61466
 Trac: http://trac.enlightenment.org/e/changeset/61466
 
 Modified:
   trunk/elementary/src/bin/config.c 
 
 Modified: trunk/elementary/src/bin/config.c
 ===
 --- trunk/elementary/src/bin/config.c 2011-07-18 06:24:34 UTC (rev
 61465) +++ trunk/elementary/src/bin/config.c  2011-07-18 06:51:45 UTC
 (rev 61466) @@ -1073,17 +1073,19 @@
  }
  
  static void
 -_theme_sel(void*data,
 +_theme_sel(void*data __UNUSED__,
 Evas_Object *obj,
 void *event_info __UNUSED__)
  {
 -   Theme *t = data;
 Evas_Object *win = elm_object_top_widget_get(obj);
 Evas_Object *sample = evas_object_data_get(win, theme_preview);
 Elm_Theme *th, *sth;
 -   const char *defth, *rest;
 +   Elm_List_Item *it;
 +   const char *defth;
 Eina_Strbuf *newth;
 +   Eina_List *l;
  
 +   if (!sample) return;
 tsel = elm_list_selected_items_get(obj);
 sth = elm_object_theme_get(sample);
 defth = elm_theme_get(sth);
 @@ -1095,15 +1097,13 @@
  eina_strbuf_free(newth);
  return;
   }
 -   if (eina_list_count(tsel)  1)
 - eina_strbuf_append_printf(newth, %s:%s, t-name, defth);
 -   else
 +   EINA_LIST_REVERSE_FOREACH((Eina_List*)tsel, l, it)
   {
 -rest = strchr(defth, ':');
 -if (!rest)
 -  eina_strbuf_append(newth, t-name);
 -else
 -  eina_strbuf_append_printf(newth, %s%s, t-name, rest);
 +Theme *t = elm_list_item_data_get(it);
 +eina_strbuf_append_printf(newth, %s:, t-name);
 +if ((!l-prev)  strcmp(t-name, default))
 +  /* ensure default theme is always there for fallback */
 +  eina_strbuf_append(newth, default);
   }
 elm_theme_set(th, eina_strbuf_string_get(newth));
 eina_strbuf_free(newth);
 @@ -1266,6 +1266,10 @@
 Evas_Object *tb, *rc, *sc, *sp, *li, *pd, *fr, *bt, *sample;
 Eina_List *list, *l;
 char *th, *s, *ext;
 +   Elm_Theme *d;
 +   Elm_List_Item *it, *def_it;
 +   const char *theme_name, *sep[20];
 +   unsigned int x;
  
 tb = elm_table_add(win);
 evas_object_size_hint_weight_set(tb, 1.0, 1.0);
 @@ -1298,10 +1302,18 @@
 evas_object_show(li);
  
 list = elm_theme_name_available_list_new();
 +   d = elm_theme_default_get();
 +   theme_name = elm_theme_get(d);
 +   for (x = 1, sep[0] = theme_name; x  sizeof(sep) / sizeof(sep[0]); x++)
 + {
 +sep[x] = strchr(sep[x - 1] + 1, ':');
 +if (!sep[x]) break;
 + }
 EINA_LIST_FOREACH(list, l, th)
   {
  Theme *t;
 -
 +int y;
 +
  t = calloc(1, sizeof(Theme));
  t-name = eina_stringshare_add(th);
  s = elm_theme_list_item_path_get(th, (t-in_search_path));
 @@ -1337,8 +1349,23 @@
 t-label = eina_stringshare_add(s);
}
  themes = eina_list_append(themes, t);
 -elm_list_item_append(li, t-label, NULL, NULL, _theme_sel, t);
 +it = elm_list_item_append(li, t-label, NULL, NULL, NULL, t);
 +if (!strcmp(t-name, default)) def_it = it;
 +for (y = x - 1 /* ignore default e theme */; y  0; y--)
 +  {
 + const char *start = (sep[y - 1][0] == ':') ? sep[y - 1] + 1 :
 sep[y - 1];
 + unsigned int len = (unsigned int)(sep[y] - start);
 + if (strncmp(start , t-name, len) || (strlen(t-name) != len))
 continue; +
 + if (!elm_list_item_selected_get(it))
 +   elm_list_item_selected_set(it, EINA_TRUE);
 + break;
 +  }
   }
 +   if (!elm_list_selected_items_get(li))
 + elm_list_item_selected_set(def_it, EINA_TRUE);
 +   evas_object_smart_callback_add(li, selected, _theme_sel, NULL);
 +   evas_object_smart_callback_add(li, unselected, _theme_sel, NULL);
 elm_theme_name_available_list_free(list);
  
 elm_list_go(li);
 
 
this sort of does the smart selection that we were talking about. it's a little
buggy wrt overlay themes + preview, but the rest of it works so it's close
enough for me since I'm probably the only one who uses an overlay theme

-- 
Mike Blumenkrantz
Zentific: Coding in binary since '10.

--
AppSumo Presents a FREE Video for the SourceForge Community by Eric 
Ries, the creator of the Lean Startup Methodology on Lean Startup 
Secrets Revealed. This video shows you how to validate your ideas, 
optimize your ideas and identify your business 

Re: [E-devel] E SVN: discomfitor trunk/elementary/src/bin

2011-07-17 Thread The Rasterman
On Sat, 16 Jul 2011 10:48:53 -0400 Mike Blumenkrantz m...@zentific.com said:

 On Sat, 16 Jul 2011 07:45:41 -0700
 Enlightenment SVN no-re...@enlightenment.org wrote:
 
  Log:
  elm_config gains a new feature: multitheme selection! themes are added in
  the order of selection, so to use an overlay for a theme you would select
  the base theme first, then the overlay part. then just click use theme
  and zooon 
  
  Author:   discomfitor
  Date: 2011-07-16 07:45:41 -0700 (Sat, 16 Jul 2011)
  New Revision: 61426
  Trac: http://trac.enlightenment.org/e/changeset/61426
  
  Modified:
trunk/elementary/src/bin/config.c 
  
  Modified: trunk/elementary/src/bin/config.c
  ===
  --- trunk/elementary/src/bin/config.c   2011-07-16 14:27:33 UTC (rev
  61425) +++ trunk/elementary/src/bin/config.c2011-07-16 14:45:41 UTC
  (rev 61426) @@ -17,7 +17,7 @@
  Eina_Bool   in_search_path;
   };
   
  -static Theme *tsel = NULL;
  +static const Eina_List *tsel = NULL;
   static Eina_List *themes = NULL;
   
   struct _Elm_Text_Class_Data
  @@ -1063,28 +1063,13 @@
  void *event_info __UNUSED__)
   {
  const char *defth;
  -   char *newth;
  -   Theme *t = tsel;
  +   Elm_Theme *th;
  +   Evas_Object *win = elm_object_top_widget_get(obj);
  +   Evas_Object *sample = evas_object_data_get(win, theme_preview);
   
  -   if (!t) return;
  -   defth = elm_theme_get(NULL);
  -   newth = malloc(strlen(defth) + 1 + strlen(t-name) + 1);
  -   if (newth)
  - {
  -char *rest;
  -
  -newth[0] = 0;
  -rest = strchr(defth, ':');
  -if (!rest)
  -  strcpy(newth, t-name);
  -else
  -  {
  - strcpy(newth, t-name);
  - strcat(newth, rest);
  -  }
  -elm_theme_all_set(newth);
  -free(newth);
  - }
  +   th = elm_object_theme_get(sample);
  +   defth = elm_theme_get(th);
  +   elm_theme_all_set(defth);
   }
   
   static void
  @@ -1095,30 +1080,33 @@
  Theme *t = data;
  Evas_Object *win = elm_object_top_widget_get(obj);
  Evas_Object *sample = evas_object_data_get(win, theme_preview);
  -   Elm_Theme *th;
  -   const char *defth;
  -   char *newth;
  +   Elm_Theme *th, *sth;
  +   const char *defth, *rest;
  +   Eina_Strbuf *newth;
   
  -   tsel = t;
  -   defth = elm_theme_get(NULL);
  -   newth = malloc(strlen(defth) + 1 + strlen(t-name) + 1);
  +   tsel = elm_list_selected_items_get(obj);
  +   sth = elm_object_theme_get(sample);
  +   defth = elm_theme_get(sth);
  +   newth = eina_strbuf_new();
  +   EINA_SAFETY_ON_NULL_RETURN(newth);
  th = elm_theme_new();
  -   if (newth)
  +   if (!th)
{
  -char *rest;
  -
  -newth[0] = 0;
  +eina_strbuf_free(newth);
  +return;
  + }
  +   if (eina_list_count(tsel)  1)
  + eina_strbuf_append_printf(newth, %s:%s, t-name, defth);
  +   else
  + {
   rest = strchr(defth, ':');
   if (!rest)
  -  strcpy(newth, t-name);
  +  eina_strbuf_append(newth, t-name);
   else
  -  {
  - strcpy(newth, t-name);
  - strcat(newth, rest);
  -  }
  -elm_theme_set(th, newth);
  -free(newth);
  +  eina_strbuf_append_printf(newth, %s%s, t-name, rest);
}
  +   elm_theme_set(th, eina_strbuf_string_get(newth));
  +   eina_strbuf_free(newth);
  elm_object_theme_set(sample, th);
  elm_theme_free(th);
   }
  @@ -1303,6 +1291,7 @@
  evas_object_show(pd);
   
  li = elm_list_add(win);
  +   elm_list_multi_select_set(li, EINA_TRUE);
  evas_object_size_hint_weight_set(li, 1.0, 1.0);
  evas_object_size_hint_align_set(li, EVAS_HINT_FILL, EVAS_HINT_FILL);
  elm_frame_content_set(pd, li);
  
  
 now it is possible to use theme overlays such as darkness-desktop with great
 ease! but with great ease comes great responsibility, so don't go selecting
 all the themes at once...

not sure we want multiselect... as ORDER is important when defining multiple
themes... which one comes first etc. ... so you need an advanced select mode to
do multiselect AND ordering. not hard to do... just multiselect as it stands is
like giving you ls and not rm. :)

-- 
- Codito, ergo sum - I code, therefore I am --
The Rasterman (Carsten Haitzler)ras...@rasterman.com


--
AppSumo Presents a FREE Video for the SourceForge Community by Eric 
Ries, the creator of the Lean Startup Methodology on Lean Startup 
Secrets Revealed. This video shows you how to validate your ideas, 
optimize your ideas and identify your business strategy.
http://p.sf.net/sfu/appsumosfdev2dev
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net

Re: [E-devel] E SVN: discomfitor trunk/elementary/src/bin

2011-07-17 Thread Mike Blumenkrantz
On Sun, 17 Jul 2011 21:37:39 +0900
Carsten Haitzler (The Rasterman) ras...@rasterman.com wrote:

 On Sat, 16 Jul 2011 10:48:53 -0400 Mike Blumenkrantz m...@zentific.com said:
 
  On Sat, 16 Jul 2011 07:45:41 -0700
  Enlightenment SVN no-re...@enlightenment.org wrote:
  
   Log:
   elm_config gains a new feature: multitheme selection! themes are added in
   the order of selection, so to use an overlay for a theme you would select
   the base theme first, then the overlay part. then just click use theme
   and zooon 
   
   Author:   discomfitor
   Date: 2011-07-16 07:45:41 -0700 (Sat, 16 Jul 2011)
   New Revision: 61426
   Trac: http://trac.enlightenment.org/e/changeset/61426
   
   Modified:
 trunk/elementary/src/bin/config.c 
   
   Modified: trunk/elementary/src/bin/config.c
   ===
   --- trunk/elementary/src/bin/config.c 2011-07-16 14:27:33 UTC (rev
   61425) +++ trunk/elementary/src/bin/config.c  2011-07-16 14:45:41
   UTC (rev 61426) @@ -17,7 +17,7 @@
   Eina_Bool   in_search_path;
};

   -static Theme *tsel = NULL;
   +static const Eina_List *tsel = NULL;
static Eina_List *themes = NULL;

struct _Elm_Text_Class_Data
   @@ -1063,28 +1063,13 @@
   void *event_info __UNUSED__)
{
   const char *defth;
   -   char *newth;
   -   Theme *t = tsel;
   +   Elm_Theme *th;
   +   Evas_Object *win = elm_object_top_widget_get(obj);
   +   Evas_Object *sample = evas_object_data_get(win, theme_preview);

   -   if (!t) return;
   -   defth = elm_theme_get(NULL);
   -   newth = malloc(strlen(defth) + 1 + strlen(t-name) + 1);
   -   if (newth)
   - {
   -char *rest;
   -
   -newth[0] = 0;
   -rest = strchr(defth, ':');
   -if (!rest)
   -  strcpy(newth, t-name);
   -else
   -  {
   - strcpy(newth, t-name);
   - strcat(newth, rest);
   -  }
   -elm_theme_all_set(newth);
   -free(newth);
   - }
   +   th = elm_object_theme_get(sample);
   +   defth = elm_theme_get(th);
   +   elm_theme_all_set(defth);
}

static void
   @@ -1095,30 +1080,33 @@
   Theme *t = data;
   Evas_Object *win = elm_object_top_widget_get(obj);
   Evas_Object *sample = evas_object_data_get(win, theme_preview);
   -   Elm_Theme *th;
   -   const char *defth;
   -   char *newth;
   +   Elm_Theme *th, *sth;
   +   const char *defth, *rest;
   +   Eina_Strbuf *newth;

   -   tsel = t;
   -   defth = elm_theme_get(NULL);
   -   newth = malloc(strlen(defth) + 1 + strlen(t-name) + 1);
   +   tsel = elm_list_selected_items_get(obj);
   +   sth = elm_object_theme_get(sample);
   +   defth = elm_theme_get(sth);
   +   newth = eina_strbuf_new();
   +   EINA_SAFETY_ON_NULL_RETURN(newth);
   th = elm_theme_new();
   -   if (newth)
   +   if (!th)
 {
   -char *rest;
   -
   -newth[0] = 0;
   +eina_strbuf_free(newth);
   +return;
   + }
   +   if (eina_list_count(tsel)  1)
   + eina_strbuf_append_printf(newth, %s:%s, t-name, defth);
   +   else
   + {
rest = strchr(defth, ':');
if (!rest)
   -  strcpy(newth, t-name);
   +  eina_strbuf_append(newth, t-name);
else
   -  {
   - strcpy(newth, t-name);
   - strcat(newth, rest);
   -  }
   -elm_theme_set(th, newth);
   -free(newth);
   +  eina_strbuf_append_printf(newth, %s%s, t-name, rest);
 }
   +   elm_theme_set(th, eina_strbuf_string_get(newth));
   +   eina_strbuf_free(newth);
   elm_object_theme_set(sample, th);
   elm_theme_free(th);
}
   @@ -1303,6 +1291,7 @@
   evas_object_show(pd);

   li = elm_list_add(win);
   +   elm_list_multi_select_set(li, EINA_TRUE);
   evas_object_size_hint_weight_set(li, 1.0, 1.0);
   evas_object_size_hint_align_set(li, EVAS_HINT_FILL, EVAS_HINT_FILL);
   elm_frame_content_set(pd, li);
   
   
  now it is possible to use theme overlays such as darkness-desktop with great
  ease! but with great ease comes great responsibility, so don't go selecting
  all the themes at once...
 
 not sure we want multiselect... as ORDER is important when defining multiple
 themes... which one comes first etc. ... so you need an advanced select mode
 to do multiselect AND ordering. not hard to do... just multiselect as it
 stands is like giving you ls and not rm. :)
 
if you're saying the select mode would also need to be able to determine which
is the base part of the theme, I think we would need to embed some info into
the edc to provide that, no?

-- 
Mike Blumenkrantz
Zentific: Coding in binary since '10.

--
AppSumo Presents a FREE Video for the SourceForge Community by Eric 
Ries, the creator of the Lean Startup 

Re: [E-devel] E SVN: discomfitor trunk/elementary/src/bin

2011-07-17 Thread The Rasterman
On Sun, 17 Jul 2011 14:39:05 -0400 Mike Blumenkrantz m...@zentific.com said:


 if you're saying the select mode would also need to be able to determine which
 is the base part of the theme, I think we would need to embed some info into
 the edc to provide that, no?

no - i'm saying themes can be listed in order:

theme1:theme2:theme3:theme4:...

elm will look for stuff first in theme1, if not found then theme2, then theme3,
then theme4 and finally... if not found in default. if you have 2 themes which
only provide SOME elements, but they overlap as to which elements they
provide... who comes first? you need to be able to order them.

-- 
- Codito, ergo sum - I code, therefore I am --
The Rasterman (Carsten Haitzler)ras...@rasterman.com


--
AppSumo Presents a FREE Video for the SourceForge Community by Eric 
Ries, the creator of the Lean Startup Methodology on Lean Startup 
Secrets Revealed. This video shows you how to validate your ideas, 
optimize your ideas and identify your business strategy.
http://p.sf.net/sfu/appsumosfdev2dev
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] E SVN: discomfitor trunk/elementary/src/bin

2011-07-17 Thread Mike Blumenkrantz
On Mon, 18 Jul 2011 08:20:02 +0900
Carsten Haitzler (The Rasterman) ras...@rasterman.com wrote:

 On Sun, 17 Jul 2011 14:39:05 -0400 Mike Blumenkrantz m...@zentific.com said:
 
 
  if you're saying the select mode would also need to be able to determine
  which is the base part of the theme, I think we would need to embed some
  info into the edc to provide that, no?
 
 no - i'm saying themes can be listed in order:
 
 theme1:theme2:theme3:theme4:...
 
 elm will look for stuff first in theme1, if not found then theme2, then
 theme3, then theme4 and finally... if not found in default. if you have 2
 themes which only provide SOME elements, but they overlap as to which
 elements they provide... who comes first? you need to be able to order them.
 
right, and you can order them properly since the selection code I added adds
based on the order that you select in. it's not perfect, but it works fine

-- 
Mike Blumenkrantz
Zentific: Coding in binary since '10.

--
AppSumo Presents a FREE Video for the SourceForge Community by Eric 
Ries, the creator of the Lean Startup Methodology on Lean Startup 
Secrets Revealed. This video shows you how to validate your ideas, 
optimize your ideas and identify your business strategy.
http://p.sf.net/sfu/appsumosfdev2dev
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] E SVN: discomfitor trunk/elementary/src/bin

2011-07-17 Thread The Rasterman
On Sun, 17 Jul 2011 19:25:33 -0400 Mike Blumenkrantz m...@zentific.com said:

 On Mon, 18 Jul 2011 08:20:02 +0900
 Carsten Haitzler (The Rasterman) ras...@rasterman.com wrote:
 
  On Sun, 17 Jul 2011 14:39:05 -0400 Mike Blumenkrantz m...@zentific.com
  said:
  
  
   if you're saying the select mode would also need to be able to determine
   which is the base part of the theme, I think we would need to embed some
   info into the edc to provide that, no?
  
  no - i'm saying themes can be listed in order:
  
  theme1:theme2:theme3:theme4:...
  
  elm will look for stuff first in theme1, if not found then theme2, then
  theme3, then theme4 and finally... if not found in default. if you have 2
  themes which only provide SOME elements, but they overlap as to which
  elements they provide... who comes first? you need to be able to order them.
  
 right, and you can order them properly since the selection code I added adds
 based on the order that you select in. it's not perfect, but it works fine

OUCH!... and how do you see that order later on when u re-run the tool? :)


-- 
- Codito, ergo sum - I code, therefore I am --
The Rasterman (Carsten Haitzler)ras...@rasterman.com


--
AppSumo Presents a FREE Video for the SourceForge Community by Eric 
Ries, the creator of the Lean Startup Methodology on Lean Startup 
Secrets Revealed. This video shows you how to validate your ideas, 
optimize your ideas and identify your business strategy.
http://p.sf.net/sfu/appsumosfdev2dev
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] E SVN: discomfitor trunk/elementary/src/bin

2011-07-17 Thread Mike Blumenkrantz
On Mon, 18 Jul 2011 11:35:16 +0900
Carsten Haitzler (The Rasterman) ras...@rasterman.com wrote:

 On Sun, 17 Jul 2011 19:25:33 -0400 Mike Blumenkrantz m...@zentific.com said:
 
  On Mon, 18 Jul 2011 08:20:02 +0900
  Carsten Haitzler (The Rasterman) ras...@rasterman.com wrote:
  
   On Sun, 17 Jul 2011 14:39:05 -0400 Mike Blumenkrantz m...@zentific.com
   said:
   
   
if you're saying the select mode would also need to be able to determine
which is the base part of the theme, I think we would need to embed some
info into the edc to provide that, no?
   
   no - i'm saying themes can be listed in order:
   
   theme1:theme2:theme3:theme4:...
   
   elm will look for stuff first in theme1, if not found then theme2, then
   theme3, then theme4 and finally... if not found in default. if you have 2
   themes which only provide SOME elements, but they overlap as to which
   elements they provide... who comes first? you need to be able to order
   them.
   
  right, and you can order them properly since the selection code I added adds
  based on the order that you select in. it's not perfect, but it works fine
 
 OUCH!... and how do you see that order later on when u re-run the tool? :)
 
 
details, details :P

-- 
Mike Blumenkrantz
Zentific: Coding in binary since '10.

--
AppSumo Presents a FREE Video for the SourceForge Community by Eric 
Ries, the creator of the Lean Startup Methodology on Lean Startup 
Secrets Revealed. This video shows you how to validate your ideas, 
optimize your ideas and identify your business strategy.
http://p.sf.net/sfu/appsumosfdev2dev
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] E SVN: discomfitor trunk/elementary/src/bin

2011-07-16 Thread Mike Blumenkrantz
On Sat, 16 Jul 2011 07:45:41 -0700
Enlightenment SVN no-re...@enlightenment.org wrote:

 Log:
 elm_config gains a new feature: multitheme selection! themes are added in the
 order of selection, so to use an overlay for a theme you would select the
 base theme first, then the overlay part. then just click use theme and
 zooon 
 
 Author:   discomfitor
 Date: 2011-07-16 07:45:41 -0700 (Sat, 16 Jul 2011)
 New Revision: 61426
 Trac: http://trac.enlightenment.org/e/changeset/61426
 
 Modified:
   trunk/elementary/src/bin/config.c 
 
 Modified: trunk/elementary/src/bin/config.c
 ===
 --- trunk/elementary/src/bin/config.c 2011-07-16 14:27:33 UTC (rev
 61425) +++ trunk/elementary/src/bin/config.c  2011-07-16 14:45:41 UTC
 (rev 61426) @@ -17,7 +17,7 @@
 Eina_Bool   in_search_path;
  };
  
 -static Theme *tsel = NULL;
 +static const Eina_List *tsel = NULL;
  static Eina_List *themes = NULL;
  
  struct _Elm_Text_Class_Data
 @@ -1063,28 +1063,13 @@
 void *event_info __UNUSED__)
  {
 const char *defth;
 -   char *newth;
 -   Theme *t = tsel;
 +   Elm_Theme *th;
 +   Evas_Object *win = elm_object_top_widget_get(obj);
 +   Evas_Object *sample = evas_object_data_get(win, theme_preview);
  
 -   if (!t) return;
 -   defth = elm_theme_get(NULL);
 -   newth = malloc(strlen(defth) + 1 + strlen(t-name) + 1);
 -   if (newth)
 - {
 -char *rest;
 -
 -newth[0] = 0;
 -rest = strchr(defth, ':');
 -if (!rest)
 -  strcpy(newth, t-name);
 -else
 -  {
 - strcpy(newth, t-name);
 - strcat(newth, rest);
 -  }
 -elm_theme_all_set(newth);
 -free(newth);
 - }
 +   th = elm_object_theme_get(sample);
 +   defth = elm_theme_get(th);
 +   elm_theme_all_set(defth);
  }
  
  static void
 @@ -1095,30 +1080,33 @@
 Theme *t = data;
 Evas_Object *win = elm_object_top_widget_get(obj);
 Evas_Object *sample = evas_object_data_get(win, theme_preview);
 -   Elm_Theme *th;
 -   const char *defth;
 -   char *newth;
 +   Elm_Theme *th, *sth;
 +   const char *defth, *rest;
 +   Eina_Strbuf *newth;
  
 -   tsel = t;
 -   defth = elm_theme_get(NULL);
 -   newth = malloc(strlen(defth) + 1 + strlen(t-name) + 1);
 +   tsel = elm_list_selected_items_get(obj);
 +   sth = elm_object_theme_get(sample);
 +   defth = elm_theme_get(sth);
 +   newth = eina_strbuf_new();
 +   EINA_SAFETY_ON_NULL_RETURN(newth);
 th = elm_theme_new();
 -   if (newth)
 +   if (!th)
   {
 -char *rest;
 -
 -newth[0] = 0;
 +eina_strbuf_free(newth);
 +return;
 + }
 +   if (eina_list_count(tsel)  1)
 + eina_strbuf_append_printf(newth, %s:%s, t-name, defth);
 +   else
 + {
  rest = strchr(defth, ':');
  if (!rest)
 -  strcpy(newth, t-name);
 +  eina_strbuf_append(newth, t-name);
  else
 -  {
 - strcpy(newth, t-name);
 - strcat(newth, rest);
 -  }
 -elm_theme_set(th, newth);
 -free(newth);
 +  eina_strbuf_append_printf(newth, %s%s, t-name, rest);
   }
 +   elm_theme_set(th, eina_strbuf_string_get(newth));
 +   eina_strbuf_free(newth);
 elm_object_theme_set(sample, th);
 elm_theme_free(th);
  }
 @@ -1303,6 +1291,7 @@
 evas_object_show(pd);
  
 li = elm_list_add(win);
 +   elm_list_multi_select_set(li, EINA_TRUE);
 evas_object_size_hint_weight_set(li, 1.0, 1.0);
 evas_object_size_hint_align_set(li, EVAS_HINT_FILL, EVAS_HINT_FILL);
 elm_frame_content_set(pd, li);
 
 
now it is possible to use theme overlays such as darkness-desktop with great
ease! but with great ease comes great responsibility, so don't go selecting all
the themes at once...

-- 
Mike Blumenkrantz
Zentific: Coding in binary since '10.

--
AppSumo Presents a FREE Video for the SourceForge Community by Eric 
Ries, the creator of the Lean Startup Methodology on Lean Startup 
Secrets Revealed. This video shows you how to validate your ideas, 
optimize your ideas and identify your business strategy.
http://p.sf.net/sfu/appsumosfdev2dev
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel