long MembersFrame::onApplyChanges(FXObject*,FXSelector,void*) { FXFoldingItem *mitem = memberslist->findItemByData((void*)editedmember); FXString newname = nametf->getText(); FXString newlogin = logintf->getText(); if (mitem) { newname.trim(); newlogin.trim(); CCL_member_tarif_set(editedmember,tarifset); if (!newname.empty() && -1 == CCL_member_find(newname.text())) CCL_member_name_set(editedmember,nametf->getText().text()); CCL_member_email_set(editedmember,emailtf->getText().text()); CCL_member_other_set(editedmember,phonetf->getText().text()); if (newlogin.empty() && CCL_data_key_exists(CCL_DATA_MEMBER,editedmember, "login_name")) CCL_data_key_delete(CCL_DATA_MEMBER,editedmember,"login_name"); else if (-1 == CCL_data_find_by_key_sval(CCL_DATA_MEMBER,"login_name", newlogin.text())) CCL_data_set_string(CCL_DATA_MEMBER,editedmember,"login_name", newlogin.text()); mitem->setText(FXStringVal((FXint)editedmember) + "\t" + CCL_member_name_get(editedmember)); memberslist->updateItem(mitem); } #ifdef DEBUG printf("onApplyChanges(): Apply Changes Button was pressed\n"); #endif return 1; }