QDragObject *AddresseeIconView::dragObject()
{
    emit startAddresseeDrag();

    // We never want IconView to start the drag
    return 0;
}
// To initiate a drag operation
void ContactListView::contentsMouseMoveEvent( QMouseEvent *e )
{
  if ((e->buttons() & Qt::LeftButton) && (e->pos() - presspos).manhattanLength() > 4 ) {
    emit startAddresseeDrag();
  }
  else
    K3ListView::contentsMouseMoveEvent( e );
}
KAddressBookIconView::KAddressBookIconView(KAB::Core *core,
        QWidget *parent, const char *name)
    : KAddressBookView(core, parent, name)
{
    QVBoxLayout *layout = new QVBoxLayout(viewWidget());

    mIconView = new AddresseeIconView(viewWidget(), "mIconView");
    layout->addWidget(mIconView);

    // Connect up the signals
    connect(mIconView, SIGNAL(executed(QIconViewItem *)),
            this, SLOT(addresseeExecuted(QIconViewItem *)));
    connect(mIconView, SIGNAL(selectionChanged()),
            this, SLOT(addresseeSelected()));
    connect(mIconView, SIGNAL(addresseeDropped(QDropEvent *)),
            this, SIGNAL(dropped(QDropEvent *)));
    connect(mIconView, SIGNAL(startAddresseeDrag()),
            this, SIGNAL(startDrag()));
    connect(mIconView, SIGNAL(contextMenuRequested(QIconViewItem *, const QPoint &)),
            this, SLOT(rmbClicked(QIconViewItem *, const QPoint &)));
}
KAddressBookCardView::KAddressBookCardView(KAB::Core *core,
        QWidget *parent, const char *name)
    : KAddressBookView(core, parent, name)
{
    mShowEmptyFields = false;

    QVBoxLayout *layout = new QVBoxLayout(viewWidget());

    mCardView = new AddresseeCardView(viewWidget(), "mCardView");
    mCardView->setSelectionMode(CardView::Extended);
    layout->addWidget(mCardView);

    // Connect up the signals
    connect(mCardView, SIGNAL(executed(CardViewItem *)),
            this, SLOT(addresseeExecuted(CardViewItem *)));
    connect(mCardView, SIGNAL(selectionChanged()),
            this, SLOT(addresseeSelected()));
    connect(mCardView, SIGNAL(addresseeDropped(QDropEvent *)),
            this, SIGNAL(dropped(QDropEvent *)));
    connect(mCardView, SIGNAL(startAddresseeDrag()),
            this, SIGNAL(startDrag()));
    connect(mCardView, SIGNAL(contextMenuRequested(CardViewItem *, const QPoint &)),
            this, SLOT(rmbClicked(CardViewItem *, const QPoint &)));
}
void AddresseeCardView::startDrag()
{
    emit startAddresseeDrag();
}