[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