Kaydet (Commit) aff6db70 authored tarafından Greggory Hernandez's avatar Greggory Hernandez Kaydeden (comit) Michael Meeks

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

üst 00f022ba
...@@ -75,6 +75,12 @@ Menu RID_POPUP_CELLS ...@@ -75,6 +75,12 @@ Menu RID_POPUP_CELLS
Identifier = SID_DELETE ; Identifier = SID_DELETE ;
HelpId = CMD_SID_DELETE ; HelpId = CMD_SID_DELETE ;
Text [ en-US ] = "Delete C~ontents..." ; Text [ en-US ] = "Delete C~ontents..." ;
};
MenuItem
{
Identifier = FID_MERGE_ON ;
HelpId = CMD_FID_MERGE_ON ;
Text [ en-US ] = "~Merge Cells..." ;
}; };
//------------------------------ //------------------------------
MenuItem { Separator = TRUE ; }; MenuItem { Separator = TRUE ; };
......
...@@ -422,12 +422,17 @@ String GraphicObject::GetLink() const ...@@ -422,12 +422,17 @@ String GraphicObject::GetLink() const
void GraphicObject::SetUserData() void GraphicObject::SetUserData()
{ {
fprintf (stderr, "SetUserData to null from '%s'\n",
mpUserData ? rtl::OUStringToOString(*mpUserData, RTL_TEXTENCODING_UTF8).getStr() : "<null>");
if( mpUserData ) if( mpUserData )
delete mpUserData, mpUserData = NULL; delete mpUserData, mpUserData = NULL;
} }
void GraphicObject::SetUserData( const String& rUserData ) 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 ); delete mpUserData, mpUserData = new String( rUserData );
} }
......
...@@ -867,6 +867,7 @@ void SAL_CALL GraphicProvider::storeGraphic( const uno::Reference< ::graphic::XG ...@@ -867,6 +867,7 @@ void SAL_CALL GraphicProvider::storeGraphic( const uno::Reference< ::graphic::XG
if( pGraphic && ( pGraphic->GetType() != GRAPHIC_NONE ) ) if( pGraphic && ( pGraphic->GetType() != GRAPHIC_NONE ) )
{ {
fprintf (stderr, "provider.cxx - write graphic: ! 0x%lx\n", (long)pGraphic->GetChecksum() );
::Graphic aGraphic( *pGraphic ); ::Graphic aGraphic( *pGraphic );
ImplApplyFilterData( aGraphic, aFilterDataSeq ); ImplApplyFilterData( aGraphic, aFilterDataSeq );
...@@ -884,6 +885,8 @@ void SAL_CALL GraphicProvider::storeGraphic( const uno::Reference< ::graphic::XG ...@@ -884,6 +885,8 @@ void SAL_CALL GraphicProvider::storeGraphic( const uno::Reference< ::graphic::XG
} }
aMemStrm.Seek( STREAM_SEEK_TO_END ); aMemStrm.Seek( STREAM_SEEK_TO_END );
pOStm->Write( aMemStrm.GetData(), aMemStrm.Tell() ); pOStm->Write( aMemStrm.GetData(), aMemStrm.Tell() );
fprintf (stderr, "provider.cxx - after write graphic: ! 0x%lx\n", (long)pGraphic->GetChecksum() );
} }
} }
} }
......
...@@ -621,6 +621,8 @@ sal_Bool SvXMLGraphicHelper::ImplWriteGraphic( const ::rtl::OUString& rPictureSt ...@@ -621,6 +621,8 @@ sal_Bool SvXMLGraphicHelper::ImplWriteGraphic( const ::rtl::OUString& rPictureSt
} }
else if( aGraphic.GetType() == GRAPHIC_GDIMETAFILE ) 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->SetVersion( SOFFICE_FILEFORMAT_8 );
pStream->SetCompressMode( COMPRESSMODE_ZBITMAP ); pStream->SetCompressMode( COMPRESSMODE_ZBITMAP );
...@@ -643,6 +645,9 @@ sal_Bool SvXMLGraphicHelper::ImplWriteGraphic( const ::rtl::OUString& rPictureSt ...@@ -643,6 +645,9 @@ sal_Bool SvXMLGraphicHelper::ImplWriteGraphic( const ::rtl::OUString& rPictureSt
rMtf.Write( *pStream, GDIMETAFILE_WRITE_REPLACEMENT_RENDERGRAPHIC ); rMtf.Write( *pStream, GDIMETAFILE_WRITE_REPLACEMENT_RENDERGRAPHIC );
bRet = ( pStream->GetError() == 0 ); bRet = ( pStream->GetError() == 0 );
fprintf (stderr, "xmlgrhlp.cxx - done write meta-file ! 0x%lx\n",
(long)aGraphic.GetChecksum() );
} }
} }
uno::Reference < embed::XTransactedObject > xStorage( uno::Reference < embed::XTransactedObject > xStorage(
......
...@@ -63,6 +63,14 @@ ...@@ -63,6 +63,14 @@
using namespace com::sun::star; 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 // SwGrfNode
// -------------------- // --------------------
...@@ -83,6 +91,7 @@ SwGrfNode::SwGrfNode( ...@@ -83,6 +91,7 @@ SwGrfNode::SwGrfNode(
bGrafikArrived = sal_True; bGrafikArrived = sal_True;
ReRead(rGrfName,rFltName, pGraphic, 0, sal_False); ReRead(rGrfName,rFltName, pGraphic, 0, sal_False);
dbg(this);
} }
SwGrfNode::SwGrfNode( const SwNodeIndex & rWhere, SwGrfNode::SwGrfNode( const SwNodeIndex & rWhere,
...@@ -100,6 +109,7 @@ SwGrfNode::SwGrfNode( const SwNodeIndex & rWhere, ...@@ -100,6 +109,7 @@ SwGrfNode::SwGrfNode( const SwNodeIndex & rWhere,
bInSwapIn = bChgTwipSize = bChgTwipSizeFromPixel= bLoadLowResGrf = bInSwapIn = bChgTwipSize = bChgTwipSizeFromPixel= bLoadLowResGrf =
bFrameInPaint = bScaleImageMap = sal_False; bFrameInPaint = bScaleImageMap = sal_False;
bGrafikArrived = sal_True; bGrafikArrived = sal_True;
dbg(this);
} }
// Konstruktor fuer den SW/G-Reader. Dieser ctor wird verwendet, // Konstruktor fuer den SW/G-Reader. Dieser ctor wird verwendet,
...@@ -135,6 +145,7 @@ SwGrfNode::SwGrfNode( const SwNodeIndex & rWhere, ...@@ -135,6 +145,7 @@ SwGrfNode::SwGrfNode( const SwNodeIndex & rWhere,
((SwBaseLink*)&refLink)->Connect(); ((SwBaseLink*)&refLink)->Connect();
} }
} }
dbg(this);
} }
sal_Bool SwGrfNode::ReRead( sal_Bool SwGrfNode::ReRead(
...@@ -387,6 +398,9 @@ sal_Bool SwGrfNode::ImportGraphic( SvStream& rStrm ) ...@@ -387,6 +398,9 @@ sal_Bool SwGrfNode::ImportGraphic( SvStream& rStrm )
const String aGraphicURL( aGrfObj.GetUserData() ); const String aGraphicURL( aGrfObj.GetUserData() );
if( !GraphicFilter::GetGraphicFilter().ImportGraphic( aGraphic, aGraphicURL, rStrm ) ) 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.SetGraphic( aGraphic );
aGrfObj.SetUserData( aGraphicURL ); aGrfObj.SetUserData( aGraphicURL );
return sal_True; return sal_True;
...@@ -500,6 +514,13 @@ short SwGrfNode::SwapOut() ...@@ -500,6 +514,13 @@ short SwGrfNode::SwapOut()
if( !aGrfObj.SwapOut() ) if( !aGrfObj.SwapOut() )
return 0; 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 // Geschriebene Grafiken oder Links werden jetzt weggeschmissen
return (short) aGrfObj.SwapOut( NULL ); return (short) aGrfObj.SwapOut( NULL );
} }
...@@ -711,6 +732,8 @@ void SwGrfNode::DelStreamName() ...@@ -711,6 +732,8 @@ void SwGrfNode::DelStreamName()
{ {
if( HasStreamName() ) 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 // Dann die Grafik im Storage loeschen
uno::Reference < embed::XStorage > xDocStg = GetDoc()->GetDocStorage(); uno::Reference < embed::XStorage > xDocStg = GetDoc()->GetDocStorage();
if( xDocStg.is() ) if( xDocStg.is() )
...@@ -798,6 +821,13 @@ SvStream* SwGrfNode::_GetStreamForEmbedGrf( ...@@ -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. // assure that graphic file exist in the storage.
if ( _refPics->hasByName( _aStrmName ) && if ( _refPics->hasByName( _aStrmName ) &&
_refPics->isStreamElement( _aStrmName ) ) _refPics->isStreamElement( _aStrmName ) )
...@@ -827,6 +857,9 @@ void SwGrfNode::_GetStreamStorageNames( String& rStrmName, ...@@ -827,6 +857,9 @@ void SwGrfNode::_GetStreamStorageNames( String& rStrmName,
if( !aUserData.Len() ) if( !aUserData.Len() )
return; 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) { if (aNewStrmName.Len()>0) {
aUserData=aNewStrmName; aUserData=aNewStrmName;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment