Kaydet (Commit) 84b4b7b9 authored tarafından Andrzej Hunt's avatar Andrzej Hunt Kaydeden (comit) Caolán McNamara

fdo#51525 Add Paste Unformatted Text to Impress.

Change-Id: I4eff66ee2990fd7bf6a9be6b9f0801e7a70206e9
Reviewed-on: https://gerrit.libreoffice.org/7783Reviewed-by: 's avatarCaolán McNamara <caolanm@redhat.com>
Tested-by: 's avatarCaolán McNamara <caolanm@redhat.com>
üst 7cd90162
......@@ -2927,6 +2927,12 @@
<value xml:lang="en-US">.uno:PasteSpecial</value>
</prop>
</node>
<node oor:name="V_SHIFT_MOD1_MOD2" oor:op="replace">
<prop oor:name="Command">
<value xml:lang="x-no-translate">I10N SHORTCUTS - NO TRANSLATE</value>
<value xml:lang="en-US">.uno:PasteUnformatted</value>
</prop>
</node>
<node oor:name="X_MOD1" oor:op="replace">
<prop oor:name="Command">
<value xml:lang="x-no-translate">I10N SHORTCUTS - NO TRANSLATE</value>
......
......@@ -3425,6 +3425,11 @@
<value>1</value>
</prop>
</node>
<node oor:name=".uno:PasteUnformatted" oor:op="replace">
<prop oor:name="Label" oor:type="xs:string">
<value xml:lang="en-US">Paste Unformatted Text</value>
</prop>
</node>
<node oor:name=".uno:Delete" oor:op="replace">
<prop oor:name="Label" oor:type="xs:string">
<value xml:lang="en-US">Delete C~ontents...</value>
......
......@@ -1081,11 +1081,6 @@
<value>1</value>
</prop>
</node>
<node oor:name=".uno:PasteUnformatted" oor:op="replace">
<prop oor:name="Label" oor:type="xs:string">
<value xml:lang="en-US">Paste Unformatted Text</value>
</prop>
</node>
<node oor:name=".uno:PasteSpecial" oor:op="replace">
<prop oor:name="Label" oor:type="xs:string">
<value xml:lang="en-US">Paste ~Special...</value>
......
......@@ -96,6 +96,11 @@ interface DrawView
ExecMethod = FuSupport ;
StateMethod = GetMenuState ;
]
SID_PASTE_UNFORMATTED
[
ExecMethod = FuSupport ;
StateMethod = GetMenuState ;
]
SID_CLIPBOARD_FORMAT_ITEMS
[
ExecMethod = FuSupport ;
......
......@@ -36,6 +36,11 @@ interface OutlineView
ExecMethod = FuSupport ;
StateMethod = GetMenuState ;
]
SID_PASTE_UNFORMATTED // ole : no, status : ?
[
ExecMethod = FuSupport ;
StateMethod = GetMenuState ;
]
SID_DELETE // ole : no, status : ?
[
ExecMethod = FuSupport ;
......
......@@ -262,6 +262,7 @@ void SdDLL::RegisterControllers()
svx::FormatPaintBrushToolBoxControl::RegisterControl(SID_FORMATPAINTBRUSH, pMod );
SvxClipBoardControl::RegisterControl( SID_PASTE, pMod );
SvxClipBoardControl::RegisterControl( SID_PASTE_UNFORMATTED, pMod );
svx::ExtrusionColorControl::RegisterControl( SID_EXTRUSION_3D_COLOR, pMod );
svx::FontWorkShapeTypeControl::RegisterControl( SID_FONTWORK_SHAPE_TYPE, pMod );
......
......@@ -278,6 +278,21 @@ void FuOutlineText::DoPaste()
pOutlineView->GetViewByWindow(mpWindow)->PasteSpecial();
}
/**
* Paste object as unformatted text from clipboard
*/
void FuOutlineText::DoPasteUnformatted()
{
TransferableDataHelper aDataHelper( TransferableDataHelper::CreateFromSystemClipboard( mpViewShell->GetActiveWindow() ) );
if (aDataHelper.GetTransferable().is())
{
OUString aText;
if (aDataHelper.GetString(FORMAT_STRING, aText))
pOutlineView->GetViewByWindow(mpWindow)->InsertText(aText);
}
}
} // end of namespace sd
......
......@@ -937,6 +937,24 @@ void FuPoor::DoPaste()
}
}
/**
* Paste unformatted text from clipboard
*/
void FuPoor::DoPasteUnformatted()
{
if (mpView)
{
sal_Int8 nAction = DND_ACTION_COPY;
TransferableDataHelper aDataHelper( TransferableDataHelper::CreateFromSystemClipboard( mpViewShell->GetActiveWindow() ) );
if (aDataHelper.GetTransferable().is())
{
mpView->InsertData( aDataHelper,
mpWindow->PixelToLogic( Rectangle( Point(), mpWindow->GetOutputSizePixel() ).Center() ),
nAction, sal_False, FORMAT_STRING);
}
}
}
/**
* Timer handler for Drag&Drop
*/
......
......@@ -50,6 +50,7 @@ public:
virtual void DoCut();
virtual void DoCopy();
virtual void DoPaste();
virtual void DoPasteUnformatted();
virtual void Activate(); // Function aktivieren
virtual void Deactivate(); // Function deaktivieren
......
......@@ -63,6 +63,7 @@ public:
virtual void DoCut();
virtual void DoCopy();
virtual void DoPaste();
virtual void DoPasteUnformatted();
// Mouse- & Key-Events; Returnwert=sal_True: Event wurde bearbeitet
virtual sal_Bool KeyInput(const KeyEvent& rKEvt);
......
......@@ -198,6 +198,7 @@ IMPL_LINK( DrawViewShell, ClipboardChanged, TransferableDataHelper*, pDataHelper
SfxBindings& rBindings = GetViewFrame()->GetBindings();
rBindings.Invalidate( SID_PASTE );
rBindings.Invalidate( SID_PASTE_SPECIAL );
rBindings.Invalidate( SID_PASTE_UNFORMATTED );
rBindings.Invalidate( SID_CLIPBOARD_FORMAT_ITEMS );
}
return 0;
......@@ -601,6 +602,7 @@ void DrawViewShell::GetMenuState( SfxItemSet &rSet )
// clipboard (paste)
if( SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_PASTE ) ||
SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_PASTE_SPECIAL ) ||
SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_PASTE_UNFORMATTED ) ||
SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_CLIPBOARD_FORMAT_ITEMS ) )
{
if ( !mpClipEvtLstnr )
......@@ -627,6 +629,7 @@ void DrawViewShell::GetMenuState( SfxItemSet &rSet )
{
rSet.DisableItem( SID_PASTE );
rSet.DisableItem( SID_PASTE_SPECIAL );
rSet.DisableItem( SID_PASTE_UNFORMATTED );
rSet.DisableItem( SID_CLIPBOARD_FORMAT_ITEMS );
}
else if( SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_CLIPBOARD_FORMAT_ITEMS ) )
......@@ -1062,6 +1065,7 @@ void DrawViewShell::GetMenuState( SfxItemSet &rSet )
{
rSet.DisableItem( SID_PASTE );
rSet.DisableItem( SID_PASTE_SPECIAL );
rSet.DisableItem( SID_PASTE_UNFORMATTED );
rSet.DisableItem( SID_CLIPBOARD_FORMAT_ITEMS );
rSet.DisableItem( SID_INSERT_FLD_DATE_FIX );
......
......@@ -798,6 +798,30 @@ void DrawViewShell::FuSupport(SfxRequest& rReq)
}
break;
case SID_PASTE_UNFORMATTED:
{
WaitObject aWait( (Window*)GetActiveWindow() );
if(HasCurrentFunction())
{
GetCurrentFunction()->DoPasteUnformatted();
}
else if(mpDrawView)
{
sal_Int8 nAction = DND_ACTION_COPY;
TransferableDataHelper aDataHelper( TransferableDataHelper::CreateFromSystemClipboard( GetActiveWindow() ) );
if (aDataHelper.GetTransferable().is())
{
mpDrawView->InsertData( aDataHelper,
GetActiveWindow()->PixelToLogic( Rectangle( Point(), GetActiveWindow()->GetOutputSizePixel() ).Center() ),
nAction, sal_False, FORMAT_STRING);
}
}
rReq.Ignore ();
}
break;
case SID_CLIPBOARD_FORMAT_ITEMS:
{
WaitObject aWait( (Window*)GetActiveWindow() );
......
......@@ -331,6 +331,7 @@ void OutlineViewShell::FuTemporary(SfxRequest &rReq)
Invalidate(SID_CUT);
Invalidate(SID_COPY);
Invalidate(SID_PASTE);
Invalidate(SID_PASTE_UNFORMATTED);
}
void OutlineViewShell::ShowSlideShow(SfxRequest& rReq)
......@@ -628,6 +629,7 @@ void OutlineViewShell::FuTemporaryModify(SfxRequest &rReq)
Invalidate(SID_CUT);
Invalidate(SID_COPY);
Invalidate(SID_PASTE);
Invalidate(SID_PASTE_UNFORMATTED);
}
......
......@@ -475,6 +475,7 @@ void OutlineViewShell::FuSupport(SfxRequest &rReq)
(nSlot == SID_TRANSLITERATE_KATAGANA) ||
(nSlot == SID_CUT) ||
(nSlot == SID_PASTE) ||
(nSlot == SID_PASTE_UNFORMATTED) ||
(nSlot == SID_DELETE)))
{
aGuard.reset( new OutlineViewModelChangeGuard( *pOlView ) );
......@@ -529,6 +530,29 @@ void OutlineViewShell::FuSupport(SfxRequest &rReq)
}
break;
case SID_PASTE_UNFORMATTED:
{
OutlineViewPageChangesGuard aGuard2(pOlView);
if(HasCurrentFunction())
{
GetCurrentFunction()->DoPasteUnformatted();
}
else if(pOlView)
{
sal_Int8 nAction = DND_ACTION_COPY;
TransferableDataHelper aDataHelper( TransferableDataHelper::CreateFromSystemClipboard( GetActiveWindow() ) );
if (aDataHelper.GetTransferable().is())
{
pOlView->InsertData( aDataHelper,
GetActiveWindow()->PixelToLogic( Rectangle( Point(), GetActiveWindow()->GetOutputSizePixel() ).Center() ),
nAction, sal_False, FORMAT_STRING);
}
}
rReq.Ignore ();
}
break;
case SID_DELETE:
{
if( pOlView )
......@@ -735,6 +759,7 @@ IMPL_LINK( OutlineViewShell, ClipboardChanged, TransferableDataHelper*, pDataHel
SfxBindings& rBindings = GetViewFrame()->GetBindings();
rBindings.Invalidate( SID_PASTE );
rBindings.Invalidate( SID_PASTE_SPECIAL );
rBindings.Invalidate( SID_PASTE_UNFORMATTED );
rBindings.Invalidate( SID_CLIPBOARD_FORMAT_ITEMS );
}
return 0;
......
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