[Libreoffice-commits] core.git: Branch 'libreoffice-4-3' - desktop/source
Tomas Hlavaty
tomas.hlavaty at knowledgetools.de
Wed Sep 10 03:17:09 PDT 2014
desktop/source/app/cmdlinehelp.cxx | 7 +++++--
desktop/source/app/dispatchwatcher.cxx | 31 ++++++++++++++++++++++++++++---
2 files changed, 33 insertions(+), 5 deletions(-)
New commits:
commit 4b8a0159ca80dad05ddcaad5897b786484fc8afb
Author: Tomas Hlavaty <tomas.hlavaty at knowledgetools.de>
Date: Tue Jun 3 12:42:47 2014 +0200
fdo#36313: allow passing FilterOptions via cli
Examples:
--infilter="Text (encoded):UTF8,LF,,,"
--convert-to "html:XHTML Writer File:UTF8"
--convert-to "txt:Text (encoded):UTF8"
Change-Id: I69a0524ef63f6d486637d68280331528d1001b56
(cherry picked from commit 45ba4d79d968f81f74ef0c4588fd15b1ce91153f)
Signed-off-by: Stephan Bergmann <sbergman at redhat.com>
diff --git a/desktop/source/app/cmdlinehelp.cxx b/desktop/source/app/cmdlinehelp.cxx
index 756dcab..a956038 100644
--- a/desktop/source/app/cmdlinehelp.cxx
+++ b/desktop/source/app/cmdlinehelp.cxx
@@ -109,14 +109,17 @@ namespace desktop
"--unaccept=<accept-string>\n"\
" Close an acceptor that was created with --accept=<accept-string>\n"\
" Use --unnaccept=all to close all open acceptors\n"\
- "--infilter=<filter>\n"\
+ "--infilter=<filter>[:filter_options]\n"\
" Force an input filter type if possible\n"\
" Eg. --infilter=\"Calc Office Open XML\"\n"\
- "--convert-to output_file_extension[:output_filter_name] [--outdir output_dir] files\n"\
+ " --infilter=\"Text (encoded):UTF8,LF,,,\"\n"\
+ "--convert-to output_file_extension[:output_filter_name[:output_filter_options]] [--outdir output_dir] files\n"\
" Batch convert files.\n"\
" If --outdir is not specified then current working dir is used as output_dir.\n"\
" Eg. --convert-to pdf *.doc\n"\
" --convert-to pdf:writer_pdf_Export --outdir /home/user *.doc\n"\
+ " --convert-to \"html:XHTML Writer File:UTF8\" *.doc\n"\
+ " --convert-to \"txt:Text (encoded):UTF8\" *.doc\n"\
"--print-to-file [-printer-name printer_name] [--outdir output_dir] files\n"\
" Batch print files to file.\n"\
" If --outdir is not specified then current working dir is used as output_dir.\n"\
diff --git a/desktop/source/app/dispatchwatcher.cxx b/desktop/source/app/dispatchwatcher.cxx
index abdbe38..77e5857 100644
--- a/desktop/source/app/dispatchwatcher.cxx
+++ b/desktop/source/app/dispatchwatcher.cxx
@@ -375,7 +375,21 @@ bool DispatchWatcher::executeDispatchRequests( const DispatchList& aDispatchRequ
sal_Int32 nIndex = aArgs.getLength();
aArgs.realloc(nIndex+1);
aArgs[nIndex].Name = "FilterName";
- aArgs[nIndex].Value <<= aForcedInputFilter;
+
+ sal_Int32 nFilterOptionsIndex = aForcedInputFilter.indexOf( ':' );
+ if( 0 < nFilterOptionsIndex )
+ {
+ aArgs[nIndex].Value <<= aForcedInputFilter.copy( 0, nFilterOptionsIndex );
+
+ nIndex = aArgs.getLength();
+ aArgs.realloc(nIndex+1);
+ aArgs[nIndex].Name = "FilterOptions";
+ aArgs[nIndex].Value <<= aForcedInputFilter.copy( nFilterOptionsIndex+1 );
+ }
+ else
+ {
+ aArgs[nIndex].Value <<= aForcedInputFilter;
+ }
}
// This is a synchron loading of a component so we don't have to deal with our statusChanged listener mechanism.
@@ -449,12 +463,23 @@ bool DispatchWatcher::executeDispatchRequests( const DispatchList& aDispatchRequ
aFilter = impl_GuessFilter( aName, aOutFile );
}
- Sequence<PropertyValue> conversionProperties( 2 );
+ sal_Int32 nFilterOptionsIndex = aFilter.indexOf( ':' );
+ Sequence<PropertyValue> conversionProperties( 0 < nFilterOptionsIndex ? 3 : 2 );
conversionProperties[0].Name = "Overwrite";
conversionProperties[0].Value <<= sal_True;
conversionProperties[1].Name = "FilterName";
- conversionProperties[1].Value <<= aFilter;
+ if( 0 < nFilterOptionsIndex )
+ {
+ conversionProperties[1].Value <<= aFilter.copy( 0, nFilterOptionsIndex );
+
+ conversionProperties[2].Name = "FilterOptions";
+ conversionProperties[2].Value <<= aFilter.copy( nFilterOptionsIndex+1 );
+ }
+ else
+ {
+ conversionProperties[1].Value <<= aFilter;
+ }
OUString aTempName;
FileBase::getSystemPathFromFileURL( aName, aTempName );
More information about the Libreoffice-commits
mailing list