From e9313c9525ff44b2202620789f5f6ec51b02b396 Mon Sep 17 00:00:00 2001 From: Jaehwan Kim Date: Fri, 8 Mar 2013 17:21:38 +0900 Subject: [PATCH] Fix the toolbar cannot be unselected when it's mode is ELM_OBJECT_SELECT_MODE_ALWAYS. --- legacy/elementary/ChangeLog | 4 ++++ legacy/elementary/NEWS | 1 + legacy/elementary/src/lib/elm_toolbar.c | 8 +++++++- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/legacy/elementary/ChangeLog b/legacy/elementary/ChangeLog index f900e10113..fa4492e31f 100644 --- a/legacy/elementary/ChangeLog +++ b/legacy/elementary/ChangeLog @@ -1128,3 +1128,7 @@ * Add elm_widget_newest_focus_order_get for knowing the last object(and its focus order) which got focus. * After elm_win is created, if there is no manual focus setting, only elm_win should get focus when focus state is changed. + +2013-03-08 Jaehwan Kim + + * Fix the toolbar cannot be unselected when it's mode is ELM_OBJECT_SELECT_MODE_ALWAYS. diff --git a/legacy/elementary/NEWS b/legacy/elementary/NEWS index ca976386d1..924ae0e7ce 100644 --- a/legacy/elementary/NEWS +++ b/legacy/elementary/NEWS @@ -177,6 +177,7 @@ Fixes: * Fix elm_conform didn't set size hint when keypad on. * Fix elm_conform didn't change indicator mode when create. * After elm_win is created, if there is no manual focus setting, only elm_win should get focus when focus state is changed. + * Fix the toolbar cannot be unselected when it's mode is ELM_OBJECT_SELECT_MODE_ALWAYS. Removals: diff --git a/legacy/elementary/src/lib/elm_toolbar.c b/legacy/elementary/src/lib/elm_toolbar.c index d0f67596c6..b741706b45 100644 --- a/legacy/elementary/src/lib/elm_toolbar.c +++ b/legacy/elementary/src/lib/elm_toolbar.c @@ -1843,10 +1843,16 @@ _access_activate_cb(void *data __UNUSED__, { Elm_Toolbar_Item *it; it = (Elm_Toolbar_Item *)item; + ELM_TOOLBAR_DATA_GET(WIDGET(it), sd); if (elm_widget_item_disabled_get(it)) return; - if (!it->selected) + if (it->selected && (sd->select_mode != ELM_OBJECT_SELECT_MODE_ALWAYS)) + { + _elm_access_say(E_("Unselected")); + _item_unselect(it); + } + else { _elm_access_say(E_("Selected")); _item_select(it);