blob: beab87dd55437c52f51f769c29557a96bae5ffe5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
//=============================================================================
// MusE
// Linux Music Editor
// $Id:$
//
// Copyright (C) 2002-2006 by Werner Schweer and others
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License version 2.
//
// 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., 675 Mass Ave, Cambridge, MA 02139, USA.
//=============================================================================
#include "trackdrag.h"
class Track;
const char TrackDrag::type[] = "application/muse/track";
//---------------------------------------------------------
// TrackDrag
//---------------------------------------------------------
TrackDrag::TrackDrag(Track* track, QWidget* src)
: QDrag(src)
{
QByteArray a((char*)&track, sizeof(track));
QMimeData* mimeData = new QMimeData;
mimeData->setData(type, a);
setMimeData(mimeData);
}
//---------------------------------------------------------
// canDecode
//---------------------------------------------------------
bool TrackDrag::canDecode(const QMimeSource* s)
{
return !strcmp(s->format(0), type);
}
//---------------------------------------------------------
// decode
//---------------------------------------------------------
bool TrackDrag::decode(const QMimeSource* s, Track*& p)
{
QByteArray a = s->encodedData(type);
p = (Track*)((a[0] & 0xff)
| (a[1] & 0xff) << 8
| (a[2] & 0xff) << 16
| (a[3] & 0xff) << 24);
return true;
}
|