diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | 4aed2c8219774f5d797760606b8489a92ddc5163 (patch) | |
tree | 3f8c130f7d269626bf6a9447407ef6c35954426a /kpager/windowdrag.cpp | |
download | tdebase-4aed2c8219774f5d797760606b8489a92ddc5163.tar.gz tdebase-4aed2c8219774f5d797760606b8489a92ddc5163.zip |
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdebase@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kpager/windowdrag.cpp')
-rw-r--r-- | kpager/windowdrag.cpp | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/kpager/windowdrag.cpp b/kpager/windowdrag.cpp new file mode 100644 index 000000000..2f9c59cbd --- /dev/null +++ b/kpager/windowdrag.cpp @@ -0,0 +1,60 @@ +/************************************************************************* + + windowdrag.cpp - The windowDrag object, used to drag windows across + desktops + + Copyright (C) 1998,99,2000 Antonio Larrosa Jimenez <[email protected]> + + 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. + + Send comments and bug fixes to [email protected] + +*************************************************************************/ + +#include "windowdrag.h" + +PagerWindowDrag::PagerWindowDrag(WId w,int deltax,int deltay, int origdesk,QWidget *parent) + : QStoredDrag("application/x-kpager",parent,"windowdrag") +{ + QString tmp; + tmp.sprintf("%d %d %d %d", static_cast<int>(w), deltax, deltay, origdesk); + QByteArray data; + data.setRawData(tmp.latin1(),tmp.length()+1); + + setEncodedData(data); + data.resetRawData(tmp.latin1(),tmp.length()+1); +} + +PagerWindowDrag::~PagerWindowDrag() +{ +} + +bool PagerWindowDrag::canDecode (QDragMoveEvent *e) +{ + return e->provides("application/x-kpager"); +} + +bool PagerWindowDrag::decode( QDropEvent *e, WId &w,int &deltax,int &deltay,int &origdesk) +{ + QByteArray data=e->data("application/x-kpager"); + if (data.size()) + { + char *tmp=data.data(); + sscanf(tmp,"%lu %d %d %d", &w, &deltax, &deltay, &origdesk); + e->accept(); + return TRUE; + } + return FALSE; +} |