summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarsten Haitzler <raster@rasterman.com>2008-12-22 00:16:45 +0000
committerCarsten Haitzler <raster@rasterman.com>2008-12-22 00:16:45 +0000
commit88e091d3baccd1a04e7733bfc9f33467ebd89792 (patch)
treefce0f8155fdf768cd6e10e12a8a4aee2f6268c13
parent0376bd21945bfa3aa64e6f5004acf340cb8aefc5 (diff)
illume patches from peter
SVN revision: 38273
-rw-r--r--AUTHORS1
-rw-r--r--src/modules/conf_profiles/e_int_config_profiles.c4
-rw-r--r--src/modules/illume/e_busycover.c1
-rw-r--r--src/modules/illume/e_cfg.c1
-rw-r--r--src/modules/illume/e_kbd_int.c149
-rw-r--r--src/modules/illume/e_kbd_int.h6
-rw-r--r--src/modules/illume/e_mod_layout.c1
-rw-r--r--src/modules/illume/e_simplelock.c2
8 files changed, 77 insertions, 88 deletions
diff --git a/AUTHORS b/AUTHORS
index 9e199049d..bbedc8149 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -20,3 +20,4 @@ ManoWarrior (Luchezar Petkov) <luchezar.petkov@gmail.com>
20morlenxus (Brian Miculcy) <morlenxus@gmx.net> 20morlenxus (Brian Miculcy) <morlenxus@gmx.net>
21Toma- (Tom Haste) <tomhaste@gmail.com> 21Toma- (Tom Haste) <tomhaste@gmail.com>
22k-s (Gustavo Sverzut Barbieri) <barbieri@profusion.mobi> 22k-s (Gustavo Sverzut Barbieri) <barbieri@profusion.mobi>
23Peter van de Werken <pwerken-e@a-eskwadraat.nl>
diff --git a/src/modules/conf_profiles/e_int_config_profiles.c b/src/modules/conf_profiles/e_int_config_profiles.c
index 8003efae9..fb760da46 100644
--- a/src/modules/conf_profiles/e_int_config_profiles.c
+++ b/src/modules/conf_profiles/e_int_config_profiles.c
@@ -317,7 +317,9 @@ _new_profile_cb_ok(void *data, E_Dialog *dia)
317 if (cfdata->new_profile) 317 if (cfdata->new_profile)
318 { 318 {
319 e_config_profile_add(cfdata->new_profile); 319 e_config_profile_add(cfdata->new_profile);
320 if (cfdata->new_profile_type) 320// FIXME: if we DONT run the below we start with an empty profile which ends
321// up inheriting from default... whihc runs the wizard! should copy standard
322// if (cfdata->new_profile_type)
321 { 323 {
322 e_config_profile_set(cfdata->new_profile); 324 e_config_profile_set(cfdata->new_profile);
323 e_config_save(); 325 e_config_save();
diff --git a/src/modules/illume/e_busycover.c b/src/modules/illume/e_busycover.c
index e2b9137a2..2b73265f7 100644
--- a/src/modules/illume/e_busycover.c
+++ b/src/modules/illume/e_busycover.c
@@ -1,6 +1,7 @@
1#include "e.h" 1#include "e.h"
2#include "e_busycover.h" 2#include "e_busycover.h"
3#include "e_cfg.h" 3#include "e_cfg.h"
4#include "e_slipshelf.h"
4 5
5// FIXME: make code work - place busycover in safe area 6// FIXME: make code work - place busycover in safe area
6// FIXME: make theme for it 7// FIXME: make theme for it
diff --git a/src/modules/illume/e_cfg.c b/src/modules/illume/e_cfg.c
index 26fb37d05..d700710fa 100644
--- a/src/modules/illume/e_cfg.c
+++ b/src/modules/illume/e_cfg.c
@@ -1,6 +1,7 @@
1#include "config.h" 1#include "config.h"
2#include "e.h" 2#include "e.h"
3#include "e_cfg.h" 3#include "e_cfg.h"
4#include "e_pwr.h"
4#include "e_slipshelf.h" 5#include "e_slipshelf.h"
5#include "e_mod_win.h" 6#include "e_mod_win.h"
6 7
diff --git a/src/modules/illume/e_kbd_int.c b/src/modules/illume/e_kbd_int.c
index 7fecebf48..291ddfcf2 100644
--- a/src/modules/illume/e_kbd_int.c
+++ b/src/modules/illume/e_kbd_int.c
@@ -3,6 +3,7 @@
3#include "e_kbd_int.h" 3#include "e_kbd_int.h"
4#include "e_kbd_send.h" 4#include "e_kbd_send.h"
5#include "e_cfg.h" 5#include "e_cfg.h"
6#include "e_slipshelf.h"
6 7
7enum { 8enum {
8 NORMAL = 0, 9 NORMAL = 0,
@@ -348,6 +349,8 @@ _e_kbd_int_matches_update(E_Kbd_Int *ki)
348 edje_extern_object_min_size_set(ki->box_obj, 0, mh); 349 edje_extern_object_min_size_set(ki->box_obj, 0, mh);
349 edje_object_part_swallow(ki->base_obj, "e.swallow.label", ki->box_obj); 350 edje_object_part_swallow(ki->base_obj, "e.swallow.label", ki->box_obj);
350 evas_event_thaw(ki->win->evas); 351 evas_event_thaw(ki->win->evas);
352
353 _e_kbd_int_matchlist_down(ki);
351} 354}
352 355
353static void 356static void
@@ -376,7 +379,6 @@ _e_kbd_int_key_press_handle(E_Kbd_Int *ki, Evas_Coord dx, Evas_Coord dy)
376 else ki->layout.state |= CTRL; 379 else ki->layout.state |= CTRL;
377 if (e_kbd_buf_actual_string_get(ki->kbuf)) _e_kbd_int_buf_send(ki); 380 if (e_kbd_buf_actual_string_get(ki->kbuf)) _e_kbd_int_buf_send(ki);
378 e_kbd_buf_clear(ki->kbuf); 381 e_kbd_buf_clear(ki->kbuf);
379 ki->layout.state |= CTRL;
380 _e_kbd_int_layout_state_update(ki); 382 _e_kbd_int_layout_state_update(ki);
381 _e_kbd_int_matches_update(ki); 383 _e_kbd_int_matches_update(ki);
382 return; 384 return;
@@ -387,7 +389,6 @@ _e_kbd_int_key_press_handle(E_Kbd_Int *ki, Evas_Coord dx, Evas_Coord dy)
387 else ki->layout.state |= ALT; 389 else ki->layout.state |= ALT;
388 if (e_kbd_buf_actual_string_get(ki->kbuf)) _e_kbd_int_buf_send(ki); 390 if (e_kbd_buf_actual_string_get(ki->kbuf)) _e_kbd_int_buf_send(ki);
389 e_kbd_buf_clear(ki->kbuf); 391 e_kbd_buf_clear(ki->kbuf);
390 ki->layout.state |= ALT;
391 _e_kbd_int_layout_state_update(ki); 392 _e_kbd_int_layout_state_update(ki);
392 _e_kbd_int_matches_update(ki); 393 _e_kbd_int_matches_update(ki);
393 return; 394 return;
@@ -1070,6 +1071,7 @@ _e_kbd_int_layout_build(E_Kbd_Int *ki)
1070 evas_object_show(o); 1071 evas_object_show(o);
1071 ki->event_obj = o; 1072 ki->event_obj = o;
1072 evas_event_thaw(ki->win->evas); 1073 evas_event_thaw(ki->win->evas);
1074 _e_kbd_int_matchlist_down(ki);
1073} 1075}
1074 1076
1075static void 1077static void
@@ -1358,13 +1360,15 @@ _e_kbd_int_dictlist_down(E_Kbd_Int *ki)
1358} 1360}
1359 1361
1360static void 1362static void
1361_e_kbd_int_cb_dictlist_item_sel(void *data, void *data2) 1363_e_kbd_int_cb_dictlist_item_sel(void *data)
1362{ 1364{
1363 E_Kbd_Int *ki; 1365 E_Kbd_Int *ki;
1364 const char *str; 1366 const char *str;
1367 int i;
1365 1368
1366 ki = data; 1369 ki = data;
1367 str = data2; 1370 i = e_widget_ilist_selected_get(ki->dictlist.ilist_obj);
1371 str = eina_list_nth(ki->dictlist.matches, i);
1368 e_kbd_buf_clear(ki->kbuf); 1372 e_kbd_buf_clear(ki->kbuf);
1369 if (ki->layout.state & (SHIFT | CTRL | ALT)) 1373 if (ki->layout.state & (SHIFT | CTRL | ALT))
1370 { 1374 {
@@ -1402,13 +1406,8 @@ _e_kbd_int_dictlist_up(E_Kbd_Int *ki)
1402 "e/modules/kbd/match/default"); 1406 "e/modules/kbd/match/default");
1403 ki->dictlist.base_obj = o; 1407 ki->dictlist.base_obj = o;
1404 1408
1405 o = e_scrollframe_add(ki->dictlist.popup->evas); 1409 o = e_widget_ilist_add(ki->dictlist.popup->evas, 32 * e_scale, 32 * e_scale, NULL);
1406 edje_object_part_swallow(ki->dictlist.base_obj, "e.swallow.content", o); 1410 e_widget_ilist_selector_set(o, 1);
1407 evas_object_show(o);
1408 ki->dictlist.scrollframe_obj = o;
1409
1410 o = e_ilist_add(ki->dictlist.popup->evas);
1411 e_ilist_selector_set(o, 1);
1412 e_ilist_freeze(o); 1411 e_ilist_freeze(o);
1413 ki->dictlist.ilist_obj = o; 1412 ki->dictlist.ilist_obj = o;
1414 1413
@@ -1442,8 +1441,8 @@ _e_kbd_int_dictlist_up(E_Kbd_Int *ki)
1442 *pp = 0; 1441 *pp = 0;
1443 str = evas_stringshare_add(file); 1442 str = evas_stringshare_add(file);
1444 ki->dictlist.matches = eina_list_append(ki->dictlist.matches, str); 1443 ki->dictlist.matches = eina_list_append(ki->dictlist.matches, str);
1445 e_ilist_append(o, NULL, p, 0, _e_kbd_int_cb_dictlist_item_sel, 1444 e_widget_ilist_append(o, NULL, p, _e_kbd_int_cb_dictlist_item_sel,
1446 NULL, ki, (char *)str); 1445 ki, NULL);
1447 free(p); 1446 free(p);
1448 } 1447 }
1449 } 1448 }
@@ -1481,8 +1480,8 @@ _e_kbd_int_dictlist_up(E_Kbd_Int *ki)
1481 *pp = 0; 1480 *pp = 0;
1482 str = evas_stringshare_add(file); 1481 str = evas_stringshare_add(file);
1483 ki->dictlist.matches = eina_list_append(ki->dictlist.matches, str); 1482 ki->dictlist.matches = eina_list_append(ki->dictlist.matches, str);
1484 e_ilist_append(o, NULL, p, 0, _e_kbd_int_cb_dictlist_item_sel, 1483 e_widget_ilist_append(o, NULL, p, _e_kbd_int_cb_dictlist_item_sel,
1485 NULL, ki, (char *)str); 1484 ki, NULL);
1486 free(p); 1485 free(p);
1487 } 1486 }
1488 } 1487 }
@@ -1491,26 +1490,19 @@ _e_kbd_int_dictlist_up(E_Kbd_Int *ki)
1491 } 1490 }
1492 ecore_list_destroy(files); 1491 ecore_list_destroy(files);
1493 } 1492 }
1494 e_ilist_thaw(o); 1493 e_widget_ilist_thaw(o);
1494 e_widget_ilist_go(o);
1495 1495
1496 e_ilist_min_size_get(o, &mw, &mh); 1496 e_widget_ilist_preferred_size_get(o, &mw, &mh);
1497 evas_object_resize(o, ki->win->w, mh); 1497
1498 e_scrollframe_child_set(ki->dictlist.scrollframe_obj, o); 1498 edje_extern_object_min_size_set(ki->dictlist.ilist_obj, mw, mh);
1499
1500 e_scrollframe_child_viewport_size_get(ki->dictlist.scrollframe_obj, &vw, &vh);
1501 evas_object_geometry_get(ki->dictlist.scrollframe_obj, NULL, NULL, &w, &h);
1502 if (mw > vw) mw = mw + (w - vw);
1503 else if (mw < vw) evas_object_resize(o, vw, mh);
1504 evas_object_show(o);
1505
1506 edje_extern_object_min_size_set(ki->dictlist.scrollframe_obj, mw, mh);
1507 edje_object_part_swallow(ki->dictlist.base_obj, "e.swallow.content", 1499 edje_object_part_swallow(ki->dictlist.base_obj, "e.swallow.content",
1508 ki->dictlist.scrollframe_obj); 1500 ki->dictlist.ilist_obj);
1509 edje_object_size_min_calc(ki->dictlist.base_obj, &mw, &mh); 1501 edje_object_size_min_calc(ki->dictlist.base_obj, &mw, &mh);
1510 1502
1511 edje_extern_object_min_size_set(ki->dictlist.scrollframe_obj, 0, 0); 1503 edje_extern_object_min_size_set(ki->dictlist.ilist_obj, 0, 0);
1512 edje_object_part_swallow(ki->dictlist.base_obj, "e.swallow.content", 1504 edje_object_part_swallow(ki->dictlist.base_obj, "e.swallow.content",
1513 ki->dictlist.scrollframe_obj); 1505 ki->dictlist.ilist_obj);
1514 1506
1515 e_slipshelf_safe_app_region_get(ki->win->border->zone, &sx, &sy, &sw, &sh); 1507 e_slipshelf_safe_app_region_get(ki->win->border->zone, &sx, &sy, &sw, &sh);
1516 mw = ki->win->w; 1508 mw = ki->win->w;
@@ -1522,6 +1514,9 @@ _e_kbd_int_dictlist_up(E_Kbd_Int *ki)
1522 evas_object_show(ki->dictlist.base_obj); 1514 evas_object_show(ki->dictlist.base_obj);
1523 e_popup_edje_bg_object_set(ki->dictlist.popup, ki->dictlist.base_obj); 1515 e_popup_edje_bg_object_set(ki->dictlist.popup, ki->dictlist.base_obj);
1524 e_popup_show(ki->dictlist.popup); 1516 e_popup_show(ki->dictlist.popup);
1517
1518 _e_kbd_int_layoutlist_down(ki);
1519 _e_kbd_int_matchlist_down(ki);
1525} 1520}
1526 1521
1527static void 1522static void
@@ -1538,13 +1533,13 @@ _e_kbd_int_matchlist_down(E_Kbd_Int *ki)
1538} 1533}
1539 1534
1540static void 1535static void
1541_e_kbd_int_cb_matchlist_item_sel(void *data, void *data2) 1536_e_kbd_int_cb_matchlist_item_sel(void *data)
1542{ 1537{
1543 E_Kbd_Int *ki; 1538 E_Kbd_Int *ki;
1544 const char *str; 1539 const char *str;
1545 1540
1546 ki = data; 1541 ki = data;
1547 str = data2; 1542 str = e_widget_ilist_selected_label_get(ki->matchlist.ilist_obj);
1548 _e_kbd_int_string_send(ki, str); 1543 _e_kbd_int_string_send(ki, str);
1549 e_kbd_buf_clear(ki->kbuf); 1544 e_kbd_buf_clear(ki->kbuf);
1550 e_kbd_send_keysym_press("space", 0); 1545 e_kbd_send_keysym_press("space", 0);
@@ -1574,16 +1569,12 @@ _e_kbd_int_matchlist_up(E_Kbd_Int *ki)
1574 "e/modules/kbd/match/default"); 1569 "e/modules/kbd/match/default");
1575 ki->matchlist.base_obj = o; 1570 ki->matchlist.base_obj = o;
1576 1571
1577 o = e_scrollframe_add(ki->matchlist.popup->evas); 1572 o = e_widget_ilist_add(ki->matchlist.popup->evas, 32 * e_scale, 32 * e_scale, NULL);
1573 e_widget_ilist_selector_set(o, 1);
1574 ki->matchlist.ilist_obj = o;
1578 edje_object_part_swallow(ki->matchlist.base_obj, "e.swallow.content", o); 1575 edje_object_part_swallow(ki->matchlist.base_obj, "e.swallow.content", o);
1579 evas_object_show(o); 1576 evas_object_show(o);
1580 ki->matchlist.scrollframe_obj = o;
1581 1577
1582 o = e_ilist_add(ki->matchlist.popup->evas);
1583 e_ilist_selector_set(o, 1);
1584 e_ilist_freeze(o);
1585 ki->matchlist.ilist_obj = o;
1586
1587 for (l = e_kbd_buf_string_matches_get(ki->kbuf); l; l = l->next) 1578 for (l = e_kbd_buf_string_matches_get(ki->kbuf); l; l = l->next)
1588 { 1579 {
1589 const char *str; 1580 const char *str;
@@ -1595,36 +1586,29 @@ _e_kbd_int_matchlist_up(E_Kbd_Int *ki)
1595 { 1586 {
1596 str = evas_stringshare_add(str); 1587 str = evas_stringshare_add(str);
1597 ki->matchlist.matches = eina_list_append(ki->matchlist.matches, str); 1588 ki->matchlist.matches = eina_list_append(ki->matchlist.matches, str);
1598 e_ilist_append(o, NULL, str, 0, _e_kbd_int_cb_matchlist_item_sel, 1589 e_widget_ilist_append(o, NULL, str, _e_kbd_int_cb_matchlist_item_sel,
1599 NULL, ki, (char *)str); 1590 ki, NULL);
1600 } 1591 }
1601 } 1592 }
1602 str = l->data; 1593 str = l->data;
1603 str = evas_stringshare_add(str); 1594 str = evas_stringshare_add(str);
1604 ki->matchlist.matches = eina_list_append(ki->matchlist.matches, str); 1595 ki->matchlist.matches = eina_list_append(ki->matchlist.matches, str);
1605 e_ilist_append(o, NULL, str, 0, _e_kbd_int_cb_matchlist_item_sel, 1596 e_widget_ilist_append(o, NULL, str, _e_kbd_int_cb_matchlist_item_sel,
1606 NULL, ki, (char *)str); 1597 ki, NULL);
1607 } 1598 }
1608 e_ilist_thaw(o); 1599 e_widget_ilist_thaw(o);
1600 e_widget_ilist_go(o);
1609 1601
1610 e_ilist_min_size_get(o, &mw, &mh); 1602 e_widget_ilist_preferred_size_get(o, &mw, &mh);
1611 evas_object_resize(o, ki->win->w, mh);
1612 e_scrollframe_child_set(ki->matchlist.scrollframe_obj, o);
1613 1603
1614 e_scrollframe_child_viewport_size_get(ki->matchlist.scrollframe_obj, &vw, &vh); 1604 edje_extern_object_min_size_set(ki->matchlist.ilist_obj, mw, mh);
1615 evas_object_geometry_get(ki->matchlist.scrollframe_obj, NULL, NULL, &w, &h);
1616 if (mw > vw) mw = mw + (w - vw);
1617 else if (mw < vw) evas_object_resize(o, vw, mh);
1618 evas_object_show(o);
1619
1620 edje_extern_object_min_size_set(ki->matchlist.scrollframe_obj, mw, mh);
1621 edje_object_part_swallow(ki->matchlist.base_obj, "e.swallow.content", 1605 edje_object_part_swallow(ki->matchlist.base_obj, "e.swallow.content",
1622 ki->matchlist.scrollframe_obj); 1606 ki->matchlist.ilist_obj);
1623 edje_object_size_min_calc(ki->matchlist.base_obj, &mw, &mh); 1607 edje_object_size_min_calc(ki->matchlist.base_obj, &mw, &mh);
1624 1608
1625 edje_extern_object_min_size_set(ki->matchlist.scrollframe_obj, 0, 0); 1609 edje_extern_object_min_size_set(ki->matchlist.ilist_obj, 0, 0);
1626 edje_object_part_swallow(ki->matchlist.base_obj, "e.swallow.content", 1610 edje_object_part_swallow(ki->matchlist.base_obj, "e.swallow.content",
1627 ki->matchlist.scrollframe_obj); 1611 ki->matchlist.ilist_obj);
1628 1612
1629 e_slipshelf_safe_app_region_get(ki->win->border->zone, &sx, &sy, &sw, &sh); 1613 e_slipshelf_safe_app_region_get(ki->win->border->zone, &sx, &sy, &sw, &sh);
1630 mw = ki->win->w; 1614 mw = ki->win->w;
@@ -1636,6 +1620,9 @@ _e_kbd_int_matchlist_up(E_Kbd_Int *ki)
1636 evas_object_show(ki->matchlist.base_obj); 1620 evas_object_show(ki->matchlist.base_obj);
1637 e_popup_edje_bg_object_set(ki->matchlist.popup, ki->matchlist.base_obj); 1621 e_popup_edje_bg_object_set(ki->matchlist.popup, ki->matchlist.base_obj);
1638 e_popup_show(ki->matchlist.popup); 1622 e_popup_show(ki->matchlist.popup);
1623
1624 _e_kbd_int_dictlist_down(ki);
1625 _e_kbd_int_layoutlist_down(ki);
1639} 1626}
1640 1627
1641static void 1628static void
@@ -1674,13 +1661,15 @@ _e_kbd_int_layoutlist_down(E_Kbd_Int *ki)
1674} 1661}
1675 1662
1676static void 1663static void
1677_e_kbd_int_cb_layoutlist_item_sel(void *data, void *data2) 1664_e_kbd_int_cb_layoutlist_item_sel(void *data)
1678{ 1665{
1679 E_Kbd_Int *ki; 1666 E_Kbd_Int *ki;
1680 E_Kbd_Int_Layout *kil; 1667 E_Kbd_Int_Layout *kil;
1668 int i;
1681 1669
1682 ki = data; 1670 ki = data;
1683 kil = data2; 1671 i = e_widget_ilist_selected_get(ki->layoutlist.ilist_obj);
1672 kil = eina_list_nth(ki->layouts, i);
1684 _e_kbd_int_layout_select(ki, kil); 1673 _e_kbd_int_layout_select(ki, kil);
1685 _e_kbd_int_layoutlist_down(ki); 1674 _e_kbd_int_layoutlist_down(ki);
1686} 1675}
@@ -1690,7 +1679,7 @@ _e_kbd_int_layoutlist_up(E_Kbd_Int *ki)
1690{ 1679{
1691 Eina_List *l; 1680 Eina_List *l;
1692 Evas_Object *o, *o2; 1681 Evas_Object *o, *o2;
1693 Evas_Coord w, h, mw, mh, vw, vh; 1682 Evas_Coord mw, mh;
1694 int sx, sy, sw, sh; 1683 int sx, sy, sw, sh;
1695 1684
1696 if (ki->layoutlist.popup) return; 1685 if (ki->layoutlist.popup) return;
@@ -1701,16 +1690,13 @@ _e_kbd_int_layoutlist_up(E_Kbd_Int *ki)
1701 "e/modules/kbd/match/default"); 1690 "e/modules/kbd/match/default");
1702 ki->layoutlist.base_obj = o; 1691 ki->layoutlist.base_obj = o;
1703 1692
1704 o = e_scrollframe_add(ki->layoutlist.popup->evas); 1693 o = e_widget_ilist_add(ki->layoutlist.popup->evas, 32 * e_scale, 32 * e_scale, NULL);
1694 ki->layoutlist.ilist_obj = o;
1695 e_widget_ilist_selector_set(o, 1);
1705 edje_object_part_swallow(ki->layoutlist.base_obj, "e.swallow.content", o); 1696 edje_object_part_swallow(ki->layoutlist.base_obj, "e.swallow.content", o);
1706 evas_object_show(o); 1697 evas_object_show(o);
1707 ki->layoutlist.scrollframe_obj = o;
1708
1709 o = e_ilist_add(ki->layoutlist.popup->evas);
1710 e_ilist_selector_set(o, 1);
1711 e_ilist_freeze(o);
1712 ki->layoutlist.ilist_obj = o;
1713 1698
1699 e_widget_ilist_freeze(o);
1714 for (l = ki->layouts; l; l = l->next) 1700 for (l = ki->layouts; l; l = l->next)
1715 { 1701 {
1716 E_Kbd_Int_Layout *kil; 1702 E_Kbd_Int_Layout *kil;
@@ -1731,29 +1717,23 @@ _e_kbd_int_layoutlist_up(E_Kbd_Int *ki)
1731 e_icon_file_set(o2, kil->icon); 1717 e_icon_file_set(o2, kil->icon);
1732 } 1718 }
1733 evas_object_show(o2); 1719 evas_object_show(o2);
1734 e_ilist_append(o, o2, kil->name, 0, _e_kbd_int_cb_layoutlist_item_sel, 1720 e_widget_ilist_append(o, o2, kil->name,
1735 NULL, ki, kil); 1721 _e_kbd_int_cb_layoutlist_item_sel, ki, NULL);
1736 } 1722 }
1737 e_ilist_thaw(o); 1723 e_widget_ilist_thaw(o);
1724 e_widget_ilist_go(o);
1738 1725
1739 e_ilist_min_size_get(o, &mw, &mh); 1726 e_widget_ilist_preferred_size_get(o, &mw, &mh);
1740 evas_object_resize(o, ki->win->w, mh);
1741 e_scrollframe_child_set(ki->layoutlist.scrollframe_obj, o);
1742
1743 e_scrollframe_child_viewport_size_get(ki->layoutlist.scrollframe_obj, &vw, &vh);
1744 evas_object_geometry_get(ki->layoutlist.scrollframe_obj, NULL, NULL, &w, &h);
1745 if (mw > vw) mw = mw + (w - vw);
1746 else if (mw < vw) evas_object_resize(o, vw, mh);
1747 evas_object_show(o);
1748 1727
1749 edje_extern_object_min_size_set(ki->layoutlist.scrollframe_obj, mw, mh); 1728 edje_extern_object_min_size_set(ki->layoutlist.ilist_obj, mw, mh);
1750 edje_object_part_swallow(ki->layoutlist.base_obj, "e.swallow.content", 1729 edje_object_part_swallow(ki->layoutlist.base_obj, "e.swallow.content",
1751 ki->layoutlist.scrollframe_obj); 1730 ki->layoutlist.ilist_obj);
1731
1752 edje_object_size_min_calc(ki->layoutlist.base_obj, &mw, &mh); 1732 edje_object_size_min_calc(ki->layoutlist.base_obj, &mw, &mh);
1753 1733
1754 edje_extern_object_min_size_set(ki->layoutlist.scrollframe_obj, 0, 0); 1734 edje_extern_object_min_size_set(ki->layoutlist.ilist_obj, 0, 0);
1755 edje_object_part_swallow(ki->layoutlist.base_obj, "e.swallow.content", 1735 edje_object_part_swallow(ki->layoutlist.base_obj, "e.swallow.content",
1756 ki->layoutlist.scrollframe_obj); 1736 ki->layoutlist.ilist_obj);
1757 1737
1758 e_slipshelf_safe_app_region_get(ki->win->border->zone, &sx, &sy, &sw, &sh); 1738 e_slipshelf_safe_app_region_get(ki->win->border->zone, &sx, &sy, &sw, &sh);
1759 mw = ki->win->w; 1739 mw = ki->win->w;
@@ -1765,6 +1745,9 @@ _e_kbd_int_layoutlist_up(E_Kbd_Int *ki)
1765 evas_object_show(ki->layoutlist.base_obj); 1745 evas_object_show(ki->layoutlist.base_obj);
1766 e_popup_edje_bg_object_set(ki->layoutlist.popup, ki->layoutlist.base_obj); 1746 e_popup_edje_bg_object_set(ki->layoutlist.popup, ki->layoutlist.base_obj);
1767 e_popup_show(ki->layoutlist.popup); 1747 e_popup_show(ki->layoutlist.popup);
1748
1749 _e_kbd_int_dictlist_down(ki);
1750 _e_kbd_int_matchlist_down(ki);
1768} 1751}
1769 1752
1770static void 1753static void
diff --git a/src/modules/illume/e_kbd_int.h b/src/modules/illume/e_kbd_int.h
index 8374b857c..4c2675196 100644
--- a/src/modules/illume/e_kbd_int.h
+++ b/src/modules/illume/e_kbd_int.h
@@ -49,16 +49,16 @@ struct _E_Kbd_Int
49 } down; 49 } down;
50 struct { 50 struct {
51 E_Popup *popup; 51 E_Popup *popup;
52 Evas_Object *base_obj, *scrollframe_obj, *ilist_obj; 52 Evas_Object *base_obj, *ilist_obj;
53 } layoutlist; 53 } layoutlist;
54 struct { 54 struct {
55 E_Popup *popup; 55 E_Popup *popup;
56 Evas_Object *base_obj, *scrollframe_obj, *ilist_obj; 56 Evas_Object *base_obj, *ilist_obj;
57 Eina_List *matches; 57 Eina_List *matches;
58 } matchlist; 58 } matchlist;
59 struct { 59 struct {
60 E_Popup *popup; 60 E_Popup *popup;
61 Evas_Object *base_obj, *scrollframe_obj, *ilist_obj; 61 Evas_Object *base_obj, *ilist_obj;
62 Eina_List *matches; 62 Eina_List *matches;
63 } dictlist; 63 } dictlist;
64 struct { 64 struct {
diff --git a/src/modules/illume/e_mod_layout.c b/src/modules/illume/e_mod_layout.c
index 89b4e7587..7a8e86171 100644
--- a/src/modules/illume/e_mod_layout.c
+++ b/src/modules/illume/e_mod_layout.c
@@ -3,6 +3,7 @@
3#include "e_mod_layout.h" 3#include "e_mod_layout.h"
4#include "e_kbd.h" 4#include "e_kbd.h"
5#include "e_cfg.h" 5#include "e_cfg.h"
6#include "e_slipshelf.h"
6 7
7/* FIXME: THIS CODE IS UGLY. MUST FIX!!!!! */ 8/* FIXME: THIS CODE IS UGLY. MUST FIX!!!!! */
8 9
diff --git a/src/modules/illume/e_simplelock.c b/src/modules/illume/e_simplelock.c
index 139741d64..a96f806f9 100644
--- a/src/modules/illume/e_simplelock.c
+++ b/src/modules/illume/e_simplelock.c
@@ -151,7 +151,7 @@ e_simplelock_show(void)
151{ 151{
152 Eina_List *managers, *l, *l2, *l3; 152 Eina_List *managers, *l, *l2, *l3;
153 153
154 if (locks) return; 154 if (locks) return 1;
155 for (l = e_manager_list(); l; l = l->next) 155 for (l = e_manager_list(); l; l = l->next)
156 { 156 {
157 E_Manager *man; 157 E_Manager *man;