void tst_QMimeData::setUrls() const { QMimeData mimeData; QList<QUrl> shortUrlList; QList<QUrl> longUrlList; // set up shortUrlList += QUrl("http://qt-project.org"); longUrlList = shortUrlList; longUrlList += QUrl("http://www.google.com"); // verify initial state QCOMPARE(mimeData.hasUrls(), false); // set a few, verify mimeData.setUrls(shortUrlList); QCOMPARE(mimeData.urls(), shortUrlList); QCOMPARE(mimeData.text(), QString("http://qt-project.org")); // change them, verify mimeData.setUrls(longUrlList); QCOMPARE(mimeData.urls(), longUrlList); QCOMPARE(mimeData.text(), QString("http://qt-project.org\nhttp://www.google.com\n")); // clear, verify mimeData.clear(); QCOMPARE(mimeData.hasUrls(), false); QCOMPARE(mimeData.hasText(), false); }
void tst_QMimeData::setText() const { QMimeData mimeData; // verify initial state QCOMPARE(mimeData.text(), QLatin1String("")); QVERIFY(mimeData.hasText() == false); // set, verify mimeData.setText("pirates"); QVERIFY(mimeData.hasText()); QCOMPARE(mimeData.text(), QLatin1String("pirates")); QCOMPARE(mimeData.text().toLatin1(), mimeData.data("text/plain")); // reset, verify mimeData.setText("ninjas"); QVERIFY(mimeData.hasText()); QCOMPARE(mimeData.text(), QLatin1String("ninjas")); QCOMPARE(mimeData.text().toLatin1(), mimeData.data("text/plain")); // clear, verify mimeData.clear(); QCOMPARE(mimeData.text(), QLatin1String("")); QVERIFY(mimeData.hasText() == false); }
void MainUI::PasteFiles(QString dir, QStringList raw){ qDebug() << "Paste Files:" << dir; QStringList cut, copy, newcut, newcopy; if(raw.isEmpty()){ //Pull info from the clipboard const QMimeData *dat = QApplication::clipboard()->mimeData(); raw = QString(dat->data("x-special/lumina-copied-files")).split("\n"); } if(!dir.endsWith("/")){ dir.append("/"); } for(int i=0; i<raw.length(); i++){ if(raw[i].startsWith("cut::::")){ cut << raw[i].section("::::",1,50); newcut << dir+raw[i].section("::::",1,50).section("/",-1); } else if(raw[i].startsWith("copy::::")){ copy << raw[i].section("::::",1,50); newcopy<< dir+raw[i].section("::::",1,50).section("/",-1); } } bool errs = false; //Perform the copy/move operations worker->pauseData = true; //pause any info requests if(!copy.isEmpty()){ qDebug() << "Paste Copy:" << copy << "->" << newcopy; FODialog dlg(this); if( !dlg.CopyFiles(copy, newcopy) ){ return; } //cancelled dlg.show(); dlg.exec(); errs = errs || !dlg.noerrors; } if(!cut.isEmpty()){ qDebug() << "Paste Cut:" << cut << "->" << newcut; FODialog dlg(this); if(!dlg.MoveFiles(cut, newcut) ){ return; } //cancelled dlg.show(); dlg.exec(); errs = errs || !dlg.noerrors; } worker->pauseData = false; //resume info requests //Modify the clipboard appropriately if(!errs && !cut.isEmpty()){ //Now clear the clipboard since those old file locations are now invalid QApplication::clipboard()->clear(); if(!copy.isEmpty()){ //There were also files copied: save those files back into the clipboard QMimeData *dat = new QMimeData; dat->clear(); dat->setData("x-special/lumina-copied-files", raw.filter("copy::::").join("\n").toLocal8Bit()); QApplication::clipboard()->setMimeData(dat); } } //Update all the buttons to account for clipboard change for(int i=0; i<DWLIST.length(); i++){ DWLIST[i]->refresh(); } }
void tst_QMimeData::clear() const { QMimeData mimeData; // set, clear, verify empty mimeData.setData("text/plain", "pirates"); QVERIFY(mimeData.hasText()); mimeData.clear(); QVERIFY(mimeData.hasText() == false); // repopulate, verify not empty mimeData.setData("text/plain", "pirates"); QVERIFY(mimeData.hasText()); }
void tst_QMimeData::imageData() const { QMimeData mimeData; // initial state QCOMPARE(mimeData.imageData(), QVariant()); // set, test mimeData.setImageData(QImage()); QVERIFY(mimeData.hasImage()); QCOMPARE(mimeData.imageData(), QVariant(QImage())); // clear, verify mimeData.clear(); QCOMPARE(mimeData.imageData(), QVariant()); }
void tst_QMimeData::hasFormat() const { QMimeData mimeData; // initial state QVERIFY(mimeData.hasFormat("text/plain") == false); // add, verify mimeData.setData("text/plain", "pirates"); QVERIFY(mimeData.hasFormat("text/plain")); QVERIFY(mimeData.hasFormat("text/html") == false); // clear, verify mimeData.clear(); QVERIFY(mimeData.hasFormat("text/plain") == false); QVERIFY(mimeData.hasFormat("text/html") == false); }
void tst_QMimeData::hasImage() const { QMimeData mimeData; // initial state QVERIFY(mimeData.hasImage() == false); // add text, verify false mimeData.setData("text/plain", "pirates"); QVERIFY(mimeData.hasImage() == false); // add image mimeData.setImageData(QImage()); QVERIFY(mimeData.hasImage()); // clear, verify mimeData.clear(); QVERIFY(mimeData.hasImage() == false); }
void tst_QMimeData::hasColor() const { QMimeData mimeData; // initial state QVERIFY(mimeData.hasColor() == false); // set, verify mimeData.setColorData(QColor(Qt::red)); QVERIFY(mimeData.hasColor()); // clear, verify mimeData.clear(); QVERIFY(mimeData.hasColor() == false); // set something else, verify mimeData.setData("text/plain", "pirates"); QVERIFY(mimeData.hasColor() == false); }
void MainUI::CopyFiles(QStringList list){ qDebug() << "Copy Files:" << list; if(list.isEmpty()){ return; } //nothing selected //Format the data string QList<QUrl> urilist; //Also assemble a URI list for cros-app compat (no copy/cut distinguishing) for(int i=0; i<list.length(); i++){ urilist << QUrl::fromLocalFile(list[i]); list[i] = list[i].prepend("copy::::"); } //Now save that data to the global clipboard QMimeData *dat = new QMimeData; dat->clear(); dat->setData("x-special/lumina-copied-files", list.join("\n").toLocal8Bit()); dat->setUrls(urilist); //the text/uri-list mimetype - built in Qt conversion/use QApplication::clipboard()->clear(); QApplication::clipboard()->setMimeData(dat); //Update all the buttons to account for clipboard change for(int i=0; i<DWLIST.length(); i++){ DWLIST[i]->refreshButtons(); } }
void tst_QMimeData::formats() const { QMimeData mimeData; // set text, verify mimeData.setData("text/plain", "pirates"); QCOMPARE(mimeData.formats(), QStringList() << "text/plain"); // set html, verify mimeData.setData("text/html", "ninjas"); QCOMPARE(mimeData.formats(), QStringList() << "text/plain" << "text/html"); // clear, verify mimeData.clear(); QCOMPARE(mimeData.formats(), QStringList()); // set an odd format, verify mimeData.setData("foo/bar", "somevalue"); QCOMPARE(mimeData.formats(), QStringList() << "foo/bar"); }
void tst_QMimeData::hasHtml() const { QMimeData mimeData; // initial state QVERIFY(mimeData.hasHtml() == false); // add plain, verify false mimeData.setData("text/plain", "pirates"); QVERIFY(mimeData.hasHtml() == false); // add html, verify mimeData.setData("text/html", "ninjas"); QVERIFY(mimeData.hasHtml()); // clear, verify mimeData.clear(); QVERIFY(mimeData.hasHtml() == false); // readd, verify mimeData.setData("text/html", "ninjas"); QVERIFY(mimeData.hasHtml()); }