Пример #1
0
void 
XFE_ABDirGenTabView::getDlgValues()
{
	XFE_ABDirPropertyDlg *dlg = (XFE_ABDirPropertyDlg *)getToplevel();
	DIR_Server *dir = dlg->getDir();

	/* setting up the defaults 
	 */
	char *tmp;

	tmp = fe_GetTextField(m_textFs[ABDIR_DESCRIPTION]);
	if (tmp && strlen(tmp))
		dir->description = tmp;
	else
		dir->description = NULL;

	tmp = fe_GetTextField(m_textFs[ABDIR_LDAPSERVER]);
	if (tmp && strlen(tmp))
		dir->serverName = tmp;
	else
		dir->serverName = NULL;

	tmp = fe_GetTextField(m_textFs[ABDIR_SEARCHROOT]);
	if (tmp && strlen(tmp))
		dir->searchBase = tmp;
	else
		dir->searchBase = NULL;


	tmp = fe_GetTextField(m_textFs[ABDIR_PORTNUMBER]);
	if (tmp && strlen(tmp))
		sscanf(tmp, "%d", &(dir->port));
	else
		dir->port = 0;


	tmp = fe_GetTextField(m_textFs[ABDIR_MAXHITS]);
	if (tmp && strlen(tmp))
		sscanf(tmp, "%d", &(dir->maxHits));
	else
		dir->maxHits = 0;

	dir->isSecure = XmToggleButtonGetState(m_toggles[ABDIR_SECUR]);
	dir->enableAuth = XmToggleButtonGetState(m_toggles[ABDIR_USEPASSWD]);
	dir->savePassword = XmToggleButtonGetState(m_toggles[ABDIR_SAVEPASSWD]);
}
Пример #2
0
void XFE_ABNameGenTabView::getDlgValues()
{
#if defined(DEBUG_tao_)
	printf("\n XFE_ABNameGenTabView::getDlgValues \n");
#endif
  XFE_ABNameFolderDlg *dlg = (XFE_ABNameFolderDlg *)getToplevel();
#if defined(USE_ABCOM)
  XFE_PropertySheetView *folderView = (XFE_PropertySheetView *) getParent();
  MSG_Pane *pane = folderView->getPane();

  uint16 numItems = AB_LAST+1;
  AB_AttributeValue *values = 
	  (AB_AttributeValue *) XP_CALLOC(numItems, 
									  sizeof(AB_AttributeValue));
  char *tmp = NULL;

  //
  tmp = fe_GetTextField(m_textFs[AB_FIRST_NAME]);
  values[AB_FIRST_NAME].attrib = AB_attribGivenName;
  if (tmp && strlen(tmp))
	  values[AB_FIRST_NAME].u.string = tmp;
  else
	  values[AB_FIRST_NAME].u.string = XP_STRDUP("");

  //
  tmp = fe_GetTextField(m_textFs[AB_LAST_NAME]);
  values[AB_LAST_NAME].attrib = AB_attribFamilyName;
  if (tmp && strlen(tmp))
	  values[AB_LAST_NAME].u.string = tmp;
  else
	  values[AB_LAST_NAME].u.string = XP_STRDUP("");

  // AB_attribInfo
  tmp = fe_GetTextField(m_notesTxt);
  values[AB_DISPLAY_NAME].attrib = AB_attribInfo;
  if (tmp && strlen(tmp))
	  values[AB_DISPLAY_NAME].u.string = tmp;
  else
	  values[AB_DISPLAY_NAME].u.string = XP_STRDUP("");

  //
  tmp = fe_GetTextField(m_textFs[AB_EMAIL]);
  values[AB_EMAIL].attrib = AB_attribEmailAddress;
  if (tmp && strlen(tmp))
	  values[AB_EMAIL].u.string = tmp;
  else
	  values[AB_EMAIL].u.string = XP_STRDUP("");

  //
  tmp = fe_GetTextField(m_textFs[AB_NICKNAME]);
  values[AB_NICKNAME].attrib = AB_attribNickName;
  if (tmp && strlen(tmp))
	  values[AB_NICKNAME].u.string = tmp;
  else
	  values[AB_NICKNAME].u.string = XP_STRDUP("");

  //
  tmp = fe_GetTextField(m_textFs[AB_TITLE]);
  values[AB_TITLE].attrib = AB_attribTitle;
  if (tmp && strlen(tmp))
	  values[AB_TITLE].u.string = tmp;
  else
	  values[AB_TITLE].u.string = XP_STRDUP("");

  //
  tmp = fe_GetTextField(m_textFs[AB_COMPANY_NAME]);
  values[AB_COMPANY_NAME].attrib = AB_attribCompanyName;
  if (tmp && strlen(tmp))
	  values[AB_COMPANY_NAME].u.string = tmp;
  else
	  values[AB_COMPANY_NAME].u.string = XP_STRDUP("");

  //
  values[AB_LAST].u.boolValue = XmToggleButtonGetState(m_prefHTMLTog);
  values[AB_LAST].attrib = AB_attribHTMLMail;

  //set values 
  int error = AB_SetPersonEntryAttributes(pane, 
										  values, 
										  numItems);
  AB_FreeEntryAttributeValues(values, numItems);

#else
  PersonEntry& entry = dlg->getPersonEntry();

  /* setting up the defaults 
   */
  char *tmp;

  tmp = fe_GetTextField(m_textFs[AB_NICKNAME]);
  if (tmp && strlen(tmp))
	  entry.pNickName = tmp;
  else
	  entry.pNickName = XP_STRDUP("");

  tmp = fe_GetTextField(m_textFs[AB_FIRST_NAME]);
  if (tmp && strlen(tmp))
	  entry.pGivenName = tmp;
  else
	  entry.pGivenName = XP_STRDUP("");

  tmp = fe_GetTextField(m_textFs[AB_LAST_NAME]);
  if (tmp && strlen(tmp))
	  entry.pFamilyName = tmp;
  else
	  entry.pFamilyName = XP_STRDUP("");

  tmp = fe_GetTextField(m_textFs[AB_COMPANY_NAME]);
  if (tmp && strlen(tmp))
	  entry.pCompanyName = tmp;
  else
	  entry.pCompanyName = XP_STRDUP("");

  tmp = fe_GetTextField(m_textFs[AB_TITLE]);
  if (tmp && strlen(tmp))
	  entry.pTitle = tmp;
  else
	  entry.pTitle = XP_STRDUP("");

  tmp = fe_GetTextField(m_textFs[AB_EMAIL]);
  if (tmp && strlen(tmp))
	  entry.pEmailAddress = 
		  fe_GetTextField(m_textFs[AB_EMAIL]);
  else
	  entry.pEmailAddress = XP_STRDUP("");

  tmp = fe_GetTextField(m_notesTxt);
  if (tmp && strlen(tmp))
	  entry.pInfo = tmp;
  else
	  entry.pInfo = XP_STRDUP("");

  entry.HTMLmail = XmToggleButtonGetState(m_prefHTMLTog);
#endif /* USE_ABCOM */

  // set title
  if (tmp = dlg->getFullname()) {
	  char tmp2[AB_MAX_STRLEN];
	  XP_SAFE_SPRINTF(tmp2, sizeof(tmp2),
					  XP_GetString(XFE_AB_NAME_CARD_FOR),
					  tmp);
	  dlg->setCardName(tmp2);
	  XP_FREE((char *) tmp);
  }/* if */
  else 
	  dlg->setCardName(XP_GetString(XFE_AB_NAME_NEW_CARD));
}
Пример #3
0
void XFE_PrefsLdapPropDialog::cb_ok(Widget    w,
                                    XtPointer closure,
                                    XtPointer callData)
{
    XFE_PrefsLdapPropDialog *theDialog = (XFE_PrefsLdapPropDialog *)closure;
    PrefsDataLdapProp       *fep = theDialog->getData();
    Bool                     create = theDialog->getEditDir() ? False : True;
    DIR_Server              *dir = 0;

    if (create) {
        dir = (DIR_Server *)XP_ALLOC(sizeof(DIR_Server));
        DIR_InitServer(dir);
    }
    else {
        dir = theDialog->getEditDir();
        XP_FREEIF(dir->description);
        XP_FREEIF(dir->serverName);
        XP_FREEIF(dir->searchBase);
        DIR_InitServer(dir);
    }

    char   *desc = 0;
    char   *server = 0;
    char   *root = 0;
    char   *port_num_text = 0;
    char   *num_hits_text = 0;
    char    dummy;
    int     port_num = 0;
    int     num_hits = 0;
    Boolean b;
    char    temp[1024];
    char   *ptr;

    // TODO: error checking

    desc = fe_GetTextField(fep->desc_text);
    server = fe_GetTextField(fep->server_text);
    root = fe_GetTextField(fep->root_text);
    XtVaGetValues(fep->port_number_text, XmNvalue, &port_num_text, 0);
    XtVaGetValues(fep->number_of_hit_text, XmNvalue, &num_hits_text, 0);

    if (1 != sscanf(port_num_text, " %d %c", &port_num, &dummy) ||
            port_num < 0) {
        // TODO: error
    }
    if (port_num_text) XtFree(port_num_text);

    if (1 == sscanf(num_hits_text, " %d %c", &num_hits, &dummy) &&
            num_hits < 0) {
        // TODO: error
    }
    if (num_hits_text) XtFree(num_hits_text);

    if (ptr = XP_STRCHR(server, '.')) {
        XP_STRCPY(temp, ptr+1);
        if (ptr = XP_STRCHR(temp, '.')) {
            *ptr = '\0';
        }
    }
    else {
        XP_STRCPY(temp, server);
    }

    dir->description = desc ? desc : XP_STRDUP("");
    dir->serverName =  server ? server : XP_STRDUP("");
    dir->searchBase =  root ? root : XP_STRDUP("");
    // dir->htmlGateway =  NULL; // no loner use
    dir->fileName = WH_FileName(WH_TempName(xpAddrBook, temp), xpAddrBook);
    dir->port = port_num;
    dir->maxHits = num_hits;
    XtVaGetValues(fep->secure_toggle, XmNset, &b, 0);
    dir->isSecure = b;
#if 0
    XtVaGetValues(fep->save_passwd_toggle, XmNset, &b, 0);
    dir->savePassword = b;
#endif
    dir->dirType = LDAPDirectory;

    // Insert into list if this is create

    if (create) {
        XFE_PrefsPageMailNewsAddrBook *dir_page = theDialog->getAddrBookPage();
        dir_page->insertDir(dir);
    }

    // Simulate a cancel

    theDialog->cb_cancel(w, closure, callData);
}