[Libreoffice-commits] .: sc/source svtools/source svx/source sw/source

Michael Meeks michael at kemper.freedesktop.org
Wed Feb 22 06:10:52 PST 2012


 sc/source/ui/src/popup.src          |    6 ++++++
 svtools/source/graphic/grfmgr.cxx   |    5 +++++
 svtools/source/graphic/provider.cxx |    3 +++
 svx/source/xml/xmlgrhlp.cxx         |    5 +++++
 sw/source/core/graphic/ndgrf.cxx    |   33 +++++++++++++++++++++++++++++++++
 5 files changed, 52 insertions(+)

New commits:
commit aff6db70245a74039b5331810d3ff654b1f6af63
Author: Greggory Hernandez <greggory.hz at gmail.com>
Date:   Wed Feb 22 14:08:57 2012 +0000

    fdo#37210 - UI: Calc usability improvement: Merge cells on right mouse click

diff --git a/sc/source/ui/src/popup.src b/sc/source/ui/src/popup.src
index 24e9c58..441c336 100644
--- a/sc/source/ui/src/popup.src
+++ b/sc/source/ui/src/popup.src
@@ -76,6 +76,12 @@ Menu RID_POPUP_CELLS
             HelpId = CMD_SID_DELETE ;
             Text [ en-US ] = "Delete C~ontents..." ;
         };
+        MenuItem
+        {
+            Identifier = FID_MERGE_ON ;
+            HelpId = CMD_FID_MERGE_ON ;
+            Text [ en-US ] = "~Merge Cells..." ;
+        };
          //------------------------------
         MenuItem { Separator = TRUE ; };
          //------------------------------
diff --git a/svtools/source/graphic/grfmgr.cxx b/svtools/source/graphic/grfmgr.cxx
index 7c2de86..2124d62 100644
--- a/svtools/source/graphic/grfmgr.cxx
+++ b/svtools/source/graphic/grfmgr.cxx
@@ -422,12 +422,17 @@ String GraphicObject::GetLink() const
 
 void GraphicObject::SetUserData()
 {
+    fprintf (stderr, "SetUserData to null from '%s'\n",
+             mpUserData ? rtl::OUStringToOString(*mpUserData, RTL_TEXTENCODING_UTF8).getStr() : "<null>");
     if( mpUserData )
         delete mpUserData, mpUserData = NULL;
 }
 
 void GraphicObject::SetUserData( const String& rUserData )
 {
+    fprintf (stderr, "SetUserData to '%s' from '%s'\n",
+             rtl::OUStringToOString(rUserData, RTL_TEXTENCODING_UTF8).getStr(),
+             mpUserData ? rtl::OUStringToOString(*mpUserData, RTL_TEXTENCODING_UTF8).getStr() : "<null>");
     delete mpUserData, mpUserData = new String( rUserData );
 }
 
diff --git a/svtools/source/graphic/provider.cxx b/svtools/source/graphic/provider.cxx
index d5bcf46..185e9dc 100644
--- a/svtools/source/graphic/provider.cxx
+++ b/svtools/source/graphic/provider.cxx
@@ -867,6 +867,7 @@ void SAL_CALL GraphicProvider::storeGraphic( const uno::Reference< ::graphic::XG
 
                 if( pGraphic && ( pGraphic->GetType() != GRAPHIC_NONE ) )
                 {
+                    fprintf (stderr, "provider.cxx - write graphic: ! 0x%lx\n", (long)pGraphic->GetChecksum() );
                     ::Graphic aGraphic( *pGraphic );
                     ImplApplyFilterData( aGraphic, aFilterDataSeq );
 
@@ -884,6 +885,8 @@ void SAL_CALL GraphicProvider::storeGraphic( const uno::Reference< ::graphic::XG
                     }
                     aMemStrm.Seek( STREAM_SEEK_TO_END );
                     pOStm->Write( aMemStrm.GetData(), aMemStrm.Tell() );
+
+                    fprintf (stderr, "provider.cxx - after write graphic: ! 0x%lx\n", (long)pGraphic->GetChecksum() );
                 }
             }
         }
diff --git a/svx/source/xml/xmlgrhlp.cxx b/svx/source/xml/xmlgrhlp.cxx
index d73c19e..9f2c6c8 100644
--- a/svx/source/xml/xmlgrhlp.cxx
+++ b/svx/source/xml/xmlgrhlp.cxx
@@ -621,6 +621,8 @@ sal_Bool SvXMLGraphicHelper::ImplWriteGraphic( const ::rtl::OUString& rPictureSt
                 }
                 else if( aGraphic.GetType() == GRAPHIC_GDIMETAFILE )
                 {
+                    fprintf (stderr, "xmlgrhlp.cxx - write meta-file ! 0x%lx\n",
+                             (long)aGraphic.GetChecksum() );
                     pStream->SetVersion( SOFFICE_FILEFORMAT_8 );
                     pStream->SetCompressMode( COMPRESSMODE_ZBITMAP );
 
@@ -643,6 +645,9 @@ sal_Bool SvXMLGraphicHelper::ImplWriteGraphic( const ::rtl::OUString& rPictureSt
                         rMtf.Write( *pStream, GDIMETAFILE_WRITE_REPLACEMENT_RENDERGRAPHIC );
 
                     bRet = ( pStream->GetError() == 0 );
+
+                    fprintf (stderr, "xmlgrhlp.cxx - done write meta-file ! 0x%lx\n",
+                             (long)aGraphic.GetChecksum() );
                 }
             }
             uno::Reference < embed::XTransactedObject > xStorage(
diff --git a/sw/source/core/graphic/ndgrf.cxx b/sw/source/core/graphic/ndgrf.cxx
index 151d795..907e1f0 100644
--- a/sw/source/core/graphic/ndgrf.cxx
+++ b/sw/source/core/graphic/ndgrf.cxx
@@ -63,6 +63,14 @@
 
 using namespace com::sun::star;
 
+static void dbg (SwGrfNode *pNode)
+{
+    fprintf (stderr, "SwGrfNode created: '%s' 0x%lx\n",
+             rtl::OUStringToOString(pNode->GetGrfObj().GetUserData(),
+                                    RTL_TEXTENCODING_UTF8).getStr(),
+             (long)pNode->GetGrf().GetChecksum());
+}
+
 // --------------------
 // SwGrfNode
 // --------------------
@@ -83,6 +91,7 @@ SwGrfNode::SwGrfNode(
 
     bGrafikArrived = sal_True;
     ReRead(rGrfName,rFltName, pGraphic, 0, sal_False);
+    dbg(this);
 }
 
 SwGrfNode::SwGrfNode( const SwNodeIndex & rWhere,
@@ -100,6 +109,7 @@ SwGrfNode::SwGrfNode( const SwNodeIndex & rWhere,
     bInSwapIn = bChgTwipSize = bChgTwipSizeFromPixel= bLoadLowResGrf =
         bFrameInPaint = bScaleImageMap = sal_False;
     bGrafikArrived = sal_True;
+    dbg(this);
 }
 
 // Konstruktor fuer den SW/G-Reader. Dieser ctor wird verwendet,
@@ -135,6 +145,7 @@ SwGrfNode::SwGrfNode( const SwNodeIndex & rWhere,
             ((SwBaseLink*)&refLink)->Connect();
         }
     }
+    dbg(this);
 }
 
 sal_Bool SwGrfNode::ReRead(
@@ -387,6 +398,9 @@ sal_Bool SwGrfNode::ImportGraphic( SvStream& rStrm )
     const String aGraphicURL( aGrfObj.GetUserData() );
     if( !GraphicFilter::GetGraphicFilter().ImportGraphic( aGraphic, aGraphicURL, rStrm ) )
     {
+        fprintf (stderr, "Very curious set User Data of '%s' vs 0x%lx\n",
+                 rtl::OUStringToOString(aGraphicURL, RTL_TEXTENCODING_UTF8).getStr(),
+                 aGraphic.GetChecksum());
         aGrfObj.SetGraphic( aGraphic );
         aGrfObj.SetUserData( aGraphicURL );
         return sal_True;
@@ -500,6 +514,13 @@ short SwGrfNode::SwapOut()
                 if( !aGrfObj.SwapOut() )
                     return 0;
         }
+
+        if (HasStreamName() && aNewStrmName.Len() > 0 &&
+            aNewStrmName != aGrfObj.GetUserData())
+        {
+            fprintf (stderr, "not [!] swapping out stream with potentially bogus new name\n");
+            return 1;
+        }
         // Geschriebene Grafiken oder Links werden jetzt weggeschmissen
         return (short) aGrfObj.SwapOut( NULL );
     }
@@ -711,6 +732,8 @@ void SwGrfNode::DelStreamName()
 {
     if( HasStreamName() )
     {
+        fprintf (stderr, "FIXME: this method is -unutterably- broken - it takes no account of sharing images !\n\n\n");
+
         // Dann die Grafik im Storage loeschen
         uno::Reference < embed::XStorage > xDocStg = GetDoc()->GetDocStorage();
         if( xDocStg.is() )
@@ -798,6 +821,13 @@ SvStream* SwGrfNode::_GetStreamForEmbedGrf(
             }
         }
 
+        fprintf( stderr, "look for '%s' %d\n",
+                 rtl::OUStringToOString( _aStrmName, RTL_TEXTENCODING_UTF8 ).getStr(),
+                 _refPics->hasByName( _aStrmName ) );
+
+        fprintf( stderr, "look for [200004AD0000475F000033B381B9C98F.svm] %d\n",
+                 _refPics->hasByName( rtl::OUString::createFromAscii("200004AD0000475F000033B381B9C98F.svm" ) ) );
+
         // assure that graphic file exist in the storage.
         if ( _refPics->hasByName( _aStrmName ) &&
              _refPics->isStreamElement( _aStrmName ) )
@@ -827,6 +857,9 @@ void SwGrfNode::_GetStreamStorageNames( String& rStrmName,
     if( !aUserData.Len() )
         return;
 
+    fprintf (stderr, "UserData '%s' NewStrmName '%s'\n",
+             rtl::OUStringToOString(aUserData, RTL_TEXTENCODING_UTF8).getStr(),
+             rtl::OUStringToOString(aNewStrmName, RTL_TEXTENCODING_UTF8).getStr());
     if (aNewStrmName.Len()>0) {
         aUserData=aNewStrmName;
     }


More information about the Libreoffice-commits mailing list