summaryrefslogtreecommitdiffstats
path: root/kivio/kiviopart/kivio_spawner_drag.cpp
diff options
context:
space:
mode:
authortpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-01-20 01:29:50 +0000
committertpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-01-20 01:29:50 +0000
commit8362bf63dea22bbf6736609b0f49c152f975eb63 (patch)
tree0eea3928e39e50fae91d4e68b21b1e6cbae25604 /kivio/kiviopart/kivio_spawner_drag.cpp
downloadkoffice-8362bf63dea22bbf6736609b0f49c152f975eb63.tar.gz
koffice-8362bf63dea22bbf6736609b0f49c152f975eb63.zip
Added old abandoned KDE3 version of koffice
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/koffice@1077364 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kivio/kiviopart/kivio_spawner_drag.cpp')
-rw-r--r--kivio/kiviopart/kivio_spawner_drag.cpp84
1 files changed, 84 insertions, 0 deletions
diff --git a/kivio/kiviopart/kivio_spawner_drag.cpp b/kivio/kiviopart/kivio_spawner_drag.cpp
new file mode 100644
index 00000000..169aaf79
--- /dev/null
+++ b/kivio/kiviopart/kivio_spawner_drag.cpp
@@ -0,0 +1,84 @@
+/*
+ * Kivio - Visual Modelling and Flowcharting
+ * Copyright (C) 2000-2001 theKompany.com & Dave Marotti
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+#include "kivio_spawner_drag.h"
+
+#include "kivio_stencil_spawner.h"
+#include "kivio_stencil_spawner_info.h"
+#include "kivio_stencil_spawner_set.h"
+#include "kivio_icon_view.h"
+
+#include <kdebug.h>
+
+KivioSpawnerDrag::KivioSpawnerDrag( KivioIconView *view, QWidget *parent, const char *name )
+ : QIconDrag( parent, name )
+{
+ m_pView = view;
+}
+
+KivioSpawnerDrag::~KivioSpawnerDrag()
+{
+ m_pView->clearCurrentDrag();
+ kdDebug(43000) << "KivioSpawnerDrag - this destroyed" << endl;
+}
+
+const char *KivioSpawnerDrag::format( int i ) const
+{
+ if( i==0 )
+ return "application/x-qiconlist";
+ else if( i==1 )
+ return "kivio/stencilSpawner";
+ else
+ return 0L;
+}
+
+QByteArray KivioSpawnerDrag::encodedData( const char *mime ) const
+{
+ QByteArray a;
+
+ if( QString(mime) == "application/x-qiconlist" )
+ {
+ a = QIconDrag::encodedData(mime);
+ }
+ else if( QString(mime) == "kivio/stencilSpawner" )
+ {
+ QString s = m_spawners.join("\r\n");
+ a.resize(s.length());
+ memcpy( a.data(), s.latin1(), s.length() );
+ }
+
+ return a;
+}
+
+bool KivioSpawnerDrag::canDecode( QMimeSource *e )
+{
+ return e->provides( "application/x-qiconlist" ) ||
+ e->provides( "kivio/stencilSpawner" );
+}
+
+void KivioSpawnerDrag::append( const QIconDragItem &item, const QRect &pr,
+ const QRect &tr, KivioStencilSpawner &spawner )
+{
+ QIconDrag::append( item, pr, tr );
+
+ QString full = spawner.set()->dir() + "/" + spawner.info()->title();
+
+ kdDebug(43000) << "KivioSpawnerDrag::append() - Adding " << full << endl;
+
+ m_spawners << full;
+}