Kaydet (Commit) 8857e144 authored tarafından Release Engineers's avatar Release Engineers

CWS-TOOLING: integrate CWS impress168

2009-04-24 11:26:33 +0200 wg  r271204 : i101157
2009-04-24 10:17:59 +0200 wg  r271200 : i101157
2009-04-23 15:50:12 +0200 wg  r271178 : i101157
2009-04-23 15:16:58 +0200 wg  r271176 : i101157
2009-04-23 13:04:41 +0200 wg  r271158 : i101157
2009-04-22 15:39:32 +0200 wg  r271123 : i101157
2009-04-22 14:27:24 +0200 wg  r271111 : i101157
2009-04-22 14:14:02 +0200 wg  r271109 : i101157
2009-04-17 14:34:19 +0200 wg  r270946 : i101157
2009-04-17 13:49:15 +0200 wg  r270939 : i101157
2009-03-31 14:54:52 +0200 sj  r270281 : CWS-TOOLING: rebase CWS impress168 to trunk@270033 (milestone: DEV300:m45)
2009-03-26 16:56:44 +0100 sj  r270089 : removed invalid file names
2009-03-24 14:02:54 +0100 sj  r269944 : CWS-TOOLING: rebase CWS impress168 to trunk@269781 (milestone: DEV300:m44)
2009-03-06 16:32:14 +0100 sj  r269020 : #i99970# importing customshapes without group object, taking care of the correct text alignment
2009-02-27 13:53:24 +0100 sj  r268591 : #158501,158483# fixed positioning problem of 3d customshapes
2009-02-19 16:02:00 +0100 sj  r268292 : #76543# fixed interactive hyperlink program action with relativ url
2009-02-18 15:36:52 +0100 sj  r268233 : #158503# added import of circular gradients for ellipse shapes
2009-02-16 19:51:54 +0100 sj  r267836 : #i99146# calculating correct text bounds
2009-02-12 13:59:46 +0100 sj  r267654 : #i96179# fixed bullet problem
2009-02-10 17:26:41 +0100 sj  r267566 : #158476# fixed import of the ribbon shape
2009-02-10 17:10:27 +0100 cl  r267561 : #i95364# fixed type detection of linked images
2009-02-09 18:31:59 +0100 cl  r267531 : #i98352# removed assertion
2009-02-09 18:31:17 +0100 cl  r267530 : #i98355# fixed alien attribute import for sd in binfilter
2009-02-09 18:30:53 +0100 cl  r267529 : #i98355# fixed alien attribute import for sd in binfilter
2009-02-09 09:52:15 +0100 cl  r267501 : #i98573# fixed build error
2009-02-06 17:02:21 +0100 sj  r267476 : #i96179# fixed bullet problem
2009-02-06 14:58:39 +0100 cl  r267466 : #i14832# fixed page count field for handout printing
2009-02-06 10:23:01 +0100 cl  r267447 : #i98573# fixed GetEditOutlinerParaObject() memory leak
2009-02-05 18:03:34 +0100 cl  r267435 : #i98573# fixed GetEditOutlinerParaObject() memory leak
2009-02-05 18:03:08 +0100 cl  r267434 : #i85481# added XMultiPropertyStates to text implementations
2009-02-05 18:02:54 +0100 cl  r267433 : #i85481# added XMultiPropertyStates to text implementations
2009-02-05 18:02:42 +0100 cl  r267432 : #i85481# added XMultiPropertyStates to text implementations
2009-02-04 18:54:46 +0100 sj  r267400 : #i33630# fixed arrow size of word import
2009-02-04 15:40:16 +0100 cl  r267389 : #i58702# fixed tiled bitmap fill for vcl canvas
2009-02-04 15:39:07 +0100 cl  r267388 : #i58702# fixed tiled bitmap fill for vcl canvas
2009-02-04 14:23:27 +0100 cl  r267382 : #i98573# fixed memory leaks caused by wron usage of GetEditOutlinerParaObject()
2009-02-04 14:22:34 +0100 cl  r267381 : #i98573# fixed memory leaks caused by wron usage of GetEditOutlinerParaObject()
2009-02-04 12:51:50 +0100 cl  r267371 : #i14832# added Page Count field to impress
2009-02-04 12:41:31 +0100 cl  r267368 : #i14832# added Page Count field to impress
üst ab878b24
......@@ -394,6 +394,8 @@
#define SID_PREVIEW_QUALITY_BLACKWHITE (SID_SD_START+371)
#define SID_VECTORIZE (SID_SD_START+372)
#define SID_INSERT_FLD_PAGES (SID_SD_START+373)
#define SID_CONVERT_TO_BITMAP (SID_SD_START+378)
#define SID_CONVERT_TO_METAFILE (SID_SD_START+379)
......
......@@ -2116,6 +2116,11 @@ interface DrawView
ExecMethod = FuTemporary ;
StateMethod = GetMenuState ;
]
SID_INSERT_FLD_PAGES // ole : no, status : play rec
[
ExecMethod = FuTemporary ;
StateMethod = GetMenuState ;
]
SID_INSERT_FLD_FILE // ole : no, status : play rec
[
ExecMethod = FuTemporary ;
......
......@@ -391,6 +391,11 @@ interface OutlineView
ExecMethod = FuTemporaryModify ;
StateMethod = GetMenuState ;
]
SID_INSERT_FLD_PAGES // ole : no, status : play rec
[
ExecMethod = FuTemporaryModify ;
StateMethod = GetMenuState ;
]
SID_INSERT_FLD_FILE // ole : no, status : play rec
[
ExecMethod = FuTemporaryModify ;
......
......@@ -3585,6 +3585,31 @@ SfxVoidItem InsertPageField SID_INSERT_FLD_PAGE
GroupId = GID_INSERT;
]
//--------------------------------------------------------------------------
SfxVoidItem InsertPagesField SID_INSERT_FLD_PAGES
()
[
/* flags: */
AutoUpdate = FALSE,
Cachable = Cachable,
FastCall = FALSE,
HasCoreId = FALSE,
HasDialog = FALSE,
ReadOnlyDoc = FALSE,
Toggle = FALSE,
Container = FALSE,
RecordAbsolute = FALSE,
RecordPerSet;
Synchron;
/* config: */
AccelConfig = TRUE,
MenuConfig = TRUE,
StatusBarConfig = FALSE,
ToolBoxConfig = TRUE,
GroupId = GID_INSERT;
]
//--------------------------------------------------------------------------
SfxVoidItem InsertPageQuick SID_INSERTPAGE_QUICK
()
......
......@@ -398,16 +398,21 @@ void SdGRFFilter::SaveGraphic( const ::com::sun::star::uno::Reference< ::com::su
// detect mime type of graphic
OUString aMimeType;
OUString sGraphicURL;
// first try to detect from graphic object
Reference< XPropertySet > xGraphicSet( xShapeSet->getPropertyValue( OUString( RTL_CONSTASCII_USTRINGPARAM( "Graphic" ) ) ), UNO_QUERY_THROW );
xGraphicSet->getPropertyValue( OUString( RTL_CONSTASCII_USTRINGPARAM( "MimeType" ) ) ) >>= aMimeType;
xShapeSet->getPropertyValue( OUString( RTL_CONSTASCII_USTRINGPARAM( "GraphicURL" ) ) ) >>= sGraphicURL;
if( aMimeType.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "image/x-vclgraphic" ) ) || !aMimeType.getLength() )
bool bIsLinked = (sGraphicURL.getLength() != 0) && (sGraphicURL.compareToAscii( RTL_CONSTASCII_STRINGPARAM("vnd.sun.star.GraphicObject:") ) != 0);
if( !bIsLinked )
xGraphicSet->getPropertyValue( OUString( RTL_CONSTASCII_USTRINGPARAM( "MimeType" ) ) ) >>= aMimeType;
if( bIsLinked || aMimeType.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "image/x-vclgraphic" ) ) || !aMimeType.getLength() )
{
// this failed, try to detect it from graphic stream and URL
OUString aURL;
xShapeSet->getPropertyValue( OUString( RTL_CONSTASCII_USTRINGPARAM( "GraphicURL" ) ) ) >>= aURL;
OUString aURL( sGraphicURL );
if( aURL.getLength() == 0 )
xShapeSet->getPropertyValue( OUString( RTL_CONSTASCII_USTRINGPARAM( "GraphicStreamURL" ) ) ) >>= aURL;
......
......@@ -40,6 +40,7 @@
#ifndef _SVXIDS_HRC
#include <svx/svxids.hrc>
#endif
#include <svtools/urihelper.hxx>
#include <svx/svdfppt.hxx>
#include <svx/svditer.hxx>
#include <sfx2/docfile.hxx>
......@@ -2160,17 +2161,28 @@ void ImplSdPPTImport::FillSdAnimationInfo( SdAnimationInfo* pInfo, PptInteractiv
switch( pIAtom->nHyperlinkType )
{
case 9:
case 10:
break;
case 8: // hyperlink : URL
{
if ( pPtr->aTarget.Len() )
{
pInfo->maBookmark = String( pPtr->aTarget );
pInfo->meClickAction = ::com::sun::star::presentation::ClickAction_DOCUMENT;
::sd::DrawDocShell* pDocShell = mpDoc->GetDocSh();
if ( pDocShell )
{
String aBaseURL = pDocShell->GetMedium()->GetBaseURL();
INetURLObject aURL( pPtr->aTarget );
if( INET_PROT_NOT_VALID == aURL.GetProtocol() )
utl::LocalFileHelper::ConvertSystemPathToURL( pPtr->aTarget, aBaseURL, pInfo->maBookmark );
if( !pInfo->maBookmark.Len() )
pInfo->maBookmark = URIHelper::SmartRel2Abs( INetURLObject(aBaseURL), pPtr->aTarget, URIHelper::GetMaybeFileHdl(), true );
pInfo->meClickAction = ::com::sun::star::presentation::ClickAction_PROGRAM;
}
}
}
break;
case 10:
break;
case 7: // hyperlink auf eine Seite
{
if ( pPtr->aConvSubString.Len() )
......
......@@ -273,6 +273,50 @@ IMPL_LINK(SdModule, CalcFieldValueHdl, EditFieldInfo*, pInfo)
pInfo->SetRepresentation( aRepresentation );
}
else if( dynamic_cast< const SvxPagesField* >(pField) )
{
String aRepresentation;
aRepresentation += sal_Unicode( ' ' );
::sd::ViewShell* pViewSh = pDocShell ? pDocShell->GetViewShell() : NULL;
if(pViewSh == NULL)
{
::sd::ViewShellBase* pBase = PTR_CAST(::sd::ViewShellBase, SfxViewShell::Current());
if(pBase)
pViewSh = pBase->GetMainViewShell().get();
}
if( !pDoc && pViewSh )
pDoc = pViewSh->GetDoc();
bool bMasterView;
SdPage* pPage = GetCurrentPage( pViewSh, pInfo, bMasterView );
USHORT nPageCount = 0;
if( !bMasterView )
{
if( pPage && (pPage->GetPageKind() == PK_HANDOUT) && pViewSh )
{
nPageCount = pViewSh->GetPrintedHandoutPageCount();
}
else if( pDoc )
{
nPageCount = (USHORT)pDoc->GetSdPageCount(PK_STANDARD);
}
}
if( nPageCount > 0 )
{
aRepresentation = pDoc->CreatePageNumValue(nPageCount);
}
else
{
static String aNumberText( SdResId( STR_FIELD_PLACEHOLDER_COUNT ) );
aRepresentation = aNumberText;
}
pInfo->SetRepresentation( aRepresentation );
}
else if( (pURLField = dynamic_cast< const SvxURLField* >(pField)) != 0 )
{
switch ( pURLField->GetFormat() )
......
......@@ -1166,6 +1166,10 @@ String STR_FIELD_PLACEHOLDER_NUMBER
{
Text [ en-US ] = "<number>" ;
};
String STR_FIELD_PLACEHOLDER_COUNT
{
Text [ en-US ]="<count>" ;
};
String STR_PLACEHOLDER_DESCRIPTION_NOTES
{
......
......@@ -301,6 +301,9 @@ public:
USHORT GetPrintedHandoutPageNum (void) const { return mnPrintedHandoutPageNum; }
void SetPrintedHandoutPageNum (USHORT nPageNumber) {mnPrintedHandoutPageNum=nPageNumber; }
USHORT GetPrintedHandoutPageCount(void) const { return mnPrintedHandoutPageCount; }
void SetPrintedHandoutPageCount (USHORT nPageCount) {mnPrintedHandoutPageCount=nPageCount; }
virtual USHORT PrepareClose( BOOL bUI = TRUE, BOOL bForBrowsing = FALSE );
void GetMenuState(SfxItemSet& rSet);
......@@ -496,6 +499,7 @@ protected:
BOOL mbStartShowWithDialog; // Praesentation wurde ueber Dialog gestartet
USHORT mnPrintedHandoutPageNum; // Page number of the handout page that is to be printed.
USHORT mnPrintedHandoutPageCount; // Page count of the handout pages that are to be printed.
//af BOOL bPrintDirectSelected; // Print only selected objects in direct print
//afString sPageRange; // pagerange if selected objects in direct print
......
......@@ -488,6 +488,7 @@
#define STR_FIELD_PLACEHOLDER_NUMBER (RID_APP_START+695)
#define STR_UNDO_HANGULHANJACONVERSION (RID_APP_START+696)
#define STR_FIELD_PLACEHOLDER_COUNT (RID_APP_START+697)
#define STR_LEFT_PANE_DRAW_TITLE (RID_APP_START+700)
#define STR_LEFT_PANE_IMPRESS_TITLE (RID_APP_START+701)
......
......@@ -909,12 +909,22 @@ sal_Bool SdXShape::IsPresObj() const throw()
sal_Bool SdXShape::IsEmptyPresObj() const throw()
{
SdrObject* pObj = mpShape->GetSdrObject();
if( pObj == NULL || !pObj->IsEmptyPresObj() )
return sal_False;
if( (pObj != NULL) && pObj->IsEmptyPresObj() )
{
// check if the object is in edit, than its temporarely not empty
SdrTextObj* pTextObj = dynamic_cast< SdrTextObj* >( pObj );
if( pTextObj == 0 )
return sal_True;
OutlinerParaObject* pParaObj = pTextObj->GetEditOutlinerParaObject();
if( pParaObj )
{
delete pParaObj;
return sal_True;
}
}
// check if the object is in edit, than its temporarely not empty
SdrTextObj* pTextObj = PTR_CAST( SdrTextObj, pObj );
return (NULL == pTextObj) || ( NULL == pTextObj->GetEditOutlinerParaObject() );
return sal_False;
}
/** sets/reset the empty status of a presentation object
......
......@@ -1128,6 +1128,8 @@ void PrintManager::PrintHandout( PrintInfo& rInfo, USHORT nPage )
if( aPageObjVector.empty() )
return;
rInfo.mrViewShell.SetPrintedHandoutPageCount( (USHORT)((aPagesVector.size() + aPageObjVector.size() - 1) / aPageObjVector.size()) );
/*
sal_Int32 nHandoutPageCount = aPagesVector.size() / aPageObjVector.size();
sal_Int32 nHandoutPage = 0;
......@@ -1212,6 +1214,7 @@ void PrintManager::PrintHandout( PrintInfo& rInfo, USHORT nPage )
}
rInfo.mrViewShell.SetPrintedHandoutPageNum(1);
rInfo.mrViewShell.SetPrintedHandoutPageCount(0);
delete pPrintView;
rInfo.mrPrinter.SetMapMode(aOldMap);
}
......
......@@ -1026,6 +1026,7 @@ void DrawViewShell::GetMenuState( SfxItemSet &rSet )
rSet.DisableItem( SID_INSERT_FLD_TIME_VAR );
rSet.DisableItem( SID_INSERT_FLD_AUTHOR );
rSet.DisableItem( SID_INSERT_FLD_PAGE );
rSet.DisableItem( SID_INSERT_FLD_PAGES );
rSet.DisableItem( SID_INSERT_FLD_FILE );
rSet.DisableItem( SID_INSERT_GRAPHIC );
......
......@@ -502,6 +502,7 @@ void DrawViewShell::FuTemp02(SfxRequest& rReq)
case SID_INSERT_FLD_TIME_VAR:
case SID_INSERT_FLD_AUTHOR:
case SID_INSERT_FLD_PAGE:
case SID_INSERT_FLD_PAGES:
case SID_INSERT_FLD_FILE:
{
USHORT nMul = 1;
......@@ -543,6 +544,13 @@ void DrawViewShell::FuTemp02(SfxRequest& rReq)
}
break;
case SID_INSERT_FLD_PAGES:
{
pFieldItem = new SvxFieldItem( SvxPagesField(), EE_FEATURE_FIELD );
nMul = 3;
}
break;
case SID_INSERT_FLD_FILE:
{
String aName;
......
......@@ -485,6 +485,7 @@ void OutlineViewShell::FuTemporaryModify(SfxRequest &rReq)
case SID_INSERT_FLD_TIME_VAR:
case SID_INSERT_FLD_AUTHOR:
case SID_INSERT_FLD_PAGE:
case SID_INSERT_FLD_PAGES:
case SID_INSERT_FLD_FILE:
{
SvxFieldItem* pFieldItem = 0;
......@@ -523,6 +524,10 @@ void OutlineViewShell::FuTemporaryModify(SfxRequest &rReq)
pFieldItem = new SvxFieldItem( SvxPageField(), EE_FEATURE_FIELD );
break;
case SID_INSERT_FLD_PAGES:
pFieldItem = new SvxFieldItem( SvxPagesField(), EE_FEATURE_FIELD );
break;
case SID_INSERT_FLD_FILE:
{
String aName;
......@@ -543,7 +548,8 @@ void OutlineViewShell::FuTemporaryModify(SfxRequest &rReq)
pOldFldItem->GetField()->ISA( SvxExtTimeField ) ||
pOldFldItem->GetField()->ISA( SvxExtFileField ) ||
pOldFldItem->GetField()->ISA( SvxAuthorField ) ||
pOldFldItem->GetField()->ISA( SvxPageField ) ) )
pOldFldItem->GetField()->ISA( SvxPageField ) ||
pOldFldItem->GetField()->ISA( SvxPagesField )) )
{
// Feld selektieren, so dass es beim Insert geloescht wird
ESelection aSel = pOutlinerView->GetSelection();
......
......@@ -215,6 +215,7 @@ void ViewShell::construct(void)
mpZoomList = 0;
mbStartShowWithDialog = FALSE;
mnPrintedHandoutPageNum = 1;
mnPrintedHandoutPageCount = 0;
mpWindowUpdater.reset( new ::sd::WindowUpdater() );
mpImpl.reset(new Implementation(*this));
meShellType = ST_NONE;
......
......@@ -126,7 +126,8 @@
<menu:menuseparator/>
<menu:menuitem menu:id=".uno:InsertAuthorField"/>
<menu:menuitem menu:id=".uno:InsertPageField"/>
<menu:menuitem menu:id=".uno:InsertFileField"/>
<menu:menuitem menu:id=".uno:InsertPagesField"/>
<menu:menuitem menu:id=".uno:InsertFileField"/>
</menu:menupopup>
</menu:menu>
<menu:menuitem menu:id=".uno:InsertSymbol"/>
......
......@@ -143,7 +143,8 @@
<menu:menuseparator/>
<menu:menuitem menu:id=".uno:InsertAuthorField"/>
<menu:menuitem menu:id=".uno:InsertPageField"/>
<menu:menuitem menu:id=".uno:InsertFileField"/>
<menu:menuitem menu:id=".uno:InsertPagesField"/>
<menu:menuitem menu:id=".uno:InsertFileField"/>
</menu:menupopup>
</menu:menu>
<menu:menuitem menu:id=".uno:InsertSymbol"/>
......
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