Changeset 56555 in vbox for trunk/src/VBox/Frontends/VirtualBox
- Timestamp:
- Jun 19, 2015 10:25:34 AM (10 years ago)
- svn:sync-xref-src-repo-rev:
- 101179
- Location:
- trunk/src/VBox/Frontends/VirtualBox/src/runtime
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIDnDHandler.cpp ¶
r56503 r56555 280 280 281 281 /* Invoke this handler as data needs to be retrieved. */ 282 connect(m_pMIMEData, SIGNAL(getData(QString, QVariant::Type )),283 this, SLOT(sltGetData(QString, QVariant::Type )));282 connect(m_pMIMEData, SIGNAL(getData(QString, QVariant::Type, QVariant&)), 283 this, SLOT(sltGetData(QString, QVariant::Type, QVariant&))); 284 284 285 285 /* Inform the MIME data object of any changes in the current action. */ … … 468 468 QVariant &vaData) 469 469 { 470 LogFlowFunc(("Retrieving data as type=%s (variant type=% ld)\n",470 LogFlowFunc(("Retrieving data as type=%s (variant type=%RU32)\n", 471 471 strMimeType.toAscii().constData(), vaType)); 472 472 … … 503 503 case QVariant::String: 504 504 { 505 vaData = QVariant(QString(reinterpret_cast<const char*>(vecData.constData()))); 505 vaData = QVariant::fromValue(QString(reinterpret_cast<const char *>(vecData.constData()))); 506 Assert(vaData.type() == QVariant::Type::String); 506 507 break; 507 508 } … … 510 511 { 511 512 QByteArray ba(reinterpret_cast<const char*>(vecData.constData()), vecData.size()); 512 vaData = QVariant(ba); 513 514 vaData = QVariant::fromValue(ba); 515 Assert(vaData.type() == QVariant::Type::ByteArray); 513 516 break; 514 517 } … … 519 522 QStringList lstString = strData.split("\r\n", QString::SkipEmptyParts); 520 523 521 vaData = QVariant(lstString); 524 vaData = QVariant::fromValue(lstString); 525 Assert(vaData.type() == QVariant::Type::StringList); 522 526 break; 523 527 } … … 556 560 } 557 561 558 /** 559 * Called by UIDnDMIMEData (Linux, OS X, Solaris) to start retrieving the actual data 560 * from the guest. This function will block and show a modal progress dialog until 561 * the data transfer is complete. 562 * 563 * @return QVariant with data retrieved, if any. 564 * @param strMimeType MIME data type. 565 * @param vaType Qt's variant type of the MIME data. 566 */ 567 QVariant UIDnDHandler::sltGetData(const QString &strMimeType, 568 QVariant::Type vaType) 569 { 570 QVariant vaData; 562 int UIDnDHandler::sltGetData(const QString &strMimeType, 563 QVariant::Type vaType, 564 QVariant &vaData) 565 { 571 566 int rc = retrieveDataInternal(Qt::CopyAction, strMimeType, vaType, vaData); 572 NOREF(rc);573 567 LogFlowFuncLeaveRC(rc); 574 return vaData;568 return rc; 575 569 } 576 570 -
TabularUnified trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIDnDHandler.h ¶
r56497 r56555 97 97 public slots: 98 98 99 QVariant sltGetData(const QString &strMimeType, QVariant::Type vaType); 99 /** 100 * Called by UIDnDMIMEData (Linux, OS X, Solaris) to start retrieving the actual data 101 * from the guest. This function will block and show a modal progress dialog until 102 * the data transfer is complete. 103 * 104 * @return IPRT status code. 105 * @param strMimeType MIME data type. 106 * @param vaType Qt's variant type of the MIME data. 107 * @param vaData Reference to QVariant where to store the retrieved data. 108 */ 109 int sltGetData(const QString &strMimeType, QVariant::Type vaType, QVariant &vaData); 100 110 101 111 protected: -
TabularUnified trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIDnDMIMEData.cpp ¶
r56502 r56555 125 125 LogRel3(("DnD: State=%ld, Action=0x%x, fCanDrop=%RTbool\n", m_enmState, m_curAction, fCanDrop)); 126 126 127 if (!fCanDrop) 128 { 129 LogFlowFunc(("Skipping request, state=%RU32 ...\n", m_enmState)); 130 return QVariant(QVariant::Invalid); /* Return a NULL variant. */ 131 } 132 133 QVariant vaData = emit getData(strMIMEType, vaType); 134 135 LogRel3(("DnD: Returning data of type '%s'\n", vaData.typeName())); 136 return vaData; 127 if (fCanDrop) 128 { 129 QVariant vaData; 130 int rc = emit getData(strMIMEType, vaType, vaData); 131 132 LogRel3(("DnD: Returning data of type=%s (requested MIME type=%s, requested type=%s), rc=%Rrc\n", 133 vaData.typeName() ? vaData.typeName() : "<Invalid>", 134 strMIMEType.toStdString().c_str(), 135 QVariant::typeToName(vaType) ? QVariant::typeToName(vaType) : "<Invalid>", rc)); 136 137 if (RT_SUCCESS(rc)) 138 return vaData; 139 } 140 141 LogFlowFunc(("Skipping request, state=%RU32 ...\n", m_enmState)); 142 return QVariant(QVariant::Invalid); /* Return a NULL variant. */ 137 143 } 138 144 -
TabularUnified trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIDnDMIMEData.h ¶
r56500 r56555 65 65 signals: 66 66 67 int getData(const QString &strMIMEType, QVariant::Type vaType ) const;67 int getData(const QString &strMIMEType, QVariant::Type vaType, QVariant &vaData) const; 68 68 69 69 public slots:
Note:
See TracChangeset
for help on using the changeset viewer.