blob: c8ce01b8724a491703b3e306795cf4c400873191 (
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
|
#include <qdragobject.h>
#include "dnd.h"
#include "iconview.h"
IconView::IconView( TQWidget* parent, const char* name )
: TQIconView( parent, name )
{
connect( this, SIGNAL(dropped(TQDropEvent*, const TQValueList<TQIconDragItem>&)),
SLOT(slotNewItem(TQDropEvent*, const TQValueList<TQIconDragItem>&)));
}
IconView::~IconView()
{
}
TQDragObject *IconView::dragObject()
{
if ( !currentItem() ) return 0;
TQTextDrag * drg = new TQTextDrag( ((IconViewItem*)currentItem())->tag(), this );
drg->setSubtype("dragdemotag");
drg->setPixmap( *currentItem()->pixmap() );
return drg;
}
void IconView::slotNewItem( TQDropEvent *e, const TQValueList<TQIconDragItem>& )
{
TQString tag;
if ( !e->provides( "text/dragdemotag" ) ) return;
if ( TQTextDrag::decode( e, tag ) ) {
IconItem item = ((DnDDemo*) parentWidget())->findItem( tag );
IconViewItem *iitem = new IconViewItem( this, item.name(), *item.pixmap(), tag );
iitem->setRenameEnabled( TRUE );
}
e->acceptAction();
}
|