ooo-build r12545 - in trunk: . bin patches/dev300



Author: jholesovsky
Date: Wed May 14 11:56:01 2008
New Revision: 12545
URL: http://svn.gnome.org/viewvc/ooo-build?rev=12545&view=rev

Log:
2008-05-14  Jan Holesovsky  <kendy suse cz>

        * patches/dev300/tools-urlobj-smb-scheme-patch.diff,
          patches/dev300/samba-hyperlinks-sc-sd.diff,
          patches/dev300/apply: Convert \\host\dir\file.bla hyperlinks in Calc
          and Impress to smb://host/dir/file.bla on Linux (and back when
          saving as MS formats).

        * bin/build-galleries: Adapt to the paths after the 3 layer OOo
          changes.


Added:
   trunk/patches/dev300/samba-hyperlinks-sc-sd.diff
Modified:
   trunk/ChangeLog
   trunk/bin/build-galleries
   trunk/patches/dev300/apply
   trunk/patches/dev300/tools-urlobj-smb-scheme-patch.diff

Modified: trunk/bin/build-galleries
==============================================================================
--- trunk/bin/build-galleries	(original)
+++ trunk/bin/build-galleries	Wed May 14 11:56:01 2008
@@ -15,8 +15,8 @@
 fi
 
 # source ooenv if it exists
-if [ -f "$OOINSTDIR/program/ooenv" ] ; then
-    pushd "$OOINSTDIR/program" > /dev/null
+if [ -f "$OOINSTDIR/openoffice.org3/program/ooenv" ] ; then
+    pushd "$OOINSTDIR/openoffice.org3/program" > /dev/null
     . ooenv
     popd > /dev/null
 fi
@@ -40,10 +40,10 @@
 fi
 
 # where are installed the OOo-related files (thumbnails & points at the files, ...)
-GAL_DIR=$OOINSTDIR/share/gallery
+GAL_DIR=$OOINSTDIR/openoffice.org/basis3.0/share/gallery
 # It requires the gengal binary
 # The binary is actually available in OOo only when built with ooo-build
-GAL_BIN=$OOINSTDIR/program/gengal
+GAL_BIN=$OOINSTDIR/openoffice.org/basis3.0/program/gengal
 # start number for the new galleries
 GAL_NUMBER_FROM=70
 

Modified: trunk/patches/dev300/apply
==============================================================================
--- trunk/patches/dev300/apply	(original)
+++ trunk/patches/dev300/apply	Wed May 14 11:56:01 2008
@@ -411,8 +411,9 @@
 # fix that allows OOo to work with a standard (unpatched) libjpeg,
 jpegc.c.diff, i#80674, n#272574, flr
 
-# process relative SMB paths correctly
+# process relative SMB paths (in hyperlinks) correctly
 tools-urlobj-smb-scheme-patch.diff, n#261623, flr
+samba-hyperlinks-sc-sd.diff, n#382718, jholesov
 tools-qa-urlobj-unittest.diff, n#261623, flr
 
 # try autodetection if it is allowed and the current java has been removed

Added: trunk/patches/dev300/samba-hyperlinks-sc-sd.diff
==============================================================================
--- (empty file)
+++ trunk/patches/dev300/samba-hyperlinks-sc-sd.diff	Wed May 14 11:56:01 2008
@@ -0,0 +1,68 @@
+--- sc/source/filter/excel/xecontent.cxx	2008-05-13 15:26:02.000000000 +0200
++++ sc/source/filter/excel/xecontent.cxx	2008-05-13 15:59:33.000000000 +0200
+@@ -350,12 +350,20 @@ XclExpHyperlink::XclExpHyperlink( const 
+     }
+ 
+     // file link or URL
+-    if( eProtocol == INET_PROT_FILE )
++    if( eProtocol == INET_PROT_FILE || eProtocol == INET_PROT_SMB )
+     {
+         sal_uInt16 nLevel;
+         bool bRel;
+         String aFileName( BuildFileName( nLevel, bRel, rUrl, rRoot ) );
+ 
++        if( eProtocol == INET_PROT_SMB )
++        {
++            // #n382718# (and #n261623#) Convert smb notation to '\\'
++            aFileName = aUrlObj.GetMainURL( INetURLObject::NO_DECODE );
++            aFileName = String( aFileName.GetBuffer() + 4 ); // skip the 'smb:' part
++            aFileName.SearchAndReplaceAll( '/', '\\' );
++        }
++
+         if( !bRel )
+             mnFlags |= EXC_HLINK_ABS;
+         mnFlags |= EXC_HLINK_BODY;
+--- sd/source/filter/pptin.cxx	2008-05-14 10:45:19.000000000 +0200
++++ sd/source/filter/pptin.cxx	2008-05-14 10:44:43.000000000 +0200
+@@ -437,6 +437,11 @@ sal_Bool ImplSdPPTImport::Import()
+ 										aPropItem >> pHyperlink->nInfo;
+ 										if ( !aPropItem.Read( pHyperlink->aTarget, VT_EMPTY ) )
+ 											break;
++
++										// #n382718# (and #n261623#) Convert '\\' notation to 'smb://'
++										INetURLObject aUrl( pHyperlink->aTarget, INET_PROT_FILE );
++										pHyperlink->aTarget = aUrl.GetMainURL( INetURLObject::NO_DECODE );
++
+ 										if ( !aPropItem.Read( pHyperlink->aSubAdress, VT_EMPTY ) )
+ 											break;
+ 										pHyperlink->nStartPos = pHyperlink->nEndPos = -1;
+--- sd/source/filter/eppt/epptso.cxx	2008-05-13 16:07:26.000000000 +0200
++++ sd/source/filter/eppt/epptso.cxx	2008-05-14 10:34:01.000000000 +0200
+@@ -3054,9 +3054,18 @@ void PPTWriter::ImplWriteTextStyleAtom( 
+ 							String aPageUrl;
+ 							String aEmpty;
+ 							String aFile( pFieldEntry->aFieldUrl );
++							String aTarget( pFieldEntry->aFieldUrl );
+ 							INetURLObject aUrl( pFieldEntry->aFieldUrl );
+ 							if ( INET_PROT_FILE == aUrl.GetProtocol() )
+ 								aFile = aUrl.PathToFileName();
++							else if ( INET_PROT_SMB == aUrl.GetProtocol() )
++							{
++								// #n382718# (and #n261623#) Convert smb notation to '\\'
++								aFile = aUrl.GetMainURL( INetURLObject::NO_DECODE );
++								aFile = String( aFile.GetBuffer() + 4 ); // skip the 'smb:' part
++								aFile.SearchAndReplaceAll( '/', '\\' );
++								aTarget = aFile;
++							}
+ 							else if ( pFieldEntry->aFieldUrl.GetChar( 0 ) == '#' )
+ 							{
+ 								String aPage( INetURLObject::decode( pFieldEntry->aFieldUrl, '%', INetURLObject::DECODE_WITH_CHARSET ) );
+@@ -3077,7 +3086,7 @@ void PPTWriter::ImplWriteTextStyleAtom( 
+ 							if ( aPageUrl.Len() )
+ 								nHyperId = ImplInsertBookmarkURL( aPageUrl, 1 | ( nPageIndex << 8 ) | ( 1 << 31 ), pFieldEntry->aRepresentation, aEmpty, aEmpty, aPageUrl );
+ 							else
+-								nHyperId = ImplInsertBookmarkURL( pFieldEntry->aFieldUrl, 2 | ( nHyperId << 8 ), aFile, pFieldEntry->aFieldUrl, aEmpty, aEmpty );
++								nHyperId = ImplInsertBookmarkURL( pFieldEntry->aFieldUrl, 2 | ( nHyperId << 8 ), aFile, aTarget, aEmpty, aEmpty );
+ 
+                             rOut << (sal_uInt32)( ( EPP_InteractiveInfo << 16 ) | 0xf ) << (sal_uInt32)24
+                                  << (sal_uInt32)( EPP_InteractiveInfoAtom << 16 ) << (sal_uInt32)16

Modified: trunk/patches/dev300/tools-urlobj-smb-scheme-patch.diff
==============================================================================
--- trunk/patches/dev300/tools-urlobj-smb-scheme-patch.diff	(original)
+++ trunk/patches/dev300/tools-urlobj-smb-scheme-patch.diff	Wed May 14 11:56:01 2008
@@ -72,18 +72,20 @@
      {
  // version 1 (for a document)
  
-@@ -1036,7 +1036,13 @@
+@@ -1036,7 +1036,15 @@
              0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
          };
  
 -        sURL = aURL.PathToFileName();
-+	if (eProto == INET_PROT_SMB) { // #n261623# Convert smb notation to \\
-+	    sURL = aURL.GetMainURL(INetURLObject::NO_DECODE);
-+	    sURL = String(sURL.GetBuffer()+strlen("smb:"));
-+	    sURL.SearchAndReplaceAll('/', '\\');
-+	} else {
-+	    sURL = aURL.PathToFileName();
-+	}
++        if (eProto == INET_PROT_SMB)
++        {
++            // #n261623# Convert smb notation to '\\'
++            sURL = aURL.GetMainURL( INetURLObject::NO_DECODE );
++            sURL = String( sURL.GetBuffer()+strlen("smb:") );
++            sURL.SearchAndReplaceAll( '/', '\\' );
++        }
++        else
++            sURL = aURL.PathToFileName();
  
          rWrt.pDataStrm->Write( MAGIC_C, sizeof(MAGIC_C) );
          SwWW8Writer::WriteLong( *rWrt.pDataStrm, sURL.Len()+1 );



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]