summaryrefslogtreecommitdiff
path: root/src/widget/mf-ug-genlist.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/widget/mf-ug-genlist.c')
-rw-r--r--src/widget/mf-ug-genlist.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/widget/mf-ug-genlist.c b/src/widget/mf-ug-genlist.c
index ec3ee46..36d9c91 100644
--- a/src/widget/mf-ug-genlist.c
+++ b/src/widget/mf-ug-genlist.c
@@ -209,6 +209,7 @@ static void __mf_ug_genlist_checkbox_cb(void *data, Evas_Object *obj, void *even
UG_TRACE_BEGIN;
ugListItemData *itemData = (ugListItemData *)data;
ug_mf_retm_if(itemData == NULL, "itemData is NULL");
+ ugData *ugd = (ugData *)itemData->ug_pData;
if (itemData->ug_bChecked == false) {
itemData->ug_bChecked = true;
@@ -219,6 +220,19 @@ static void __mf_ug_genlist_checkbox_cb(void *data, Evas_Object *obj, void *even
if (itemData->ug_pData->ug_UiGadget.ug_iMarkedMode == MARKED_ON) {
__mf_ug_genlist_set_marked_path(&itemData->ug_pData->ug_UiGadget.ug_pMultiSelectFileList, itemData->ug_pItemName);
}
+ if (itemData->ug_bChecked) {
+ ugd->ug_Status.ug_iCheckedCount++;
+ } else {
+ ugd->ug_Status.ug_iCheckedCount--;
+ }
+ if (ugd->ug_MainWindow.ug_pSelectAllCheckBox) {
+ if (ugd->ug_Status.ug_iTotalCount == ugd->ug_Status.ug_iCheckedCount) {
+ ugd->ug_Status.ug_bSelectAllChecked = EINA_TRUE;
+ } else {
+ ugd->ug_Status.ug_bSelectAllChecked = EINA_FALSE;
+ }
+ elm_check_state_pointer_set(ugd->ug_MainWindow.ug_pSelectAllCheckBox, &ugd->ug_Status.ug_bSelectAllChecked);
+ }
__mf_ug_genlist_show_select_info(itemData);
mf_ug_ctrl_bar_set_item_disable(itemData->ug_pData);
@@ -919,6 +933,20 @@ static void __mf_ug_genlist_selected_gl(void *data, Evas_Object *obj, void *even
selected->ug_bChecked = 0;
}
elm_check_state_set(selected->ug_pCheckBox, selected->ug_bChecked);
+
+ if (selected->ug_bChecked) {
+ ugd->ug_Status.ug_iCheckedCount++;
+ } else {
+ ugd->ug_Status.ug_iCheckedCount--;
+ }
+ if (ugd->ug_MainWindow.ug_pSelectAllCheckBox) {
+ if (ugd->ug_Status.ug_iTotalCount == ugd->ug_Status.ug_iCheckedCount) {
+ ugd->ug_Status.ug_bSelectAllChecked = EINA_TRUE;
+ } else {
+ ugd->ug_Status.ug_bSelectAllChecked = EINA_FALSE;
+ }
+ elm_check_state_pointer_set(ugd->ug_MainWindow.ug_pSelectAllCheckBox, &ugd->ug_Status.ug_bSelectAllChecked);
+ }
__mf_ug_genlist_show_select_info(selected);
}
} else if (ecore_file_is_dir(selected->ug_pItemName->str) && strcmp(selected->ug_pItemName->str, "Upper Level")) {