| 172 | } |
| 173 | |
| 174 | bool |
| 175 | NodeGraph::pasteNodeClipBoards(const QPointF& pos) |
| 176 | { |
| 177 | QClipboard* clipboard = QApplication::clipboard(); |
| 178 | const QMimeData* mimedata = clipboard->mimeData(); |
| 179 | |
| 180 | if ( !mimedata->hasFormat( QLatin1String("text/plain") ) ) { |
| 181 | return false; |
| 182 | } |
| 183 | QByteArray data = mimedata->data( QLatin1String("text/plain") ); |
| 184 | std::list<std::pair<std::string, NodeGuiPtr> > newNodes; |
| 185 | NodeClipBoard& cb = appPTR->getNodeClipBoard(); |
| 186 | std::string s = QString::fromUtf8(data).toStdString(); |
| 187 | try { |
| 188 | std::stringstream ss(s); |
| 189 | boost::archive::xml_iarchive iArchive(ss); |
| 190 | iArchive >> boost::serialization::make_nvp("Clipboard", cb); |
| 191 | } catch (...) { |
| 192 | return false; |
| 193 | } |
| 194 | |
| 195 | _imp->pasteNodesInternal(cb, _imp->_root->mapFromScene(pos), true, &newNodes); |
| 196 | |
| 197 | return true; |
| 198 | } |
| 199 | |
| 200 | bool |
| 201 | NodeGraph::pasteNodeClipBoards() |
no test coverage detected