Exemple #1
0
// Bring the next screen in the linked screen list to the front and return its number.  Return status.
int nextScreen(Value *rp,int n) {
	EScreen *scrp;
	int nscreens;		// Total number of screens.

	// Check if n is out of range.
	nscreens = scrcount();
	if(n == 0 || (n != INT_MIN && abs(n) > nscreens))
		return rcset(FAILURE,0,text240,n);
				// "No such screen '%d'"
	// Argument given?
	if(n != INT_MIN) {

		// If the argument is negative, it is the nth screen from the end of the screen sequence.
		if(n < 0)
			n = nscreens + n + 1;
		}
	else if((n = cursp->s_num + 1) > nscreens)
		n = 1;

	// Find the screen...
	scrp = sheadp;
	while(scrp->s_num != n)
		scrp = scrp->s_nextp;

	// return its number...
	vsetint((long) scrp->s_num,rp);

	// and make it current.
	return sswitch(scrp);
	}
Exemple #2
0
/* to write mode. */
int
file_switch_to_write(const ref * op)
{
    stream *s = fptr(op);

    if (s->read_id != r_size(op) || s->file == 0)	/* not valid */
	return_error(e_invalidaccess);
    if (sswitch(s, true) < 0)
	return_error(e_ioerror);
    s->write_id = s->read_id;	/* enable writing */
    s->read_id = 0;		/* disable reading */
    return 0;
}
Exemple #3
0
// Create new screen, switch to it, and return its number.  Return status.
int newScreen(Value *rp,int n) {
	EScreen *scrp;

	// Save the current window's settings.
	wftobf(curwp,curbp);

	// Find screen "0" to force-create one and make it current.
	if(sfind(0,curbp,&scrp) != SUCCESS || sswitch(scrp) != SUCCESS)
		return rc.status;
	vsetint((long) scrp->s_num,rp);

	return rcset(SUCCESS,0,text174,scrp->s_num);
			// "Created screen %hu"
	}
bool CMailWasherDlg::OnClicked(CItemBase *pItem)
{
	sswitch(pItem->m_strItemId.c_str())
		scase(ITEMID_DEL)                   OperateSelected(pm_MESSAGE_REMOVE);    sbreak;
		scase(ITEMID_READNEXT)              GetMsgList();                          sbreak;
		scase(ITEMID_STOP)                  CancelOperating();                     sbreak;
		scase(ITEMID_DECODE_KOI8_R)         DecodeMsg(pItem->m_strItemId.c_str()); sbreak;
		scase(ITEMID_DECODE_WINDOWS_1251)   DecodeMsg(pItem->m_strItemId.c_str()); sbreak;
		scase(ITEMID_DECODE_IBM866)         DecodeMsg(pItem->m_strItemId.c_str()); sbreak;
		scase(ITEMID_DECODE_ISO8859_5)      DecodeMsg(pItem->m_strItemId.c_str()); sbreak;
		scase(ITEMID_DECODE_X_MAC_CYRILLIC) DecodeMsg(pItem->m_strItemId.c_str()); sbreak;
	send;

	return TBase::OnClicked(pItem);
}
bool CAskPasswordDialog::OnClicked(CItemBase* pItem)
{
	CDialogBindingT<cAskObjectPassword>::UpdateStruct();

	sswitch(pItem->m_strItemId.c_str())
	stcase(Ok)
		m_pStruct->m_nResultAction = ACTION_OK;
		sbreak;
	stcase(SkipAll)
		m_pStruct->m_nApplyToAll = APPLYTOALL_TRUE;
		sbreak;
	send;

	Close();
	return true;
}
bool CRestoreObjectDlg::OnClicked(CItemBase* pItem)
{
	sswitch(pItem->m_strItemId.c_str())
	stcase(Restore)
		Restore();
		sbreak;
	
	stcase(SaveAss)
		if( Root()->BrowseFile(*this, LoadLocString(tString(), STRID_BROWSEOBJRESTORE),
				NULL, m_pStruct->m_strObjectName, true) )
			Restore();
		sbreak;
	
	stcase(Skip)
		Close();
		sbreak;
	send;

	return true;
}
bool CPageAntispamSink::OnClicked(CItemBase* pItem)
{
	FolderInfo_t * pFolder = NULL;
	sswitch(pItem->m_strItemId.c_str())
	scase("CS_Browse") pFolder = &m_ser->CertainSpamRule.FolderForAction;  sbreak;
	scase("PS_Browse") pFolder = &m_ser->PossibleSpamRule.FolderForAction; sbreak;
	scase("Link")      _Module.ShowAntiSpamSettings(); sbreak
	send
		
	if( pFolder )
	{
		UpdateData(false);
		if(CBrowseForFolder(m_arrLocalFolders, pFolder, m_hTreeImageList).DoModal(Item(), "OutlookPlugun.Antispam.Browse") == DLG_ACTION_OK)
		{
			UpdateData(true);
		}
	}
	
	return TBaseDlg::OnClicked(pItem);
}