Example #1
0
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;
}