static void
formatUnknownContentLength(char* buf, PRUint32 len, PRUint32 bytesReceived, PRUint32 elapsed)
{
    char rate[32];
    *rate = 0;

    // the transfer rate
    double bytes_per_sec = 0;
    if (elapsed > 0)
        bytes_per_sec = ((double) bytesReceived) / ((double) elapsed);

    formatRate(rate, sizeof(rate), bytes_per_sec);

    // the number of bytes received
    char bytes_received[32];

    if (bytesReceived < KILOBYTE)
        PR_snprintf(bytes_received, sizeof(bytes_received),
                    XP_GetString(XP_THERMO_UH),
                    bytesReceived, IS_PLURAL(bytesReceived));
    else
        PR_snprintf(bytes_received, sizeof(bytes_received),
                    XP_GetString(XP_THERMO_KBYTE_FORMAT),
                    bytesReceived / KILOBYTE);

    if (*rate) {
        /* "%s read (at %s)" */
        PR_snprintf(buf, len, XP_GetString(XP_THERMO_PERCENT_RATE_FORM), bytes_received, rate);
    }
    else {
        PR_snprintf(buf, len, XP_GetString(XP_THERMO_RAW_COUNT_FORM), bytes_received);
    }
}
Exemplo n.º 2
0
static void
fe_movemail_perror(const char *message)
{
  int e = errno;
  char *es = 0;
  char *buf1 = 0;
  char buf2[512];
  char *suffix;
  int L;

  if ((unsigned)e < (unsigned)sys_nerr)
    {
      es = sys_errlist [e];
    }
  else
    {
      snprintf (buf2, sizeof (buf2), XP_GetString( XFE_UNKNOWN_ERROR_CODE ),
		errno);
	printf("XFE_UNKNOWN_ERROR_CODE\n");
      es = buf2;
    }

  suffix = XP_GetString(XFE_MOVEMAIL_FAILURE_SUFFIX);
  printf("XFE_MOVEMAIL_FAILURE_SUFFIX\n");
  if(!suffix) suffix = "";
  if(!message) message = "";
  L = strlen(message) + strlen(es) + strlen(suffix) + 40;
  buf1 = (char *) malloc(L);
  if(!buf1) return;
  snprintf (buf1, L-1, "%s\n%s\n\n%s", message, es, suffix);
#if 0
  FE_Alert (buf1);
#endif
  free(buf1);
}
PR_END_EXTERN_C

#endif // XP_MAC

#define KILOBYTE		(1024L)
#define MINUTE			(60L)
#define HOUR			(MINUTE * MINUTE)

#define IS_PLURAL(x)		(((x) == 1) ? "" : XP_GetString(XP_THERMO_PLURAL_FORMAT)) /* L10N? */

#define	ENOUGH_TIME_TO_GUESS	10 /* in seconds */
#define TIME_UNTIL_DETAILS       5

////////////////////////////////////////////////////////////////////////

static void
formatRate(char* buf, PRUint32 len, double bytes_per_sec)
{
    if (bytes_per_sec > 0) {
        if (bytes_per_sec < KILOBYTE)
            PR_snprintf(buf, len, XP_GetString(XP_THERMO_BYTE_RATE_FORMAT),
                        (PRUint32) bytes_per_sec);
        else
            PR_snprintf(buf, len, XP_GetString(XP_THERMO_K_RATE_FORMAT),
                        (bytes_per_sec / ((double) KILOBYTE)));
    }
}
Exemplo n.º 4
0
static void
fe_movemail_perror(MWContext *context, const char *message)
{
  int e = errno;
  char *es = 0;
  char *buf1 = 0;
  char buf2[512];
  char *suffix;
  int L;

  XP_ASSERT(context);
  if (!context) return;

  if ((unsigned)e < (unsigned)sys_nerr)
    {
      es = sys_errlist [e];
    }
  else
    {
      PR_snprintf (buf2, sizeof (buf2), XP_GetString( XFE_UNKNOWN_ERROR_CODE ),
		errno);
      es = buf2;
    }

  suffix = XP_GetString(XFE_MOVEMAIL_FAILURE_SUFFIX);
  if(!suffix) suffix = "";
  if(!message) message = "";
  L = XP_STRLEN(message) + XP_STRLEN(es) + XP_STRLEN(suffix) + 40;
  buf1 = (char *) XP_ALLOC(L);
  if(!buf1) return;
  PR_snprintf (buf1, L-1, "%s\n%s\n\n%s", message, es, suffix);
  FE_Alert (context, buf1);
  XP_FREE(buf1);
}
Exemplo n.º 5
0
XFE_HistoryFrame::XFE_HistoryFrame(Widget toplevel, XFE_Frame *parent_frame, Chrome *chromespec) 
  : XFE_Frame("history", toplevel, parent_frame,
	      FRAME_HISTORY, chromespec, False, True, False, True, False)
{
  // create the History view
  XFE_HistoryView *view = new XFE_HistoryView(this, getViewParent(), NULL, m_context);
  setView(view);

  XtVaSetValues(view->getBaseWidget(),
  		XmNleftAttachment, XmATTACH_FORM,
		XmNtopAttachment, XmATTACH_FORM,
		XmNrightAttachment, XmATTACH_FORM,
		XmNbottomAttachment, XmATTACH_FORM,
		NULL);

  setMenubar(menu_bar_spec);

  //
  // Make the bookmark frame title more reasonable
  //
  char title[kMaxFullNameLength+64];

  PR_snprintf(title, 
			  sizeof(title),
              XP_GetString(XFE_HISTORY_FRAME_TITLE),
    	      FE_UsersFullName());

  setTitle(title);

  view->show();

  m_dashboard->setShowStatusBar(True);
  m_dashboard->setShowProgressBar(True);
}
Exemplo n.º 6
0
/*
 * NativePickDefaultDirectory
 * Platform-specific implementation of GetDirectoryPath
 */
char* nsFolderSpec::NativePickDefaultDirectory(void)
{
  su_PickDirTimer callback;
  char * packageName;
  char prompt[200];

 
  callback.context = XP_FindSomeContext();
  callback.fileName = NULL;
  callback.done = FALSE;
  /* Get the name of the package to prompt for */
  packageName = userPackageName;

  if (packageName)
    {
      /* In Java thread now, and need to call FE_PromptForFileName
       * from the main thread
       * post an event on a timer, and busy-wait until it completes.
       */
      PR_snprintf(prompt, 200, XP_GetString(SU_INSTALL_ASK_FOR_DIRECTORY), packageName); 
      callback.prompt = prompt;
      FE_SetTimeout( pickDirectoryCallback, &callback, 1 );
      while (!callback.done)  /* Busy loop for now */
        PR_Sleep(PR_INTERVAL_NO_WAIT); /* java_lang_Thread_yield(WHAT?); */
    }

  return callback.fileName;
}
Exemplo n.º 7
0
char * SU_GetErrorMsg1(int id, char* arg1) 
{
  char* errorMsg;
  char* tag = XP_GetString(id);
  PR_ASSERT(tag != NULL);
  errorMsg = XP_Cat(tag, arg1);
  return errorMsg;
}
NSAPI_PUBLIC
const char *
XP_GetStringFromDatabase(const char *strLibraryName,
                         const char *strLanguage,
                         int iToken)
{
    return XP_GetString(strLibraryName, XP_LANGUAGE_AUDIENCE_DEFAULT, iToken);
}
Exemplo n.º 9
0
void prefsProxiesViewCb_ok(Widget    w,
						   XtPointer closure,
						   XtPointer callData)
{
	XFE_PrefsProxiesViewDialog *theDialog = (XFE_PrefsProxiesViewDialog *)closure;
	PrefsDataProxiesView       *fep = theDialog->m_prefsDataProxiesView;

	XP_ASSERT(fep);
	if (! theDialog->verifyPage()) return;

	char *s1;
	char *s2;

	PREFS_SET_GLOBALPREF_TEXT(no_proxy, no_proxy_text);

#define SNARFP(NAME,SUFFIX,empty_port_ok) \
{ \
    s1 = fe_GetTextField(fep->NAME##_##SUFFIX##_text); \
	s2 = fe_GetTextField(fep->NAME##_port_text); \
    if (*s1 && (*s2 || empty_port_ok)) { \
        fe_globalPrefs.NAME##_##SUFFIX = strdup(s1); \
        fe_globalPrefs.NAME##_##SUFFIX##_port = *s2 ? atoi(s2) : 0; \
    } else { \
        fe_globalPrefs.NAME##_##SUFFIX = strdup(""); \
        fe_globalPrefs.NAME##_##SUFFIX##_port = 0; \
    } \
	if (s1) XtFree(s1); \
	if (s2) XtFree(s2); \
}

    SNARFP (ftp,    proxy, False);
	SNARFP (gopher, proxy, False);
	SNARFP (http,   proxy, False);
#ifndef NO_SECURITY
	SNARFP (https,  proxy, False);
#endif
	SNARFP (wais,   proxy, False);
	SNARFP (socks,  host,  True);
#undef SNARFP

	// Install changes

	theDialog->installChanges();

	// Simulate a cancel

	prefsProxiesViewCb_cancel(w, closure, callData);

	// Save the preferences at the end, so that if we've found some setting that
	// crashes, it won't get saved...
	
	if (!fe_CheckVersionAndSavePrefs((char *) fe_globalData.user_prefs_file, &fe_globalPrefs))
		fe_perror (theDialog->getContext(), XP_GetString( XFE_ERROR_SAVING_OPTIONS));

}
Exemplo n.º 10
0
void
XFE_MailDownloadView::startNewsDownload()
{
	XmString xmstr = XmStringCreate(XP_GetString(XFE_DOWNLOADING_NEW_MESSAGES), XmFONTLIST_DEFAULT_TAG);
    XtVaSetValues(m_label, XmNlabelString, xmstr, 0);
	XmStringFree(xmstr);

	XFE_MozillaApp::theApp()->notifyInterested(XFE_MNView::MNChromeNeedsUpdating);
	
	MSG_Command (m_pane, MSG_GetNextChunkMessages, NULL, 0);
}
Exemplo n.º 11
0
char *XFE_ABDirListView::getColumnHeaderText(int column)
{
  char *tmp = 0;
  switch (column) {
  case OUTLINER_COLUMN_NAME:
    tmp = XP_GetString(XFE_AB2PANE_DIR_HEADER);
    break;
  }/* switch () */

  return tmp;
}
Exemplo n.º 12
0
char * SU_GetErrorMsg4(int id, int reason) 
{
  char* msg;
  char* ptr;
  char* tag = XP_GetString(id);
  PR_ASSERT(tag != NULL);
  ptr = PR_sprintf_append(msg, "%s %d", tag, reason);
  msg = XP_STRDUP(ptr);
  delete ptr;
  return msg;
}
Exemplo n.º 13
0
char * SU_GetString2(int id, nsString* arg1) 
{
  char* msg=NULL;
  char* tag = XP_GetString(id);
  PR_ASSERT(tag != NULL);
  char* argMsg = "";
  if (arg1)
   argMsg = arg1->ToNewCString();
  msg = XP_Cat(msg, tag, argMsg);
  delete argMsg;
  return msg;
}
Exemplo n.º 14
0
char * SU_GetString1(int id, char* arg1) 
{
  char* msg=NULL;
  char* tag = XP_GetString(id);
  PR_ASSERT(tag != NULL);
  if (arg1) {
    msg = XP_Cat(msg, tag, arg1);
  } else {
    msg = XP_Cat(msg, tag);
  }
  return msg;
}
Exemplo n.º 15
0
void
XFE_MailDownloadView::cleanUpNews()
{
    // Change the label string, since we're not actually downloading:
	XmString xmstr = XmStringCreate(XP_GetString(XFE_PURGING_NEWS_MESSAGES),
                                    XmFONTLIST_DEFAULT_TAG);
    XtVaSetValues(m_label, XmNlabelString, xmstr, 0);
	XmStringFree(xmstr);

    XFE_MozillaApp::theApp()->notifyInterested(XFE_MNView::MNChromeNeedsUpdating);
	
    MSG_CleanupFolders(m_pane);
}
Exemplo n.º 16
0
char * SU_GetErrorMsg2(int id, nsString* arg1, int reason) 
{
  char* errorMsg;
  char* ptr;
  char* tag = XP_GetString(id);
  PR_ASSERT(tag != NULL);
  char* argMsg = "";
  if (argMsg)
    argMsg = arg1->ToNewCString();
  ptr = PR_sprintf_append(errorMsg, "%s %s %d", tag, argMsg, reason);
  delete argMsg;
  errorMsg = XP_STRDUP(ptr);
  delete ptr;
  return errorMsg;
}
Exemplo n.º 17
0
int XFE_ComposeAttachFolderView::verifySafeToAttach()
{
#if 0
    // this check is no longer needed - back end can handle
    // multiple simultaneous attachment operations
    if (MSG_DeliveryInProgress(getPane())) {
        char *msg=PR_smprintf(XP_GetString(XFE_MN_DELIVERY_IN_PROGRESS));
        if (msg) {
            fe_Alert_2(getBaseWidget(),msg);
            XP_FREE(msg);
        }
        return FALSE;
    }
#endif
    return TRUE;
}
Exemplo n.º 18
0
XFE_PropertyTabView::XFE_PropertyTabView(XFE_Component *top,
			       XFE_View *view, /* the parent view */
			       int       tab_string_id): XFE_View(top, view)
{
  m_labelWidth = 0;

  /* Create tab
   */
  XmString xmstr;
  xmstr = XmStringCreate(XP_GetString(tab_string_id ), 
			 XmFONTLIST_DEFAULT_TAG);
  Widget form = XmLFolderAddTabForm(view->getBaseWidget(), xmstr);
  XmStringFree(xmstr);

  setBaseWidget(form);
}
Exemplo n.º 19
0
Boolean XFE_PrefsProxiesViewDialog::verifyPage()
{
	char         buf[10000];
	char        *buf2;
	char        *warning;
	int          size;

	buf2 = buf;
	strcpy (buf, XP_GetString(XFE_WARNING));
	buf2 = buf + strlen (buf);
	warning = buf2;
	size = buf + sizeof (buf) - warning;

	XP_ASSERT(m_prefsDataProxiesView);
	PrefsDataProxiesView  *fep = m_prefsDataProxiesView;

	PREFS_CHECK_PROXY (fep->ftp_proxy_text,   fep->ftp_port_text,
					   XP_GetString(XFE_FTP_PROXY_HOST),  
					   True, warning, size);
	PREFS_CHECK_PROXY (fep->gopher_proxy_text,fep->gopher_port_text,
					   XP_GetString(XFE_GOPHER_PROXY_HOST),
					   True, warning, size);
	PREFS_CHECK_PROXY (fep->http_proxy_text,  fep->http_port_text,
					   XP_GetString(XFE_HTTP_PROXY_HOST),  
					   True, warning, size);
	PREFS_CHECK_PROXY (fep->https_proxy_text, fep->https_port_text,
					   XP_GetString(XFE_HTTPS_PROXY_HOST), 
					   True, warning, size);
	PREFS_CHECK_PROXY (fep->wais_proxy_text,   fep->wais_port_text,
					   XP_GetString(XFE_WAIS_PROXY_HOST),  
					   True, warning, size);
	PREFS_CHECK_PROXY (fep->socks_host_text,  fep->socks_port_text,
					   XP_GetString(XFE_SOCKS_HOST),     
					   False, warning, size);

	if (*buf2) {
		FE_Alert (m_prefsDialog->getContext(), fe_StringTrim (buf));
		return FALSE;
	}
	else {
		return TRUE;
	}
}
Exemplo n.º 20
0
void XFE_PrefsDiskMoreDialog::prefsDiskMoreCb_ok(Widget    w,
												 XtPointer closure,
												 XtPointer callData)
{
	XFE_PrefsDiskMoreDialog *theDialog = (XFE_PrefsDiskMoreDialog *)closure;
	PrefsDataDiskMore       *fep = theDialog->m_prefsDataDiskMore;

	XP_ASSERT(fep);
	if (! theDialog->verifyPage()) return;
	
	Boolean                     b;
    char                        c;
	char                       *s = 0;
    int                         n;

	XtVaGetValues(fep->rm_msg_body_toggle, XmNset, &b, 0);
	fe_globalPrefs.news_remove_bodies_by_age = b;

    XtVaGetValues(fep->num_days_text, XmNvalue, &s, 0);
    fe_globalPrefs.news_remove_bodies_days = 0;
    if (1 == sscanf (s, " %d %c", &n, &c))
      fe_globalPrefs.news_remove_bodies_days = n;

	// Simulate a cancel

	prefsDiskMoreCb_cancel(w, closure, callData);

	// Install preferences

	theDialog->installChanges();

	// Save the preferences at the end, so that if we've found some 
	// setting that crashes, it won't get saved...

	if (! fe_CheckVersionAndSavePrefs((char *) fe_globalData.user_prefs_file, &fe_globalPrefs))
		fe_perror (theDialog->getContext(), XP_GetString( XFE_ERROR_SAVING_OPTIONS));
}
BOOL CChooseFolderDialog::OnInitDialog()
{
	BOOL ret = CDialog::OnInitDialog();

	if (m_nTypeID == TYPE_SENTNEWS)
		SetDlgItemText(IDC_STATIC_TITLE, szLoadString(IDS_COPY_NEWS_MSG));
	else if (m_nTypeID == TYPE_DRAFT)
		SetDlgItemText(IDC_STATIC_TITLE, szLoadString(IDS_COPY_DRAFTS));
	else if (m_nTypeID == TYPE_TEMPLATE)
		SetDlgItemText(IDC_STATIC_TITLE, szLoadString(IDS_COPY_TEMPLATES));

	CString formatString, defaultTitle;
	formatString.LoadString(IDS_SPECIAL_FOLDER);
	defaultTitle.Format(LPCTSTR(formatString), XP_GetString(m_nDefaultID));
	SetDlgItemText(IDC_RADIO_SENT, LPCTSTR(defaultTitle));

	if ( ret ) {
		// Subclass Server combo
		m_ServerCombo.SubclassDlgItem( IDC_COMBO_SERVERS, this );
		m_ServerCombo.NoPrettyName();
		m_ServerCombo.PopulateMailServer( WFE_MSGGetMaster() );
		if (SetServerComboCurSel(m_ServerCombo.GetSafeHwnd(), 
			m_pFolderPath, m_nDefaultID))
			CheckDlgButton(IDC_RADIO_SENT, TRUE);
		else
			CheckDlgButton(IDC_RADIO_OTHER, TRUE);

		// Subclass folder combo
		m_FolderCombo.SubclassDlgItem( IDC_COMBO_FOLDERS, this );
		m_FolderCombo.PopulateMail( WFE_MSGGetMaster() );
		SetFolderComboCurSel(m_FolderCombo.GetSafeHwnd(), 
			m_pFolderPath, m_nDefaultID);
	}
	
	return ret;
}
Exemplo n.º 22
0
//-----------------------------------------------------------------------------
// NetStream
//-----------------------------------------------------------------------------
CStreamOutNet::CStreamOutNet( MWContext* pContext )
{
    URL_Struct * URL_s;
    Chrome chrome;

    XP_BZERO( &chrome, sizeof( Chrome ) );
    chrome.allow_close = TRUE;
    chrome.allow_resize = TRUE;
    chrome.show_scrollbar = TRUE;
#ifndef XP_WIN
	// NOTE:  need to verify this change on XP_WIN and remove the
	//        ifndef... [ works on XP_UNIX & XP_MAC ]
	//
	chrome.type = MWContextDialog;
#endif

    //
    // LTNOTE: Ownership of the 'chrome' struct isn't documented in the interface.
    //  The windows implementation doesn't appear to keep pointers to the struct.
    //
    MWContext *pNewContext = FE_MakeNewWindow(pContext, NULL, "view-source",
                    &chrome );
    pNewContext->edit_view_source_hack = TRUE;

    URL_s = NET_CreateURLStruct(XP_GetString(EDT_VIEW_SOURCE_WINDOW_TITLE), NET_DONT_RELOAD);  

    URL_s->content_type = XP_STRDUP(TEXT_PLAIN);

    m_pStream = NET_StreamBuilder(FO_PRESENT, URL_s, pNewContext);

    if(!m_pStream){
        XP_ASSERT( FALSE );
        m_status = EOS_FileError;
    } 
    m_status = EOS_NoError;
}
Exemplo n.º 23
0
char*
XFE_AddrBookView::getColumnName(int column)
{
  switch (column) {
    case OUTLINER_COLUMN_TYPE:	
		return XP_GetString(XFE_AB_HEADER_NAME);
    case OUTLINER_COLUMN_NAME:
		return XP_GetString(XFE_AB_HEADER_NAME);
    case OUTLINER_COLUMN_EMAIL:	
		return XP_GetString(XFE_AB_HEADER_EMAIL);
    case OUTLINER_COLUMN_PHONE:	
		return XP_GetString(XFE_AB_HEADER_PHONE);
    case OUTLINER_COLUMN_NICKNAME:	
		return XP_GetString(XFE_AB_HEADER_NICKNAME);
    case OUTLINER_COLUMN_COMPANY:	
		return XP_GetString(XFE_AB_HEADER_COMPANY);
    case OUTLINER_COLUMN_LOCALITY:	
		return XP_GetString(XFE_AB_HEADER_LOCALITY);
    default:			
		XP_ASSERT(0); 
		return 0;
    }
}
Exemplo n.º 24
0
/* Returns the text and/or icon to display at the top of the column.
 */
char*
XFE_AddrBookView::getColumnHeaderText(int column)
{

  char *tmp = 0;
  switch (column) {
  case OUTLINER_COLUMN_TYPE:
    tmp = XP_STRDUP(" ");
    break;

  case OUTLINER_COLUMN_NAME:
    tmp = XP_GetString(XFE_AB_HEADER_NAME);
    break;

  case OUTLINER_COLUMN_NICKNAME:
    tmp = XP_GetString(XFE_AB_HEADER_NICKNAME);
    break;

  case OUTLINER_COLUMN_EMAIL:
    tmp = XP_GetString(XFE_AB_HEADER_EMAIL);
    break;

  case OUTLINER_COLUMN_PHONE:
    tmp = XP_GetString(XFE_AB_HEADER_PHONE);
    break;

  case OUTLINER_COLUMN_COMPANY:
    tmp = XP_GetString(XFE_AB_HEADER_COMPANY);
    break;

  case OUTLINER_COLUMN_LOCALITY:
    tmp = XP_GetString(XFE_AB_HEADER_LOCALITY);
    break;

  }/* switch () */

  return tmp;
}
Exemplo n.º 25
0
/*
 * This function takes an error code and associated error data
 * and creates a string containing a textual description of
 * what the error is and why it happened.
 *
 * The returned string is allocated and thus should be freed
 * once it has been used.
 */
PUBLIC char *
NET_ExplainErrorDetails (int code, ...)
{
  va_list args;
  char *msg = 0;
  int sub_error;

  va_start (args, code);

  if (IS_SSL_ERROR(code) || IS_SEC_ERROR(code)) {
	  const char *s = XP_GetString(code);
	  msg = (s ? XP_STRDUP(s) : 0);
  }

  if (!msg)
    switch(code) {
	case MK_INTERRUPTED:
	case MK_USE_FTP_INSTEAD:
	case MK_USE_COPY_FROM_CACHE:
	case MK_MAILTO_NOT_READY:
	case MK_UNABLE_TO_LOGIN:
	case MK_UNABLE_TO_CONVERT:
	case MK_IMAGE_LOSSAGE:  /* image library generic error */
	case MK_ERROR_SENDING_DATA_COMMAND:
	case MK_OFFLINE:
		msg = NULL;
		break;

	case MK_REDIRECT_ATTEMPT_NOT_ALLOWED:
	case MK_SERVER_TIMEOUT:
	case MK_CONNECTION_TIMED_OUT:
	case MK_OUT_OF_MEMORY:
	case MK_TIMEBOMB_URL_PROHIBIT:
	case MK_TIMEBOMB_MESSAGE:
	case MK_RELATIVE_TIMEBOMB_MESSAGE:
	case MK_NO_WAIS_PROXY:
	case MK_CREATING_NEWSRC_FILE:
	case MK_NNTP_SERVER_NOT_CONFIGURED:
	case MK_NNTP_NEWSGROUP_SCAN_ERROR:
	case MK_ZERO_LENGTH_FILE:
	case MK_BAD_CONNECT:
	case MK_UNABLE_TO_USE_PASV_FTP:
	case MK_UNABLE_TO_CHANGE_FTP_MODE:
	case MK_UNABLE_TO_FTP_CWD:
	case MK_UNABLE_TO_SEND_PORT_COMMAND:
	case MK_UNABLE_TO_ACCEPT_SOCKET:
	case MK_UNABLE_TO_CONNECT2:
	case MK_BAD_NNTP_CONNECTION:
	case MK_NNTP_SERVER_ERROR:
	case MK_SERVER_DISCONNECTED:
	case MK_NEWS_ITEM_UNAVAILABLE:
	case MK_UNABLE_TO_OPEN_NEWSRC:
	case MK_COULD_NOT_LOGIN_TO_SMTP_SERVER:
	case MK_MSG_NO_SMTP_HOST:
	case MK_COULD_NOT_GET_USERS_MAIL_ADDRESS:
	case MK_UNABLE_TO_CONNECT_TO_PROXY:
	case MK_UNABLE_TO_LOCATE_PROXY:
	case MK_DISK_FULL:
	case MK_PRINT_LOSSAGE:
	case MK_SECURE_NEWS_PROXY_ERROR:
	case MK_SIGNATURE_TOO_LONG:
	case MK_SIGNATURE_TOO_WIDE:
	case MK_POP3_SERVER_ERROR:
	case MK_POP3_USERNAME_UNDEFINED:
	case MK_POP3_PASSWORD_UNDEFINED:
	case MK_POP3_USERNAME_FAILURE:
	case MK_POP3_PASSWORD_FAILURE:
	case MK_POP3_NO_MESSAGES:
	case MK_POP3_LIST_FAILURE:
	case MK_POP3_LAST_FAILURE:
	case MK_POP3_RETR_FAILURE:
	case MK_POP3_DELE_FAILURE:
	case MK_POP3_OUT_OF_DISK_SPACE:
	case MK_POP3_MESSAGE_WRITE_ERROR:
	case MK_MIME_NO_SENDER:
	case MK_MIME_NO_RECIPIENTS:
	case MK_MIME_NO_SUBJECT:
	case MK_MIME_ERROR_WRITING_FILE:
	case MK_MIME_MULTIPART_BLURB:
	case MK_MSG_CANT_COPY_TO_SAME_FOLDER:
	case MK_MSG_CANT_COPY_TO_QUEUE_FOLDER:
	case MK_MSG_CANT_COPY_TO_QUEUE_FOLDER_OLD:
	case MK_MSG_CANT_COPY_TO_DRAFTS_FOLDER:
	case MK_MSG_CANT_CREATE_FOLDER:
	case MK_MSG_FOLDER_ALREADY_EXISTS:
	case MK_MSG_FOLDER_NOT_EMPTY:
	case MK_MSG_CANT_DELETE_FOLDER:
	case MK_MSG_CANT_CREATE_INBOX:
	case MK_MSG_CANT_CREATE_MAIL_DIR:
	case MK_MSG_NO_POP_HOST:
	case MK_MSG_MESSAGE_CANCELLED:
	case MK_MSG_FOLDER_UNREADABLE:
	case MK_MSG_FOLDER_SUMMARY_UNREADABLE:
	case MK_MSG_TMP_FOLDER_UNWRITABLE:
	case MK_MSG_ID_NOT_IN_FOLDER:
	case MK_MSG_NEWSRC_UNPARSABLE:
	case MK_MSG_NO_RETURN_ADDRESS:
	case MK_MSG_ERROR_WRITING_NEWSRC:
	case MK_MSG_ERROR_WRITING_MAIL_FOLDER:
	case MK_MSG_SEARCH_FAILED:
	case MK_MSG_FOLDER_BUSY:
		msg = XP_STRDUP(XP_GetString(code));
		break;

	case MK_TCP_READ_ERROR:
	case MK_TCP_WRITE_ERROR:
	case MK_UNABLE_TO_CREATE_SOCKET:
	case MK_UNABLE_TO_CONNECT:
	case MK_HTTP_TYPE_CONFLICT:
	case MK_TCP_ERROR:
		sub_error = va_arg(args, int);
		if (IS_SSL_ERROR(sub_error) || IS_SEC_ERROR(sub_error)) {
			/*
			 * For SSL/SEC errors, use the message without a wrapper.
			 */
			msg = XP_STRDUP(XP_GetString(sub_error));
		} else if (code == MK_UNABLE_TO_CONNECT &&
				   (sub_error == XP_ERRNO_EINVAL
					|| sub_error == XP_ERRNO_EADDRINUSE)) {
			/*
			 * With unable-to-connect errors, some errno values/strings
			 * are not more helpful, so just use a plain message for these.
			 */
			msg = XP_STRDUP(XP_GetString(MK_UNABLE_TO_CONNECT2));
		} else {
			msg = PR_smprintf(XP_GetString(code), XP_GetString(sub_error));
		}
		break;

	case MK_MALFORMED_URL_ERROR:
	case MK_COULD_NOT_PUT_FILE:
	case MK_UNABLE_TO_LOCATE_FILE:
	case MK_NNTP_AUTH_FAILED:
	case MK_UNABLE_TO_LOCATE_HOST:
	case MK_UNABLE_TO_LOCATE_SOCKS_HOST:
	case MK_UNABLE_TO_OPEN_FILE:
	case MK_UNABLE_TO_OPEN_TMP_FILE:
	case MK_CONNECTION_REFUSED:
	case MK_NNTP_ERROR_MESSAGE:
	case MK_MSG_COULDNT_OPEN_FCC_FILE:
	case MK_TIMEBOMB_WARNING_MESSAGE:
	case MK_RELATIVE_TIMEBOMB_WARNING_MESSAGE:
	case MK_ERROR_SENDING_FROM_COMMAND:
	case MK_ERROR_SENDING_RCPT_COMMAND:
	case MK_ERROR_SENDING_MESSAGE:
	case MK_SMTP_SERVER_ERROR:
		msg = PR_vsmprintf(XP_GetString(code), args);
		break;

	case -1:
	default:
		msg = PR_smprintf(XP_GetString(MK_COMMUNICATIONS_ERROR), code);
		break;
	}

  va_end (args);

  TRACEMSG(("NET_ExplainErrorDetails generated: %s", msg ? msg : "(none)"));

  return(msg);
}
Exemplo n.º 26
0
char *XFE_ABDirListView::getColumnName(int /* column */)
{
	return XP_GetString(XFE_AB_HEADER_NAME);
}
Exemplo n.º 27
0
XFE_MailDownloadView::XFE_MailDownloadView(XFE_Component *toplevel_component, 
										   Widget parent, 
										   XFE_View *parent_view, 
										   MWContext *context, 
										   MSG_Pane *parent_pane,
										   MSG_Pane *p)
	: XFE_MNView(toplevel_component, parent_view, context, p)
{
	Widget form;
	XmString xmstr = XmStringCreate(XP_GetString(XFE_DOWNLOADING_NEW_MESSAGES), XmFONTLIST_DEFAULT_TAG);
	XmFontList fontList;

	form = XtCreateWidget("topArea",
						  xmFormWidgetClass,
						  parent,
						  NULL, 0);

	m_label = XtVaCreateManagedWidget("label",
									xmLabelWidgetClass,
									form,
									XmNlabelString, xmstr,
									NULL);

	m_logo = new XFE_Logo((XFE_Frame*)toplevel_component, form, "logo");

	XtVaGetValues(m_label,
				  XmNfontList, &fontList,
				  NULL);

	// we need more space, or else the window is *tiny*
	XtVaSetValues(m_label,
				  XmNwidth, XmStringWidth(fontList, xmstr) * 2,
				  NULL);

	XmStringFree(xmstr);

	/* now do the attachments. */

	XtVaSetValues(m_label,
				  XmNleftAttachment, XmATTACH_FORM,
				  XmNrightAttachment, XmATTACH_WIDGET,
				  XmNrightWidget, m_logo->getBaseWidget(),
				  XmNtopAttachment, XmATTACH_OPPOSITE_WIDGET,
				  XmNtopWidget, m_logo->getBaseWidget(),
				  XmNbottomAttachment, XmATTACH_OPPOSITE_WIDGET,
				  XmNbottomWidget, m_logo->getBaseWidget(),
				  NULL);

	XtVaSetValues(m_logo->getBaseWidget(),
				  XmNleftAttachment, XmATTACH_NONE,
				  XmNrightAttachment, XmATTACH_FORM,
				  XmNbottomAttachment, XmATTACH_NONE,
				  XmNtopAttachment, XmATTACH_FORM,
				  NULL);

	m_logo->show();

	if (!p)
		setPane(MSG_CreateProgressPane(m_contextData, XFE_MNView::getMaster(), parent_pane));

	setBaseWidget(form);
}
Exemplo n.º 28
0
void XFE_AddrBookView::abCall()
{
  int count = 0;
  const int *indices = 0;
  m_outliner->getSelection(&indices, &count);
  if (count > 0 && indices) {
#if defined(USE_ABCOM)
#else
	  /* Take the first one 
	   */
	  ABID type;
	  ABID entry;
	  
	  entry = AB_GetEntryIDAt((AddressPane *) m_abPane, (uint32) indices[0]);
    
	  if (entry == MSG_VIEWINDEXNONE) 
		  return;

	  AB_GetType(m_dir, m_AddrBook, entry, &type);
    
	  /* Select
	   */
	  if (type != ABTypePerson)
		  return;
		  
	  char a_line[AB_MAX_STRLEN];
	  a_line[0] = '\0';
	  
	  char cmdstr[AB_MAX_STRLEN];
	  cmdstr[0] = '\0';
	  char *email= NULL;

	  if ((AB_GetEmailAddress(m_dir, m_AddrBook, entry, a_line) != MSG_VIEWINDEXNONE)&&
		  XP_STRLEN(a_line))
		  email = XP_STRDUP(a_line);
	  else {
		  /* Can not call w/o email
		   */
		  // Prompt the user to enter the email address
		  char tmp[128];
		  XP_SAFE_SPRINTF(tmp, sizeof(tmp),
						  "%s",
						  XP_GetString(MK_MSG_CALL_NEEDS_EMAILADDRESS));
		  fe_Message(m_contextData, tmp);
		  return;
	  }/* else */

	  char *coolAddr = NULL;
	  if (AB_GetCoolAddress(m_dir, m_AddrBook, entry, a_line) != MSG_VIEWINDEXNONE)
		  coolAddr = XP_STRDUP(a_line);

	  short use;
	  if (AB_GetUseServer(m_dir, m_AddrBook, entry, &use) == MSG_VIEWINDEXNONE)
		  /* Can't determine which mode; use default
		   */
		  use = kDefaultDLS;

	  if (email && XP_STRLEN(email))
		  fe_showConference(getBaseWidget(), email, use, coolAddr);
	  else {
		  /* prompt user to enter email address for this person
		   */
			  char tmp[128];
			  XP_SAFE_SPRINTF(tmp, sizeof(tmp),
							  "%s",
							  XP_GetString(MK_MSG_CALL_NEEDS_EMAILADDRESS));
			  fe_Message(m_contextData, tmp);

	  }/* else */
	  if (email)
		  XP_FREE((char *) email);
	  if (coolAddr)
		  XP_FREE((char *) coolAddr);
#endif /* USE_ABCOM */
  }/* if */
}
Exemplo n.º 29
0
// tooltips and doc string
char *XFE_AddrBookView::getDocString(CommandType cmd)
{
	uint32 count = 0;
	const int *indices = 0;
	m_outliner->getSelection(&indices, (int *) &count);

	if (count > 0) {
		char *names = 0;
		char a_line[512];
		a_line[0] = '\0';
		int len = 0;
		for (int i=0; i < count && len < 512; i++) {
			/* Take the first one 
			 */
#if defined(USE_ABCOM)
			AB_AttributeValue *value = NULL;
			int error = 
				AB_GetEntryAttributeForPane(m_pane,
											(MSG_ViewIndex) indices[i],
											AB_attribFullName,
											&value);
			XP_ASSERT(value && value->attrib == AB_attribFullName);

			XP_SAFE_SPRINTF(a_line, sizeof(a_line),
							"%s",
							value->u.string?value->u.string:"");
			AB_FreeEntryAttributeValue(value);
#else
			ABID entry;		
			entry = AB_GetEntryIDAt((AddressPane *) m_abPane, 
									(uint32) indices[i]);
			AB_GetFullName(m_dir, m_AddrBook, entry, a_line);
#endif /* USE_ABCOM */
			if (a_line) {
				len += XP_STRLEN(a_line);
				if (i)
					len += 2;

				names = names?
					((char *) XP_REALLOC(names, (len+1)*sizeof(char))):
					((char *) XP_CALLOC(1+len, sizeof(char)));

				if (i)
					names = XP_STRCAT(names, ", ");
				names = XP_STRCAT(names, a_line);			
			}/* if */
		}/* for i */

		char *cstr = 0;
		if (cmd == xfeCmdComposeMessage ||
			cmd == xfeCmdComposeMessageHTML ||
			cmd == xfeCmdComposeMessagePlain) {
			cstr = XP_STRDUP(XP_GetString(XFE_SEND_MSG_TO));	
		} else if (cmd == xfeCmdABCall) {
			cstr = XP_STRDUP(XP_GetString(XFE_PLACE_CONFERENCE_CALL_TO));
		}
		len += XP_STRLEN(cstr);
		cstr = (char *) XP_REALLOC(cstr, (1+len)*sizeof(char));
		cstr = (char *) XP_STRCAT(cstr, names);
		return cstr;
	}/* if */
	return NULL;
}
Exemplo n.º 30
0
char * SU_GetString(int id) 
{
  char *str = XP_GetString(id);
  PR_ASSERT(str != NULL);
  return XP_STRDUP(str);
}