Source Code (Use browser search to find items of interest.)

Class Index

kiconedit'KDragSource (./kdegraphics/kiconedit/kdragsource.h:10)

class KDragSource: public QLabel
{
  Q_OBJECT

public:
  KDragSource( const char *dragtype, QObject *provider, const char *method,
                   QWidget *parent = 0, const char * name = 0 );
  ~KDragSource();

signals:
  void getimage(QImage*);
  void gettext(QString);
  void geturl(QStrList);

protected:
  void mousePressEvent( QMouseEvent * );
  void mouseMoveEvent( QMouseEvent * );
  QString type;
  QString text;
  bool ok;
  QObject *provider;
};

kiconedit'KDragSource::KDragSource() (./kdegraphics/kiconedit/kdragsource.cpp:10)

KDragSource::KDragSource( const char *dragtype, QObject *dataprovider, const char *method, 
                                               QWidget *parent, const char * name )
    : QLabel( "DragSource", parent, name )
{
  provider = dataprovider;
  type = dragtype;
  if(type.left(6) == "image/")
  {
    ok = connect(this, SIGNAL(getimage(QImage*)), provider, method);
  }
  else debug("Unknown datatype: %s", dragtype);
}


kiconedit'KDragSource::~KDragSource() (./kdegraphics/kiconedit/kdragsource.cpp:23)

KDragSource::~KDragSource()
{
}


kiconedit'KDragSource::mousePressEvent() (./kdegraphics/kiconedit/kdragsource.cpp:27)

void KDragSource::mousePressEvent( QMouseEvent * /*e*/ )
{
  debug("KDragSource::mousePressEvent");

  if(!ok) return;

  if(type.left(6) == "image/")
  {
    debug("Type: image");
    QImage img;
    emit getimage(&img);
    if(img.isNull())
      debug("Bad image");
    else
    {
      QImageDrag *di = new QImageDrag( img, this );
      debug("KDragSource::mousePressEvent - before dragCopy");
      QPixmap pm(BarIcon("image") );
      QPoint pp(pm.width()/2, pm.height()/2);
      di->setPixmap(pm, pp);
      di->dragCopy();
    }
  }
  else debug("Unknown datatype: %s", type.data());

  debug("KDragSource::mousePressEvent - done");
}


kiconedit'KDragSource::mouseMoveEvent() (./kdegraphics/kiconedit/kdragsource.cpp:55)

void KDragSource::mouseMoveEvent( QMouseEvent * /*e*/ )
{
}