void ImageArea::dropEvent( QDropEvent * de ) { //printf("Contents: %s\n", de->mimeData()->text().toLatin1().data()); QString text = de->mimeData()->text(); if ( !text.startsWith("file://") ) return; text = text.mid(7); emit dragFile( text ); }
/** *\fn void mouseMove(int x, int y, int type) *\brief 鼠标移动 *\param[in] int x X位置 *\param[in] int y Y位置 *\param[in] int type 0-正常,1-鼠标按下,2-鼠标抬起 *\return void 无 */ void CBrowseWnd::mouseMove(int x, int y, int type) { switch (type) { case MOUSE_NORMAL: { if (inDragWndRect(x, y) && !dragFile_ && !dragWnd_) { SetCursor(hCursorDragWnd_); } break; } case MOUSE_DOWN: { if (inDragWndRect(x, y) && !dragFile_ && !dragWnd_) { dragWnd_ = true; SetCapture(wnd_); } if (dragWnd_) { SetCursor(hCursorDragWnd_); } else if (dragFile_) { SetCursor(hCursorDragFile_); } break; } case MOUSE_UP: { if (dragWnd_) { treeWidth_ = x - x_; setWndRect(x_, y_, wndWidth_, wndHeight_); ReleaseCapture(); dragWnd_ = false; } if (dragFile_) { dragFile(x, y); ReleaseCapture(); dragFile_ = false; } break; } } }