diff options
author | Greggory Hernandez <greggory.hz@gmail.com> | 2012-02-22 14:08:57 +0000 |
---|---|---|
committer | Michael Meeks <michael.meeks@suse.com> | 2012-02-22 14:09:45 +0000 |
commit | aff6db70245a74039b5331810d3ff654b1f6af63 (patch) | |
tree | 24467551cc77e694179b989bfc576baee0b4f199 | |
parent | 00f022bac10629d35eb6f073c3dfe90e120202b5 (diff) |
fdo#37210 - UI: Calc usability improvement: Merge cells on right mouse click
-rw-r--r-- | sc/source/ui/src/popup.src | 6 | ||||
-rw-r--r-- | svtools/source/graphic/grfmgr.cxx | 5 | ||||
-rw-r--r-- | svtools/source/graphic/provider.cxx | 3 | ||||
-rw-r--r-- | svx/source/xml/xmlgrhlp.cxx | 5 | ||||
-rw-r--r-- | sw/source/core/graphic/ndgrf.cxx | 33 |
5 files changed, 52 insertions, 0 deletions
diff --git a/sc/source/ui/src/popup.src b/sc/source/ui/src/popup.src index 24e9c58ead19..441c336cb9c0 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 7c2de86b9767..2124d62da555 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 d5bcf46d990b..185e9dc1712c 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 d73c19e475d3..9f2c6c89b127 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 151d79528810..907e1f009483 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; } |