LRESULT CToDoCtrlReminders::SendParentReminder(const TDCREMINDER& rem)
{
	if (m_bUseStickies && InitStickiesAPI(m_sStickiesPath))
	{
		CString sContent(rem.GetTaskTitle()), 
				sWhen(rem.FormatWhenString()), 
				sComments(rem.GetTaskComments()), 
				sDummy;

		if (!sComments.IsEmpty())
		{
			sContent += _T("\n\n");
			sContent += sComments;
		}

		if (!sWhen.IsEmpty())
		{
			sContent += _T("\n\n");
			sContent += sWhen;
		}
		
		if (CreateSticky(CEnString(IDS_STICKIES_TITLE), sDummy, sContent))
		{
			return 1L; // delete reminder as Stickies takes over
		}
	}
		
	// all else (fallback)
	ASSERT (m_pWndNotify);
	return m_pWndNotify->SendMessage(WM_TD_REMINDER, 0, (LPARAM)&rem);
}
Example #2
0
int CItems::New(LPCTSTR szName, LPCTSTR szContent, int nParentId, BOOL bFolder, int nModuleId/* =-1*/)
{
	if (bFolder == FALSE || nModuleId == -1) // new item is not folder, to get module id from parent folder
	{
		Assist::IItemIteratorPtr pParent = GetItem(nParentId);
		nModuleId = pParent->GetModuleId();
		if (nModuleId == ID_TRASH)
			ThrowError(RESSTR(IDS_CAN_NOT_ADD_TO_TRASH));
	}

	IStatementPtr st = CApplicationImpl::Get().GetStatement();

	CStringBuf sName(szName);
	CStringBuf sContent(szContent);
	time_t t = dateutils::GetCurrentDate();
	st->sql(_T("insert into adx_items (created, name, content, module, parent, folder) values (:created, :name, :content, :module, :parent, :folder)"));
	st->use(t, _T(":created"));
	st->use(sName, _T(":name"));
	st->use(sContent, _T(":content"));
	st->use(nModuleId, _T(":module"));
	st->use(nParentId, _T(":parent"));
	st->use((int&)bFolder, _T(":folder"));
	st->exec();
	return st->last_insert_rowid();
}
Example #3
0
STDMETHODIMP CXMLBuilder::OnInsertContent(VARIANT vtContent)
{
	try
	{
		if(VT_BSTR != vtContent.vt)
			return S_OK;

		_bstr_t sContent(vtContent.bstrVal);
		m_pXmlBuilder->OnInsertContent(sContent);
	}
	catch(Workshare::Exception const& e)
	{
		return Error(e.Message, __uuidof(this), e.ErrorCode);
	}
	catch(...)
	{
		return ProcessUnhandledException();
	}
	return(S_OK);
}