[ooo-build-commit] .: 2 commits - patches/dev300

Muthu Subramanian sumuthu at kemper.freedesktop.org
Wed Jul 28 09:31:02 PDT 2010


 patches/dev300/apply                          |    3 
 patches/dev300/desktop-infilter-option.diff   |  143 ++++++++++++++++++++++++++
 patches/dev300/ooxml-sc-showdropdown-fix.diff |   12 ++
 3 files changed, 158 insertions(+)

New commits:
commit cde2c20c6f3755473678dc01eb30bc84952832ea
Author: Muthu Subramanian K <sumuthu at novell.com>
Date:   Wed Jul 28 17:43:02 2010 +0530

    Fix the export of showDropDown attribute.
    
    It is actually !(showDropDown). Excel seems to
    export the negated values of that attribute.
    
    * patches/dev300/apply:
    * patches/dev300/ooxml-sc-showdropdown-fix.diff:

diff --git a/patches/dev300/apply b/patches/dev300/apply
index cdafc27..96eddf1 100644
--- a/patches/dev300/apply
+++ b/patches/dev300/apply
@@ -3036,6 +3036,7 @@ ooxml-filters-calc.diff, muthusuba
 ooxml-sc-page-date.diff, muthusuba
 ooxml-schema.diff, muthusuba
 ooxml-sc-paneexport.diff, muthusuba
+ooxml-sc-showdropdown-fix.diff, muthusuba
 desktop-cmd-bulk-conversion.diff, flr-muthusuba
 # depends on (order) desktop-cmd-bulk-conversion.diff
 desktop-infilter-option.diff, muthusuba
diff --git a/patches/dev300/ooxml-sc-showdropdown-fix.diff b/patches/dev300/ooxml-sc-showdropdown-fix.diff
new file mode 100644
index 0000000..d24f59e
--- /dev/null
+++ b/patches/dev300/ooxml-sc-showdropdown-fix.diff
@@ -0,0 +1,12 @@
+--- sc/source/filter/excel/xecontent.cxx	2010-07-16 21:20:19.000000000 +0530
++++ sc/source/filter/excel/xecontent.cxx	2010-07-23 15:49:41.000000000 +0530
+@@ -1169,7 +1169,8 @@ void XclExpDV::SaveXml( XclExpXmlStream&
+             XML_operator,           lcl_GetOperatorType( mnFlags ),
+             XML_prompt,             XESTRING_TO_PSZ( maPromptText ),
+             XML_promptTitle,        XESTRING_TO_PSZ( maPromptTitle ),
+-            XML_showDropDown,       XclXmlUtils::ToPsz( ! ::get_flag( mnFlags, EXC_DV_SUPPRESSDROPDOWN ) ),
++            // showDropDown should have been showNoDropDown - check oox/xlsx import for details
++            XML_showDropDown,       XclXmlUtils::ToPsz( ::get_flag( mnFlags, EXC_DV_SUPPRESSDROPDOWN ) ),
+             XML_showErrorMessage,   XclXmlUtils::ToPsz( ::get_flag( mnFlags, EXC_DV_SHOWERROR ) ),
+             XML_showInputMessage,   XclXmlUtils::ToPsz( ::get_flag( mnFlags, EXC_DV_SHOWPROMPT ) ),
+             XML_sqref,              XclXmlUtils::ToOString( maScRanges ).getStr(),
commit 519b0dd796db6c4e701f8102f2f4cb5747cd9850
Author: Muthu Subramanian K <sumuthu at novell.com>
Date:   Fri Jul 23 21:44:39 2010 +0530

    Cmd line option (-infilter=...) for forcing input filter type.
    
    This is useful for both opening files via cmd line parameters
    and batch conversions.
    
    * patches/dev300/apply:
    * patches/dev300/desktop-infilter-option.diff:

diff --git a/patches/dev300/apply b/patches/dev300/apply
index 5d060fe..cdafc27 100644
--- a/patches/dev300/apply
+++ b/patches/dev300/apply
@@ -3037,6 +3037,8 @@ ooxml-sc-page-date.diff, muthusuba
 ooxml-schema.diff, muthusuba
 ooxml-sc-paneexport.diff, muthusuba
 desktop-cmd-bulk-conversion.diff, flr-muthusuba
+# depends on (order) desktop-cmd-bulk-conversion.diff
+desktop-infilter-option.diff, muthusuba
 ooxml-sc-docpropsimp.diff, muthusuba
 ooxml-sc-page-date-imp.diff, muthusuba
 ooxml-sc-brk.diff, muthusuba
diff --git a/patches/dev300/desktop-infilter-option.diff b/patches/dev300/desktop-infilter-option.diff
new file mode 100644
index 0000000..22391c9
--- /dev/null
+++ b/patches/dev300/desktop-infilter-option.diff
@@ -0,0 +1,143 @@
+--- desktop/source/app/app.cxx	2010-07-22 16:09:09.000000000 +0530
++++ desktop/source/app/app.cxx	2010-07-22 16:10:49.000000000 +0530
+@@ -2546,6 +2546,7 @@ void Desktop::OpenClients()
+         pArgs->GetConversionList( aRequest.aConversionList );
+         pArgs->GetConversionParams( aRequest.aConversionParams );
+         pArgs->GetConversionOut( aRequest.aConversionOut );
++        pArgs->GetInFilter( aRequest.aInFilter );
+ 
+         if ( aRequest.aOpenList.getLength() > 0 ||
+              aRequest.aViewList.getLength() > 0 ||
+--- desktop/source/app/cmdlineargs.cxx	2010-07-22 15:52:08.000000000 +0530
++++ desktop/source/app/cmdlineargs.cxx	2010-07-22 16:26:35.000000000 +0530
+@@ -532,6 +532,11 @@ sal_Bool CommandLineArgs::InterpretComma
+         AddStringListParam_Impl( CMD_STRINGPARAM_SPLASHPIPE, aArgStr.Copy( 13 ) );
+         return sal_True;
+     }
++    else if ( aArgStr.Copy(0, 10).EqualsIgnoreCaseAscii( "-infilter=" ))
++    {
++        AddStringListParam_Impl( CMD_STRINGPARAM_INFILTER, aArgStr.Copy( 10 ) );
++        return sal_True;
++    }
+     #ifdef MACOSX
+     /* #i84053# ignore -psn on Mac
+        Platform dependent #ifdef here is ugly, however this is currently
+@@ -949,6 +954,13 @@ sal_Bool CommandLineArgs::GetLanguage( :
+     return m_aStrSetParams[ CMD_STRINGPARAM_LANGUAGE ];
+ }
+ 
++sal_Bool CommandLineArgs::GetInFilter( ::rtl::OUString& rPara ) const
++{
++    osl::MutexGuard aMutexGuard( m_aMutex );
++    rPara = m_aStrParams[ CMD_STRINGPARAM_INFILTER ];
++    return m_aStrSetParams[ CMD_STRINGPARAM_INFILTER ];
++}
++
+ sal_Bool CommandLineArgs::GetConversionList( ::rtl::OUString& rPara ) const
+ {
+     osl::MutexGuard  aMutexGuard( m_aMutex );
+--- desktop/source/app/cmdlineargs.hxx	2010-07-22 15:55:20.000000000 +0530
++++ desktop/source/app/cmdlineargs.hxx	2010-07-22 16:08:16.000000000 +0530
+@@ -94,6 +94,7 @@ class CommandLineArgs
+             CMD_STRINGPARAM_CONVERSIONLIST,
+             CMD_STRINGPARAM_CONVERSIONPARAMS,
+             CMD_STRINGPARAM_CONVERSIONOUT,
++            CMD_STRINGPARAM_INFILTER,
+             CMD_STRINGPARAM_DISPLAY,
+             CMD_STRINGPARAM_LANGUAGE,
+             CMD_STRINGPARAM_COUNT			// must be last element!
+@@ -175,6 +176,7 @@ class CommandLineArgs
+         sal_Bool				GetPrintToList( ::rtl::OUString& rPara ) const;
+         sal_Bool				GetPrinterName( ::rtl::OUString& rPara ) const;
+         sal_Bool                GetLanguage( ::rtl::OUString& rPara ) const;
++        sal_Bool                GetInFilter( ::rtl::OUString& rPara ) const;
+         sal_Bool                GetConversionList( ::rtl::OUString& rPara ) const;
+         sal_Bool                GetConversionParams( ::rtl::OUString& rPara ) const;
+         sal_Bool                GetConversionOut( ::rtl::OUString& rPara ) const;
+--- desktop/source/app/cmdlinehelp.cxx	2010-07-22 16:45:57.000000000 +0530
++++ desktop/source/app/cmdlinehelp.cxx	2010-07-22 16:47:46.000000000 +0530
+@@ -116,6 +116,9 @@ 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"\
++        "      Force an input filter type if possible\n"\
++        "      Eg. -infilter=\"Calc Office Open XML\"\n"\
+         "-convert-to output_file_extension[:output_filter_name] [-outdir ouput_dir] files\n"\
+         "      Batch convert files.\n"\
+         "      If -outdir is not specified then current working dir is used as output_dir.\n"\
+--- desktop/source/app/dispatchwatcher.cxx	2010-07-22 14:47:29.000000000 +0530
++++ desktop/source/app/dispatchwatcher.cxx	2010-07-22 16:42:25.000000000 +0530
+@@ -182,6 +182,8 @@ sal_Bool DispatchWatcher::executeDispatc
+     DispatchList::const_iterator	p;
+     std::vector< DispatchHolder >	aDispatches;
+     ::rtl::OUString					aAsTemplateArg( RTL_CONSTASCII_USTRINGPARAM( "AsTemplate"));
++    sal_Bool                        bSetInputFilter = sal_False;
++    ::rtl::OUString                 aForcedInputFilter;
+ 
+     for ( p = aDispatchRequestsList.begin(); p != aDispatchRequestsList.end(); p++ )
+     {
+@@ -192,6 +194,15 @@ sal_Bool DispatchWatcher::executeDispatc
+         if ( aDispatchRequest.aPreselectedFactory.getLength() )
+             nCount++;
+ 
++        // Set Input Filter
++        if ( aDispatchRequest.aRequestType == REQUEST_INFILTER )
++        {
++            bSetInputFilter = sal_True;
++            aForcedInputFilter = aDispatchRequest.aURL;
++            OfficeIPCThread::RequestsCompleted( 1 );
++            continue;
++        }
++
+         // we need more properties for a print/print to request
+         if ( aDispatchRequest.aRequestType == REQUEST_PRINT ||
+              aDispatchRequest.aRequestType == REQUEST_PRINTTO ||
+@@ -378,8 +389,16 @@ sal_Bool DispatchWatcher::executeDispatc
+                 aArgs[nIndex].Value <<= sal_True;
+             }
+ 
+-            // This is a synchron loading of a component so we don't have to deal with our statusChanged listener mechanism.
++            // Force input filter, if possible
++            if( bSetInputFilter )
++            {
++                sal_Int32 nIndex = aArgs.getLength();
++                aArgs.realloc(nIndex+1);
++                aArgs[nIndex].Name=OUString::createFromAscii("FilterName");
++                aArgs[nIndex].Value <<= aForcedInputFilter;
++            }
+ 
++            // This is a synchron loading of a component so we don't have to deal with our statusChanged listener mechanism.
+             try
+             {
+                 xDoc = Reference < XPrintable >( ::comphelper::SynchronousDispatch::dispatch( xDesktop, aName, aTarget, 0, aArgs ), UNO_QUERY );
+--- desktop/source/app/dispatchwatcher.hxx	2010-07-22 16:16:47.000000000 +0530
++++ desktop/source/app/dispatchwatcher.hxx	2010-07-22 16:17:05.000000000 +0530
+@@ -77,6 +77,7 @@ class DispatchWatcher : public ::cppu::W
+             REQUEST_FORCEOPEN,
+             REQUEST_FORCENEW,
+             REQUEST_CONVERSION,
++            REQUEST_INFILTER,
+             REQUEST_BATCHPRINT
+         };
+ 
+--- desktop/source/app/officeipcthread.cxx	2010-07-22 16:12:29.000000000 +0530
++++ desktop/source/app/officeipcthread.cxx	2010-07-22 16:15:44.000000000 +0530
+@@ -1011,6 +1011,7 @@ sal_Bool OfficeIPCThread::ExecuteCmdLine
+ 
+     rtl::OUString aEmpty;
+     // Create dispatch list for dispatch watcher
++    AddToDispatchList( aDispatchList, aRequest.aCwdUrl, aRequest.aInFilter, DispatchWatcher::REQUEST_INFILTER, aEmpty, aRequest.aModule );
+     AddToDispatchList( aDispatchList, aRequest.aCwdUrl, aRequest.aOpenList, DispatchWatcher::REQUEST_OPEN, aEmpty, aRequest.aModule );
+     AddToDispatchList( aDispatchList, aRequest.aCwdUrl, aRequest.aViewList, DispatchWatcher::REQUEST_VIEW, aEmpty, aRequest.aModule );
+     AddToDispatchList( aDispatchList, aRequest.aCwdUrl, aRequest.aStartList, DispatchWatcher::REQUEST_START, aEmpty, aRequest.aModule );
+--- desktop/source/app/officeipcthread.hxx	2010-07-22 16:09:43.000000000 +0530
++++ desktop/source/app/officeipcthread.hxx	2010-07-22 16:10:11.000000000 +0530
+@@ -69,6 +69,7 @@ struct ProcessDocumentsRequest
+     ::rtl::OUString aConversionList;
+     ::rtl::OUString aConversionParams;
+     ::rtl::OUString aConversionOut;
++    ::rtl::OUString aInFilter;
+     ::osl::Condition *pcProcessed;  // pointer condition to be set when the request has been processed
+ };
+ 


More information about the ooo-build-commit mailing list