desktop/source/app/dispatchwatcher.cxx |   19 +++++++------
 sc/source/ui/docshell/docsh.cxx        |   48 +++++++++++++++++++++++----------
 2 files changed, 45 insertions(+), 22 deletions(-)

New commits:
commit 55f0121dd7ed2d7e84adc597bdd24ca40e0b0ce4
Author:     Eike Rathke <er...@redhat.com>
AuthorDate: Tue Jul 20 23:09:59 2021 +0200
Commit:     Caolán McNamara <caol...@redhat.com>
CommitDate: Sun Jul 25 15:54:14 2021 +0200

    Related: tdf#135762 Suppress cout if not command line
    
    Change-Id: I9431221aadf97739bb197871f25fa151ef4c391c
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119294
    Reviewed-by: Eike Rathke <er...@redhat.com>
    Tested-by: Jenkins
    (cherry picked from commit 0cda081c9aa3b3dcb363f97bac60c845ce9a13e0)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119255
    Reviewed-by: Caolán McNamara <caol...@redhat.com>

diff --git a/desktop/source/app/dispatchwatcher.cxx 
b/desktop/source/app/dispatchwatcher.cxx
index 1c4d878614c5..0e39415d8fab 100644
--- a/desktop/source/app/dispatchwatcher.cxx
+++ b/desktop/source/app/dispatchwatcher.cxx
@@ -608,15 +608,17 @@ bool DispatchWatcher::executeDispatchRequests( const 
std::vector<DispatchRequest
                             else
                             {
                                 sal_Int32 nFilterOptionsIndex = 
aFilter.indexOf(':');
-                                sal_Int32 nProps = ( 0 < nFilterOptionsIndex ) 
? 3 : 2;
+                                sal_Int32 nProps = ( 0 < nFilterOptionsIndex ) 
? 4 : 3;
 
                                 if ( !aImgOut.isEmpty() )
                                     nProps +=1;
                                 Sequence<PropertyValue> conversionProperties( 
nProps );
-                                conversionProperties[0].Name = "Overwrite";
-                                conversionProperties[0].Value <<= true;
+                                conversionProperties[0].Name = 
"ConversionRequestOrigin";
+                                conversionProperties[0].Value <<= 
OUString("CommandLine");
+                                conversionProperties[1].Name = "Overwrite";
+                                conversionProperties[1].Value <<= true;
 
-                                conversionProperties[1].Name = "FilterName";
+                                conversionProperties[2].Name = "FilterName";
                                 if( 0 < nFilterOptionsIndex )
                                 {
                                     OUString sFilterName = aFilter.copy(0, 
nFilterOptionsIndex);
@@ -641,18 +643,19 @@ bool DispatchWatcher::executeDispatchRequests( const 
std::vector<DispatchRequest
                                         bMultiFileTarget = (!aTok.isEmpty() && 
aTok.toInt32() != 0);
                                     }
 
-                                    conversionProperties[1].Value <<= 
sFilterName;
+                                    conversionProperties[2].Value <<= 
sFilterName;
 
-                                    conversionProperties[2].Name = 
"FilterOptions";
-                                    conversionProperties[2].Value <<= 
sFilterOptions;
+                                    conversionProperties[3].Name = 
"FilterOptions";
+                                    conversionProperties[3].Value <<= 
sFilterOptions;
                                 }
                                 else
                                 {
-                                    conversionProperties[1].Value <<= aFilter;
+                                    conversionProperties[2].Value <<= aFilter;
                                 }
 
                                 if ( !aImgOut.isEmpty() )
                                 {
+                                    
assert(conversionProperties[nProps-1].Name.isEmpty());
                                     conversionProperties[nProps-1].Name = 
"ImageFilter";
                                     conversionProperties[nProps-1].Value <<= 
aImgOut;
                                 }
diff --git a/sc/source/ui/docshell/docsh.cxx b/sc/source/ui/docshell/docsh.cxx
index 21137a7bb1b6..29435d90a2f4 100644
--- a/sc/source/ui/docshell/docsh.cxx
+++ b/sc/source/ui/docshell/docsh.cxx
@@ -2417,6 +2417,19 @@ bool ScDocShell::ConvertTo( SfxMedium &rMed )
             // Only from command line --convert-to
             bRet = true;
 
+            // Verbose only from command line, not UI (in case we actually
+            // implement that) nor macro filter options.
+            bool bVerbose = false;
+            const css::uno::Sequence<css::beans::PropertyValue> & rArgs = 
rMed.GetArgs();
+            const auto pProp = std::find_if( rArgs.begin(), rArgs.end(),
+                    [](const css::beans::PropertyValue& rProp) { return 
rProp.Name == "ConversionRequestOrigin"; });
+            if (pProp != rArgs.end())
+            {
+                OUString aOrigin;
+                pProp->Value >>= aOrigin;
+                bVerbose = (aOrigin == "CommandLine");
+            }
+
             SCTAB nStartTab;
             SCTAB nCount = m_aDocument.GetTableCount();
             if (aOptions.nSheetToExport == -1)
@@ -2433,11 +2446,14 @@ bool ScDocShell::ConvertTo( SfxMedium &rMed )
             else
             {
                 // Usage error, no export but log.
-                if (aOptions.nSheetToExport < 0)
-                    std::cout << "Bad sheet number string given." << std::endl;
-                else
-                    std::cout << "No sheet number " << 
OString::number(aOptions.nSheetToExport)
-                                                    << ", number of sheets is 
" << nCount << std::endl;
+                if (bVerbose)
+                {
+                    if (aOptions.nSheetToExport < 0)
+                        std::cout << "Bad sheet number string given." << 
std::endl;
+                    else
+                        std::cout << "No sheet number " << 
aOptions.nSheetToExport
+                            << ", number of sheets is " << nCount << std::endl;
+                }
                 nStartTab = 0;
                 nCount = 0;
                 SetError(SCERR_EXPORT_DATA);
@@ -2462,15 +2478,19 @@ bool ScDocShell::ConvertTo( SfxMedium &rMed )
 
                 // log similar to DispatchWatcher::executeDispatchRequests
                 OUString aOutFile = 
aSheetURLObject.GetMainURL(INetURLObject::DecodeMechanism::NONE);
-                OUString aDisplayedName;
-                if (osl::FileBase::E_None != 
osl::FileBase::getSystemPathFromFileURL(aOutFile, aDisplayedName))
-                    aDisplayedName = aOutFile;
-                std::cout << "Writing sheet " << OUStringToOString(sTabName, 
osl_getThreadTextEncoding()) << " -> "
-                                              << 
OUStringToOString(aDisplayedName, osl_getThreadTextEncoding())
-                                              << std::endl;
-
-                if (FStatHelper::IsDocument(aOutFile))
-                    std::cout << "Overwriting: " << 
OUStringToOString(aDisplayedName, osl_getThreadTextEncoding()) << std::endl ;
+                if (bVerbose)
+                {
+                    OUString aDisplayedName;
+                    if (osl::FileBase::E_None != 
osl::FileBase::getSystemPathFromFileURL(aOutFile, aDisplayedName))
+                        aDisplayedName = aOutFile;
+                    std::cout << "Writing sheet " << 
OUStringToOString(sTabName, osl_getThreadTextEncoding()) << " -> "
+                                                  << 
OUStringToOString(aDisplayedName, osl_getThreadTextEncoding())
+                                                  << std::endl;
+
+                    if (FStatHelper::IsDocument(aOutFile))
+                        std::cout << "Overwriting: " << 
OUStringToOString(aDisplayedName, osl_getThreadTextEncoding())
+                                                     << std::endl ;
+                }
 
                 std::unique_ptr<SvStream> xStm = 
::utl::UcbStreamHelper::CreateStream(aOutFile, StreamMode::TRUNC | 
StreamMode::WRITE);
                 if (!xStm)
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to