summaryrefslogtreecommitdiffstats
path: root/sd/source/ui/slidesorter/inc/controller/SlsClipboard.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'sd/source/ui/slidesorter/inc/controller/SlsClipboard.hxx')
-rwxr-xr-xsd/source/ui/slidesorter/inc/controller/SlsClipboard.hxx23
1 files changed, 21 insertions, 2 deletions
diff --git a/sd/source/ui/slidesorter/inc/controller/SlsClipboard.hxx b/sd/source/ui/slidesorter/inc/controller/SlsClipboard.hxx
index 1bf5b8eae177..622bed457464 100755
--- a/sd/source/ui/slidesorter/inc/controller/SlsClipboard.hxx
+++ b/sd/source/ui/slidesorter/inc/controller/SlsClipboard.hxx
@@ -30,6 +30,8 @@
#include "ViewClipboard.hxx"
#include "controller/SlsSelectionObserver.hxx"
+#include "sdxfer.hxx"
+
#include <sal/types.h>
#include <tools/solar.h>
#include <svx/svdpage.hxx>
@@ -58,6 +60,8 @@ namespace sd { namespace slidesorter { namespace model {
class PageDescriptor;
} } }
+namespace { class NavigatorDropEvent; }
+
namespace sd { namespace slidesorter { namespace controller {
class SlideSorterController;
@@ -69,6 +73,12 @@ public:
Clipboard (SlideSorter& rSlideSorter);
~Clipboard (void);
+ /** Create a slide sorter transferable from the given sd
+ transferable. The returned transferable is set up with all
+ information necessary so that it can be dropped on a slide sorter.
+ */
+ ::boost::shared_ptr<SdTransferable::UserData> CreateTransferableUserData (SdTransferable* pTransferable);
+
void HandleSlotCall (SfxRequest& rRequest);
void DoCut (::Window* pWindow = 0);
@@ -189,8 +199,8 @@ private:
transferable is not accepted. The reason is the missing
implementation of proper handling master pages copy-and-paste.
*/
- enum DropType { DT_PAGE, DT_SHAPE, DT_NONE };
- DropType IsDropAccepted (void) const;
+ enum DropType { DT_PAGE, DT_PAGE_FROM_NAVIGATOR, DT_SHAPE, DT_NONE };
+ DropType IsDropAccepted (DropTargetHelper& rTargetHelper) const;
/** This method contains the code for AcceptDrop() and ExecuteDrop() shapes.
There are only minor differences for the two cases at this level.
@@ -221,10 +231,19 @@ private:
sal_uInt16 nPage,
sal_uInt16 nLayer);
+ /** Return whether the insertion defined by the transferable is
+ trivial, ie would not change either source nor target document.
+ */
+ bool IsInsertionTrivial (
+ SdTransferable* pTransferable,
+ const sal_Int8 nDndAction) const;
+
/** Asynchronous part of DragFinished. The argument is the sal_Int8
nDropAction, disguised as void*.
*/
DECL_LINK(ProcessDragFinished, void*);
+
+ DECL_LINK(ExecuteNavigatorDrop, NavigatorDropEvent*);
};
} } } // end of namespace ::sd::slidesorter::controller