Commit Graph
5 Commits
Author SHA1 Message Date
Mike Kaganski 2f061dad7f tdf#116074: Don't block on sending email interactively
When sending e-mail using a MAPI mail client that doesn't recognize
MAPI_DIALOG_MODELESS flag, and doesn't return from MAPISendMail until
message compose dialog is closed (like MS Outlook 2010 and older),
waiting for the senddoc process blocks UI, which is unexpected and
prevents users from copying stuff from documents to the mail body.

Waiting for senddoc process completion is used for two things:
1. To serialize sending multiple mails (e.g., using mailmerge);
2. To show error in case when it failed.

This patch allows to avoid blocking the UI in case when compose UI is
requested - i.e., user interaction with the mail client is expected,
and serialization is not required. In this case, the senddoc process
will show the error message itself -> no need for main application to
wait for its return. The error message now includes actual error code.

To avoid cases when closing main program would remove temporary
attachment files before they were used by mail client, they are
copied to base temporary directory (instead of default session
temporary directory that gets deleted upon program shutdown).
senddoc cleans up its temporaries itself.

The temporary attachment files are copied to files with ASCII-only
filenames, and their original filenames are passed to mail clients
using MAPI. This allows to avoid cases when the filenames contain
characters outside of current Windows codepage, and the mail client
does not support Unicode MAPI, thus receiving wrong filename and
erroring out from the send.

Change-Id: I4a517bd7a797e76e4c0b7ea48bb1a7b652741a81
Reviewed-on: https://gerrit.libreoffice.org/50826
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2018-03-07 04:30:15 +01:00
Mike Kaganski c2f7759e85 Use Unicode for senddoc
Also removes unused code and unnecessary dependencies from it.

Change-Id: Ib6de29358098846ca5e7330b10e67a88cfff8a6a
Reviewed-on: https://gerrit.libreoffice.org/50444
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2018-02-28 05:59:39 +01:00
Michael Meeks 62badf3828 Move to MPLv2 license headers, with ESC decision and author's permission. 2013-04-22 09:37:38 +01:00
Michael Stahl dc397aae70 gbuild: gb_Library_PLAINLIBS_NONE cleanup for WNT:
add a new gb_LinkTarget_use_system_win32_libs to abstract different
linker options on MSVC and GCC.

Change-Id: Ic9bf2545f59bf7871e6fc06b290c486ddfbec03d
2012-09-28 16:49:08 +02:00
David Tardon d4efa8b0cf gbuildize shell
Change-Id: I91a89f9d0bd1eb88a94179f1c1a41bc832599fed
2012-05-29 07:33:44 +02:00