summaryrefslogtreecommitdiff
path: root/sd/source/ui
diff options
context:
space:
mode:
Diffstat (limited to 'sd/source/ui')
-rw-r--r--sd/source/ui/view/drviews7.cxx10
-rw-r--r--sd/source/ui/view/drviewse.cxx28
-rw-r--r--sd/source/ui/view/sdview2.cxx16
-rw-r--r--sd/source/ui/view/sdview3.cxx12
4 files changed, 46 insertions, 20 deletions
diff --git a/sd/source/ui/view/drviews7.cxx b/sd/source/ui/view/drviews7.cxx
index 2ce96a94de40..7840b764dd93 100644
--- a/sd/source/ui/view/drviews7.cxx
+++ b/sd/source/ui/view/drviews7.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: drviews7.cxx,v $
*
- * $Revision: 1.11 $
+ * $Revision: 1.12 $
*
- * last change: $Author: ka $ $Date: 2001-04-24 10:15:59 $
+ * last change: $Author: ka $ $Date: 2001-04-25 08:39:16 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -515,6 +515,7 @@ void __EXPORT SdDrawViewShell::GetMenuState( SfxItemSet &rSet )
if( SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_CONTEXT ) )
rSet.Put( SfxStringItem( SID_CONTEXT, pDrView->GetStatusText() ) );
+ // clipboard (paste)
if( SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_PASTE ) ||
SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_PASTE2 ) ||
SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_CLIPBOARD_FORMAT_ITEMS ) )
@@ -525,6 +526,7 @@ void __EXPORT SdDrawViewShell::GetMenuState( SfxItemSet &rSet )
{
rSet.DisableItem( SID_PASTE );
rSet.DisableItem( SID_PASTE2 );
+ rSet.DisableItem( SID_CLIPBOARD_FORMAT_ITEMS );
}
else if( SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_CLIPBOARD_FORMAT_ITEMS ) )
{
@@ -553,8 +555,7 @@ void __EXPORT SdDrawViewShell::GetMenuState( SfxItemSet &rSet )
if( aTestFormat == aSupportedFormats[ n ] )
{
if( ( SOT_FORMATSTR_ID_EMBED_SOURCE == aTestFormat ) ||
- ( SOT_FORMATSTR_ID_EMBED_SOURCE == aTestFormat ) ||
- ( SOT_FORMATSTR_ID_EDITENGINE == aTestFormat ) )
+ ( SOT_FORMATSTR_ID_EMBED_SOURCE == aTestFormat ) )
{
aItem.AddClipbrdFormat( aTestFormat );
}
@@ -993,6 +994,7 @@ void __EXPORT SdDrawViewShell::GetMenuState( SfxItemSet &rSet )
{
rSet.DisableItem( SID_PASTE );
rSet.DisableItem( SID_PASTE2 );
+ rSet.DisableItem( SID_CLIPBOARD_FORMAT_ITEMS );
rSet.DisableItem( SID_INSERT_GRAPHIC );
rSet.DisableItem( SID_INSERT_DIAGRAM );
rSet.DisableItem( SID_INSERT_OBJECT );
diff --git a/sd/source/ui/view/drviewse.cxx b/sd/source/ui/view/drviewse.cxx
index 866321ccd855..a01d6d6dfd5c 100644
--- a/sd/source/ui/view/drviewse.cxx
+++ b/sd/source/ui/view/drviewse.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: drviewse.cxx,v $
*
- * $Revision: 1.8 $
+ * $Revision: 1.9 $
*
- * last change: $Author: dl $ $Date: 2001-03-12 07:54:26 $
+ * last change: $Author: ka $ $Date: 2001-04-25 08:39:16 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -708,6 +708,30 @@ void SdDrawViewShell::FuSupport(SfxRequest& rReq)
}
break;
+ case SID_CLIPBOARD_FORMAT_ITEMS:
+ {
+ WaitObject aWait( (Window*)GetActiveWindow() );
+ TransferableDataHelper aDataHelper( TransferableDataHelper::CreateFromSystemClipboard() );
+ const SfxItemSet* pReqArgs = rReq.GetArgs();
+ UINT32 nFormat = 0;
+
+ if( pReqArgs )
+ {
+ SFX_REQUEST_ARG( rReq, pIsActive, SfxUInt32Item, SID_CLIPBOARD_FORMAT_ITEMS, FALSE );
+ nFormat = pIsActive->GetValue();
+ }
+
+
+ if( nFormat && aDataHelper.GetTransferable().is() )
+ {
+ sal_Int8 nAction = DND_ACTION_COPY;
+ pDrView->InsertData( aDataHelper,
+ pWindow->PixelToLogic( Rectangle( Point(), pWindow->GetOutputSizePixel() ).Center() ),
+ nAction, FALSE, nFormat );
+ }
+ }
+ break;
+
case SID_DELETE:
{
if ( pDrView->IsTextEdit() )
diff --git a/sd/source/ui/view/sdview2.cxx b/sd/source/ui/view/sdview2.cxx
index b09afabbe939..97e54bd0b68b 100644
--- a/sd/source/ui/view/sdview2.cxx
+++ b/sd/source/ui/view/sdview2.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: sdview2.cxx,v $
*
- * $Revision: 1.10 $
+ * $Revision: 1.11 $
*
- * last change: $Author: dl $ $Date: 2001-04-18 13:31:22 $
+ * last change: $Author: ka $ $Date: 2001-04-25 08:39:16 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -424,7 +424,7 @@ void __EXPORT SdView::DoPaste( Window* pWindow )
{
sal_Int8 nDnDAction = DND_ACTION_COPY;
- if( !InsertData( aDataHelper.GetTransferable(), aPos, nDnDAction, FALSE ) )
+ if( !InsertData( aDataHelper, aPos, nDnDAction, FALSE ) )
{
SdDrawViewShell* pDrViewSh = (SdDrawViewShell*) pDocSh->GetViewShell();
@@ -722,17 +722,17 @@ sal_Int8 SdView::ExecuteDrop( const ExecuteDropEvent& rEvt, SdWindow* pWin, USHO
if( !bIsInsideOutlinerView )
{
- Point aPos;
- SdDrawViewShell* pDrViewSh = (SdDrawViewShell*) pDocSh->GetViewShell();
- SdrPage* pPage = NULL;
+ Point aPos;
+ SdDrawViewShell* pDrViewSh = (SdDrawViewShell*) pDocSh->GetViewShell();
+ SdrPage* pPage = NULL;
+ TransferableDataHelper aDataHelper( rEvt.maDropEvent.Transferable );
if( pWin )
aPos = pWin->PixelToLogic( rEvt.maPosPixel );
//!!!DND if( !( bReturn = FmFormView::Drop(rMEvt, pWin) ) ) )
- if( !InsertData( rEvt.maDropEvent.Transferable, aPos, nDropAction, TRUE, 0, nPage, nLayer ) && pViewSh )
+ if( !InsertData( aDataHelper, aPos, nDropAction, TRUE, 0, nPage, nLayer ) && pViewSh )
{
- TransferableDataHelper aDataHelper( rEvt.maDropEvent.Transferable );
String aTmpString1, aTmpString2;
INetBookmark aINetBookmark( aTmpString1, aTmpString2 );
diff --git a/sd/source/ui/view/sdview3.cxx b/sd/source/ui/view/sdview3.cxx
index 213fc4572d4b..20757be61df0 100644
--- a/sd/source/ui/view/sdview3.cxx
+++ b/sd/source/ui/view/sdview3.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: sdview3.cxx,v $
*
- * $Revision: 1.15 $
+ * $Revision: 1.16 $
*
- * last change: $Author: ka $ $Date: 2001-04-03 13:55:29 $
+ * last change: $Author: ka $ $Date: 2001-04-25 08:39:16 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -180,7 +180,7 @@ using namespace ::com::sun::star::datatransfer::clipboard;
|*
\************************************************************************/
-BOOL SdView::InsertData( const Reference< XTransferable >& rxTransferable,
+BOOL SdView::InsertData( const TransferableDataHelper& rDataHelper,
const Point& rPos, sal_Int8& rDnDAction, BOOL bDrag,
ULONG nFormat, USHORT nPage, USHORT nLayer )
{
@@ -188,7 +188,7 @@ BOOL SdView::InsertData( const Reference< XTransferable >& rxTransferable,
nAction = rDnDAction;
bIsDropAllowed = FALSE;
- TransferableDataHelper aDataHelper( rxTransferable );
+ TransferableDataHelper aDataHelper( rDataHelper );
SdrObject* pPickObj = NULL;
SdPage* pPage = NULL;
SdWindow* pWin = pViewSh->GetActiveWindow();
@@ -213,8 +213,8 @@ BOOL SdView::InsertData( const Reference< XTransferable >& rxTransferable,
pPage = (SdPage*) pDoc->GetPage( nPage );
// !!!Clipboard
- SdTransferable* pOwnData = ( SD_MOD()->pTransferClip == (SdTransferable*) rxTransferable.get() ) ? SD_MOD()->pTransferClip :
- ( ( SD_MOD()->pTransferDrag == (SdTransferable*) rxTransferable.get() ) ? SD_MOD()->pTransferDrag : NULL );
+ SdTransferable* pOwnData = ( SD_MOD()->pTransferClip == (SdTransferable*) aDataHelper.GetTransferable().get() ) ? SD_MOD()->pTransferClip :
+ ( ( SD_MOD()->pTransferDrag == (SdTransferable*) aDataHelper.GetTransferable().get() ) ? SD_MOD()->pTransferDrag : NULL );
if( !pOwnData )
{